@eternl/formats 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.extractNumberCore = exports.formatDisplayCompact = exports.formatDisplayPercent = exports.formatDisplayCurrency = exports.formatDisplayNumber = void 0;
6
+ exports.extractNumberCore = exports.parseDisplayValue = exports.formatDisplayCompact = exports.formatDisplayPercent = exports.formatDisplayCurrency = exports.formatDisplayNumber = void 0;
7
7
  const big_js_1 = __importDefault(require("big.js"));
8
8
  const constants_1 = require("./constants");
9
9
  const errors_1 = require("./errors");
@@ -37,11 +37,42 @@ const SUBSCRIPT_DIGITS = [
37
37
  '₈',
38
38
  '₉'
39
39
  ];
40
+ const SUBSCRIPT_TO_DIGIT = SUBSCRIPT_DIGITS.reduce((acc, digit, index) => {
41
+ acc[digit] = index.toString();
42
+ return acc;
43
+ }, {});
40
44
  const toSubscriptNumber = (value) => value
41
45
  .toString()
42
46
  .split('')
43
47
  .map((digit) => SUBSCRIPT_DIGITS[digit.charCodeAt(0) - 48])
44
48
  .join('');
49
+ const expandSubscriptDigits = (value) => {
50
+ let result = '';
51
+ for (let index = 0; index < value.length; index += 1) {
52
+ const char = value[index];
53
+ const mapped = SUBSCRIPT_TO_DIGIT[char];
54
+ if (mapped === undefined) {
55
+ result += char;
56
+ continue;
57
+ }
58
+ let subscriptBuffer = mapped;
59
+ while (index + 1 < value.length) {
60
+ const nextChar = value[index + 1];
61
+ const nextMapped = SUBSCRIPT_TO_DIGIT[nextChar];
62
+ if (nextMapped === undefined) {
63
+ break;
64
+ }
65
+ subscriptBuffer += nextMapped;
66
+ index += 1;
67
+ }
68
+ const zeroCount = Number(subscriptBuffer);
69
+ if (Number.isNaN(zeroCount) || zeroCount <= 0) {
70
+ continue;
71
+ }
72
+ result += '0'.repeat(zeroCount);
73
+ }
74
+ return result;
75
+ };
45
76
  const compactFractionLeadingZeros = (fraction) => {
46
77
  const match = /^(0{2,})(.+)$/.exec(fraction);
47
78
  if (!match) {
@@ -374,6 +405,99 @@ const formatDisplayPercent = (value, options) => formatDisplayInternal(value, op
374
405
  exports.formatDisplayPercent = formatDisplayPercent;
375
406
  const formatDisplayCompact = (value, options) => formatDisplayInternal(value, options, undefined, true);
376
407
  exports.formatDisplayCompact = formatDisplayCompact;
408
+ const stripGroupSeparators = (value, separator) => {
409
+ if (!separator) {
410
+ return value;
411
+ }
412
+ return value.split(separator).join('');
413
+ };
414
+ const normalizeNumericCore = (core, pattern) => {
415
+ let normalized = expandSubscriptDigits(core);
416
+ if (pattern.groupSeparator) {
417
+ normalized = stripGroupSeparators(normalized, pattern.groupSeparator);
418
+ }
419
+ normalized = normalized.replace(/\s+/gu, '');
420
+ if (pattern.decimalSeparator && pattern.decimalSeparator !== '.') {
421
+ normalized = normalized.replace(pattern.decimalSeparator, '.');
422
+ }
423
+ if (pattern.minusSign && pattern.minusSign !== constants_1.DEFAULT_SIGN_MINUS) {
424
+ normalized = normalized.split(pattern.minusSign).join(constants_1.DEFAULT_SIGN_MINUS);
425
+ }
426
+ if (pattern.plusSign && pattern.plusSign !== constants_1.DEFAULT_SIGN_PLUS) {
427
+ normalized = normalized.split(pattern.plusSign).join(constants_1.DEFAULT_SIGN_PLUS);
428
+ }
429
+ return normalized;
430
+ };
431
+ const parseDisplayInternal = (formatted, options) => {
432
+ const numericCore = (0, exports.extractNumberCore)(formatted);
433
+ if (!numericCore) {
434
+ return Number.NaN;
435
+ }
436
+ const locale = options?.locale;
437
+ if (locale) {
438
+ const resolvedLocale = (0, locale_1.resolveLocale)(locale);
439
+ const nfOptions = buildNumberFormatOptions(options ?? {}, constants_1.STYLE_DECIMAL);
440
+ const pattern = (0, intl_cache_1.getNumberFormatPattern)(resolvedLocale, nfOptions);
441
+ const normalizedCore = normalizeNumericCore(numericCore, pattern);
442
+ if (!normalizedCore || normalizedCore === constants_1.DEFAULT_SIGN_MINUS || normalizedCore === constants_1.DEFAULT_SIGN_PLUS) {
443
+ return Number.NaN;
444
+ }
445
+ try {
446
+ return (0, big_js_1.default)(normalizedCore).toNumber();
447
+ }
448
+ catch (error) {
449
+ // fall back to locale-agnostic heuristics below when locale pattern parsing fails
450
+ }
451
+ }
452
+ let normalized = expandSubscriptDigits(numericCore);
453
+ normalized = normalized.replace(/['’`_\s\u00A0]/gu, '');
454
+ const lastDot = normalized.lastIndexOf('.');
455
+ const lastComma = normalized.lastIndexOf(',');
456
+ if (lastDot !== -1 || lastComma !== -1) {
457
+ let decimalIndex = Math.max(lastDot, lastComma);
458
+ let decimalChar = decimalIndex === lastDot ? '.' : ',';
459
+ if (lastDot !== -1 && lastComma !== -1) {
460
+ decimalChar = decimalIndex === lastDot ? '.' : ',';
461
+ const thousandsChar = decimalChar === '.' ? ',' : '.';
462
+ normalized = normalized.split(thousandsChar).join('');
463
+ }
464
+ else if (lastComma !== -1) {
465
+ const fractionalPart = normalized.slice(lastComma + 1);
466
+ if (fractionalPart.length === 3 && normalized.slice(0, lastComma).replace(/[^0-9]/g, '').length > 3) {
467
+ normalized = normalized.replace(/,/g, '');
468
+ decimalChar = '.';
469
+ }
470
+ else {
471
+ decimalChar = ',';
472
+ }
473
+ }
474
+ else if (lastDot !== -1) {
475
+ const fractionalPart = normalized.slice(lastDot + 1);
476
+ if (fractionalPart.length === 3 && normalized.slice(0, lastDot).replace(/[^0-9]/g, '').length > 3) {
477
+ decimalChar = ',';
478
+ normalized = normalized.replace(/\./g, '');
479
+ }
480
+ else {
481
+ decimalChar = '.';
482
+ }
483
+ }
484
+ if (decimalChar !== '.') {
485
+ normalized = normalized.split(decimalChar).join('.');
486
+ }
487
+ }
488
+ normalized = normalized.replace(/,/g, '');
489
+ if (!normalized || normalized === constants_1.DEFAULT_SIGN_MINUS || normalized === constants_1.DEFAULT_SIGN_PLUS) {
490
+ return Number.NaN;
491
+ }
492
+ try {
493
+ return (0, big_js_1.default)(normalized).toNumber();
494
+ }
495
+ catch (error) {
496
+ return Number.NaN;
497
+ }
498
+ };
499
+ const parseDisplayValue = (formatted, options) => parseDisplayInternal(formatted, options);
500
+ exports.parseDisplayValue = parseDisplayValue;
377
501
  const NUMERIC_OR_SUBSCRIPT = /[0-9₀-₉]/;
378
502
  const MINUS_SIGNS = new Set(['-', '−', '﹣', '-']);
379
503
  const isWhitespace = (char) => /\s/.test(char);
package/dist/cjs/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DECIMAL_DOT = exports.DECIMAL_EMPTY = exports.DECIMAL_ZERO = exports.DEFAULT_SIGN_PLUS = exports.DEFAULT_SIGN_MINUS = exports.DISPLAY_SIGNS = exports.toTypeError = exports.toRangeError = exports.toError = exports.getFormatErrorMessage = exports.FormatError = exports.formatCsvDate = exports.formatDisplayDate = exports.buildCsv = exports.csvCurrencyCode = exports.formatCsvPercent = exports.formatCsvNumber = exports.extractNumberCore = exports.formatDisplayCompact = exports.formatDisplayPercent = exports.formatDisplayCurrency = exports.formatDisplayNumber = void 0;
3
+ exports.DECIMAL_DOT = exports.DECIMAL_EMPTY = exports.DECIMAL_ZERO = exports.DEFAULT_SIGN_PLUS = exports.DEFAULT_SIGN_MINUS = exports.DISPLAY_SIGNS = exports.toTypeError = exports.toRangeError = exports.toError = exports.getFormatErrorMessage = exports.FormatError = exports.formatCsvDate = exports.formatDisplayDate = exports.buildCsv = exports.csvCurrencyCode = exports.formatCsvPercent = exports.formatCsvNumber = exports.extractNumberCore = exports.parseDisplayValue = exports.formatDisplayCompact = exports.formatDisplayPercent = exports.formatDisplayCurrency = exports.formatDisplayNumber = void 0;
4
4
  var display_1 = require("./display");
5
5
  Object.defineProperty(exports, "formatDisplayNumber", { enumerable: true, get: function () { return display_1.formatDisplayNumber; } });
6
6
  Object.defineProperty(exports, "formatDisplayCurrency", { enumerable: true, get: function () { return display_1.formatDisplayCurrency; } });
7
7
  Object.defineProperty(exports, "formatDisplayPercent", { enumerable: true, get: function () { return display_1.formatDisplayPercent; } });
8
8
  Object.defineProperty(exports, "formatDisplayCompact", { enumerable: true, get: function () { return display_1.formatDisplayCompact; } });
9
+ Object.defineProperty(exports, "parseDisplayValue", { enumerable: true, get: function () { return display_1.parseDisplayValue; } });
9
10
  Object.defineProperty(exports, "extractNumberCore", { enumerable: true, get: function () { return display_1.extractNumberCore; } });
10
11
  var csv_1 = require("./csv");
11
12
  Object.defineProperty(exports, "formatCsvNumber", { enumerable: true, get: function () { return csv_1.formatCsvNumber; } });
@@ -31,11 +31,42 @@ const SUBSCRIPT_DIGITS = [
31
31
  '₈',
32
32
  '₉'
33
33
  ];
34
+ const SUBSCRIPT_TO_DIGIT = SUBSCRIPT_DIGITS.reduce((acc, digit, index) => {
35
+ acc[digit] = index.toString();
36
+ return acc;
37
+ }, {});
34
38
  const toSubscriptNumber = (value) => value
35
39
  .toString()
36
40
  .split('')
37
41
  .map((digit) => SUBSCRIPT_DIGITS[digit.charCodeAt(0) - 48])
38
42
  .join('');
43
+ const expandSubscriptDigits = (value) => {
44
+ let result = '';
45
+ for (let index = 0; index < value.length; index += 1) {
46
+ const char = value[index];
47
+ const mapped = SUBSCRIPT_TO_DIGIT[char];
48
+ if (mapped === undefined) {
49
+ result += char;
50
+ continue;
51
+ }
52
+ let subscriptBuffer = mapped;
53
+ while (index + 1 < value.length) {
54
+ const nextChar = value[index + 1];
55
+ const nextMapped = SUBSCRIPT_TO_DIGIT[nextChar];
56
+ if (nextMapped === undefined) {
57
+ break;
58
+ }
59
+ subscriptBuffer += nextMapped;
60
+ index += 1;
61
+ }
62
+ const zeroCount = Number(subscriptBuffer);
63
+ if (Number.isNaN(zeroCount) || zeroCount <= 0) {
64
+ continue;
65
+ }
66
+ result += '0'.repeat(zeroCount);
67
+ }
68
+ return result;
69
+ };
39
70
  const compactFractionLeadingZeros = (fraction) => {
40
71
  const match = /^(0{2,})(.+)$/.exec(fraction);
41
72
  if (!match) {
@@ -364,6 +395,98 @@ export const formatDisplayNumber = (value, options) => formatDisplayInternal(val
364
395
  export const formatDisplayCurrency = (value, options) => formatDisplayInternal(value, options, STYLE_CURRENCY);
365
396
  export const formatDisplayPercent = (value, options) => formatDisplayInternal(value, options, STYLE_PERCENT);
366
397
  export const formatDisplayCompact = (value, options) => formatDisplayInternal(value, options, undefined, true);
398
+ const stripGroupSeparators = (value, separator) => {
399
+ if (!separator) {
400
+ return value;
401
+ }
402
+ return value.split(separator).join('');
403
+ };
404
+ const normalizeNumericCore = (core, pattern) => {
405
+ let normalized = expandSubscriptDigits(core);
406
+ if (pattern.groupSeparator) {
407
+ normalized = stripGroupSeparators(normalized, pattern.groupSeparator);
408
+ }
409
+ normalized = normalized.replace(/\s+/gu, '');
410
+ if (pattern.decimalSeparator && pattern.decimalSeparator !== '.') {
411
+ normalized = normalized.replace(pattern.decimalSeparator, '.');
412
+ }
413
+ if (pattern.minusSign && pattern.minusSign !== DEFAULT_SIGN_MINUS) {
414
+ normalized = normalized.split(pattern.minusSign).join(DEFAULT_SIGN_MINUS);
415
+ }
416
+ if (pattern.plusSign && pattern.plusSign !== DEFAULT_SIGN_PLUS) {
417
+ normalized = normalized.split(pattern.plusSign).join(DEFAULT_SIGN_PLUS);
418
+ }
419
+ return normalized;
420
+ };
421
+ const parseDisplayInternal = (formatted, options) => {
422
+ const numericCore = extractNumberCore(formatted);
423
+ if (!numericCore) {
424
+ return Number.NaN;
425
+ }
426
+ const locale = options?.locale;
427
+ if (locale) {
428
+ const resolvedLocale = resolveLocale(locale);
429
+ const nfOptions = buildNumberFormatOptions(options ?? {}, STYLE_DECIMAL);
430
+ const pattern = getNumberFormatPattern(resolvedLocale, nfOptions);
431
+ const normalizedCore = normalizeNumericCore(numericCore, pattern);
432
+ if (!normalizedCore || normalizedCore === DEFAULT_SIGN_MINUS || normalizedCore === DEFAULT_SIGN_PLUS) {
433
+ return Number.NaN;
434
+ }
435
+ try {
436
+ return Big(normalizedCore).toNumber();
437
+ }
438
+ catch (error) {
439
+ // fall back to locale-agnostic heuristics below when locale pattern parsing fails
440
+ }
441
+ }
442
+ let normalized = expandSubscriptDigits(numericCore);
443
+ normalized = normalized.replace(/['’`_\s\u00A0]/gu, '');
444
+ const lastDot = normalized.lastIndexOf('.');
445
+ const lastComma = normalized.lastIndexOf(',');
446
+ if (lastDot !== -1 || lastComma !== -1) {
447
+ let decimalIndex = Math.max(lastDot, lastComma);
448
+ let decimalChar = decimalIndex === lastDot ? '.' : ',';
449
+ if (lastDot !== -1 && lastComma !== -1) {
450
+ decimalChar = decimalIndex === lastDot ? '.' : ',';
451
+ const thousandsChar = decimalChar === '.' ? ',' : '.';
452
+ normalized = normalized.split(thousandsChar).join('');
453
+ }
454
+ else if (lastComma !== -1) {
455
+ const fractionalPart = normalized.slice(lastComma + 1);
456
+ if (fractionalPart.length === 3 && normalized.slice(0, lastComma).replace(/[^0-9]/g, '').length > 3) {
457
+ normalized = normalized.replace(/,/g, '');
458
+ decimalChar = '.';
459
+ }
460
+ else {
461
+ decimalChar = ',';
462
+ }
463
+ }
464
+ else if (lastDot !== -1) {
465
+ const fractionalPart = normalized.slice(lastDot + 1);
466
+ if (fractionalPart.length === 3 && normalized.slice(0, lastDot).replace(/[^0-9]/g, '').length > 3) {
467
+ decimalChar = ',';
468
+ normalized = normalized.replace(/\./g, '');
469
+ }
470
+ else {
471
+ decimalChar = '.';
472
+ }
473
+ }
474
+ if (decimalChar !== '.') {
475
+ normalized = normalized.split(decimalChar).join('.');
476
+ }
477
+ }
478
+ normalized = normalized.replace(/,/g, '');
479
+ if (!normalized || normalized === DEFAULT_SIGN_MINUS || normalized === DEFAULT_SIGN_PLUS) {
480
+ return Number.NaN;
481
+ }
482
+ try {
483
+ return Big(normalized).toNumber();
484
+ }
485
+ catch (error) {
486
+ return Number.NaN;
487
+ }
488
+ };
489
+ export const parseDisplayValue = (formatted, options) => parseDisplayInternal(formatted, options);
367
490
  const NUMERIC_OR_SUBSCRIPT = /[0-9₀-₉]/;
368
491
  const MINUS_SIGNS = new Set(['-', '−', '﹣', '-']);
369
492
  const isWhitespace = (char) => /\s/.test(char);
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/display.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { formatDisplayNumber, formatDisplayCurrency, formatDisplayPercent, formatDisplayCompact, extractNumberCore } from './display';
1
+ export { formatDisplayNumber, formatDisplayCurrency, formatDisplayPercent, formatDisplayCompact, parseDisplayValue, extractNumberCore } from './display';
2
2
  export { formatCsvNumber, formatCsvPercent, csvCurrencyCode, buildCsv } from './csv';
3
3
  export { formatDisplayDate, formatCsvDate } from './date';
4
4
  export { FormatError, getFormatErrorMessage, toError, toRangeError, toTypeError } from './errors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAkC,WAAW,CAAA;AAE9C,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACT,MAAkC,OAAO,CAAA;AAE1C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACd,MAAkC,QAAQ,CAAA;AAE3C,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,YAAY,EACZ,WAAW,EACZ,MAAkC,UAAU,CAAA;AAe7C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAkC,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EAClB,MAAkC,WAAW,CAAA;AAE9C,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACT,MAAkC,OAAO,CAAA;AAE1C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACd,MAAkC,QAAQ,CAAA;AAE3C,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,YAAY,EACZ,WAAW,EACZ,MAAkC,UAAU,CAAA;AAe7C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAkC,aAAa,CAAA"}
@@ -3,4 +3,5 @@ export declare const formatDisplayNumber: (value: NumericLike, options: DisplayN
3
3
  export declare const formatDisplayCurrency: (value: NumericLike, options: DisplayNumberOptions) => string;
4
4
  export declare const formatDisplayPercent: (value: NumericLike, options: DisplayNumberOptions) => string;
5
5
  export declare const formatDisplayCompact: (value: NumericLike, options: DisplayNumberOptions) => string;
6
+ export declare const parseDisplayValue: (formatted: string, options?: DisplayNumberOptions) => number;
6
7
  export declare const extractNumberCore: (formatted: string) => string;
@@ -1,4 +1,4 @@
1
- export { formatDisplayNumber, formatDisplayCurrency, formatDisplayPercent, formatDisplayCompact, extractNumberCore } from './display';
1
+ export { formatDisplayNumber, formatDisplayCurrency, formatDisplayPercent, formatDisplayCompact, parseDisplayValue, extractNumberCore } from './display';
2
2
  export { formatCsvNumber, formatCsvPercent, csvCurrencyCode, buildCsv } from './csv';
3
3
  export { formatDisplayDate, formatCsvDate } from './date';
4
4
  export { FormatError, getFormatErrorMessage, toError, toRangeError, toTypeError } from './errors';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternl/formats",
3
- "version": "0.9.7",
3
+ "version": "0.9.8",
4
4
  "description": "Locale-aware display and CSV formatting helpers for numeric data.",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",