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, // TODO: Remove this in the next major version. isFullwidth as _isFullWidth, isWide as _isWide, } from './lookup.js';