@formatjs/ecma402-abstract 1.9.0 → 1.9.4

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.
Files changed (181) hide show
  1. package/IsValidTimeZoneName.d.ts +1 -1
  2. package/IsValidTimeZoneName.d.ts.map +1 -1
  3. package/IsValidTimeZoneName.js +6 -1
  4. package/NumberFormat/InitializeNumberFormat.d.ts +2 -2
  5. package/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  6. package/NumberFormat/digit-mapping.generated.d.ts +2 -0
  7. package/NumberFormat/digit-mapping.generated.d.ts.map +1 -0
  8. package/NumberFormat/digit-mapping.generated.js +4 -0
  9. package/NumberFormat/format_to_parts.js +2 -3
  10. package/index.d.ts +1 -23
  11. package/index.d.ts.map +1 -1
  12. package/index.js +13 -38
  13. package/lib/IsValidTimeZoneName.d.ts +1 -1
  14. package/lib/IsValidTimeZoneName.d.ts.map +1 -1
  15. package/lib/IsValidTimeZoneName.js +6 -1
  16. package/lib/NumberFormat/InitializeNumberFormat.d.ts +2 -2
  17. package/lib/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  18. package/lib/NumberFormat/digit-mapping.generated.d.ts +2 -0
  19. package/lib/NumberFormat/digit-mapping.generated.d.ts.map +1 -0
  20. package/lib/NumberFormat/digit-mapping.generated.js +1 -0
  21. package/lib/NumberFormat/format_to_parts.js +1 -1
  22. package/lib/index.d.ts +1 -23
  23. package/lib/index.d.ts.map +1 -1
  24. package/lib/index.js +1 -23
  25. package/lib/types/date-time.d.ts +2 -1
  26. package/lib/types/date-time.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/types/date-time.d.ts +2 -1
  29. package/types/date-time.d.ts.map +1 -1
  30. package/DateTimeFormat/BasicFormatMatcher.d.ts +0 -8
  31. package/DateTimeFormat/BasicFormatMatcher.d.ts.map +0 -1
  32. package/DateTimeFormat/BasicFormatMatcher.js +0 -61
  33. package/DateTimeFormat/BestFitFormatMatcher.d.ts +0 -17
  34. package/DateTimeFormat/BestFitFormatMatcher.d.ts.map +0 -1
  35. package/DateTimeFormat/BestFitFormatMatcher.js +0 -121
  36. package/DateTimeFormat/DateTimeStyleFormat.d.ts +0 -3
  37. package/DateTimeFormat/DateTimeStyleFormat.d.ts.map +0 -1
  38. package/DateTimeFormat/DateTimeStyleFormat.js +0 -54
  39. package/DateTimeFormat/FormatDateTime.d.ts +0 -8
  40. package/DateTimeFormat/FormatDateTime.d.ts.map +0 -1
  41. package/DateTimeFormat/FormatDateTime.js +0 -19
  42. package/DateTimeFormat/FormatDateTimePattern.d.ts +0 -14
  43. package/DateTimeFormat/FormatDateTimePattern.d.ts.map +0 -1
  44. package/DateTimeFormat/FormatDateTimePattern.js +0 -182
  45. package/DateTimeFormat/FormatDateTimeRange.d.ts +0 -4
  46. package/DateTimeFormat/FormatDateTimeRange.d.ts.map +0 -1
  47. package/DateTimeFormat/FormatDateTimeRange.js +0 -14
  48. package/DateTimeFormat/FormatDateTimeRangeToParts.d.ts +0 -4
  49. package/DateTimeFormat/FormatDateTimeRangeToParts.d.ts.map +0 -1
  50. package/DateTimeFormat/FormatDateTimeRangeToParts.js +0 -18
  51. package/DateTimeFormat/FormatDateTimeToParts.d.ts +0 -11
  52. package/DateTimeFormat/FormatDateTimeToParts.d.ts.map +0 -1
  53. package/DateTimeFormat/FormatDateTimeToParts.js +0 -25
  54. package/DateTimeFormat/InitializeDateTimeFormat.d.ts +0 -18
  55. package/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +0 -1
  56. package/DateTimeFormat/InitializeDateTimeFormat.js +0 -188
  57. package/DateTimeFormat/PartitionDateTimePattern.d.ts +0 -10
  58. package/DateTimeFormat/PartitionDateTimePattern.d.ts.map +0 -1
  59. package/DateTimeFormat/PartitionDateTimePattern.js +0 -24
  60. package/DateTimeFormat/PartitionDateTimeRangePattern.d.ts +0 -5
  61. package/DateTimeFormat/PartitionDateTimeRangePattern.d.ts.map +0 -1
  62. package/DateTimeFormat/PartitionDateTimeRangePattern.js +0 -128
  63. package/DateTimeFormat/ToDateTimeOptions.d.ts +0 -9
  64. package/DateTimeFormat/ToDateTimeOptions.d.ts.map +0 -1
  65. package/DateTimeFormat/ToDateTimeOptions.js +0 -67
  66. package/DateTimeFormat/ToLocalTime.d.ts +0 -26
  67. package/DateTimeFormat/ToLocalTime.d.ts.map +0 -1
  68. package/DateTimeFormat/ToLocalTime.js +0 -55
  69. package/DateTimeFormat/skeleton.d.ts +0 -14
  70. package/DateTimeFormat/skeleton.d.ts.map +0 -1
  71. package/DateTimeFormat/skeleton.js +0 -301
  72. package/DateTimeFormat/utils.d.ts +0 -10
  73. package/DateTimeFormat/utils.d.ts.map +0 -1
  74. package/DateTimeFormat/utils.js +0 -21
  75. package/DisplayNames/CanonicalCodeForDisplayNames.d.ts +0 -2
  76. package/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +0 -1
  77. package/DisplayNames/CanonicalCodeForDisplayNames.js +0 -37
  78. package/NumberFormat/digit-mapping.json +0 -1
  79. package/PluralRules/GetOperands.d.ts +0 -32
  80. package/PluralRules/GetOperands.d.ts.map +0 -1
  81. package/PluralRules/GetOperands.js +0 -51
  82. package/PluralRules/InitializePluralRules.d.ts +0 -9
  83. package/PluralRules/InitializePluralRules.d.ts.map +0 -1
  84. package/PluralRules/InitializePluralRules.js +0 -24
  85. package/PluralRules/ResolvePlural.d.ts +0 -13
  86. package/PluralRules/ResolvePlural.d.ts.map +0 -1
  87. package/PluralRules/ResolvePlural.js +0 -29
  88. package/RelativeTimeFormat/FormatRelativeTime.d.ts +0 -5
  89. package/RelativeTimeFormat/FormatRelativeTime.d.ts.map +0 -1
  90. package/RelativeTimeFormat/FormatRelativeTime.js +0 -14
  91. package/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts +0 -5
  92. package/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts.map +0 -1
  93. package/RelativeTimeFormat/FormatRelativeTimeToParts.js +0 -22
  94. package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +0 -9
  95. package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +0 -1
  96. package/RelativeTimeFormat/InitializeRelativeTimeFormat.js +0 -41
  97. package/RelativeTimeFormat/MakePartsList.d.ts +0 -2
  98. package/RelativeTimeFormat/MakePartsList.d.ts.map +0 -1
  99. package/RelativeTimeFormat/MakePartsList.js +0 -31
  100. package/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts +0 -5
  101. package/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts.map +0 -1
  102. package/RelativeTimeFormat/PartitionRelativeTimePattern.js +0 -58
  103. package/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts +0 -7
  104. package/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts.map +0 -1
  105. package/RelativeTimeFormat/SingularRelativeTimeUnit.js +0 -40
  106. package/lib/DateTimeFormat/BasicFormatMatcher.d.ts +0 -8
  107. package/lib/DateTimeFormat/BasicFormatMatcher.d.ts.map +0 -1
  108. package/lib/DateTimeFormat/BasicFormatMatcher.js +0 -57
  109. package/lib/DateTimeFormat/BestFitFormatMatcher.d.ts +0 -17
  110. package/lib/DateTimeFormat/BestFitFormatMatcher.d.ts.map +0 -1
  111. package/lib/DateTimeFormat/BestFitFormatMatcher.js +0 -116
  112. package/lib/DateTimeFormat/DateTimeStyleFormat.d.ts +0 -3
  113. package/lib/DateTimeFormat/DateTimeStyleFormat.d.ts.map +0 -1
  114. package/lib/DateTimeFormat/DateTimeStyleFormat.js +0 -50
  115. package/lib/DateTimeFormat/FormatDateTime.d.ts +0 -8
  116. package/lib/DateTimeFormat/FormatDateTime.d.ts.map +0 -1
  117. package/lib/DateTimeFormat/FormatDateTime.js +0 -15
  118. package/lib/DateTimeFormat/FormatDateTimePattern.d.ts +0 -14
  119. package/lib/DateTimeFormat/FormatDateTimePattern.d.ts.map +0 -1
  120. package/lib/DateTimeFormat/FormatDateTimePattern.js +0 -178
  121. package/lib/DateTimeFormat/FormatDateTimeRange.d.ts +0 -4
  122. package/lib/DateTimeFormat/FormatDateTimeRange.d.ts.map +0 -1
  123. package/lib/DateTimeFormat/FormatDateTimeRange.js +0 -10
  124. package/lib/DateTimeFormat/FormatDateTimeRangeToParts.d.ts +0 -4
  125. package/lib/DateTimeFormat/FormatDateTimeRangeToParts.d.ts.map +0 -1
  126. package/lib/DateTimeFormat/FormatDateTimeRangeToParts.js +0 -14
  127. package/lib/DateTimeFormat/FormatDateTimeToParts.d.ts +0 -11
  128. package/lib/DateTimeFormat/FormatDateTimeToParts.d.ts.map +0 -1
  129. package/lib/DateTimeFormat/FormatDateTimeToParts.js +0 -21
  130. package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts +0 -18
  131. package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +0 -1
  132. package/lib/DateTimeFormat/InitializeDateTimeFormat.js +0 -184
  133. package/lib/DateTimeFormat/PartitionDateTimePattern.d.ts +0 -10
  134. package/lib/DateTimeFormat/PartitionDateTimePattern.d.ts.map +0 -1
  135. package/lib/DateTimeFormat/PartitionDateTimePattern.js +0 -20
  136. package/lib/DateTimeFormat/PartitionDateTimeRangePattern.d.ts +0 -5
  137. package/lib/DateTimeFormat/PartitionDateTimeRangePattern.d.ts.map +0 -1
  138. package/lib/DateTimeFormat/PartitionDateTimeRangePattern.js +0 -124
  139. package/lib/DateTimeFormat/ToDateTimeOptions.d.ts +0 -9
  140. package/lib/DateTimeFormat/ToDateTimeOptions.d.ts.map +0 -1
  141. package/lib/DateTimeFormat/ToDateTimeOptions.js +0 -63
  142. package/lib/DateTimeFormat/ToLocalTime.d.ts +0 -26
  143. package/lib/DateTimeFormat/ToLocalTime.d.ts.map +0 -1
  144. package/lib/DateTimeFormat/ToLocalTime.js +0 -51
  145. package/lib/DateTimeFormat/skeleton.d.ts +0 -14
  146. package/lib/DateTimeFormat/skeleton.d.ts.map +0 -1
  147. package/lib/DateTimeFormat/skeleton.js +0 -294
  148. package/lib/DateTimeFormat/utils.d.ts +0 -10
  149. package/lib/DateTimeFormat/utils.d.ts.map +0 -1
  150. package/lib/DateTimeFormat/utils.js +0 -18
  151. package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts +0 -2
  152. package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +0 -1
  153. package/lib/DisplayNames/CanonicalCodeForDisplayNames.js +0 -33
  154. package/lib/NumberFormat/digit-mapping.json +0 -1
  155. package/lib/PluralRules/GetOperands.d.ts +0 -32
  156. package/lib/PluralRules/GetOperands.d.ts.map +0 -1
  157. package/lib/PluralRules/GetOperands.js +0 -47
  158. package/lib/PluralRules/InitializePluralRules.d.ts +0 -9
  159. package/lib/PluralRules/InitializePluralRules.d.ts.map +0 -1
  160. package/lib/PluralRules/InitializePluralRules.js +0 -20
  161. package/lib/PluralRules/ResolvePlural.d.ts +0 -13
  162. package/lib/PluralRules/ResolvePlural.d.ts.map +0 -1
  163. package/lib/PluralRules/ResolvePlural.js +0 -25
  164. package/lib/RelativeTimeFormat/FormatRelativeTime.d.ts +0 -5
  165. package/lib/RelativeTimeFormat/FormatRelativeTime.d.ts.map +0 -1
  166. package/lib/RelativeTimeFormat/FormatRelativeTime.js +0 -10
  167. package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts +0 -5
  168. package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.d.ts.map +0 -1
  169. package/lib/RelativeTimeFormat/FormatRelativeTimeToParts.js +0 -18
  170. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +0 -9
  171. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +0 -1
  172. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.js +0 -37
  173. package/lib/RelativeTimeFormat/MakePartsList.d.ts +0 -2
  174. package/lib/RelativeTimeFormat/MakePartsList.d.ts.map +0 -1
  175. package/lib/RelativeTimeFormat/MakePartsList.js +0 -27
  176. package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts +0 -5
  177. package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.d.ts.map +0 -1
  178. package/lib/RelativeTimeFormat/PartitionRelativeTimePattern.js +0 -54
  179. package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts +0 -7
  180. package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.d.ts.map +0 -1
  181. package/lib/RelativeTimeFormat/SingularRelativeTimeUnit.js +0 -36
@@ -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,2 +0,0 @@
1
- export declare function MakePartsList(pattern: string, unit: Intl.RelativeTimeFormatUnit, parts: Intl.NumberFormatPart[] | Intl.RelativeTimeFormatPart[]): Intl.RelativeTimeFormatPart[];
2
- //# sourceMappingURL=MakePartsList.d.ts.map
@@ -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"}
@@ -1,116 +0,0 @@
1
- import { __assign } from "tslib";
2
- import { invariant } from '../utils';
3
- import { DATE_TIME_PROPS, removalPenalty, additionPenalty, differentNumericTypePenalty, longMorePenalty, shortMorePenalty, shortLessPenalty, longLessPenalty, } from './utils';
4
- import { processDateTimePattern } from './skeleton';
5
- function isNumericType(t) {
6
- return t === 'numeric' || t === '2-digit';
7
- }
8
- /**
9
- * Credit: https://github.com/andyearnshaw/Intl.js/blob/0958dc1ad8153f1056653ea22b8208f0df289a4e/src/12.datetimeformat.js#L611
10
- * with some modifications
11
- * @param options
12
- * @param format
13
- */
14
- export function bestFitFormatMatcherScore(options, format) {
15
- var score = 0;
16
- if (options.hour12 && !format.hour12) {
17
- score -= removalPenalty;
18
- }
19
- else if (!options.hour12 && format.hour12) {
20
- score -= additionPenalty;
21
- }
22
- for (var _i = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_1.length; _i++) {
23
- var prop = DATE_TIME_PROPS_1[_i];
24
- var optionsProp = options[prop];
25
- var formatProp = format[prop];
26
- if (optionsProp === undefined && formatProp !== undefined) {
27
- score -= additionPenalty;
28
- }
29
- else if (optionsProp !== undefined && formatProp === undefined) {
30
- score -= removalPenalty;
31
- }
32
- else if (optionsProp !== formatProp) {
33
- // extra penalty for numeric vs non-numeric
34
- if (isNumericType(optionsProp) !==
35
- isNumericType(formatProp)) {
36
- score -= differentNumericTypePenalty;
37
- }
38
- else {
39
- var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];
40
- var optionsPropIndex = values.indexOf(optionsProp);
41
- var formatPropIndex = values.indexOf(formatProp);
42
- var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));
43
- if (delta === 2) {
44
- score -= longMorePenalty;
45
- }
46
- else if (delta === 1) {
47
- score -= shortMorePenalty;
48
- }
49
- else if (delta === -1) {
50
- score -= shortLessPenalty;
51
- }
52
- else if (delta === -2) {
53
- score -= longLessPenalty;
54
- }
55
- }
56
- }
57
- }
58
- return score;
59
- }
60
- /**
61
- * https://tc39.es/ecma402/#sec-bestfitformatmatcher
62
- * Just alias to basic for now
63
- * @param options
64
- * @param formats
65
- * @param implDetails Implementation details
66
- */
67
- export function BestFitFormatMatcher(options, formats) {
68
- var bestScore = -Infinity;
69
- var bestFormat = formats[0];
70
- invariant(Array.isArray(formats), 'formats should be a list of things');
71
- for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) {
72
- var format = formats_1[_i];
73
- var score = bestFitFormatMatcherScore(options, format);
74
- if (score > bestScore) {
75
- bestScore = score;
76
- bestFormat = format;
77
- }
78
- }
79
- var skeletonFormat = __assign({}, bestFormat);
80
- var patternFormat = { rawPattern: bestFormat.rawPattern };
81
- processDateTimePattern(bestFormat.rawPattern, patternFormat);
82
- // Kinda following https://github.com/unicode-org/icu/blob/dd50e38f459d84e9bf1b0c618be8483d318458ad/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
83
- // Method adjustFieldTypes
84
- for (var prop in skeletonFormat) {
85
- var skeletonValue = skeletonFormat[prop];
86
- var patternValue = patternFormat[prop];
87
- var requestedValue = options[prop];
88
- // Don't mess with minute/second or we can get in the situation of
89
- // 7:0:0 which is weird
90
- if (prop === 'minute' || prop === 'second') {
91
- continue;
92
- }
93
- // Nothing to do here
94
- if (!requestedValue) {
95
- continue;
96
- }
97
- // https://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons
98
- // Looks like we should not convert numeric to alphabetic but the other way
99
- // around is ok
100
- if (isNumericType(patternValue) &&
101
- !isNumericType(requestedValue)) {
102
- continue;
103
- }
104
- if (skeletonValue === requestedValue) {
105
- continue;
106
- }
107
- patternFormat[prop] = requestedValue;
108
- }
109
- // Copy those over
110
- patternFormat.pattern = skeletonFormat.pattern;
111
- patternFormat.pattern12 = skeletonFormat.pattern12;
112
- patternFormat.skeleton = skeletonFormat.skeleton;
113
- patternFormat.rangePatterns = skeletonFormat.rangePatterns;
114
- patternFormat.rangePatterns12 = skeletonFormat.rangePatterns12;
115
- return patternFormat;
116
- }
@@ -1,3 +0,0 @@
1
- import { DateTimeFormatOptions, DateTimeFormatLocaleInternalData, Formats } from '../types/date-time';
2
- export declare function DateTimeStyleFormat(dateStyle: DateTimeFormatOptions['dateStyle'], timeStyle: DateTimeFormatOptions['timeStyle'], dataLocaleData: DateTimeFormatLocaleInternalData): Formats;
3
- //# sourceMappingURL=DateTimeStyleFormat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateTimeStyleFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/DateTimeStyleFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,OAAO,EACR,MAAM,oBAAoB,CAAA;AAG3B,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAC7C,cAAc,EAAE,gCAAgC,GAC/C,OAAO,CAuDT"}
@@ -1,50 +0,0 @@
1
- import { invariant } from '../utils';
2
- export function DateTimeStyleFormat(dateStyle, timeStyle, dataLocaleData) {
3
- var dateFormat, timeFormat;
4
- if (timeStyle !== undefined) {
5
- invariant(timeStyle === 'full' ||
6
- timeStyle === 'long' ||
7
- timeStyle === 'medium' ||
8
- timeStyle === 'short', 'invalid timeStyle');
9
- timeFormat = dataLocaleData.timeFormat[timeStyle];
10
- }
11
- if (dateStyle !== undefined) {
12
- invariant(dateStyle === 'full' ||
13
- dateStyle === 'long' ||
14
- dateStyle === 'medium' ||
15
- dateStyle === 'short', 'invalid dateStyle');
16
- dateFormat = dataLocaleData.dateFormat[dateStyle];
17
- }
18
- if (dateStyle !== undefined && timeStyle !== undefined) {
19
- var format = {};
20
- for (var field in dateFormat) {
21
- if (field !== 'pattern') {
22
- // @ts-ignore
23
- format[field] = dateFormat[field];
24
- }
25
- }
26
- for (var field in timeFormat) {
27
- if (field !== 'pattern' && field !== 'pattern12') {
28
- // @ts-ignore
29
- format[field] = timeFormat[field];
30
- }
31
- }
32
- var connector = dataLocaleData.dateTimeFormat[dateStyle];
33
- var pattern = connector
34
- .replace('{0}', timeFormat.pattern)
35
- .replace('{1}', dateFormat.pattern);
36
- format.pattern = pattern;
37
- if ('pattern12' in timeFormat) {
38
- var pattern12 = connector
39
- .replace('{0}', timeFormat.pattern12)
40
- .replace('{1}', dateFormat.pattern);
41
- format.pattern12 = pattern12;
42
- }
43
- return format;
44
- }
45
- if (timeStyle !== undefined) {
46
- return timeFormat;
47
- }
48
- invariant(dateStyle !== undefined, 'dateStyle should not be undefined');
49
- return dateFormat;
50
- }
@@ -1,8 +0,0 @@
1
- import { PartitionDateTimePattern } from './PartitionDateTimePattern';
2
- /**
3
- * https://tc39.es/ecma402/#sec-formatdatetime
4
- * @param dtf DateTimeFormat
5
- * @param x
6
- */
7
- export declare function FormatDateTime(dtf: Intl.DateTimeFormat, x: number, implDetails: Parameters<typeof PartitionDateTimePattern>[2]): string;
8
- //# sourceMappingURL=FormatDateTime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormatDateTime.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/FormatDateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAA;AAEnE;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,UAQ5D"}
@@ -1,15 +0,0 @@
1
- import { PartitionDateTimePattern } from './PartitionDateTimePattern';
2
- /**
3
- * https://tc39.es/ecma402/#sec-formatdatetime
4
- * @param dtf DateTimeFormat
5
- * @param x
6
- */
7
- export function FormatDateTime(dtf, x, implDetails) {
8
- var parts = PartitionDateTimePattern(dtf, x, implDetails);
9
- var result = '';
10
- for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
11
- var part = parts_1[_i];
12
- result += part.value;
13
- }
14
- return result;
15
- }
@@ -1,14 +0,0 @@
1
- import { IntlDateTimeFormatInternal, DateTimeFormatLocaleInternalData, IntlDateTimeFormatPart } from '../types/date-time';
2
- import { ToLocalTimeImplDetails } from './ToLocalTime';
3
- export interface FormatDateTimePatternImplDetails {
4
- getInternalSlots(dtf: Intl.DateTimeFormat): IntlDateTimeFormatInternal;
5
- localeData: Record<string, DateTimeFormatLocaleInternalData>;
6
- getDefaultTimeZone(): string;
7
- }
8
- /**
9
- * https://tc39.es/ecma402/#sec-partitiondatetimepattern
10
- * @param dtf
11
- * @param x
12
- */
13
- export declare function FormatDateTimePattern(dtf: Intl.DateTimeFormat, patternParts: IntlDateTimeFormatPart[], x: number, { getInternalSlots, localeData, getDefaultTimeZone, tzData, }: FormatDateTimePatternImplDetails & ToLocalTimeImplDetails): IntlDateTimeFormatPart[];
14
- //# sourceMappingURL=FormatDateTimePattern.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormatDateTimePattern.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/FormatDateTimePattern.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAc,sBAAsB,EAAC,MAAM,eAAe,CAAA;AAuCjE,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAA;IACtE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;IAC5D,kBAAkB,IAAI,MAAM,CAAA;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,YAAY,EAAE,sBAAsB,EAAE,EACtC,CAAC,EAAE,MAAM,EACT,EACE,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,MAAM,GACP,EAAE,gCAAgC,GAAG,sBAAsB,GAC3D,sBAAsB,EAAE,CAkJ1B"}