@formatjs/ecma402-abstract 1.9.1 → 1.9.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/index.d.ts +1 -23
- package/index.d.ts.map +1 -1
- package/index.js +13 -38
- package/lib/index.d.ts +1 -23
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -23
- package/lib/types/date-time.d.ts +1 -0
- package/lib/types/date-time.d.ts.map +1 -1
- package/package.json +1 -1
- package/types/date-time.d.ts +1 -0
- package/types/date-time.d.ts.map +1 -1
- package/DateTimeFormat/BasicFormatMatcher.d.ts +0 -8
- package/DateTimeFormat/BasicFormatMatcher.d.ts.map +0 -1
- package/DateTimeFormat/BasicFormatMatcher.js +0 -61
- package/DateTimeFormat/BestFitFormatMatcher.d.ts +0 -17
- package/DateTimeFormat/BestFitFormatMatcher.d.ts.map +0 -1
- package/DateTimeFormat/BestFitFormatMatcher.js +0 -121
- package/DateTimeFormat/DateTimeStyleFormat.d.ts +0 -3
- package/DateTimeFormat/DateTimeStyleFormat.d.ts.map +0 -1
- package/DateTimeFormat/DateTimeStyleFormat.js +0 -54
- package/DateTimeFormat/FormatDateTime.d.ts +0 -8
- package/DateTimeFormat/FormatDateTime.d.ts.map +0 -1
- package/DateTimeFormat/FormatDateTime.js +0 -19
- package/DateTimeFormat/FormatDateTimePattern.d.ts +0 -14
- package/DateTimeFormat/FormatDateTimePattern.d.ts.map +0 -1
- package/DateTimeFormat/FormatDateTimePattern.js +0 -182
- package/DateTimeFormat/FormatDateTimeRange.d.ts +0 -4
- package/DateTimeFormat/FormatDateTimeRange.d.ts.map +0 -1
- package/DateTimeFormat/FormatDateTimeRange.js +0 -14
- package/DateTimeFormat/FormatDateTimeRangeToParts.d.ts +0 -4
- package/DateTimeFormat/FormatDateTimeRangeToParts.d.ts.map +0 -1
- package/DateTimeFormat/FormatDateTimeRangeToParts.js +0 -18
- package/DateTimeFormat/FormatDateTimeToParts.d.ts +0 -11
- package/DateTimeFormat/FormatDateTimeToParts.d.ts.map +0 -1
- package/DateTimeFormat/FormatDateTimeToParts.js +0 -25
- package/DateTimeFormat/InitializeDateTimeFormat.d.ts +0 -18
- package/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +0 -1
- package/DateTimeFormat/InitializeDateTimeFormat.js +0 -188
- package/DateTimeFormat/PartitionDateTimePattern.d.ts +0 -10
- package/DateTimeFormat/PartitionDateTimePattern.d.ts.map +0 -1
- package/DateTimeFormat/PartitionDateTimePattern.js +0 -24
- package/DateTimeFormat/PartitionDateTimeRangePattern.d.ts +0 -5
- package/DateTimeFormat/PartitionDateTimeRangePattern.d.ts.map +0 -1
- package/DateTimeFormat/PartitionDateTimeRangePattern.js +0 -125
- package/DateTimeFormat/ToDateTimeOptions.d.ts +0 -9
- package/DateTimeFormat/ToDateTimeOptions.d.ts.map +0 -1
- package/DateTimeFormat/ToDateTimeOptions.js +0 -67
- package/DateTimeFormat/ToLocalTime.d.ts +0 -26
- package/DateTimeFormat/ToLocalTime.d.ts.map +0 -1
- package/DateTimeFormat/ToLocalTime.js +0 -55
- package/DateTimeFormat/skeleton.d.ts +0 -14
- package/DateTimeFormat/skeleton.d.ts.map +0 -1
- package/DateTimeFormat/skeleton.js +0 -301
- package/DateTimeFormat/utils.d.ts +0 -10
- package/DateTimeFormat/utils.d.ts.map +0 -1
- package/DateTimeFormat/utils.js +0 -21
- package/DisplayNames/CanonicalCodeForDisplayNames.d.ts +0 -2
- package/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +0 -1
- package/DisplayNames/CanonicalCodeForDisplayNames.js +0 -37
- package/PluralRules/GetOperands.d.ts +0 -32
- package/PluralRules/GetOperands.d.ts.map +0 -1
- package/PluralRules/GetOperands.js +0 -51
- package/PluralRules/InitializePluralRules.d.ts +0 -9
- package/PluralRules/InitializePluralRules.d.ts.map +0 -1
- package/PluralRules/InitializePluralRules.js +0 -24
- package/PluralRules/ResolvePlural.d.ts +0 -13
- package/PluralRules/ResolvePlural.d.ts.map +0 -1
- package/PluralRules/ResolvePlural.js +0 -29
- package/RelativeTimeFormat/FormatRelativeTime.d.ts +0 -5
- package/RelativeTimeFormat/FormatRelativeTime.d.ts.map +0 -1
- package/RelativeTimeFormat/FormatRelativeTime.js +0 -14
- package/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts +0 -5
- package/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts.map +0 -1
- package/RelativeTimeFormat/FormatRelativeTimeToParts.js +0 -22
- package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +0 -9
- package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +0 -1
- package/RelativeTimeFormat/InitializeRelativeTimeFormat.js +0 -41
- package/RelativeTimeFormat/MakePartsList.d.ts +0 -2
- package/RelativeTimeFormat/MakePartsList.d.ts.map +0 -1
- package/RelativeTimeFormat/MakePartsList.js +0 -31
- package/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts +0 -5
- package/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts.map +0 -1
- package/RelativeTimeFormat/PartitionRelativeTimePattern.js +0 -58
- package/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts +0 -7
- package/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts.map +0 -1
- package/RelativeTimeFormat/SingularRelativeTimeUnit.js +0 -40
- package/lib/DateTimeFormat/BasicFormatMatcher.d.ts +0 -8
- package/lib/DateTimeFormat/BasicFormatMatcher.d.ts.map +0 -1
- package/lib/DateTimeFormat/BasicFormatMatcher.js +0 -57
- package/lib/DateTimeFormat/BestFitFormatMatcher.d.ts +0 -17
- package/lib/DateTimeFormat/BestFitFormatMatcher.d.ts.map +0 -1
- package/lib/DateTimeFormat/BestFitFormatMatcher.js +0 -116
- package/lib/DateTimeFormat/DateTimeStyleFormat.d.ts +0 -3
- package/lib/DateTimeFormat/DateTimeStyleFormat.d.ts.map +0 -1
- package/lib/DateTimeFormat/DateTimeStyleFormat.js +0 -50
- package/lib/DateTimeFormat/FormatDateTime.d.ts +0 -8
- package/lib/DateTimeFormat/FormatDateTime.d.ts.map +0 -1
- package/lib/DateTimeFormat/FormatDateTime.js +0 -15
- package/lib/DateTimeFormat/FormatDateTimePattern.d.ts +0 -14
- package/lib/DateTimeFormat/FormatDateTimePattern.d.ts.map +0 -1
- package/lib/DateTimeFormat/FormatDateTimePattern.js +0 -178
- package/lib/DateTimeFormat/FormatDateTimeRange.d.ts +0 -4
- package/lib/DateTimeFormat/FormatDateTimeRange.d.ts.map +0 -1
- package/lib/DateTimeFormat/FormatDateTimeRange.js +0 -10
- package/lib/DateTimeFormat/FormatDateTimeRangeToParts.d.ts +0 -4
- package/lib/DateTimeFormat/FormatDateTimeRangeToParts.d.ts.map +0 -1
- package/lib/DateTimeFormat/FormatDateTimeRangeToParts.js +0 -14
- package/lib/DateTimeFormat/FormatDateTimeToParts.d.ts +0 -11
- package/lib/DateTimeFormat/FormatDateTimeToParts.d.ts.map +0 -1
- package/lib/DateTimeFormat/FormatDateTimeToParts.js +0 -21
- package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts +0 -18
- package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +0 -1
- package/lib/DateTimeFormat/InitializeDateTimeFormat.js +0 -184
- package/lib/DateTimeFormat/PartitionDateTimePattern.d.ts +0 -10
- package/lib/DateTimeFormat/PartitionDateTimePattern.d.ts.map +0 -1
- package/lib/DateTimeFormat/PartitionDateTimePattern.js +0 -20
- package/lib/DateTimeFormat/PartitionDateTimeRangePattern.d.ts +0 -5
- package/lib/DateTimeFormat/PartitionDateTimeRangePattern.d.ts.map +0 -1
- package/lib/DateTimeFormat/PartitionDateTimeRangePattern.js +0 -121
- package/lib/DateTimeFormat/ToDateTimeOptions.d.ts +0 -9
- package/lib/DateTimeFormat/ToDateTimeOptions.d.ts.map +0 -1
- package/lib/DateTimeFormat/ToDateTimeOptions.js +0 -63
- package/lib/DateTimeFormat/ToLocalTime.d.ts +0 -26
- package/lib/DateTimeFormat/ToLocalTime.d.ts.map +0 -1
- package/lib/DateTimeFormat/ToLocalTime.js +0 -51
- package/lib/DateTimeFormat/skeleton.d.ts +0 -14
- package/lib/DateTimeFormat/skeleton.d.ts.map +0 -1
- package/lib/DateTimeFormat/skeleton.js +0 -294
- package/lib/DateTimeFormat/utils.d.ts +0 -10
- package/lib/DateTimeFormat/utils.d.ts.map +0 -1
- package/lib/DateTimeFormat/utils.js +0 -18
- package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts +0 -2
- package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +0 -1
- package/lib/DisplayNames/CanonicalCodeForDisplayNames.js +0 -33
- package/lib/PluralRules/GetOperands.d.ts +0 -32
- package/lib/PluralRules/GetOperands.d.ts.map +0 -1
- package/lib/PluralRules/GetOperands.js +0 -47
- package/lib/PluralRules/InitializePluralRules.d.ts +0 -9
- package/lib/PluralRules/InitializePluralRules.d.ts.map +0 -1
- package/lib/PluralRules/InitializePluralRules.js +0 -20
- package/lib/PluralRules/ResolvePlural.d.ts +0 -13
- package/lib/PluralRules/ResolvePlural.d.ts.map +0 -1
- package/lib/PluralRules/ResolvePlural.js +0 -25
- package/lib/RelativeTimeFormat/FormatRelativeTime.d.ts +0 -5
- package/lib/RelativeTimeFormat/FormatRelativeTime.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/FormatRelativeTime.js +0 -10
- package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts +0 -5
- package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.js +0 -18
- package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +0 -9
- package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.js +0 -37
- package/lib/RelativeTimeFormat/MakePartsList.d.ts +0 -2
- package/lib/RelativeTimeFormat/MakePartsList.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/MakePartsList.js +0 -27
- package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts +0 -5
- package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.js +0 -54
- package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts +0 -7
- package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts.map +0 -1
- package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.js +0 -36
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CanonicalCodeForDisplayNames = void 0;
|
|
4
|
-
var CanonicalizeLocaleList_1 = require("../CanonicalizeLocaleList");
|
|
5
|
-
var utils_1 = require("../utils");
|
|
6
|
-
var IsWellFormedCurrencyCode_1 = require("../IsWellFormedCurrencyCode");
|
|
7
|
-
var UNICODE_REGION_SUBTAG_REGEX = /^([a-z]{2}|[0-9]{3})$/i;
|
|
8
|
-
var ALPHA_4 = /^[a-z]{4}$/i;
|
|
9
|
-
function isUnicodeRegionSubtag(region) {
|
|
10
|
-
return UNICODE_REGION_SUBTAG_REGEX.test(region);
|
|
11
|
-
}
|
|
12
|
-
function isUnicodeScriptSubtag(script) {
|
|
13
|
-
return ALPHA_4.test(script);
|
|
14
|
-
}
|
|
15
|
-
function CanonicalCodeForDisplayNames(type, code) {
|
|
16
|
-
if (type === 'language') {
|
|
17
|
-
return CanonicalizeLocaleList_1.CanonicalizeLocaleList([code])[0];
|
|
18
|
-
}
|
|
19
|
-
if (type === 'region') {
|
|
20
|
-
if (!isUnicodeRegionSubtag(code)) {
|
|
21
|
-
throw RangeError('invalid region');
|
|
22
|
-
}
|
|
23
|
-
return code.toUpperCase();
|
|
24
|
-
}
|
|
25
|
-
if (type === 'script') {
|
|
26
|
-
if (!isUnicodeScriptSubtag(code)) {
|
|
27
|
-
throw RangeError('invalid script');
|
|
28
|
-
}
|
|
29
|
-
return "" + code[0].toUpperCase() + code.slice(1).toLowerCase();
|
|
30
|
-
}
|
|
31
|
-
utils_1.invariant(type === 'currency', 'invalid type');
|
|
32
|
-
if (!IsWellFormedCurrencyCode_1.IsWellFormedCurrencyCode(code)) {
|
|
33
|
-
throw RangeError('invalid currency');
|
|
34
|
-
}
|
|
35
|
-
return code.toUpperCase();
|
|
36
|
-
}
|
|
37
|
-
exports.CanonicalCodeForDisplayNames = CanonicalCodeForDisplayNames;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export interface OperandsRecord {
|
|
2
|
-
/**
|
|
3
|
-
* Absolute value of the source number (integer and decimals)
|
|
4
|
-
*/
|
|
5
|
-
Number: number;
|
|
6
|
-
/**
|
|
7
|
-
* Number of digits of `number`
|
|
8
|
-
*/
|
|
9
|
-
IntegerDigits: number;
|
|
10
|
-
/**
|
|
11
|
-
* Number of visible fraction digits in [[Number]], with trailing zeroes.
|
|
12
|
-
*/
|
|
13
|
-
NumberOfFractionDigits: number;
|
|
14
|
-
/**
|
|
15
|
-
* Number of visible fraction digits in [[Number]], without trailing zeroes.
|
|
16
|
-
*/
|
|
17
|
-
NumberOfFractionDigitsWithoutTrailing: number;
|
|
18
|
-
/**
|
|
19
|
-
* Number of visible fractional digits in [[Number]], with trailing zeroes.
|
|
20
|
-
*/
|
|
21
|
-
FractionDigits: number;
|
|
22
|
-
/**
|
|
23
|
-
* Number of visible fractional digits in [[Number]], without trailing zeroes.
|
|
24
|
-
*/
|
|
25
|
-
FractionDigitsWithoutTrailing: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* http://ecma-international.org/ecma-402/7.0/index.html#sec-getoperands
|
|
29
|
-
* @param s
|
|
30
|
-
*/
|
|
31
|
-
export declare function GetOperands(s: string): OperandsRecord;
|
|
32
|
-
//# sourceMappingURL=GetOperands.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GetOperands.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/PluralRules/GetOperands.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B;;OAEG;IACH,qCAAqC,EAAE,MAAM,CAAA;IAC7C;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAA;CACtC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAyCrD"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetOperands = void 0;
|
|
4
|
-
var utils_1 = require("../utils");
|
|
5
|
-
var _262_1 = require("../262");
|
|
6
|
-
/**
|
|
7
|
-
* http://ecma-international.org/ecma-402/7.0/index.html#sec-getoperands
|
|
8
|
-
* @param s
|
|
9
|
-
*/
|
|
10
|
-
function GetOperands(s) {
|
|
11
|
-
utils_1.invariant(typeof s === 'string', "GetOperands should have been called with a string");
|
|
12
|
-
var n = _262_1.ToNumber(s);
|
|
13
|
-
utils_1.invariant(isFinite(n), 'n should be finite');
|
|
14
|
-
var dp = s.indexOf('.');
|
|
15
|
-
var iv;
|
|
16
|
-
var f;
|
|
17
|
-
var v;
|
|
18
|
-
var fv = '';
|
|
19
|
-
if (dp === -1) {
|
|
20
|
-
iv = n;
|
|
21
|
-
f = 0;
|
|
22
|
-
v = 0;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
iv = s.slice(0, dp);
|
|
26
|
-
fv = s.slice(dp, s.length);
|
|
27
|
-
f = _262_1.ToNumber(fv);
|
|
28
|
-
v = fv.length;
|
|
29
|
-
}
|
|
30
|
-
var i = Math.abs(_262_1.ToNumber(iv));
|
|
31
|
-
var w;
|
|
32
|
-
var t;
|
|
33
|
-
if (f !== 0) {
|
|
34
|
-
var ft = fv.replace(/0+$/, '');
|
|
35
|
-
w = ft.length;
|
|
36
|
-
t = _262_1.ToNumber(ft);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
w = 0;
|
|
40
|
-
t = 0;
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
Number: n,
|
|
44
|
-
IntegerDigits: i,
|
|
45
|
-
NumberOfFractionDigits: v,
|
|
46
|
-
NumberOfFractionDigitsWithoutTrailing: w,
|
|
47
|
-
FractionDigits: f,
|
|
48
|
-
FractionDigitsWithoutTrailing: t,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
exports.GetOperands = GetOperands;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PluralRulesInternal, PluralRulesData } from '../types/plural-rules';
|
|
2
|
-
export declare function InitializePluralRules(pl: Intl.PluralRules, locales: string | string[] | undefined, options: Intl.PluralRulesOptions | undefined, { availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, getInternalSlots, }: {
|
|
3
|
-
availableLocales: Set<string>;
|
|
4
|
-
relevantExtensionKeys: string[];
|
|
5
|
-
localeData: Record<string, PluralRulesData | undefined>;
|
|
6
|
-
getDefaultLocale(): string;
|
|
7
|
-
getInternalSlots(pl: Intl.PluralRules): PluralRulesInternal;
|
|
8
|
-
}): Intl.PluralRules;
|
|
9
|
-
//# sourceMappingURL=InitializePluralRules.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAO1E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAC5C,EACE,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAA;IACvD,gBAAgB,IAAI,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAA;CAC5D,oBAkCF"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InitializePluralRules = void 0;
|
|
4
|
-
var CanonicalizeLocaleList_1 = require("../CanonicalizeLocaleList");
|
|
5
|
-
var GetOption_1 = require("../GetOption");
|
|
6
|
-
var SetNumberFormatDigitOptions_1 = require("../NumberFormat/SetNumberFormatDigitOptions");
|
|
7
|
-
var ResolveLocale_1 = require("../ResolveLocale");
|
|
8
|
-
var CoerceOptionsToObject_1 = require("../CoerceOptionsToObject");
|
|
9
|
-
function InitializePluralRules(pl, locales, options, _a) {
|
|
10
|
-
var availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale, getInternalSlots = _a.getInternalSlots;
|
|
11
|
-
var requestedLocales = CanonicalizeLocaleList_1.CanonicalizeLocaleList(locales);
|
|
12
|
-
var opt = Object.create(null);
|
|
13
|
-
var opts = CoerceOptionsToObject_1.CoerceOptionsToObject(options);
|
|
14
|
-
var internalSlots = getInternalSlots(pl);
|
|
15
|
-
internalSlots.initializedPluralRules = true;
|
|
16
|
-
var matcher = GetOption_1.GetOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
|
|
17
|
-
opt.localeMatcher = matcher;
|
|
18
|
-
internalSlots.type = GetOption_1.GetOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal');
|
|
19
|
-
SetNumberFormatDigitOptions_1.SetNumberFormatDigitOptions(internalSlots, opts, 0, 3, 'standard');
|
|
20
|
-
var r = ResolveLocale_1.ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
|
|
21
|
-
internalSlots.locale = r.locale;
|
|
22
|
-
return pl;
|
|
23
|
-
}
|
|
24
|
-
exports.InitializePluralRules = InitializePluralRules;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { LDMLPluralRule, PluralRulesInternal } from '../types/plural-rules';
|
|
2
|
-
import { OperandsRecord } from './GetOperands';
|
|
3
|
-
/**
|
|
4
|
-
* http://ecma-international.org/ecma-402/7.0/index.html#sec-resolveplural
|
|
5
|
-
* @param pl
|
|
6
|
-
* @param n
|
|
7
|
-
* @param PluralRuleSelect Has to pass in bc it's implementation-specific
|
|
8
|
-
*/
|
|
9
|
-
export declare function ResolvePlural(pl: Intl.PluralRules, n: number, { getInternalSlots, PluralRuleSelect, }: {
|
|
10
|
-
getInternalSlots(pl: Intl.PluralRules): PluralRulesInternal;
|
|
11
|
-
PluralRuleSelect: (locale: string, type: 'cardinal' | 'ordinal', n: number, operands: OperandsRecord) => LDMLPluralRule;
|
|
12
|
-
}): LDMLPluralRule;
|
|
13
|
-
//# sourceMappingURL=ResolvePlural.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvePlural.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/PluralRules/ResolvePlural.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzE,OAAO,EAAc,cAAc,EAAC,MAAM,eAAe,CAAA;AAEzD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,CAAC,EAAE,MAAM,EACT,EACE,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAA;IAC3D,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,cAAc,KACrB,cAAc,CAAA;CACpB,GACA,cAAc,CAgBhB"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResolvePlural = void 0;
|
|
4
|
-
var utils_1 = require("../utils");
|
|
5
|
-
var _262_1 = require("../262");
|
|
6
|
-
var FormatNumericToString_1 = require("../NumberFormat/FormatNumericToString");
|
|
7
|
-
var GetOperands_1 = require("./GetOperands");
|
|
8
|
-
/**
|
|
9
|
-
* http://ecma-international.org/ecma-402/7.0/index.html#sec-resolveplural
|
|
10
|
-
* @param pl
|
|
11
|
-
* @param n
|
|
12
|
-
* @param PluralRuleSelect Has to pass in bc it's implementation-specific
|
|
13
|
-
*/
|
|
14
|
-
function ResolvePlural(pl, n, _a) {
|
|
15
|
-
var getInternalSlots = _a.getInternalSlots, PluralRuleSelect = _a.PluralRuleSelect;
|
|
16
|
-
var internalSlots = getInternalSlots(pl);
|
|
17
|
-
utils_1.invariant(_262_1.Type(internalSlots) === 'Object', 'pl has to be an object');
|
|
18
|
-
utils_1.invariant('initializedPluralRules' in internalSlots, 'pluralrules must be initialized');
|
|
19
|
-
utils_1.invariant(_262_1.Type(n) === 'Number', 'n must be a number');
|
|
20
|
-
if (!isFinite(n)) {
|
|
21
|
-
return 'other';
|
|
22
|
-
}
|
|
23
|
-
var locale = internalSlots.locale, type = internalSlots.type;
|
|
24
|
-
var res = FormatNumericToString_1.FormatNumericToString(internalSlots, n);
|
|
25
|
-
var s = res.formattedString;
|
|
26
|
-
var operands = GetOperands_1.GetOperands(s);
|
|
27
|
-
return PluralRuleSelect(locale, type, n, operands);
|
|
28
|
-
}
|
|
29
|
-
exports.ResolvePlural = ResolvePlural;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { RelativeTimeFormatInternal } from '../types/relative-time';
|
|
2
|
-
export declare function FormatRelativeTime(rtf: Intl.RelativeTimeFormat, value: number, unit: Intl.RelativeTimeFormatUnit, implDetails: {
|
|
3
|
-
getInternalSlots(rtf: Intl.RelativeTimeFormat): RelativeTimeFormatInternal;
|
|
4
|
-
}): string;
|
|
5
|
-
//# sourceMappingURL=FormatRelativeTime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormatRelativeTime.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/FormatRelativeTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAA;AAGjE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,sBAAsB,EACjC,WAAW,EAAE;IACX,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAAA;CAC3E,GACA,MAAM,CAOR"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormatRelativeTime = void 0;
|
|
4
|
-
var PartitionRelativeTimePattern_1 = require("./PartitionRelativeTimePattern");
|
|
5
|
-
function FormatRelativeTime(rtf, value, unit, implDetails) {
|
|
6
|
-
var parts = PartitionRelativeTimePattern_1.PartitionRelativeTimePattern(rtf, value, unit, implDetails);
|
|
7
|
-
var result = '';
|
|
8
|
-
for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
|
|
9
|
-
var part = parts_1[_i];
|
|
10
|
-
result += part.value;
|
|
11
|
-
}
|
|
12
|
-
return result;
|
|
13
|
-
}
|
|
14
|
-
exports.FormatRelativeTime = FormatRelativeTime;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { RelativeTimeFormatInternal } from '../types/relative-time';
|
|
2
|
-
export declare function FormatRelativeTimeToParts(rtf: Intl.RelativeTimeFormat, value: number, unit: Intl.RelativeTimeFormatUnit, implDetails: {
|
|
3
|
-
getInternalSlots(rtf: Intl.RelativeTimeFormat): RelativeTimeFormatInternal;
|
|
4
|
-
}): Intl.RelativeTimeFormatPart[];
|
|
5
|
-
//# sourceMappingURL=FormatRelativeTimeToParts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormatRelativeTimeToParts.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/FormatRelativeTimeToParts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAA;AAIjE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,sBAAsB,EACjC,WAAW,EAAE;IACX,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAAA;CAC3E,GACA,IAAI,CAAC,sBAAsB,EAAE,CAe/B"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormatRelativeTimeToParts = void 0;
|
|
4
|
-
var PartitionRelativeTimePattern_1 = require("./PartitionRelativeTimePattern");
|
|
5
|
-
var _262_1 = require("../262");
|
|
6
|
-
function FormatRelativeTimeToParts(rtf, value, unit, implDetails) {
|
|
7
|
-
var parts = PartitionRelativeTimePattern_1.PartitionRelativeTimePattern(rtf, value, unit, implDetails);
|
|
8
|
-
var result = _262_1.ArrayCreate(0);
|
|
9
|
-
for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
|
|
10
|
-
var part = parts_1[_i];
|
|
11
|
-
var o = {
|
|
12
|
-
type: part.type,
|
|
13
|
-
value: part.value,
|
|
14
|
-
};
|
|
15
|
-
if ('unit' in part) {
|
|
16
|
-
o.unit = part.unit;
|
|
17
|
-
}
|
|
18
|
-
result.push(o);
|
|
19
|
-
}
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
exports.FormatRelativeTimeToParts = FormatRelativeTimeToParts;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { RelativeTimeFormatInternal, LocaleFieldsData } from '../types/relative-time';
|
|
2
|
-
export declare function InitializeRelativeTimeFormat(rtf: Intl.RelativeTimeFormat, locales: string | string[] | undefined, options: Intl.RelativeTimeFormatOptions | undefined, { getInternalSlots, availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, }: {
|
|
3
|
-
getInternalSlots(rtf: Intl.RelativeTimeFormat): RelativeTimeFormatInternal;
|
|
4
|
-
availableLocales: Set<string>;
|
|
5
|
-
relevantExtensionKeys: string[];
|
|
6
|
-
localeData: Record<string, LocaleFieldsData | undefined>;
|
|
7
|
-
getDefaultLocale(): string;
|
|
8
|
-
}): Intl.RelativeTimeFormat;
|
|
9
|
-
//# sourceMappingURL=InitializeRelativeTimeFormat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAS/B,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,yBAAyB,GAAG,SAAS,EACnD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAAA;IAC1E,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAA;IACxD,gBAAgB,IAAI,MAAM,CAAA;CAC3B,2BA4DF"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InitializeRelativeTimeFormat = void 0;
|
|
4
|
-
var CanonicalizeLocaleList_1 = require("../CanonicalizeLocaleList");
|
|
5
|
-
var GetOption_1 = require("../GetOption");
|
|
6
|
-
var ResolveLocale_1 = require("../ResolveLocale");
|
|
7
|
-
var utils_1 = require("../utils");
|
|
8
|
-
var CoerceOptionsToObject_1 = require("../CoerceOptionsToObject");
|
|
9
|
-
var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;
|
|
10
|
-
function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
|
|
11
|
-
var getInternalSlots = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale;
|
|
12
|
-
var internalSlots = getInternalSlots(rtf);
|
|
13
|
-
internalSlots.initializedRelativeTimeFormat = true;
|
|
14
|
-
var requestedLocales = CanonicalizeLocaleList_1.CanonicalizeLocaleList(locales);
|
|
15
|
-
var opt = Object.create(null);
|
|
16
|
-
var opts = CoerceOptionsToObject_1.CoerceOptionsToObject(options);
|
|
17
|
-
var matcher = GetOption_1.GetOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
|
|
18
|
-
opt.localeMatcher = matcher;
|
|
19
|
-
var numberingSystem = GetOption_1.GetOption(opts,
|
|
20
|
-
// @ts-expect-error TS option is wack
|
|
21
|
-
'numberingSystem', 'string', undefined, undefined);
|
|
22
|
-
if (numberingSystem !== undefined) {
|
|
23
|
-
if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) {
|
|
24
|
-
throw new RangeError("Invalid numbering system " + numberingSystem);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
opt.nu = numberingSystem;
|
|
28
|
-
var r = ResolveLocale_1.ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
|
|
29
|
-
var locale = r.locale, nu = r.nu;
|
|
30
|
-
internalSlots.locale = locale;
|
|
31
|
-
internalSlots.style = GetOption_1.GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
|
|
32
|
-
internalSlots.numeric = GetOption_1.GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
|
|
33
|
-
var fields = localeData[r.dataLocale];
|
|
34
|
-
utils_1.invariant(!!fields, "Missing locale data for " + r.dataLocale);
|
|
35
|
-
internalSlots.fields = fields;
|
|
36
|
-
internalSlots.numberFormat = new Intl.NumberFormat(locales);
|
|
37
|
-
internalSlots.pluralRules = new Intl.PluralRules(locales);
|
|
38
|
-
internalSlots.numberingSystem = nu;
|
|
39
|
-
return rtf;
|
|
40
|
-
}
|
|
41
|
-
exports.InitializeRelativeTimeFormat = InitializeRelativeTimeFormat;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MakePartsList.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/MakePartsList.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,sBAAsB,EACjC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,iCAsB/D"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MakePartsList = void 0;
|
|
4
|
-
var PartitionPattern_1 = require("../PartitionPattern");
|
|
5
|
-
var utils_1 = require("../utils");
|
|
6
|
-
function MakePartsList(pattern, unit, parts) {
|
|
7
|
-
var patternParts = PartitionPattern_1.PartitionPattern(pattern);
|
|
8
|
-
var result = [];
|
|
9
|
-
for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {
|
|
10
|
-
var patternPart = patternParts_1[_i];
|
|
11
|
-
if (patternPart.type === 'literal') {
|
|
12
|
-
result.push({
|
|
13
|
-
type: 'literal',
|
|
14
|
-
value: patternPart.value,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
utils_1.invariant(patternPart.type === '0', "Malformed pattern " + pattern);
|
|
19
|
-
for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) {
|
|
20
|
-
var part = parts_1[_a];
|
|
21
|
-
result.push({
|
|
22
|
-
type: part.type,
|
|
23
|
-
value: part.value,
|
|
24
|
-
unit: unit,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return result;
|
|
30
|
-
}
|
|
31
|
-
exports.MakePartsList = MakePartsList;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { RelativeTimeFormatInternal } from '../types/relative-time';
|
|
2
|
-
export declare function PartitionRelativeTimePattern(rtf: Intl.RelativeTimeFormat, value: number, unit: Intl.RelativeTimeFormatUnit, { getInternalSlots, }: {
|
|
3
|
-
getInternalSlots(rtf: Intl.RelativeTimeFormat): RelativeTimeFormatInternal;
|
|
4
|
-
}): Intl.RelativeTimeFormatPart[];
|
|
5
|
-
//# sourceMappingURL=PartitionRelativeTimePattern.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PartitionRelativeTimePattern.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/PartitionRelativeTimePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,0BAA0B,EAC3B,MAAM,wBAAwB,CAAA;AAO/B,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,sBAAsB,EACjC,EACE,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAAA;CAC3E,GACA,IAAI,CAAC,sBAAsB,EAAE,CA0D/B"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PartitionRelativeTimePattern = void 0;
|
|
4
|
-
var utils_1 = require("../utils");
|
|
5
|
-
var SingularRelativeTimeUnit_1 = require("./SingularRelativeTimeUnit");
|
|
6
|
-
var MakePartsList_1 = require("./MakePartsList");
|
|
7
|
-
var _262_1 = require("../262");
|
|
8
|
-
function PartitionRelativeTimePattern(rtf, value, unit, _a) {
|
|
9
|
-
var getInternalSlots = _a.getInternalSlots;
|
|
10
|
-
utils_1.invariant(_262_1.Type(value) === 'Number', "value must be number, instead got " + typeof value, TypeError);
|
|
11
|
-
utils_1.invariant(_262_1.Type(unit) === 'String', "unit must be number, instead got " + typeof value, TypeError);
|
|
12
|
-
if (isNaN(value) || !isFinite(value)) {
|
|
13
|
-
throw new RangeError("Invalid value " + value);
|
|
14
|
-
}
|
|
15
|
-
var resolvedUnit = SingularRelativeTimeUnit_1.SingularRelativeTimeUnit(unit);
|
|
16
|
-
var _b = getInternalSlots(rtf), fields = _b.fields, style = _b.style, numeric = _b.numeric, pluralRules = _b.pluralRules, numberFormat = _b.numberFormat;
|
|
17
|
-
var entry = resolvedUnit;
|
|
18
|
-
if (style === 'short') {
|
|
19
|
-
entry = resolvedUnit + "-short";
|
|
20
|
-
}
|
|
21
|
-
else if (style === 'narrow') {
|
|
22
|
-
entry = resolvedUnit + "-narrow";
|
|
23
|
-
}
|
|
24
|
-
if (!(entry in fields)) {
|
|
25
|
-
entry = resolvedUnit;
|
|
26
|
-
}
|
|
27
|
-
var patterns = fields[entry];
|
|
28
|
-
if (numeric === 'auto') {
|
|
29
|
-
if (_262_1.ToString(value) in patterns) {
|
|
30
|
-
return [
|
|
31
|
-
{
|
|
32
|
-
type: 'literal',
|
|
33
|
-
value: patterns[_262_1.ToString(value)],
|
|
34
|
-
},
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
var tl = 'future';
|
|
39
|
-
if (_262_1.SameValue(value, -0) || value < 0) {
|
|
40
|
-
tl = 'past';
|
|
41
|
-
}
|
|
42
|
-
var po = patterns[tl];
|
|
43
|
-
var fv = typeof numberFormat.formatToParts === 'function'
|
|
44
|
-
? numberFormat.formatToParts(Math.abs(value))
|
|
45
|
-
: // TODO: If formatToParts is not supported, we assume the whole formatted
|
|
46
|
-
// number is a part
|
|
47
|
-
[
|
|
48
|
-
{
|
|
49
|
-
type: 'literal',
|
|
50
|
-
value: numberFormat.format(Math.abs(value)),
|
|
51
|
-
unit: unit,
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
var pr = pluralRules.select(value);
|
|
55
|
-
var pattern = po[pr];
|
|
56
|
-
return MakePartsList_1.MakePartsList(pattern, resolvedUnit, fv);
|
|
57
|
-
}
|
|
58
|
-
exports.PartitionRelativeTimePattern = PartitionRelativeTimePattern;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { RelativeTimeFormatSingularUnit } from '../types/relative-time';
|
|
2
|
-
/**
|
|
3
|
-
* https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit
|
|
4
|
-
* @param unit
|
|
5
|
-
*/
|
|
6
|
-
export declare function SingularRelativeTimeUnit(unit: Intl.RelativeTimeFormatUnit): RelativeTimeFormatSingularUnit;
|
|
7
|
-
//# sourceMappingURL=SingularRelativeTimeUnit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SingularRelativeTimeUnit.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/SingularRelativeTimeUnit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,8BAA8B,EAAC,MAAM,wBAAwB,CAAA;AAErE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,sBAAsB,GAChC,8BAA8B,CAuBhC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SingularRelativeTimeUnit = void 0;
|
|
4
|
-
var utils_1 = require("../utils");
|
|
5
|
-
var _262_1 = require("../262");
|
|
6
|
-
/**
|
|
7
|
-
* https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit
|
|
8
|
-
* @param unit
|
|
9
|
-
*/
|
|
10
|
-
function SingularRelativeTimeUnit(unit) {
|
|
11
|
-
utils_1.invariant(_262_1.Type(unit) === 'String', 'unit must be a string');
|
|
12
|
-
if (unit === 'seconds')
|
|
13
|
-
return 'second';
|
|
14
|
-
if (unit === 'minutes')
|
|
15
|
-
return 'minute';
|
|
16
|
-
if (unit === 'hours')
|
|
17
|
-
return 'hour';
|
|
18
|
-
if (unit === 'days')
|
|
19
|
-
return 'day';
|
|
20
|
-
if (unit === 'weeks')
|
|
21
|
-
return 'week';
|
|
22
|
-
if (unit === 'months')
|
|
23
|
-
return 'month';
|
|
24
|
-
if (unit === 'quarters')
|
|
25
|
-
return 'quarter';
|
|
26
|
-
if (unit === 'years')
|
|
27
|
-
return 'year';
|
|
28
|
-
if (unit !== 'second' &&
|
|
29
|
-
unit !== 'minute' &&
|
|
30
|
-
unit !== 'hour' &&
|
|
31
|
-
unit !== 'day' &&
|
|
32
|
-
unit !== 'week' &&
|
|
33
|
-
unit !== 'month' &&
|
|
34
|
-
unit !== 'quarter' &&
|
|
35
|
-
unit !== 'year') {
|
|
36
|
-
throw new RangeError('invalid unit');
|
|
37
|
-
}
|
|
38
|
-
return unit;
|
|
39
|
-
}
|
|
40
|
-
exports.SingularRelativeTimeUnit = SingularRelativeTimeUnit;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DateTimeFormatOptions, Formats } from '../types/date-time';
|
|
2
|
-
/**
|
|
3
|
-
* https://tc39.es/ecma402/#sec-basicformatmatcher
|
|
4
|
-
* @param options
|
|
5
|
-
* @param formats
|
|
6
|
-
*/
|
|
7
|
-
export declare function BasicFormatMatcher(options: DateTimeFormatOptions, formats: Formats[]): Formats;
|
|
8
|
-
//# sourceMappingURL=BasicFormatMatcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BasicFormatMatcher.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/BasicFormatMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAA;AAYjE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CA2CT"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
|
-
import { invariant } from '../utils';
|
|
3
|
-
import { DATE_TIME_PROPS, additionPenalty, removalPenalty, longMorePenalty, shortMorePenalty, shortLessPenalty, longLessPenalty, } from './utils';
|
|
4
|
-
/**
|
|
5
|
-
* https://tc39.es/ecma402/#sec-basicformatmatcher
|
|
6
|
-
* @param options
|
|
7
|
-
* @param formats
|
|
8
|
-
*/
|
|
9
|
-
export function BasicFormatMatcher(options, formats) {
|
|
10
|
-
var bestScore = -Infinity;
|
|
11
|
-
var bestFormat = formats[0];
|
|
12
|
-
invariant(Array.isArray(formats), 'formats should be a list of things');
|
|
13
|
-
for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) {
|
|
14
|
-
var format = formats_1[_i];
|
|
15
|
-
var score = 0;
|
|
16
|
-
for (var _a = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _a < DATE_TIME_PROPS_1.length; _a++) {
|
|
17
|
-
var prop = DATE_TIME_PROPS_1[_a];
|
|
18
|
-
var optionsProp = options[prop];
|
|
19
|
-
var formatProp = format[prop];
|
|
20
|
-
if (optionsProp === undefined && formatProp !== undefined) {
|
|
21
|
-
score -= additionPenalty;
|
|
22
|
-
}
|
|
23
|
-
else if (optionsProp !== undefined && formatProp === undefined) {
|
|
24
|
-
score -= removalPenalty;
|
|
25
|
-
}
|
|
26
|
-
else if (optionsProp !== formatProp) {
|
|
27
|
-
var values = void 0;
|
|
28
|
-
if (prop === 'fractionalSecondDigits') {
|
|
29
|
-
values = [1, 2, 3];
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];
|
|
33
|
-
}
|
|
34
|
-
var optionsPropIndex = values.indexOf(optionsProp);
|
|
35
|
-
var formatPropIndex = values.indexOf(formatProp);
|
|
36
|
-
var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));
|
|
37
|
-
if (delta === 2) {
|
|
38
|
-
score -= longMorePenalty;
|
|
39
|
-
}
|
|
40
|
-
else if (delta === 1) {
|
|
41
|
-
score -= shortMorePenalty;
|
|
42
|
-
}
|
|
43
|
-
else if (delta === -1) {
|
|
44
|
-
score -= shortLessPenalty;
|
|
45
|
-
}
|
|
46
|
-
else if (delta === -2) {
|
|
47
|
-
score -= longLessPenalty;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (score > bestScore) {
|
|
52
|
-
bestScore = score;
|
|
53
|
-
bestFormat = format;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return __assign({}, bestFormat);
|
|
57
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DateTimeFormatOptions, Formats } from '../types/date-time';
|
|
2
|
-
/**
|
|
3
|
-
* Credit: https://github.com/andyearnshaw/Intl.js/blob/0958dc1ad8153f1056653ea22b8208f0df289a4e/src/12.datetimeformat.js#L611
|
|
4
|
-
* with some modifications
|
|
5
|
-
* @param options
|
|
6
|
-
* @param format
|
|
7
|
-
*/
|
|
8
|
-
export declare function bestFitFormatMatcherScore(options: DateTimeFormatOptions, format: Formats): number;
|
|
9
|
-
/**
|
|
10
|
-
* https://tc39.es/ecma402/#sec-bestfitformatmatcher
|
|
11
|
-
* Just alias to basic for now
|
|
12
|
-
* @param options
|
|
13
|
-
* @param formats
|
|
14
|
-
* @param implDetails Implementation details
|
|
15
|
-
*/
|
|
16
|
-
export declare function BestFitFormatMatcher(options: DateTimeFormatOptions, formats: Formats[]): Formats;
|
|
17
|
-
//# sourceMappingURL=BestFitFormatMatcher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BestFitFormatMatcher.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/BestFitFormatMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,OAAO,EAAU,MAAM,oBAAoB,CAAA;AAoB1E;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,OAAO,GACd,MAAM,CA0CR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,EAAE,WAsDnB"}
|