| import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js'; |
| |
| function validate(codePoint) { |
| if (!Number.isSafeInteger(codePoint)) { |
| throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`); |
| } |
| } |
| |
| export function eastAsianWidthType(codePoint) { |
| validate(codePoint); |
| |
| return getCategory(codePoint); |
| } |
| |
| export function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) { |
| validate(codePoint); |
| |
| if ( |
| isFullWidth(codePoint) |
| || isWide(codePoint) |
| || (ambiguousAsWide && isAmbiguous(codePoint)) |
| ) { |
| return 2; |
| } |
| |
| return 1; |
| } |
| |
| // Private exports for https://github.com/sindresorhus/is-fullwidth-code-point |
| export {isFullWidth as _isFullWidth, isWide as _isWide} from './lookup.js'; |