@formatjs/intl-numberformat 8.15.0 → 8.15.2
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.
- package/lib/src/core.js +5 -20
- package/lib/src/types.d.ts +4 -4
- package/package.json +6 -6
- package/polyfill.iife.js +372 -313
- package/src/core.js +4 -19
- package/src/types.d.ts +4 -4
package/lib/src/core.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { CanonicalizeLocaleList, FormatNumericRange, FormatNumericRangeToParts, FormatNumericToParts, InitializeNumberFormat, OrdinaryHasInstance, SupportedLocales,
|
|
1
|
+
import { CanonicalizeLocaleList, FormatNumeric, FormatNumericRange, FormatNumericRangeToParts, FormatNumericToParts, InitializeNumberFormat, OrdinaryHasInstance, SupportedLocales, ToIntlMathematicalValue, createMemoizedPluralRules, defineProperty, invariant, } from '@formatjs/ecma402-abstract';
|
|
2
2
|
import { currencyDigitsData } from './currency-digits.generated';
|
|
3
3
|
import { numberingSystemNames } from './numbering-systems.generated';
|
|
4
|
-
// eslint-disable-next-line import/no-cycle
|
|
5
|
-
import Decimal from 'decimal.js';
|
|
6
4
|
import getInternalSlots from './get_internal_slots';
|
|
7
5
|
var RESOLVED_OPTIONS_KEYS = [
|
|
8
6
|
'locale',
|
|
@@ -53,17 +51,17 @@ export var NumberFormat = function (locales, options) {
|
|
|
53
51
|
return this;
|
|
54
52
|
};
|
|
55
53
|
function formatToParts(x) {
|
|
56
|
-
return FormatNumericToParts(this,
|
|
54
|
+
return FormatNumericToParts(this, ToIntlMathematicalValue(x), {
|
|
57
55
|
getInternalSlots: getInternalSlots,
|
|
58
56
|
});
|
|
59
57
|
}
|
|
60
58
|
function formatRange(start, end) {
|
|
61
|
-
return FormatNumericRange(this,
|
|
59
|
+
return FormatNumericRange(this, ToIntlMathematicalValue(start), ToIntlMathematicalValue(end), {
|
|
62
60
|
getInternalSlots: getInternalSlots,
|
|
63
61
|
});
|
|
64
62
|
}
|
|
65
63
|
function formatRangeToParts(start, end) {
|
|
66
|
-
return FormatNumericRangeToParts(this,
|
|
64
|
+
return FormatNumericRangeToParts(this, ToIntlMathematicalValue(start), ToIntlMathematicalValue(end), {
|
|
67
65
|
getInternalSlots: getInternalSlots,
|
|
68
66
|
});
|
|
69
67
|
}
|
|
@@ -122,18 +120,11 @@ var formatDescriptor = {
|
|
|
122
120
|
throw TypeError('Intl.NumberFormat format property accessor called on incompatible receiver');
|
|
123
121
|
}
|
|
124
122
|
var internalSlots = getInternalSlots(this);
|
|
125
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
126
|
-
var numberFormat = this;
|
|
127
123
|
var boundFormat = internalSlots.boundFormat;
|
|
128
124
|
if (boundFormat === undefined) {
|
|
129
125
|
// https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions
|
|
130
126
|
boundFormat = function (value) {
|
|
131
|
-
|
|
132
|
-
var x = toNumeric(value);
|
|
133
|
-
return numberFormat
|
|
134
|
-
.formatToParts(x)
|
|
135
|
-
.map(function (x) { return x.value; })
|
|
136
|
-
.join('');
|
|
127
|
+
return FormatNumeric(internalSlots, ToIntlMathematicalValue(value));
|
|
137
128
|
};
|
|
138
129
|
try {
|
|
139
130
|
// https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js
|
|
@@ -211,12 +202,6 @@ NumberFormat.getDefaultLocale = function () {
|
|
|
211
202
|
return NumberFormat.__defaultLocale;
|
|
212
203
|
};
|
|
213
204
|
NumberFormat.polyfilled = true;
|
|
214
|
-
function toNumeric(val) {
|
|
215
|
-
if (typeof val === 'bigint') {
|
|
216
|
-
return new Decimal(val.toString());
|
|
217
|
-
}
|
|
218
|
-
return ToNumber(val);
|
|
219
|
-
}
|
|
220
205
|
try {
|
|
221
206
|
// IE11 does not have Symbol
|
|
222
207
|
if (typeof Symbol !== 'undefined') {
|
package/lib/src/types.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import { NumberFormatLocaleInternalData, NumberFormatOptions, NumberFormatPart,
|
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
3
|
export interface NumberFormat {
|
|
4
4
|
resolvedOptions(): ResolvedNumberFormatOptions;
|
|
5
|
-
formatToParts(x: number | bigint | Decimal): NumberFormatPart[];
|
|
6
|
-
format(x: number | bigint | Decimal): string;
|
|
7
|
-
formatRange(start: number | bigint | Decimal, end: number | bigint | Decimal): string;
|
|
8
|
-
formatRangeToParts(start: number | bigint | Decimal, end: number | bigint | Decimal): NumberRangeToParts[];
|
|
5
|
+
formatToParts(x: number | bigint | Decimal | string): NumberFormatPart[];
|
|
6
|
+
format(x: number | bigint | Decimal | string): string;
|
|
7
|
+
formatRange(start: number | bigint | Decimal | string, end: number | bigint | Decimal | string): string;
|
|
8
|
+
formatRangeToParts(start: number | bigint | Decimal | string, end: number | bigint | Decimal | string): NumberRangeToParts[];
|
|
9
9
|
}
|
|
10
10
|
export interface NumberFormatConstructor {
|
|
11
11
|
new (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formatjs/intl-numberformat",
|
|
3
|
-
"version": "8.15.
|
|
3
|
+
"version": "8.15.2",
|
|
4
4
|
"description": "Ponyfill for ES2020 Intl.NumberFormat",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"polyfill",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"decimal.js": "10",
|
|
26
26
|
"tslib": "2",
|
|
27
|
-
"@formatjs/ecma402-abstract": "2.3.
|
|
28
|
-
"@formatjs/intl-localematcher": "0.5.
|
|
27
|
+
"@formatjs/ecma402-abstract": "2.3.2",
|
|
28
|
+
"@formatjs/intl-localematcher": "0.5.10"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@formatjs/intl-
|
|
32
|
-
"@formatjs/intl-
|
|
33
|
-
"@formatjs/intl-
|
|
31
|
+
"@formatjs/intl-getcanonicallocales": "2.5.4",
|
|
32
|
+
"@formatjs/intl-pluralrules": "5.4.2",
|
|
33
|
+
"@formatjs/intl-locale": "4.2.9"
|
|
34
34
|
},
|
|
35
35
|
"bugs": {
|
|
36
36
|
"url": "https://github.com/formatjs/formatjs/issues"
|
package/polyfill.iife.js
CHANGED
|
@@ -2359,27 +2359,196 @@
|
|
|
2359
2359
|
var ZERO = new decimal_default(0);
|
|
2360
2360
|
var NEGATIVE_ZERO = new decimal_default(-0);
|
|
2361
2361
|
|
|
2362
|
-
// node_modules/.aspect_rules_js
|
|
2363
|
-
function
|
|
2364
|
-
|
|
2365
|
-
|
|
2362
|
+
// node_modules/.aspect_rules_js/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
2363
|
+
var extendStatics = function(d, b) {
|
|
2364
|
+
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
|
|
2365
|
+
d2.__proto__ = b2;
|
|
2366
|
+
} || function(d2, b2) {
|
|
2367
|
+
for (var p in b2)
|
|
2368
|
+
if (Object.prototype.hasOwnProperty.call(b2, p))
|
|
2369
|
+
d2[p] = b2[p];
|
|
2370
|
+
};
|
|
2371
|
+
return extendStatics(d, b);
|
|
2372
|
+
};
|
|
2373
|
+
function __extends(d, b) {
|
|
2374
|
+
if (typeof b !== "function" && b !== null)
|
|
2375
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
2376
|
+
extendStatics(d, b);
|
|
2377
|
+
function __() {
|
|
2378
|
+
this.constructor = d;
|
|
2366
2379
|
}
|
|
2367
|
-
|
|
2380
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
2381
|
+
}
|
|
2382
|
+
function __spreadArray(to, from, pack) {
|
|
2383
|
+
if (pack || arguments.length === 2)
|
|
2384
|
+
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
2385
|
+
if (ar || !(i in from)) {
|
|
2386
|
+
if (!ar)
|
|
2387
|
+
ar = Array.prototype.slice.call(from, 0, i);
|
|
2388
|
+
ar[i] = from[i];
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
2392
|
+
}
|
|
2393
|
+
|
|
2394
|
+
// node_modules/.aspect_rules_js/@formatjs+fast-memoize@0.0.0/node_modules/@formatjs/fast-memoize/lib/index.js
|
|
2395
|
+
function memoize(fn, options) {
|
|
2396
|
+
var cache = options && options.cache ? options.cache : cacheDefault;
|
|
2397
|
+
var serializer = options && options.serializer ? options.serializer : serializerDefault;
|
|
2398
|
+
var strategy = options && options.strategy ? options.strategy : strategyDefault;
|
|
2399
|
+
return strategy(fn, {
|
|
2400
|
+
cache,
|
|
2401
|
+
serializer
|
|
2402
|
+
});
|
|
2368
2403
|
}
|
|
2369
|
-
function
|
|
2370
|
-
|
|
2371
|
-
|
|
2404
|
+
function isPrimitive(value) {
|
|
2405
|
+
return value == null || typeof value === "number" || typeof value === "boolean";
|
|
2406
|
+
}
|
|
2407
|
+
function monadic(fn, cache, serializer, arg) {
|
|
2408
|
+
var cacheKey = isPrimitive(arg) ? arg : serializer(arg);
|
|
2409
|
+
var computedValue = cache.get(cacheKey);
|
|
2410
|
+
if (typeof computedValue === "undefined") {
|
|
2411
|
+
computedValue = fn.call(this, arg);
|
|
2412
|
+
cache.set(cacheKey, computedValue);
|
|
2372
2413
|
}
|
|
2373
|
-
|
|
2374
|
-
|
|
2414
|
+
return computedValue;
|
|
2415
|
+
}
|
|
2416
|
+
function variadic(fn, cache, serializer) {
|
|
2417
|
+
var args = Array.prototype.slice.call(arguments, 3);
|
|
2418
|
+
var cacheKey = serializer(args);
|
|
2419
|
+
var computedValue = cache.get(cacheKey);
|
|
2420
|
+
if (typeof computedValue === "undefined") {
|
|
2421
|
+
computedValue = fn.apply(this, args);
|
|
2422
|
+
cache.set(cacheKey, computedValue);
|
|
2375
2423
|
}
|
|
2376
|
-
|
|
2377
|
-
|
|
2424
|
+
return computedValue;
|
|
2425
|
+
}
|
|
2426
|
+
function assemble(fn, context, strategy, cache, serialize) {
|
|
2427
|
+
return strategy.bind(context, fn, cache, serialize);
|
|
2428
|
+
}
|
|
2429
|
+
function strategyDefault(fn, options) {
|
|
2430
|
+
var strategy = fn.length === 1 ? monadic : variadic;
|
|
2431
|
+
return assemble(fn, this, strategy, options.cache.create(), options.serializer);
|
|
2432
|
+
}
|
|
2433
|
+
function strategyVariadic(fn, options) {
|
|
2434
|
+
return assemble(fn, this, variadic, options.cache.create(), options.serializer);
|
|
2435
|
+
}
|
|
2436
|
+
function strategyMonadic(fn, options) {
|
|
2437
|
+
return assemble(fn, this, monadic, options.cache.create(), options.serializer);
|
|
2438
|
+
}
|
|
2439
|
+
var serializerDefault = function() {
|
|
2440
|
+
return JSON.stringify(arguments);
|
|
2441
|
+
};
|
|
2442
|
+
var ObjectWithoutPrototypeCache = (
|
|
2443
|
+
/** @class */
|
|
2444
|
+
function() {
|
|
2445
|
+
function ObjectWithoutPrototypeCache2() {
|
|
2446
|
+
this.cache = /* @__PURE__ */ Object.create(null);
|
|
2447
|
+
}
|
|
2448
|
+
ObjectWithoutPrototypeCache2.prototype.get = function(key) {
|
|
2449
|
+
return this.cache[key];
|
|
2450
|
+
};
|
|
2451
|
+
ObjectWithoutPrototypeCache2.prototype.set = function(key, value) {
|
|
2452
|
+
this.cache[key] = value;
|
|
2453
|
+
};
|
|
2454
|
+
return ObjectWithoutPrototypeCache2;
|
|
2455
|
+
}()
|
|
2456
|
+
);
|
|
2457
|
+
var cacheDefault = {
|
|
2458
|
+
create: function create() {
|
|
2459
|
+
return new ObjectWithoutPrototypeCache();
|
|
2378
2460
|
}
|
|
2379
|
-
|
|
2380
|
-
|
|
2461
|
+
};
|
|
2462
|
+
var strategies = {
|
|
2463
|
+
variadic: strategyVariadic,
|
|
2464
|
+
monadic: strategyMonadic
|
|
2465
|
+
};
|
|
2466
|
+
|
|
2467
|
+
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/utils.js
|
|
2468
|
+
function repeat(s, times) {
|
|
2469
|
+
if (typeof s.repeat === "function") {
|
|
2470
|
+
return s.repeat(times);
|
|
2471
|
+
}
|
|
2472
|
+
var arr = new Array(times);
|
|
2473
|
+
for (var i = 0; i < arr.length; i++) {
|
|
2474
|
+
arr[i] = s;
|
|
2475
|
+
}
|
|
2476
|
+
return arr.join("");
|
|
2477
|
+
}
|
|
2478
|
+
function defineProperty(target, name, _a) {
|
|
2479
|
+
var value = _a.value;
|
|
2480
|
+
Object.defineProperty(target, name, {
|
|
2481
|
+
configurable: true,
|
|
2482
|
+
enumerable: false,
|
|
2483
|
+
writable: true,
|
|
2484
|
+
value
|
|
2485
|
+
});
|
|
2486
|
+
}
|
|
2487
|
+
function invariant(condition, message, Err) {
|
|
2488
|
+
if (Err === void 0) {
|
|
2489
|
+
Err = Error;
|
|
2490
|
+
}
|
|
2491
|
+
if (!condition) {
|
|
2492
|
+
throw new Err(message);
|
|
2381
2493
|
}
|
|
2382
|
-
|
|
2494
|
+
}
|
|
2495
|
+
var createMemoizedNumberFormat = memoize(function() {
|
|
2496
|
+
var _a;
|
|
2497
|
+
var args = [];
|
|
2498
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2499
|
+
args[_i] = arguments[_i];
|
|
2500
|
+
}
|
|
2501
|
+
return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2502
|
+
}, {
|
|
2503
|
+
strategy: strategies.variadic
|
|
2504
|
+
});
|
|
2505
|
+
var createMemoizedDateTimeFormat = memoize(function() {
|
|
2506
|
+
var _a;
|
|
2507
|
+
var args = [];
|
|
2508
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2509
|
+
args[_i] = arguments[_i];
|
|
2510
|
+
}
|
|
2511
|
+
return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2512
|
+
}, {
|
|
2513
|
+
strategy: strategies.variadic
|
|
2514
|
+
});
|
|
2515
|
+
var createMemoizedPluralRules = memoize(function() {
|
|
2516
|
+
var _a;
|
|
2517
|
+
var args = [];
|
|
2518
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2519
|
+
args[_i] = arguments[_i];
|
|
2520
|
+
}
|
|
2521
|
+
return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2522
|
+
}, {
|
|
2523
|
+
strategy: strategies.variadic
|
|
2524
|
+
});
|
|
2525
|
+
var createMemoizedLocale = memoize(function() {
|
|
2526
|
+
var _a;
|
|
2527
|
+
var args = [];
|
|
2528
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2529
|
+
args[_i] = arguments[_i];
|
|
2530
|
+
}
|
|
2531
|
+
return new ((_a = Intl.Locale).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2532
|
+
}, {
|
|
2533
|
+
strategy: strategies.variadic
|
|
2534
|
+
});
|
|
2535
|
+
var createMemoizedListFormat = memoize(function() {
|
|
2536
|
+
var _a;
|
|
2537
|
+
var args = [];
|
|
2538
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2539
|
+
args[_i] = arguments[_i];
|
|
2540
|
+
}
|
|
2541
|
+
return new ((_a = Intl.ListFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2542
|
+
}, {
|
|
2543
|
+
strategy: strategies.variadic
|
|
2544
|
+
});
|
|
2545
|
+
|
|
2546
|
+
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/262.js
|
|
2547
|
+
function ToString(o) {
|
|
2548
|
+
if (typeof o === "symbol") {
|
|
2549
|
+
throw TypeError("Cannot convert a Symbol value to a string");
|
|
2550
|
+
}
|
|
2551
|
+
return String(o);
|
|
2383
2552
|
}
|
|
2384
2553
|
function ToObject(arg) {
|
|
2385
2554
|
if (arg == null) {
|
|
@@ -2418,6 +2587,51 @@
|
|
|
2418
2587
|
}
|
|
2419
2588
|
return Object.prototype.isPrototypeOf.call(P2, O);
|
|
2420
2589
|
}
|
|
2590
|
+
function OrdinaryToPrimitive(O, hint) {
|
|
2591
|
+
var methodNames;
|
|
2592
|
+
if (hint === "string") {
|
|
2593
|
+
methodNames = ["toString", "valueOf"];
|
|
2594
|
+
} else {
|
|
2595
|
+
methodNames = ["valueOf", "toString"];
|
|
2596
|
+
}
|
|
2597
|
+
for (var _i = 0, methodNames_1 = methodNames; _i < methodNames_1.length; _i++) {
|
|
2598
|
+
var name_1 = methodNames_1[_i];
|
|
2599
|
+
var method = O[name_1];
|
|
2600
|
+
if (IsCallable(method)) {
|
|
2601
|
+
var result = method.call(O);
|
|
2602
|
+
if (typeof result !== "object") {
|
|
2603
|
+
return result;
|
|
2604
|
+
}
|
|
2605
|
+
}
|
|
2606
|
+
}
|
|
2607
|
+
throw new TypeError("Cannot convert object to primitive value");
|
|
2608
|
+
}
|
|
2609
|
+
function ToPrimitive(input, preferredType) {
|
|
2610
|
+
if (typeof input === "object" && input != null) {
|
|
2611
|
+
var exoticToPrim = Symbol.toPrimitive in input ? input[Symbol.toPrimitive] : void 0;
|
|
2612
|
+
var hint = void 0;
|
|
2613
|
+
if (exoticToPrim !== void 0) {
|
|
2614
|
+
if (preferredType === void 0) {
|
|
2615
|
+
hint = "default";
|
|
2616
|
+
} else if (preferredType === "string") {
|
|
2617
|
+
hint = "string";
|
|
2618
|
+
} else {
|
|
2619
|
+
invariant(preferredType === "number", 'preferredType must be "string" or "number"');
|
|
2620
|
+
hint = "number";
|
|
2621
|
+
}
|
|
2622
|
+
var result = exoticToPrim.call(input, hint);
|
|
2623
|
+
if (typeof result !== "object") {
|
|
2624
|
+
return result;
|
|
2625
|
+
}
|
|
2626
|
+
throw new TypeError("Cannot convert exotic object to primitive.");
|
|
2627
|
+
}
|
|
2628
|
+
if (preferredType === void 0) {
|
|
2629
|
+
preferredType = "number";
|
|
2630
|
+
}
|
|
2631
|
+
return OrdinaryToPrimitive(input, preferredType);
|
|
2632
|
+
}
|
|
2633
|
+
return input;
|
|
2634
|
+
}
|
|
2421
2635
|
|
|
2422
2636
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/CoerceOptionsToObject.js
|
|
2423
2637
|
function CoerceOptionsToObject(options) {
|
|
@@ -2588,190 +2802,6 @@
|
|
|
2588
2802
|
return true;
|
|
2589
2803
|
}
|
|
2590
2804
|
|
|
2591
|
-
// node_modules/.aspect_rules_js/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
2592
|
-
var extendStatics = function(d, b) {
|
|
2593
|
-
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
|
|
2594
|
-
d2.__proto__ = b2;
|
|
2595
|
-
} || function(d2, b2) {
|
|
2596
|
-
for (var p in b2)
|
|
2597
|
-
if (Object.prototype.hasOwnProperty.call(b2, p))
|
|
2598
|
-
d2[p] = b2[p];
|
|
2599
|
-
};
|
|
2600
|
-
return extendStatics(d, b);
|
|
2601
|
-
};
|
|
2602
|
-
function __extends(d, b) {
|
|
2603
|
-
if (typeof b !== "function" && b !== null)
|
|
2604
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
2605
|
-
extendStatics(d, b);
|
|
2606
|
-
function __() {
|
|
2607
|
-
this.constructor = d;
|
|
2608
|
-
}
|
|
2609
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
2610
|
-
}
|
|
2611
|
-
function __spreadArray(to, from, pack) {
|
|
2612
|
-
if (pack || arguments.length === 2)
|
|
2613
|
-
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
2614
|
-
if (ar || !(i in from)) {
|
|
2615
|
-
if (!ar)
|
|
2616
|
-
ar = Array.prototype.slice.call(from, 0, i);
|
|
2617
|
-
ar[i] = from[i];
|
|
2618
|
-
}
|
|
2619
|
-
}
|
|
2620
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
2621
|
-
}
|
|
2622
|
-
|
|
2623
|
-
// node_modules/.aspect_rules_js/@formatjs+fast-memoize@0.0.0/node_modules/@formatjs/fast-memoize/lib/index.js
|
|
2624
|
-
function memoize(fn, options) {
|
|
2625
|
-
var cache = options && options.cache ? options.cache : cacheDefault;
|
|
2626
|
-
var serializer = options && options.serializer ? options.serializer : serializerDefault;
|
|
2627
|
-
var strategy = options && options.strategy ? options.strategy : strategyDefault;
|
|
2628
|
-
return strategy(fn, {
|
|
2629
|
-
cache,
|
|
2630
|
-
serializer
|
|
2631
|
-
});
|
|
2632
|
-
}
|
|
2633
|
-
function isPrimitive(value) {
|
|
2634
|
-
return value == null || typeof value === "number" || typeof value === "boolean";
|
|
2635
|
-
}
|
|
2636
|
-
function monadic(fn, cache, serializer, arg) {
|
|
2637
|
-
var cacheKey = isPrimitive(arg) ? arg : serializer(arg);
|
|
2638
|
-
var computedValue = cache.get(cacheKey);
|
|
2639
|
-
if (typeof computedValue === "undefined") {
|
|
2640
|
-
computedValue = fn.call(this, arg);
|
|
2641
|
-
cache.set(cacheKey, computedValue);
|
|
2642
|
-
}
|
|
2643
|
-
return computedValue;
|
|
2644
|
-
}
|
|
2645
|
-
function variadic(fn, cache, serializer) {
|
|
2646
|
-
var args = Array.prototype.slice.call(arguments, 3);
|
|
2647
|
-
var cacheKey = serializer(args);
|
|
2648
|
-
var computedValue = cache.get(cacheKey);
|
|
2649
|
-
if (typeof computedValue === "undefined") {
|
|
2650
|
-
computedValue = fn.apply(this, args);
|
|
2651
|
-
cache.set(cacheKey, computedValue);
|
|
2652
|
-
}
|
|
2653
|
-
return computedValue;
|
|
2654
|
-
}
|
|
2655
|
-
function assemble(fn, context, strategy, cache, serialize) {
|
|
2656
|
-
return strategy.bind(context, fn, cache, serialize);
|
|
2657
|
-
}
|
|
2658
|
-
function strategyDefault(fn, options) {
|
|
2659
|
-
var strategy = fn.length === 1 ? monadic : variadic;
|
|
2660
|
-
return assemble(fn, this, strategy, options.cache.create(), options.serializer);
|
|
2661
|
-
}
|
|
2662
|
-
function strategyVariadic(fn, options) {
|
|
2663
|
-
return assemble(fn, this, variadic, options.cache.create(), options.serializer);
|
|
2664
|
-
}
|
|
2665
|
-
function strategyMonadic(fn, options) {
|
|
2666
|
-
return assemble(fn, this, monadic, options.cache.create(), options.serializer);
|
|
2667
|
-
}
|
|
2668
|
-
var serializerDefault = function() {
|
|
2669
|
-
return JSON.stringify(arguments);
|
|
2670
|
-
};
|
|
2671
|
-
var ObjectWithoutPrototypeCache = (
|
|
2672
|
-
/** @class */
|
|
2673
|
-
function() {
|
|
2674
|
-
function ObjectWithoutPrototypeCache2() {
|
|
2675
|
-
this.cache = /* @__PURE__ */ Object.create(null);
|
|
2676
|
-
}
|
|
2677
|
-
ObjectWithoutPrototypeCache2.prototype.get = function(key) {
|
|
2678
|
-
return this.cache[key];
|
|
2679
|
-
};
|
|
2680
|
-
ObjectWithoutPrototypeCache2.prototype.set = function(key, value) {
|
|
2681
|
-
this.cache[key] = value;
|
|
2682
|
-
};
|
|
2683
|
-
return ObjectWithoutPrototypeCache2;
|
|
2684
|
-
}()
|
|
2685
|
-
);
|
|
2686
|
-
var cacheDefault = {
|
|
2687
|
-
create: function create() {
|
|
2688
|
-
return new ObjectWithoutPrototypeCache();
|
|
2689
|
-
}
|
|
2690
|
-
};
|
|
2691
|
-
var strategies = {
|
|
2692
|
-
variadic: strategyVariadic,
|
|
2693
|
-
monadic: strategyMonadic
|
|
2694
|
-
};
|
|
2695
|
-
|
|
2696
|
-
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/utils.js
|
|
2697
|
-
function repeat(s, times) {
|
|
2698
|
-
if (typeof s.repeat === "function") {
|
|
2699
|
-
return s.repeat(times);
|
|
2700
|
-
}
|
|
2701
|
-
var arr = new Array(times);
|
|
2702
|
-
for (var i = 0; i < arr.length; i++) {
|
|
2703
|
-
arr[i] = s;
|
|
2704
|
-
}
|
|
2705
|
-
return arr.join("");
|
|
2706
|
-
}
|
|
2707
|
-
function defineProperty(target, name, _a) {
|
|
2708
|
-
var value = _a.value;
|
|
2709
|
-
Object.defineProperty(target, name, {
|
|
2710
|
-
configurable: true,
|
|
2711
|
-
enumerable: false,
|
|
2712
|
-
writable: true,
|
|
2713
|
-
value
|
|
2714
|
-
});
|
|
2715
|
-
}
|
|
2716
|
-
function invariant(condition, message, Err) {
|
|
2717
|
-
if (Err === void 0) {
|
|
2718
|
-
Err = Error;
|
|
2719
|
-
}
|
|
2720
|
-
if (!condition) {
|
|
2721
|
-
throw new Err(message);
|
|
2722
|
-
}
|
|
2723
|
-
}
|
|
2724
|
-
var createMemoizedNumberFormat = memoize(function() {
|
|
2725
|
-
var _a;
|
|
2726
|
-
var args = [];
|
|
2727
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2728
|
-
args[_i] = arguments[_i];
|
|
2729
|
-
}
|
|
2730
|
-
return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2731
|
-
}, {
|
|
2732
|
-
strategy: strategies.variadic
|
|
2733
|
-
});
|
|
2734
|
-
var createMemoizedDateTimeFormat = memoize(function() {
|
|
2735
|
-
var _a;
|
|
2736
|
-
var args = [];
|
|
2737
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2738
|
-
args[_i] = arguments[_i];
|
|
2739
|
-
}
|
|
2740
|
-
return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2741
|
-
}, {
|
|
2742
|
-
strategy: strategies.variadic
|
|
2743
|
-
});
|
|
2744
|
-
var createMemoizedPluralRules = memoize(function() {
|
|
2745
|
-
var _a;
|
|
2746
|
-
var args = [];
|
|
2747
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2748
|
-
args[_i] = arguments[_i];
|
|
2749
|
-
}
|
|
2750
|
-
return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2751
|
-
}, {
|
|
2752
|
-
strategy: strategies.variadic
|
|
2753
|
-
});
|
|
2754
|
-
var createMemoizedLocale = memoize(function() {
|
|
2755
|
-
var _a;
|
|
2756
|
-
var args = [];
|
|
2757
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2758
|
-
args[_i] = arguments[_i];
|
|
2759
|
-
}
|
|
2760
|
-
return new ((_a = Intl.Locale).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2761
|
-
}, {
|
|
2762
|
-
strategy: strategies.variadic
|
|
2763
|
-
});
|
|
2764
|
-
var createMemoizedListFormat = memoize(function() {
|
|
2765
|
-
var _a;
|
|
2766
|
-
var args = [];
|
|
2767
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
2768
|
-
args[_i] = arguments[_i];
|
|
2769
|
-
}
|
|
2770
|
-
return new ((_a = Intl.ListFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
2771
|
-
}, {
|
|
2772
|
-
strategy: strategies.variadic
|
|
2773
|
-
});
|
|
2774
|
-
|
|
2775
2805
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ApplyUnsignedRoundingMode.js
|
|
2776
2806
|
function ApplyUnsignedRoundingMode(x, r1, r2, unsignedRoundingMode) {
|
|
2777
2807
|
if (x.eq(r1))
|
|
@@ -2862,9 +2892,7 @@
|
|
|
2862
2892
|
decimal_default.set({
|
|
2863
2893
|
toExpPos: 100
|
|
2864
2894
|
});
|
|
2865
|
-
function ComputeExponentForMagnitude(
|
|
2866
|
-
var getInternalSlots2 = _a.getInternalSlots;
|
|
2867
|
-
var internalSlots = getInternalSlots2(numberFormat);
|
|
2895
|
+
function ComputeExponentForMagnitude(internalSlots, magnitude) {
|
|
2868
2896
|
var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;
|
|
2869
2897
|
switch (notation) {
|
|
2870
2898
|
case "standard":
|
|
@@ -2888,7 +2916,7 @@
|
|
|
2888
2916
|
if (!thresholdMap) {
|
|
2889
2917
|
return 0;
|
|
2890
2918
|
}
|
|
2891
|
-
var num =
|
|
2919
|
+
var num = decimal_default.pow(10, magnitude).toString();
|
|
2892
2920
|
var thresholds = Object.keys(thresholdMap);
|
|
2893
2921
|
if (num < thresholds[0]) {
|
|
2894
2922
|
return 0;
|
|
@@ -2945,10 +2973,10 @@
|
|
|
2945
2973
|
toExpPos: 100
|
|
2946
2974
|
});
|
|
2947
2975
|
function ToRawFixedFn(n, f) {
|
|
2948
|
-
return n.times(
|
|
2976
|
+
return n.times(decimal_default.pow(10, -f));
|
|
2949
2977
|
}
|
|
2950
2978
|
function findN1R1(x, f, roundingIncrement) {
|
|
2951
|
-
var nx = x.times(
|
|
2979
|
+
var nx = x.times(decimal_default.pow(10, f)).floor();
|
|
2952
2980
|
var n1 = nx.div(roundingIncrement).floor().times(roundingIncrement);
|
|
2953
2981
|
var r1 = ToRawFixedFn(n1, f);
|
|
2954
2982
|
return {
|
|
@@ -2957,7 +2985,7 @@
|
|
|
2957
2985
|
};
|
|
2958
2986
|
}
|
|
2959
2987
|
function findN2R2(x, f, roundingIncrement) {
|
|
2960
|
-
var nx = x.times(
|
|
2988
|
+
var nx = x.times(decimal_default.pow(10, f)).ceil();
|
|
2961
2989
|
var n2 = nx.div(roundingIncrement).ceil().times(roundingIncrement);
|
|
2962
2990
|
var r2 = ToRawFixedFn(n2, f);
|
|
2963
2991
|
return {
|
|
@@ -3016,21 +3044,15 @@
|
|
|
3016
3044
|
}
|
|
3017
3045
|
|
|
3018
3046
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js
|
|
3019
|
-
decimal_default.set({
|
|
3020
|
-
toExpPos: 100
|
|
3021
|
-
});
|
|
3022
|
-
function ToRawPrecisionFn(n, e, p) {
|
|
3023
|
-
invariant(TEN.pow(p - 1).lessThanOrEqualTo(n) && n.lessThan(TEN.pow(p)), "n should be in the range ".concat(TEN.pow(p - 1), " <= n < ").concat(TEN.pow(p), " but got ").concat(n));
|
|
3024
|
-
return n.times(TEN.pow(e.minus(p).plus(1)));
|
|
3025
|
-
}
|
|
3026
3047
|
function findN1E1R1(x, p) {
|
|
3027
|
-
var maxN1 =
|
|
3028
|
-
var minN1 =
|
|
3048
|
+
var maxN1 = decimal_default.pow(10, p);
|
|
3049
|
+
var minN1 = decimal_default.pow(10, p - 1);
|
|
3029
3050
|
var maxE1 = x.div(minN1).log(10).plus(p).minus(1).ceil();
|
|
3030
|
-
|
|
3031
|
-
|
|
3051
|
+
var currentE1 = maxE1;
|
|
3052
|
+
while (true) {
|
|
3053
|
+
var currentN1 = x.div(decimal_default.pow(10, currentE1.minus(p).plus(1))).floor();
|
|
3032
3054
|
if (currentN1.lessThan(maxN1) && currentN1.greaterThanOrEqualTo(minN1)) {
|
|
3033
|
-
var currentR1 =
|
|
3055
|
+
var currentR1 = currentN1.times(decimal_default.pow(10, currentE1.minus(p).plus(1)));
|
|
3034
3056
|
if (currentR1.lessThanOrEqualTo(x)) {
|
|
3035
3057
|
return {
|
|
3036
3058
|
n1: currentN1,
|
|
@@ -3039,16 +3061,18 @@
|
|
|
3039
3061
|
};
|
|
3040
3062
|
}
|
|
3041
3063
|
}
|
|
3064
|
+
currentE1 = currentE1.minus(1);
|
|
3042
3065
|
}
|
|
3043
3066
|
}
|
|
3044
3067
|
function findN2E2R2(x, p) {
|
|
3045
|
-
var maxN2 =
|
|
3046
|
-
var minN2 =
|
|
3068
|
+
var maxN2 = decimal_default.pow(10, p);
|
|
3069
|
+
var minN2 = decimal_default.pow(10, p - 1);
|
|
3047
3070
|
var minE2 = x.div(maxN2).log(10).plus(p).minus(1).floor();
|
|
3048
|
-
|
|
3049
|
-
|
|
3071
|
+
var currentE2 = minE2;
|
|
3072
|
+
while (true) {
|
|
3073
|
+
var currentN2 = x.div(decimal_default.pow(10, currentE2.minus(p).plus(1))).ceil();
|
|
3050
3074
|
if (currentN2.lessThan(maxN2) && currentN2.greaterThanOrEqualTo(minN2)) {
|
|
3051
|
-
var currentR2 =
|
|
3075
|
+
var currentR2 = currentN2.times(decimal_default.pow(10, currentE2.minus(p).plus(1)));
|
|
3052
3076
|
if (currentR2.greaterThanOrEqualTo(x)) {
|
|
3053
3077
|
return {
|
|
3054
3078
|
n2: currentN2,
|
|
@@ -3057,6 +3081,7 @@
|
|
|
3057
3081
|
};
|
|
3058
3082
|
}
|
|
3059
3083
|
}
|
|
3084
|
+
currentE2 = currentE2.plus(1);
|
|
3060
3085
|
}
|
|
3061
3086
|
}
|
|
3062
3087
|
function ToRawPrecision(x, minPrecision, maxPrecision, unsignedRoundingMode) {
|
|
@@ -3115,7 +3140,8 @@
|
|
|
3115
3140
|
}
|
|
3116
3141
|
|
|
3117
3142
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js
|
|
3118
|
-
function FormatNumericToString(intlObject,
|
|
3143
|
+
function FormatNumericToString(intlObject, _x) {
|
|
3144
|
+
var x = _x;
|
|
3119
3145
|
var sign2;
|
|
3120
3146
|
if (x.isZero() && x.isNegative()) {
|
|
3121
3147
|
sign2 = "negative";
|
|
@@ -3185,8 +3211,7 @@
|
|
|
3185
3211
|
}
|
|
3186
3212
|
|
|
3187
3213
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponent.js
|
|
3188
|
-
function ComputeExponent(
|
|
3189
|
-
var getInternalSlots2 = _a.getInternalSlots;
|
|
3214
|
+
function ComputeExponent(internalSlots, x) {
|
|
3190
3215
|
if (x.isZero()) {
|
|
3191
3216
|
return [0, 0];
|
|
3192
3217
|
}
|
|
@@ -3194,11 +3219,9 @@
|
|
|
3194
3219
|
x = x.negated();
|
|
3195
3220
|
}
|
|
3196
3221
|
var magnitude = x.log(10).floor();
|
|
3197
|
-
var exponent = ComputeExponentForMagnitude(
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
x = x.times(TEN.pow(-exponent));
|
|
3201
|
-
var formatNumberResult = FormatNumericToString(getInternalSlots2(numberFormat), x);
|
|
3222
|
+
var exponent = ComputeExponentForMagnitude(internalSlots, magnitude);
|
|
3223
|
+
x = x.times(decimal_default.pow(10, -exponent));
|
|
3224
|
+
var formatNumberResult = FormatNumericToString(internalSlots, x);
|
|
3202
3225
|
if (formatNumberResult.roundedNumber.isZero()) {
|
|
3203
3226
|
return [exponent, magnitude.toNumber()];
|
|
3204
3227
|
}
|
|
@@ -3207,9 +3230,7 @@
|
|
|
3207
3230
|
return [exponent, magnitude.toNumber()];
|
|
3208
3231
|
}
|
|
3209
3232
|
return [
|
|
3210
|
-
ComputeExponentForMagnitude(
|
|
3211
|
-
getInternalSlots: getInternalSlots2
|
|
3212
|
-
}),
|
|
3233
|
+
ComputeExponentForMagnitude(internalSlots, magnitude.plus(1)),
|
|
3213
3234
|
magnitude.plus(1).toNumber()
|
|
3214
3235
|
];
|
|
3215
3236
|
}
|
|
@@ -4012,6 +4033,7 @@
|
|
|
4012
4033
|
var S_DOLLAR_UNICODE_REGEX = new RegExp("".concat(S_UNICODE_REGEX.source, "$"));
|
|
4013
4034
|
var CLDR_NUMBER_PATTERN = /[#0](?:[\.,][#0]+)*/g;
|
|
4014
4035
|
function formatToParts(numberResult, data2, pl, options) {
|
|
4036
|
+
var _a;
|
|
4015
4037
|
var sign2 = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude;
|
|
4016
4038
|
var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem;
|
|
4017
4039
|
var defaultNumberingSystem = data2.numbers.nu[0];
|
|
@@ -4083,7 +4105,7 @@
|
|
|
4083
4105
|
exponent,
|
|
4084
4106
|
numberingSystem,
|
|
4085
4107
|
// If compact number pattern exists, do not insert group separators.
|
|
4086
|
-
!compactNumberPattern &&
|
|
4108
|
+
!compactNumberPattern && ((_a = options.useGrouping) !== null && _a !== void 0 ? _a : true),
|
|
4087
4109
|
decimalNumberPattern,
|
|
4088
4110
|
style,
|
|
4089
4111
|
options.roundingIncrement,
|
|
@@ -4122,14 +4144,14 @@
|
|
|
4122
4144
|
var unitName = void 0;
|
|
4123
4145
|
var currencyNameData = data2.currencies[options.currency];
|
|
4124
4146
|
if (currencyNameData) {
|
|
4125
|
-
unitName = selectPlural(pl, numberResult.roundedNumber.times(
|
|
4147
|
+
unitName = selectPlural(pl, numberResult.roundedNumber.times(decimal_default.pow(10, exponent)).toNumber(), currencyNameData.displayName);
|
|
4126
4148
|
} else {
|
|
4127
4149
|
unitName = options.currency;
|
|
4128
4150
|
}
|
|
4129
4151
|
var unitPatternParts = unitPattern.split(/(\{[01]\})/g);
|
|
4130
4152
|
var result = [];
|
|
4131
|
-
for (var
|
|
4132
|
-
var part = unitPatternParts_1[
|
|
4153
|
+
for (var _b = 0, unitPatternParts_1 = unitPatternParts; _b < unitPatternParts_1.length; _b++) {
|
|
4154
|
+
var part = unitPatternParts_1[_b];
|
|
4133
4155
|
switch (part) {
|
|
4134
4156
|
case "{0}":
|
|
4135
4157
|
result.push.apply(result, numberParts);
|
|
@@ -4154,11 +4176,11 @@
|
|
|
4154
4176
|
var unitData = data2.units.simple[unit];
|
|
4155
4177
|
var unitPattern = void 0;
|
|
4156
4178
|
if (unitData) {
|
|
4157
|
-
unitPattern = selectPlural(pl, numberResult.roundedNumber.times(
|
|
4179
|
+
unitPattern = selectPlural(pl, numberResult.roundedNumber.times(decimal_default.pow(10, exponent)).toNumber(), data2.units.simple[unit][unitDisplay]);
|
|
4158
4180
|
} else {
|
|
4159
|
-
var
|
|
4181
|
+
var _c = unit.split("-per-"), numeratorUnit = _c[0], denominatorUnit = _c[1];
|
|
4160
4182
|
unitData = data2.units.simple[numeratorUnit];
|
|
4161
|
-
var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber.times(
|
|
4183
|
+
var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber.times(decimal_default.pow(10, exponent)).toNumber(), data2.units.simple[numeratorUnit][unitDisplay]);
|
|
4162
4184
|
var perUnitPattern = data2.units.simple[denominatorUnit].perUnit[unitDisplay];
|
|
4163
4185
|
if (perUnitPattern) {
|
|
4164
4186
|
unitPattern = perUnitPattern.replace("{0}", numeratorUnitPattern);
|
|
@@ -4169,8 +4191,8 @@
|
|
|
4169
4191
|
}
|
|
4170
4192
|
}
|
|
4171
4193
|
var result = [];
|
|
4172
|
-
for (var
|
|
4173
|
-
var part = _d
|
|
4194
|
+
for (var _d = 0, _e = unitPattern.split(/(\s*\{0\}\s*)/); _d < _e.length; _d++) {
|
|
4195
|
+
var part = _e[_d];
|
|
4174
4196
|
var interpolateMatch = /^(\s*)\{0\}(\s*)$/.exec(part);
|
|
4175
4197
|
if (interpolateMatch) {
|
|
4176
4198
|
if (interpolateMatch[1]) {
|
|
@@ -4213,7 +4235,15 @@
|
|
|
4213
4235
|
} else {
|
|
4214
4236
|
integer = n;
|
|
4215
4237
|
}
|
|
4216
|
-
|
|
4238
|
+
var shouldUseGrouping = false;
|
|
4239
|
+
if (useGrouping === "always") {
|
|
4240
|
+
shouldUseGrouping = true;
|
|
4241
|
+
} else if (useGrouping === "min2") {
|
|
4242
|
+
shouldUseGrouping = x.greaterThanOrEqualTo(1e4);
|
|
4243
|
+
} else if (useGrouping === "auto" || useGrouping) {
|
|
4244
|
+
shouldUseGrouping = notation !== "compact" || x.greaterThanOrEqualTo(1e4);
|
|
4245
|
+
}
|
|
4246
|
+
if (shouldUseGrouping) {
|
|
4217
4247
|
var groupSepSymbol = style === "currency" && symbols.currencyGroup != null ? symbols.currencyGroup : symbols.group;
|
|
4218
4248
|
var groups = [];
|
|
4219
4249
|
var integerNumberPattern = decimalNumberPattern.split(".")[0];
|
|
@@ -4312,9 +4342,7 @@
|
|
|
4312
4342
|
}
|
|
4313
4343
|
|
|
4314
4344
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatApproximately.js
|
|
4315
|
-
function FormatApproximately(
|
|
4316
|
-
var getInternalSlots2 = _a.getInternalSlots;
|
|
4317
|
-
var internalSlots = getInternalSlots2(numberFormat);
|
|
4345
|
+
function FormatApproximately(internalSlots, result) {
|
|
4318
4346
|
var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];
|
|
4319
4347
|
var approximatelySign = symbols.approximatelySign;
|
|
4320
4348
|
result.push({ type: "approximatelySign", value: approximatelySign });
|
|
@@ -4322,13 +4350,12 @@
|
|
|
4322
4350
|
}
|
|
4323
4351
|
|
|
4324
4352
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js
|
|
4325
|
-
function PartitionNumberPattern(
|
|
4326
|
-
var
|
|
4327
|
-
var
|
|
4328
|
-
var
|
|
4353
|
+
function PartitionNumberPattern(internalSlots, _x) {
|
|
4354
|
+
var _a;
|
|
4355
|
+
var x = _x;
|
|
4356
|
+
var magnitude = 0;
|
|
4329
4357
|
var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;
|
|
4330
4358
|
var symbols = dataLocaleData.numbers.symbols[numberingSystem] || dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]];
|
|
4331
|
-
var magnitude = 0;
|
|
4332
4359
|
var exponent = 0;
|
|
4333
4360
|
var n;
|
|
4334
4361
|
if (x.isNaN()) {
|
|
@@ -4342,10 +4369,9 @@
|
|
|
4342
4369
|
x = x.times(100);
|
|
4343
4370
|
}
|
|
4344
4371
|
;
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
x = x.times(TEN.pow(-exponent));
|
|
4372
|
+
_a = ComputeExponent(internalSlots, x), exponent = _a[0], // IMPL: We need to record the magnitude of the number
|
|
4373
|
+
magnitude = _a[1];
|
|
4374
|
+
x = x.times(decimal_default.pow(10, -exponent));
|
|
4349
4375
|
}
|
|
4350
4376
|
var formatNumberResult = FormatNumericToString(internalSlots, x);
|
|
4351
4377
|
n = formatNumberResult.formattedString;
|
|
@@ -4389,32 +4415,49 @@
|
|
|
4389
4415
|
}
|
|
4390
4416
|
break;
|
|
4391
4417
|
}
|
|
4392
|
-
return formatToParts({
|
|
4418
|
+
return formatToParts({
|
|
4419
|
+
roundedNumber: x,
|
|
4420
|
+
formattedString: n,
|
|
4421
|
+
exponent,
|
|
4422
|
+
// IMPL: We're returning this for our implementation of formatToParts
|
|
4423
|
+
magnitude,
|
|
4424
|
+
sign: sign2
|
|
4425
|
+
}, internalSlots.dataLocaleData, pl, internalSlots);
|
|
4426
|
+
}
|
|
4427
|
+
|
|
4428
|
+
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumeric.js
|
|
4429
|
+
function FormatNumeric(internalSlots, x) {
|
|
4430
|
+
var parts = PartitionNumberPattern(internalSlots, x);
|
|
4431
|
+
return parts.map(function(p) {
|
|
4432
|
+
return p.value;
|
|
4433
|
+
}).join("");
|
|
4393
4434
|
}
|
|
4394
4435
|
|
|
4395
4436
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberRangePattern.js
|
|
4396
4437
|
function PartitionNumberRangePattern(numberFormat, x, y, _a) {
|
|
4397
4438
|
var getInternalSlots2 = _a.getInternalSlots;
|
|
4398
|
-
invariant(!x.isNaN() && !y.isNaN(), "Input must be a number");
|
|
4399
|
-
var result = [];
|
|
4400
|
-
var xResult = PartitionNumberPattern(numberFormat, x, { getInternalSlots: getInternalSlots2 });
|
|
4401
|
-
var yResult = PartitionNumberPattern(numberFormat, y, { getInternalSlots: getInternalSlots2 });
|
|
4402
|
-
if (xResult === yResult) {
|
|
4403
|
-
return FormatApproximately(numberFormat, xResult, { getInternalSlots: getInternalSlots2 });
|
|
4404
|
-
}
|
|
4405
|
-
for (var _i = 0, xResult_1 = xResult; _i < xResult_1.length; _i++) {
|
|
4406
|
-
var r = xResult_1[_i];
|
|
4407
|
-
r.source = "startRange";
|
|
4408
|
-
}
|
|
4409
|
-
result = result.concat(xResult);
|
|
4439
|
+
invariant(!x.isNaN() && !y.isNaN(), "Input must be a number", RangeError);
|
|
4410
4440
|
var internalSlots = getInternalSlots2(numberFormat);
|
|
4411
|
-
var
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
var
|
|
4415
|
-
|
|
4441
|
+
var xResult = PartitionNumberPattern(internalSlots, x);
|
|
4442
|
+
var yResult = PartitionNumberPattern(internalSlots, y);
|
|
4443
|
+
if (FormatNumeric(internalSlots, x) === FormatNumeric(internalSlots, y)) {
|
|
4444
|
+
var appxResult = FormatApproximately(internalSlots, xResult);
|
|
4445
|
+
appxResult.forEach(function(el) {
|
|
4446
|
+
el.source = "shared";
|
|
4447
|
+
});
|
|
4448
|
+
return appxResult;
|
|
4416
4449
|
}
|
|
4417
|
-
result =
|
|
4450
|
+
var result = [];
|
|
4451
|
+
xResult.forEach(function(el) {
|
|
4452
|
+
el.source = "startRange";
|
|
4453
|
+
result.push(el);
|
|
4454
|
+
});
|
|
4455
|
+
var rangeSeparator = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem].rangeSign;
|
|
4456
|
+
result.push({ type: "literal", value: rangeSeparator, source: "shared" });
|
|
4457
|
+
yResult.forEach(function(el) {
|
|
4458
|
+
el.source = "endRange";
|
|
4459
|
+
result.push(el);
|
|
4460
|
+
});
|
|
4418
4461
|
return CollapseNumberRange(numberFormat, result, { getInternalSlots: getInternalSlots2 });
|
|
4419
4462
|
}
|
|
4420
4463
|
|
|
@@ -4447,7 +4490,7 @@
|
|
|
4447
4490
|
|
|
4448
4491
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js
|
|
4449
4492
|
function FormatNumericToParts(nf, x, implDetails) {
|
|
4450
|
-
var parts = PartitionNumberPattern(nf, x
|
|
4493
|
+
var parts = PartitionNumberPattern(implDetails.getInternalSlots(nf), x);
|
|
4451
4494
|
var result = ArrayCreate(0);
|
|
4452
4495
|
for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
|
|
4453
4496
|
var part = parts_1[_i];
|
|
@@ -8901,7 +8944,8 @@
|
|
|
8901
8944
|
mnfd = DefaultNumberOption(mnfd, 0, 100, void 0);
|
|
8902
8945
|
mxfd = DefaultNumberOption(mxfd, 0, 100, void 0);
|
|
8903
8946
|
if (mnfd === void 0) {
|
|
8904
|
-
|
|
8947
|
+
invariant(mxfd !== void 0, "maximumFractionDigits must be defined");
|
|
8948
|
+
mnfd = Math.min(mnfdDefault, mxfd);
|
|
8905
8949
|
} else if (mxfd === void 0) {
|
|
8906
8950
|
mxfd = Math.max(mxfdDefault, mnfd);
|
|
8907
8951
|
} else if (mnfd > mxfd) {
|
|
@@ -8935,36 +8979,26 @@
|
|
|
8935
8979
|
internalSlots.roundingPriority = "auto";
|
|
8936
8980
|
}
|
|
8937
8981
|
if (roundingIncrement !== 1) {
|
|
8938
|
-
invariant(internalSlots.roundingType === "fractionDigits", "Invalid roundingType");
|
|
8939
|
-
invariant(internalSlots.maximumFractionDigits === internalSlots.minimumFractionDigits, "With roundingIncrement > 1, maximumFractionDigits and minimumFractionDigits must be equal.");
|
|
8982
|
+
invariant(internalSlots.roundingType === "fractionDigits", "Invalid roundingType", TypeError);
|
|
8983
|
+
invariant(internalSlots.maximumFractionDigits === internalSlots.minimumFractionDigits, "With roundingIncrement > 1, maximumFractionDigits and minimumFractionDigits must be equal.", RangeError);
|
|
8940
8984
|
}
|
|
8941
8985
|
}
|
|
8942
8986
|
|
|
8943
8987
|
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js
|
|
8944
|
-
function SetNumberFormatUnitOptions(
|
|
8988
|
+
function SetNumberFormatUnitOptions(internalSlots, options) {
|
|
8945
8989
|
if (options === void 0) {
|
|
8946
8990
|
options = /* @__PURE__ */ Object.create(null);
|
|
8947
8991
|
}
|
|
8948
|
-
var getInternalSlots2 = _a.getInternalSlots;
|
|
8949
|
-
var internalSlots = getInternalSlots2(nf);
|
|
8950
8992
|
var style = GetOption(options, "style", "string", ["decimal", "percent", "currency", "unit"], "decimal");
|
|
8951
8993
|
internalSlots.style = style;
|
|
8952
8994
|
var currency = GetOption(options, "currency", "string", void 0, void 0);
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
}
|
|
8956
|
-
if (style === "currency" && currency === void 0) {
|
|
8957
|
-
throw TypeError("currency cannot be undefined");
|
|
8958
|
-
}
|
|
8995
|
+
invariant(currency === void 0 || IsWellFormedCurrencyCode(currency), "Malformed currency code", RangeError);
|
|
8996
|
+
invariant(style !== "currency" || currency !== void 0, "currency cannot be undefined", TypeError);
|
|
8959
8997
|
var currencyDisplay = GetOption(options, "currencyDisplay", "string", ["code", "symbol", "narrowSymbol", "name"], "symbol");
|
|
8960
8998
|
var currencySign = GetOption(options, "currencySign", "string", ["standard", "accounting"], "standard");
|
|
8961
8999
|
var unit = GetOption(options, "unit", "string", void 0, void 0);
|
|
8962
|
-
|
|
8963
|
-
|
|
8964
|
-
}
|
|
8965
|
-
if (style === "unit" && unit === void 0) {
|
|
8966
|
-
throw TypeError("unit cannot be undefined");
|
|
8967
|
-
}
|
|
9000
|
+
invariant(unit === void 0 || IsWellFormedUnitIdentifier(unit), "Invalid unit argument for Intl.NumberFormat()", RangeError);
|
|
9001
|
+
invariant(style !== "unit" || unit !== void 0, "unit cannot be undefined", TypeError);
|
|
8968
9002
|
var unitDisplay = GetOption(options, "unitDisplay", "string", ["short", "narrow", "long"], "short");
|
|
8969
9003
|
if (style === "currency") {
|
|
8970
9004
|
internalSlots.currency = currency.toUpperCase();
|
|
@@ -9006,7 +9040,7 @@
|
|
|
9006
9040
|
internalSlots.dataLocale = r.dataLocale;
|
|
9007
9041
|
internalSlots.numberingSystem = r.nu;
|
|
9008
9042
|
internalSlots.dataLocaleData = dataLocaleData;
|
|
9009
|
-
SetNumberFormatUnitOptions(
|
|
9043
|
+
SetNumberFormatUnitOptions(internalSlots, options);
|
|
9010
9044
|
var style = internalSlots.style;
|
|
9011
9045
|
var notation = GetOption(options, "notation", "string", ["standard", "scientific", "engineering", "compact"], "standard");
|
|
9012
9046
|
internalSlots.notation = notation;
|
|
@@ -9070,6 +9104,31 @@
|
|
|
9070
9104
|
RangePatternType2["endRange"] = "endRange";
|
|
9071
9105
|
})(RangePatternType || (RangePatternType = {}));
|
|
9072
9106
|
|
|
9107
|
+
// node_modules/.aspect_rules_js/@formatjs+ecma402-abstract@0.0.0/node_modules/@formatjs/ecma402-abstract/lib/ToIntlMathematicalValue.js
|
|
9108
|
+
function ToIntlMathematicalValue(input) {
|
|
9109
|
+
var primValue = ToPrimitive(input, "number");
|
|
9110
|
+
if (typeof primValue === "bigint") {
|
|
9111
|
+
return new decimal_default(primValue);
|
|
9112
|
+
}
|
|
9113
|
+
if (primValue === void 0) {
|
|
9114
|
+
return new decimal_default(NaN);
|
|
9115
|
+
}
|
|
9116
|
+
if (primValue === true) {
|
|
9117
|
+
return new decimal_default(1);
|
|
9118
|
+
}
|
|
9119
|
+
if (primValue === false) {
|
|
9120
|
+
return new decimal_default(0);
|
|
9121
|
+
}
|
|
9122
|
+
if (primValue === null) {
|
|
9123
|
+
return new decimal_default(0);
|
|
9124
|
+
}
|
|
9125
|
+
try {
|
|
9126
|
+
return new decimal_default(primValue);
|
|
9127
|
+
} catch (e) {
|
|
9128
|
+
return new decimal_default(NaN);
|
|
9129
|
+
}
|
|
9130
|
+
}
|
|
9131
|
+
|
|
9073
9132
|
// packages/intl-numberformat/src/currency-digits.generated.ts
|
|
9074
9133
|
var currencyDigitsData = {
|
|
9075
9134
|
"ADP": 0,
|
|
@@ -9210,19 +9269,29 @@
|
|
|
9210
9269
|
return this;
|
|
9211
9270
|
};
|
|
9212
9271
|
function formatToParts2(x) {
|
|
9213
|
-
return FormatNumericToParts(this,
|
|
9272
|
+
return FormatNumericToParts(this, ToIntlMathematicalValue(x), {
|
|
9214
9273
|
getInternalSlots
|
|
9215
9274
|
});
|
|
9216
9275
|
}
|
|
9217
9276
|
function formatRange(start, end) {
|
|
9218
|
-
return FormatNumericRange(
|
|
9219
|
-
|
|
9220
|
-
|
|
9277
|
+
return FormatNumericRange(
|
|
9278
|
+
this,
|
|
9279
|
+
ToIntlMathematicalValue(start),
|
|
9280
|
+
ToIntlMathematicalValue(end),
|
|
9281
|
+
{
|
|
9282
|
+
getInternalSlots
|
|
9283
|
+
}
|
|
9284
|
+
);
|
|
9221
9285
|
}
|
|
9222
9286
|
function formatRangeToParts(start, end) {
|
|
9223
|
-
return FormatNumericRangeToParts(
|
|
9224
|
-
|
|
9225
|
-
|
|
9287
|
+
return FormatNumericRangeToParts(
|
|
9288
|
+
this,
|
|
9289
|
+
ToIntlMathematicalValue(start),
|
|
9290
|
+
ToIntlMathematicalValue(end),
|
|
9291
|
+
{
|
|
9292
|
+
getInternalSlots
|
|
9293
|
+
}
|
|
9294
|
+
);
|
|
9226
9295
|
}
|
|
9227
9296
|
try {
|
|
9228
9297
|
Object.defineProperty(formatToParts2, "name", {
|
|
@@ -9277,13 +9346,9 @@
|
|
|
9277
9346
|
);
|
|
9278
9347
|
}
|
|
9279
9348
|
const internalSlots = getInternalSlots(this);
|
|
9280
|
-
const numberFormat = this;
|
|
9281
9349
|
let boundFormat = internalSlots.boundFormat;
|
|
9282
9350
|
if (boundFormat === void 0) {
|
|
9283
|
-
boundFormat = (value) =>
|
|
9284
|
-
const x = toNumeric(value);
|
|
9285
|
-
return numberFormat.formatToParts(x).map((x2) => x2.value).join("");
|
|
9286
|
-
};
|
|
9351
|
+
boundFormat = (value) => FormatNumeric(internalSlots, ToIntlMathematicalValue(value));
|
|
9287
9352
|
try {
|
|
9288
9353
|
Object.defineProperty(boundFormat, "name", {
|
|
9289
9354
|
configurable: true,
|
|
@@ -9348,12 +9413,6 @@ Please __addLocaleData before adding additional unit data`);
|
|
|
9348
9413
|
return NumberFormat.__defaultLocale;
|
|
9349
9414
|
};
|
|
9350
9415
|
NumberFormat.polyfilled = true;
|
|
9351
|
-
function toNumeric(val) {
|
|
9352
|
-
if (typeof val === "bigint") {
|
|
9353
|
-
return new decimal_default(val.toString());
|
|
9354
|
-
}
|
|
9355
|
-
return ToNumber(val);
|
|
9356
|
-
}
|
|
9357
9416
|
try {
|
|
9358
9417
|
if (typeof Symbol !== "undefined") {
|
|
9359
9418
|
Object.defineProperty(NumberFormat.prototype, Symbol.toStringTag, {
|
package/src/core.js
CHANGED
|
@@ -5,8 +5,6 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var ecma402_abstract_1 = require("@formatjs/ecma402-abstract");
|
|
6
6
|
var currency_digits_generated_1 = require("./currency-digits.generated");
|
|
7
7
|
var numbering_systems_generated_1 = require("./numbering-systems.generated");
|
|
8
|
-
// eslint-disable-next-line import/no-cycle
|
|
9
|
-
var decimal_js_1 = tslib_1.__importDefault(require("decimal.js"));
|
|
10
8
|
var get_internal_slots_1 = tslib_1.__importDefault(require("./get_internal_slots"));
|
|
11
9
|
var RESOLVED_OPTIONS_KEYS = [
|
|
12
10
|
'locale',
|
|
@@ -57,17 +55,17 @@ exports.NumberFormat = function (locales, options) {
|
|
|
57
55
|
return this;
|
|
58
56
|
};
|
|
59
57
|
function formatToParts(x) {
|
|
60
|
-
return (0, ecma402_abstract_1.FormatNumericToParts)(this,
|
|
58
|
+
return (0, ecma402_abstract_1.FormatNumericToParts)(this, (0, ecma402_abstract_1.ToIntlMathematicalValue)(x), {
|
|
61
59
|
getInternalSlots: get_internal_slots_1.default,
|
|
62
60
|
});
|
|
63
61
|
}
|
|
64
62
|
function formatRange(start, end) {
|
|
65
|
-
return (0, ecma402_abstract_1.FormatNumericRange)(this,
|
|
63
|
+
return (0, ecma402_abstract_1.FormatNumericRange)(this, (0, ecma402_abstract_1.ToIntlMathematicalValue)(start), (0, ecma402_abstract_1.ToIntlMathematicalValue)(end), {
|
|
66
64
|
getInternalSlots: get_internal_slots_1.default,
|
|
67
65
|
});
|
|
68
66
|
}
|
|
69
67
|
function formatRangeToParts(start, end) {
|
|
70
|
-
return (0, ecma402_abstract_1.FormatNumericRangeToParts)(this,
|
|
68
|
+
return (0, ecma402_abstract_1.FormatNumericRangeToParts)(this, (0, ecma402_abstract_1.ToIntlMathematicalValue)(start), (0, ecma402_abstract_1.ToIntlMathematicalValue)(end), {
|
|
71
69
|
getInternalSlots: get_internal_slots_1.default,
|
|
72
70
|
});
|
|
73
71
|
}
|
|
@@ -126,18 +124,11 @@ var formatDescriptor = {
|
|
|
126
124
|
throw TypeError('Intl.NumberFormat format property accessor called on incompatible receiver');
|
|
127
125
|
}
|
|
128
126
|
var internalSlots = (0, get_internal_slots_1.default)(this);
|
|
129
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
130
|
-
var numberFormat = this;
|
|
131
127
|
var boundFormat = internalSlots.boundFormat;
|
|
132
128
|
if (boundFormat === undefined) {
|
|
133
129
|
// https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions
|
|
134
130
|
boundFormat = function (value) {
|
|
135
|
-
|
|
136
|
-
var x = toNumeric(value);
|
|
137
|
-
return numberFormat
|
|
138
|
-
.formatToParts(x)
|
|
139
|
-
.map(function (x) { return x.value; })
|
|
140
|
-
.join('');
|
|
131
|
+
return (0, ecma402_abstract_1.FormatNumeric)(internalSlots, (0, ecma402_abstract_1.ToIntlMathematicalValue)(value));
|
|
141
132
|
};
|
|
142
133
|
try {
|
|
143
134
|
// https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js
|
|
@@ -215,12 +206,6 @@ exports.NumberFormat.getDefaultLocale = function () {
|
|
|
215
206
|
return exports.NumberFormat.__defaultLocale;
|
|
216
207
|
};
|
|
217
208
|
exports.NumberFormat.polyfilled = true;
|
|
218
|
-
function toNumeric(val) {
|
|
219
|
-
if (typeof val === 'bigint') {
|
|
220
|
-
return new decimal_js_1.default(val.toString());
|
|
221
|
-
}
|
|
222
|
-
return (0, ecma402_abstract_1.ToNumber)(val);
|
|
223
|
-
}
|
|
224
209
|
try {
|
|
225
210
|
// IE11 does not have Symbol
|
|
226
211
|
if (typeof Symbol !== 'undefined') {
|
package/src/types.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import { NumberFormatLocaleInternalData, NumberFormatOptions, NumberFormatPart,
|
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
3
|
export interface NumberFormat {
|
|
4
4
|
resolvedOptions(): ResolvedNumberFormatOptions;
|
|
5
|
-
formatToParts(x: number | bigint | Decimal): NumberFormatPart[];
|
|
6
|
-
format(x: number | bigint | Decimal): string;
|
|
7
|
-
formatRange(start: number | bigint | Decimal, end: number | bigint | Decimal): string;
|
|
8
|
-
formatRangeToParts(start: number | bigint | Decimal, end: number | bigint | Decimal): NumberRangeToParts[];
|
|
5
|
+
formatToParts(x: number | bigint | Decimal | string): NumberFormatPart[];
|
|
6
|
+
format(x: number | bigint | Decimal | string): string;
|
|
7
|
+
formatRange(start: number | bigint | Decimal | string, end: number | bigint | Decimal | string): string;
|
|
8
|
+
formatRangeToParts(start: number | bigint | Decimal | string, end: number | bigint | Decimal | string): NumberRangeToParts[];
|
|
9
9
|
}
|
|
10
10
|
export interface NumberFormatConstructor {
|
|
11
11
|
new (locales?: string | string[], options?: NumberFormatOptions): NumberFormat;
|