site-panzai/node_modules/get-east-asian-width/index.js
2026-11-13 13:57:04 +01:00

35 lines
814 B
JavaScript

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';