- Extract 4756 source files from cli.js.map (57MB) - Set up Bun build system with bun:bundle feature flag shim - Configure 90+ compile-time feature flags matching production defaults - Inject MACRO constants (VERSION, BUILD_TIME, etc.) - Create stubs for private packages (color-diff-napi, modifiers-napi, etc.) - Install all public dependencies via pnpm - Patch commander v14 to allow multi-char short flags (-d2e) - Build output: dist/cli.js (22MB), verified working
31 lines
730 B
JavaScript
31 lines
730 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, isWide as _isWide} from './lookup.js';
|