@formatjs/ecma402-abstract 1.2.1 → 1.2.5

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 (45) hide show
  1. package/_validate_dist-base_options.optionsvalid.d.ts +1 -1
  2. package/_validate_dist-esm_options.optionsvalid.d.ts +1 -1
  3. package/index.js +48 -60
  4. package/lib/src/DateTimeFormat/BasicFormatMatcher.js +1 -11
  5. package/lib/src/DateTimeFormat/BestFitFormatMatcher.js +1 -11
  6. package/lib/src/DateTimeFormat/InitializeDateTimeFormat.d.ts +1 -1
  7. package/lib/src/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +1 -1
  8. package/lib/src/DateTimeFormat/InitializeDateTimeFormat.js +5 -0
  9. package/lib/src/DateTimeFormat/PartitionDateTimePattern.js +1 -1
  10. package/lib/src/DateTimeFormat/ToLocalTime.js +1 -1
  11. package/lib/src/NumberFormat/InitializeNumberFormat.d.ts +1 -1
  12. package/lib/src/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  13. package/lib/src/NumberFormat/InitializeNumberFormat.js +2 -0
  14. package/lib/src/PluralRules/InitializePluralRules.d.ts +1 -1
  15. package/lib/src/PluralRules/InitializePluralRules.d.ts.map +1 -1
  16. package/lib/src/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +1 -1
  17. package/lib/src/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +1 -1
  18. package/lib/src/RelativeTimeFormat/InitializeRelativeTimeFormat.js +4 -1
  19. package/lib/src/ResolveLocale.d.ts +1 -1
  20. package/lib/src/ResolveLocale.d.ts.map +1 -1
  21. package/lib/src/ResolveLocale.js +1 -0
  22. package/lib/src/data.js +1 -24
  23. package/package.json +4 -1
  24. package/src/DateTimeFormat/BasicFormatMatcher.js +2 -12
  25. package/src/DateTimeFormat/BestFitFormatMatcher.js +2 -12
  26. package/src/DateTimeFormat/InitializeDateTimeFormat.d.ts +1 -1
  27. package/src/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +1 -1
  28. package/src/DateTimeFormat/InitializeDateTimeFormat.js +5 -0
  29. package/src/DateTimeFormat/PartitionDateTimePattern.js +1 -1
  30. package/src/DateTimeFormat/ToLocalTime.js +1 -1
  31. package/src/NumberFormat/InitializeNumberFormat.d.ts +1 -1
  32. package/src/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  33. package/src/NumberFormat/InitializeNumberFormat.js +2 -0
  34. package/src/NumberFormat/PartitionNumberPattern.js +2 -4
  35. package/src/NumberFormat/format_to_parts.js +2 -20
  36. package/src/PluralRules/InitializePluralRules.d.ts +1 -1
  37. package/src/PluralRules/InitializePluralRules.d.ts.map +1 -1
  38. package/src/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +1 -1
  39. package/src/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +1 -1
  40. package/src/RelativeTimeFormat/InitializeRelativeTimeFormat.js +4 -1
  41. package/src/ResolveLocale.d.ts +1 -1
  42. package/src/ResolveLocale.d.ts.map +1 -1
  43. package/src/ResolveLocale.js +1 -0
  44. package/src/data.js +3 -26
  45. package/types.js +6 -15
@@ -1,5 +1,5 @@
1
1
 
2
- // /home/longlho/.cache/bazel/_bazel_longlho/576c18efaac10246ec115c72af79fca6/sandbox/linux-sandbox/2/execroot/formatjs/node_modules/@bazel/typescript/internal/ts_project_options_validator.js checked attributes for //packages/ecma402-abstract:dist-base
2
+ // /home/runner/.cache/bazel/_bazel_runner/5f880bf373d0f523ad3d97c5bd30b971/sandbox/linux-sandbox/3/execroot/formatjs/node_modules/@bazel/typescript/internal/ts_project_options_validator.js checked attributes for //packages/ecma402-abstract:dist-base
3
3
  // composite: false
4
4
  // declaration: true
5
5
  // declaration_map: true
@@ -1,5 +1,5 @@
1
1
 
2
- // /home/longlho/.cache/bazel/_bazel_longlho/576c18efaac10246ec115c72af79fca6/sandbox/linux-sandbox/4/execroot/formatjs/node_modules/@bazel/typescript/internal/ts_project_options_validator.js checked attributes for //packages/ecma402-abstract:dist-esm
2
+ // /home/runner/.cache/bazel/_bazel_runner/5f880bf373d0f523ad3d97c5bd30b971/sandbox/linux-sandbox/2/execroot/formatjs/node_modules/@bazel/typescript/internal/ts_project_options_validator.js checked attributes for //packages/ecma402-abstract:dist-esm
3
3
  // composite: false
4
4
  // declaration: true
5
5
  // declaration_map: true
package/index.js CHANGED
@@ -1,62 +1,50 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- var __importDefault = (this && this.__importDefault) || function (mod) {
13
- return (mod && mod.__esModule) ? mod : { "default": mod };
14
- };
15
2
  Object.defineProperty(exports, "__esModule", { value: true });
16
3
  exports.invariant = exports.isMissingLocaleDataError = exports.unpackData = exports.getLocaleHierarchy = exports.defineProperty = exports.getMagnitude = exports.setMultiInternalSlots = exports.setInternalSlot = exports.isLiteralPart = exports.getMultiInternalSlots = exports.getInternalSlot = exports.parseDateTimeSkeleton = exports.DATE_TIME_PROPS = exports._formatToParts = exports.BestFitFormatMatcher = void 0;
4
+ var tslib_1 = require("tslib");
17
5
  var BestFitFormatMatcher_1 = require("./src/DateTimeFormat/BestFitFormatMatcher");
18
6
  Object.defineProperty(exports, "BestFitFormatMatcher", { enumerable: true, get: function () { return BestFitFormatMatcher_1.BestFitFormatMatcher; } });
19
- __exportStar(require("./src/CanonicalizeLocaleList"), exports);
20
- __exportStar(require("./src/CanonicalizeTimeZoneName"), exports);
21
- __exportStar(require("./src/DateTimeFormat/BasicFormatMatcher"), exports);
22
- __exportStar(require("./src/DateTimeFormat/DateTimeStyleFormat"), exports);
23
- __exportStar(require("./src/DateTimeFormat/FormatDateTime"), exports);
24
- __exportStar(require("./src/DateTimeFormat/FormatDateTimeToParts"), exports);
25
- __exportStar(require("./src/DateTimeFormat/InitializeDateTimeFormat"), exports);
26
- __exportStar(require("./src/DateTimeFormat/PartitionDateTimePattern"), exports);
27
- __exportStar(require("./src/DateTimeFormat/ToDateTimeOptions"), exports);
28
- __exportStar(require("./src/DisplayNames/CanonicalCodeForDisplayNames"), exports);
29
- __exportStar(require("./src/GetNumberOption"), exports);
30
- __exportStar(require("./src/GetOption"), exports);
31
- __exportStar(require("./src/IsSanctionedSimpleUnitIdentifier"), exports);
32
- __exportStar(require("./src/IsValidTimeZoneName"), exports);
33
- __exportStar(require("./src/IsWellFormedCurrencyCode"), exports);
34
- __exportStar(require("./src/IsWellFormedUnitIdentifier"), exports);
35
- __exportStar(require("./src/NumberFormat/ComputeExponent"), exports);
36
- __exportStar(require("./src/NumberFormat/ComputeExponentForMagnitude"), exports);
37
- __exportStar(require("./src/NumberFormat/CurrencyDigits"), exports);
38
- __exportStar(require("./src/NumberFormat/FormatNumericToParts"), exports);
39
- __exportStar(require("./src/NumberFormat/FormatNumericToString"), exports);
40
- __exportStar(require("./src/NumberFormat/InitializeNumberFormat"), exports);
41
- __exportStar(require("./src/NumberFormat/PartitionNumberPattern"), exports);
42
- __exportStar(require("./src/NumberFormat/SetNumberFormatDigitOptions"), exports);
43
- __exportStar(require("./src/NumberFormat/SetNumberFormatUnitOptions"), exports);
44
- __exportStar(require("./src/NumberFormat/ToRawFixed"), exports);
45
- __exportStar(require("./src/NumberFormat/ToRawPrecision"), exports);
46
- __exportStar(require("./src/PartitionPattern"), exports);
47
- __exportStar(require("./src/PluralRules/GetOperands"), exports);
48
- __exportStar(require("./src/PluralRules/InitializePluralRules"), exports);
49
- __exportStar(require("./src/PluralRules/ResolvePlural"), exports);
50
- __exportStar(require("./src/RelativeTimeFormat/FormatRelativeTime"), exports);
51
- __exportStar(require("./src/RelativeTimeFormat/FormatRelativeTimeToParts"), exports);
52
- __exportStar(require("./src/RelativeTimeFormat/InitializeRelativeTimeFormat"), exports);
53
- __exportStar(require("./src/RelativeTimeFormat/MakePartsList"), exports);
54
- __exportStar(require("./src/RelativeTimeFormat/PartitionRelativeTimePattern"), exports);
55
- __exportStar(require("./src/RelativeTimeFormat/SingularRelativeTimeUnit"), exports);
56
- __exportStar(require("./src/ResolveLocale"), exports);
57
- __exportStar(require("./src/SupportedLocales"), exports);
7
+ tslib_1.__exportStar(require("./src/CanonicalizeLocaleList"), exports);
8
+ tslib_1.__exportStar(require("./src/CanonicalizeTimeZoneName"), exports);
9
+ tslib_1.__exportStar(require("./src/DateTimeFormat/BasicFormatMatcher"), exports);
10
+ tslib_1.__exportStar(require("./src/DateTimeFormat/DateTimeStyleFormat"), exports);
11
+ tslib_1.__exportStar(require("./src/DateTimeFormat/FormatDateTime"), exports);
12
+ tslib_1.__exportStar(require("./src/DateTimeFormat/FormatDateTimeToParts"), exports);
13
+ tslib_1.__exportStar(require("./src/DateTimeFormat/InitializeDateTimeFormat"), exports);
14
+ tslib_1.__exportStar(require("./src/DateTimeFormat/PartitionDateTimePattern"), exports);
15
+ tslib_1.__exportStar(require("./src/DateTimeFormat/ToDateTimeOptions"), exports);
16
+ tslib_1.__exportStar(require("./src/DisplayNames/CanonicalCodeForDisplayNames"), exports);
17
+ tslib_1.__exportStar(require("./src/GetNumberOption"), exports);
18
+ tslib_1.__exportStar(require("./src/GetOption"), exports);
19
+ tslib_1.__exportStar(require("./src/IsSanctionedSimpleUnitIdentifier"), exports);
20
+ tslib_1.__exportStar(require("./src/IsValidTimeZoneName"), exports);
21
+ tslib_1.__exportStar(require("./src/IsWellFormedCurrencyCode"), exports);
22
+ tslib_1.__exportStar(require("./src/IsWellFormedUnitIdentifier"), exports);
23
+ tslib_1.__exportStar(require("./src/NumberFormat/ComputeExponent"), exports);
24
+ tslib_1.__exportStar(require("./src/NumberFormat/ComputeExponentForMagnitude"), exports);
25
+ tslib_1.__exportStar(require("./src/NumberFormat/CurrencyDigits"), exports);
26
+ tslib_1.__exportStar(require("./src/NumberFormat/FormatNumericToParts"), exports);
27
+ tslib_1.__exportStar(require("./src/NumberFormat/FormatNumericToString"), exports);
28
+ tslib_1.__exportStar(require("./src/NumberFormat/InitializeNumberFormat"), exports);
29
+ tslib_1.__exportStar(require("./src/NumberFormat/PartitionNumberPattern"), exports);
30
+ tslib_1.__exportStar(require("./src/NumberFormat/SetNumberFormatDigitOptions"), exports);
31
+ tslib_1.__exportStar(require("./src/NumberFormat/SetNumberFormatUnitOptions"), exports);
32
+ tslib_1.__exportStar(require("./src/NumberFormat/ToRawFixed"), exports);
33
+ tslib_1.__exportStar(require("./src/NumberFormat/ToRawPrecision"), exports);
34
+ tslib_1.__exportStar(require("./src/PartitionPattern"), exports);
35
+ tslib_1.__exportStar(require("./src/PluralRules/GetOperands"), exports);
36
+ tslib_1.__exportStar(require("./src/PluralRules/InitializePluralRules"), exports);
37
+ tslib_1.__exportStar(require("./src/PluralRules/ResolvePlural"), exports);
38
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/FormatRelativeTime"), exports);
39
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/FormatRelativeTimeToParts"), exports);
40
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/InitializeRelativeTimeFormat"), exports);
41
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/MakePartsList"), exports);
42
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/PartitionRelativeTimePattern"), exports);
43
+ tslib_1.__exportStar(require("./src/RelativeTimeFormat/SingularRelativeTimeUnit"), exports);
44
+ tslib_1.__exportStar(require("./src/ResolveLocale"), exports);
45
+ tslib_1.__exportStar(require("./src/SupportedLocales"), exports);
58
46
  var format_to_parts_1 = require("./src/NumberFormat/format_to_parts");
59
- Object.defineProperty(exports, "_formatToParts", { enumerable: true, get: function () { return __importDefault(format_to_parts_1).default; } });
47
+ Object.defineProperty(exports, "_formatToParts", { enumerable: true, get: function () { return tslib_1.__importDefault(format_to_parts_1).default; } });
60
48
  var utils_1 = require("./src/DateTimeFormat/utils");
61
49
  Object.defineProperty(exports, "DATE_TIME_PROPS", { enumerable: true, get: function () { return utils_1.DATE_TIME_PROPS; } });
62
50
  var skeleton_1 = require("./src/DateTimeFormat/skeleton");
@@ -73,12 +61,12 @@ var data_1 = require("./src/data");
73
61
  Object.defineProperty(exports, "getLocaleHierarchy", { enumerable: true, get: function () { return data_1.getLocaleHierarchy; } });
74
62
  Object.defineProperty(exports, "unpackData", { enumerable: true, get: function () { return data_1.unpackData; } });
75
63
  Object.defineProperty(exports, "isMissingLocaleDataError", { enumerable: true, get: function () { return data_1.isMissingLocaleDataError; } });
76
- __exportStar(require("./types/relative-time"), exports);
77
- __exportStar(require("./types/date-time"), exports);
78
- __exportStar(require("./types/list"), exports);
79
- __exportStar(require("./types/plural-rules"), exports);
80
- __exportStar(require("./types/number"), exports);
81
- __exportStar(require("./types/displaynames"), exports);
64
+ tslib_1.__exportStar(require("./types/relative-time"), exports);
65
+ tslib_1.__exportStar(require("./types/date-time"), exports);
66
+ tslib_1.__exportStar(require("./types/list"), exports);
67
+ tslib_1.__exportStar(require("./types/plural-rules"), exports);
68
+ tslib_1.__exportStar(require("./types/number"), exports);
69
+ tslib_1.__exportStar(require("./types/displaynames"), exports);
82
70
  var utils_3 = require("./src/utils");
83
71
  Object.defineProperty(exports, "invariant", { enumerable: true, get: function () { return utils_3.invariant; } });
84
- __exportStar(require("./262"), exports);
72
+ tslib_1.__exportStar(require("./262"), exports);
@@ -1,14 +1,4 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
1
+ import { __assign } from "tslib";
12
2
  import { invariant } from '../utils';
13
3
  import { DATE_TIME_PROPS, additionPenalty, removalPenalty, longMorePenalty, shortMorePenalty, shortLessPenalty, longLessPenalty, } from './utils';
14
4
  /**
@@ -1,14 +1,4 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
1
+ import { __assign } from "tslib";
12
2
  import { invariant } from '../utils';
13
3
  import { DATE_TIME_PROPS, removalPenalty, additionPenalty, differentNumericTypePenalty, longMorePenalty, shortMorePenalty, shortLessPenalty, longLessPenalty, } from './utils';
14
4
  import { parseDateTimeSkeleton } from './skeleton';
@@ -11,7 +11,7 @@ export declare function InitializeDateTimeFormat(dtf: Intl.DateTimeFormat, local
11
11
  getDefaultLocale(): string;
12
12
  getDefaultTimeZone(): string;
13
13
  relevantExtensionKeys: string[];
14
- localeData: Record<string, DateTimeFormatLocaleInternalData>;
14
+ localeData: Record<string, DateTimeFormatLocaleInternalData | undefined>;
15
15
  tzData: Record<string, unknown>;
16
16
  uppercaseLinks: Record<string, string>;
17
17
  }): Intl.DateTimeFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,uBAAuB,CAAC;AAgC/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CAqOrB"}
1
+ {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,uBAAuB,CAAC;AAgC/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA8OrB"}
@@ -83,7 +83,12 @@ export function InitializeDateTimeFormat(dtf, locales, opts, _a) {
83
83
  opt.second = GetOption(options, 'second', 'string', ['2-digit', 'numeric'], undefined);
84
84
  opt.timeZoneName = GetOption(options, 'timeZoneName', 'string', ['short', 'long'], undefined);
85
85
  var dataLocaleData = localeData[dataLocale];
86
+ invariant(!!dataLocaleData, "Missing locale data for " + dataLocale);
86
87
  var formats = dataLocaleData.formats[calendar];
88
+ // UNSPECCED: IMPLEMENTATION DETAILS
89
+ if (!formats) {
90
+ throw new RangeError("Calendar \"" + calendar + "\" is not supported. Try setting \"calendar\" to 1 of the following: " + Object.keys(dataLocaleData.formats).join(', '));
91
+ }
87
92
  matcher = GetOption(options, 'formatMatcher', 'string', ['basic', 'best fit'], 'best fit');
88
93
  var dateStyle = GetOption(options, 'dateStyle', 'string', ['full', 'long', 'medium', 'short'], undefined);
89
94
  internalSlots.dateStyle = dateStyle;
@@ -133,7 +133,7 @@ export function PartitionDateTimePattern(dtf, x, _a) {
133
133
  else if (p === 'ampm') {
134
134
  var v = tm.hour;
135
135
  var fv = void 0;
136
- if (v >= 11) {
136
+ if (v > 11) {
137
137
  fv = dataLocaleData.pm;
138
138
  }
139
139
  else {
@@ -11,7 +11,7 @@ function getApplicableZoneData(t, timeZone, tzData) {
11
11
  var offset = 0;
12
12
  var dst = false;
13
13
  for (; i <= zoneData.length; i++) {
14
- if (i === zoneData.length || zoneData[i][0] * 1e3 >= t) {
14
+ if (i === zoneData.length || zoneData[i][0] * 1e3 > t) {
15
15
  _a = zoneData[i - 1], offset = _a[2], dst = _a[3];
16
16
  break;
17
17
  }
@@ -4,7 +4,7 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
4
4
  */
5
5
  export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
6
6
  getInternalSlots(nf: Intl.NumberFormat): NumberFormatInternal;
7
- localeData: Record<string, NumberFormatLocaleInternalData>;
7
+ localeData: Record<string, NumberFormatLocaleInternalData | undefined>;
8
8
  availableLocales: string[];
9
9
  numberingSystemNames: string[];
10
10
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAmB5B;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC3D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
1
+ {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAoB5B;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
@@ -5,6 +5,7 @@ import { ResolveLocale } from '../ResolveLocale';
5
5
  import { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';
6
6
  import { CurrencyDigits } from './CurrencyDigits';
7
7
  import { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';
8
+ import { invariant } from '../utils';
8
9
  /**
9
10
  * Chop off the unicode extension from the locale string.
10
11
  */
@@ -37,6 +38,7 @@ export function InitializeNumberFormat(nf, locales, opts, _a) {
37
38
  // [[RelevantExtensionKeys]] slot, which is a constant
38
39
  ['nu'], localeData, getDefaultLocale);
39
40
  var dataLocaleData = localeData[removeUnicodeExtensionFromLocale(r.locale)];
41
+ invariant(!!dataLocaleData, "Missing locale data for " + r.locale);
40
42
  var internalSlots = getInternalSlots(nf);
41
43
  internalSlots.locale = r.locale;
42
44
  internalSlots.dataLocale = r.dataLocale;
@@ -2,7 +2,7 @@ import { PluralRulesInternal, PluralRulesData } from '../../types/plural-rules';
2
2
  export declare function InitializePluralRules(pl: Intl.PluralRules, locales: string | string[] | undefined, options: Intl.PluralRulesOptions | undefined, { availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, getInternalSlots, }: {
3
3
  availableLocales: string[];
4
4
  relevantExtensionKeys: string[];
5
- localeData: Record<string, PluralRulesData>;
5
+ localeData: Record<string, PluralRulesData | undefined>;
6
6
  getDefaultLocale(): string;
7
7
  getInternalSlots(pl: Intl.PluralRules): PluralRulesInternal;
8
8
  }): Intl.PluralRules;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAO9E,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,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
1
+ {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAO9E,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,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
@@ -3,7 +3,7 @@ export declare function InitializeRelativeTimeFormat(rtf: RelativeTimeFormat, lo
3
3
  getInternalSlots(rtf: RelativeTimeFormat): RelativeTimeFormatInternal;
4
4
  availableLocales: string[];
5
5
  relevantExtensionKeys: string[];
6
- localeData: Record<string, LocaleFieldsData>;
6
+ localeData: Record<string, LocaleFieldsData | undefined>;
7
7
  getDefaultLocale(): string;
8
8
  }): RelativeTimeFormat;
9
9
  //# sourceMappingURL=InitializeRelativeTimeFormat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBAyDF"}
1
+ {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/ecma402-abstract/src/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AASnC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
@@ -2,6 +2,7 @@ import { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';
2
2
  import { ToObject } from '../../262';
3
3
  import { GetOption } from '../GetOption';
4
4
  import { ResolveLocale } from '../ResolveLocale';
5
+ import { invariant } from '../utils';
5
6
  var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;
6
7
  export function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
7
8
  var getInternalSlots = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale;
@@ -24,7 +25,9 @@ export function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
24
25
  internalSlots.locale = locale;
25
26
  internalSlots.style = GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
26
27
  internalSlots.numeric = GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
27
- internalSlots.fields = localeData[locale];
28
+ var fields = localeData[locale];
29
+ invariant(!!fields, "Missing locale data for " + locale);
30
+ internalSlots.fields = fields;
28
31
  internalSlots.numberFormat = new Intl.NumberFormat(locales);
29
32
  internalSlots.pluralRules = new Intl.PluralRules(locales);
30
33
  internalSlots.numberingSystem = nu;
@@ -11,5 +11,5 @@ export declare function ResolveLocale<K extends string, D extends {
11
11
  }>(availableLocales: string[], requestedLocales: string[], options: {
12
12
  localeMatcher: string;
13
13
  [k: string]: string;
14
- }, relevantExtensionKeys: K[], localeData: Record<string, D>, getDefaultLocale: () => string): ResolveLocaleResult;
14
+ }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
15
15
  //# sourceMappingURL=ResolveLocale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC7B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAyErB"}
1
+ {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
@@ -19,6 +19,7 @@ export function ResolveLocale(availableLocales, requestedLocales, options, relev
19
19
  var supportedExtension = '-u';
20
20
  for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
21
21
  var key = relevantExtensionKeys_1[_i];
22
+ invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
22
23
  var foundLocaleData = localeData[foundLocale];
23
24
  invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
24
25
  var keyLocaleData = foundLocaleData[key];
package/lib/src/data.js CHANGED
@@ -1,27 +1,4 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- var __assign = (this && this.__assign) || function () {
15
- __assign = Object.assign || function(t) {
16
- for (var s, i = 1, n = arguments.length; i < n; i++) {
17
- s = arguments[i];
18
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
19
- t[p] = s[p];
20
- }
21
- return t;
22
- };
23
- return __assign.apply(this, arguments);
24
- };
1
+ import { __assign, __extends } from "tslib";
25
2
  export function getLocaleHierarchy(locale) {
26
3
  var results = [locale];
27
4
  var localeParts = locale.split('-');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/ecma402-abstract",
3
- "version": "1.2.1",
3
+ "version": "1.2.5",
4
4
  "description": "A collection of implementation for ECMAScript abstract operations",
5
5
  "keywords": [
6
6
  "intl",
@@ -13,6 +13,9 @@
13
13
  "ecma262",
14
14
  "format"
15
15
  ],
16
+ "dependencies": {
17
+ "tslib": "^2.0.1"
18
+ },
16
19
  "author": "Long Ho <holevietlong@gmail.com",
17
20
  "bugs": {
18
21
  "url": "https://github.com/formatjs/formatjs/issues"
@@ -1,17 +1,7 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.BasicFormatMatcher = void 0;
4
+ var tslib_1 = require("tslib");
15
5
  var utils_1 = require("../utils");
16
6
  var utils_2 = require("./utils");
17
7
  /**
@@ -60,6 +50,6 @@ function BasicFormatMatcher(options, formats) {
60
50
  bestFormat = format;
61
51
  }
62
52
  }
63
- return __assign({}, bestFormat);
53
+ return tslib_1.__assign({}, bestFormat);
64
54
  }
65
55
  exports.BasicFormatMatcher = BasicFormatMatcher;
@@ -1,17 +1,7 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.BestFitFormatMatcher = exports.bestFitFormatMatcherScore = void 0;
4
+ var tslib_1 = require("tslib");
15
5
  var utils_1 = require("../utils");
16
6
  var utils_2 = require("./utils");
17
7
  var skeleton_1 = require("./skeleton");
@@ -90,7 +80,7 @@ function BestFitFormatMatcher(options, formats) {
90
80
  bestFormat = format;
91
81
  }
92
82
  }
93
- var skeletonFormat = __assign({}, bestFormat);
83
+ var skeletonFormat = tslib_1.__assign({}, bestFormat);
94
84
  var patternFormat = skeleton_1.parseDateTimeSkeleton(bestFormat.rawPattern);
95
85
  // Kinda following https://github.com/unicode-org/icu/blob/dd50e38f459d84e9bf1b0c618be8483d318458ad/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
96
86
  // Method adjustFieldTypes
@@ -11,7 +11,7 @@ export declare function InitializeDateTimeFormat(dtf: Intl.DateTimeFormat, local
11
11
  getDefaultLocale(): string;
12
12
  getDefaultTimeZone(): string;
13
13
  relevantExtensionKeys: string[];
14
- localeData: Record<string, DateTimeFormatLocaleInternalData>;
14
+ localeData: Record<string, DateTimeFormatLocaleInternalData | undefined>;
15
15
  tzData: Record<string, unknown>;
16
16
  uppercaseLinks: Record<string, string>;
17
17
  }): Intl.DateTimeFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,uBAAuB,CAAC;AAgC/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CAqOrB"}
1
+ {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,uBAAuB,CAAC;AAgC/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA8OrB"}
@@ -86,7 +86,12 @@ function InitializeDateTimeFormat(dtf, locales, opts, _a) {
86
86
  opt.second = GetOption_1.GetOption(options, 'second', 'string', ['2-digit', 'numeric'], undefined);
87
87
  opt.timeZoneName = GetOption_1.GetOption(options, 'timeZoneName', 'string', ['short', 'long'], undefined);
88
88
  var dataLocaleData = localeData[dataLocale];
89
+ utils_1.invariant(!!dataLocaleData, "Missing locale data for " + dataLocale);
89
90
  var formats = dataLocaleData.formats[calendar];
91
+ // UNSPECCED: IMPLEMENTATION DETAILS
92
+ if (!formats) {
93
+ throw new RangeError("Calendar \"" + calendar + "\" is not supported. Try setting \"calendar\" to 1 of the following: " + Object.keys(dataLocaleData.formats).join(', '));
94
+ }
90
95
  matcher = GetOption_1.GetOption(options, 'formatMatcher', 'string', ['basic', 'best fit'], 'best fit');
91
96
  var dateStyle = GetOption_1.GetOption(options, 'dateStyle', 'string', ['full', 'long', 'medium', 'short'], undefined);
92
97
  internalSlots.dateStyle = dateStyle;
@@ -136,7 +136,7 @@ function PartitionDateTimePattern(dtf, x, _a) {
136
136
  else if (p === 'ampm') {
137
137
  var v = tm.hour;
138
138
  var fv = void 0;
139
- if (v >= 11) {
139
+ if (v > 11) {
140
140
  fv = dataLocaleData.pm;
141
141
  }
142
142
  else {
@@ -14,7 +14,7 @@ function getApplicableZoneData(t, timeZone, tzData) {
14
14
  var offset = 0;
15
15
  var dst = false;
16
16
  for (; i <= zoneData.length; i++) {
17
- if (i === zoneData.length || zoneData[i][0] * 1e3 >= t) {
17
+ if (i === zoneData.length || zoneData[i][0] * 1e3 > t) {
18
18
  _a = zoneData[i - 1], offset = _a[2], dst = _a[3];
19
19
  break;
20
20
  }
@@ -4,7 +4,7 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
4
4
  */
5
5
  export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
6
6
  getInternalSlots(nf: Intl.NumberFormat): NumberFormatInternal;
7
- localeData: Record<string, NumberFormatLocaleInternalData>;
7
+ localeData: Record<string, NumberFormatLocaleInternalData | undefined>;
8
8
  availableLocales: string[];
9
9
  numberingSystemNames: string[];
10
10
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAmB5B;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC3D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
1
+ {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAoB5B;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
@@ -8,6 +8,7 @@ var ResolveLocale_1 = require("../ResolveLocale");
8
8
  var SetNumberFormatUnitOptions_1 = require("./SetNumberFormatUnitOptions");
9
9
  var CurrencyDigits_1 = require("./CurrencyDigits");
10
10
  var SetNumberFormatDigitOptions_1 = require("./SetNumberFormatDigitOptions");
11
+ var utils_1 = require("../utils");
11
12
  /**
12
13
  * Chop off the unicode extension from the locale string.
13
14
  */
@@ -40,6 +41,7 @@ function InitializeNumberFormat(nf, locales, opts, _a) {
40
41
  // [[RelevantExtensionKeys]] slot, which is a constant
41
42
  ['nu'], localeData, getDefaultLocale);
42
43
  var dataLocaleData = localeData[removeUnicodeExtensionFromLocale(r.locale)];
44
+ utils_1.invariant(!!dataLocaleData, "Missing locale data for " + r.locale);
43
45
  var internalSlots = getInternalSlots(nf);
44
46
  internalSlots.locale = r.locale;
45
47
  internalSlots.dataLocale = r.dataLocale;
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.PartitionNumberPattern = void 0;
4
+ var tslib_1 = require("tslib");
7
5
  var FormatNumericToString_1 = require("./FormatNumericToString");
8
6
  var _262_1 = require("../../262");
9
7
  var ComputeExponent_1 = require("./ComputeExponent");
10
- var format_to_parts_1 = __importDefault(require("./format_to_parts"));
8
+ var format_to_parts_1 = tslib_1.__importDefault(require("./format_to_parts"));
11
9
  /**
12
10
  * https://tc39.es/ecma402/#sec-formatnumberstring
13
11
  */
@@ -1,26 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
22
4
  var ToRawFixed_1 = require("./ToRawFixed");
23
- var digitMapping = __importStar(require("./digit-mapping.json"));
5
+ var digitMapping = tslib_1.__importStar(require("./digit-mapping.json"));
24
6
  // This is from: unicode-12.1.0/General_Category/Symbol/regex.js
25
7
  // IE11 does not support unicode flag, otherwise this is just /\p{S}/u.
26
8
  var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B98-\u2BFF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD6C\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED5\uDEE0-\uDEEC\uDEF0-\uDEFA\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD00-\uDD0B\uDD0D-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95]/;
@@ -2,7 +2,7 @@ import { PluralRulesInternal, PluralRulesData } from '../../types/plural-rules';
2
2
  export declare function InitializePluralRules(pl: Intl.PluralRules, locales: string | string[] | undefined, options: Intl.PluralRulesOptions | undefined, { availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, getInternalSlots, }: {
3
3
  availableLocales: string[];
4
4
  relevantExtensionKeys: string[];
5
- localeData: Record<string, PluralRulesData>;
5
+ localeData: Record<string, PluralRulesData | undefined>;
6
6
  getDefaultLocale(): string;
7
7
  getInternalSlots(pl: Intl.PluralRules): PluralRulesInternal;
8
8
  }): Intl.PluralRules;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAO9E,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,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
1
+ {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAO9E,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,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
@@ -3,7 +3,7 @@ export declare function InitializeRelativeTimeFormat(rtf: RelativeTimeFormat, lo
3
3
  getInternalSlots(rtf: RelativeTimeFormat): RelativeTimeFormatInternal;
4
4
  availableLocales: string[];
5
5
  relevantExtensionKeys: string[];
6
- localeData: Record<string, LocaleFieldsData>;
6
+ localeData: Record<string, LocaleFieldsData | undefined>;
7
7
  getDefaultLocale(): string;
8
8
  }): RelativeTimeFormat;
9
9
  //# sourceMappingURL=InitializeRelativeTimeFormat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBAyDF"}
1
+ {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/src/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AASnC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
@@ -5,6 +5,7 @@ var CanonicalizeLocaleList_1 = require("../CanonicalizeLocaleList");
5
5
  var _262_1 = require("../../262");
6
6
  var GetOption_1 = require("../GetOption");
7
7
  var ResolveLocale_1 = require("../ResolveLocale");
8
+ var utils_1 = require("../utils");
8
9
  var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;
9
10
  function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
10
11
  var getInternalSlots = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale;
@@ -27,7 +28,9 @@ function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
27
28
  internalSlots.locale = locale;
28
29
  internalSlots.style = GetOption_1.GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
29
30
  internalSlots.numeric = GetOption_1.GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
30
- internalSlots.fields = localeData[locale];
31
+ var fields = localeData[locale];
32
+ utils_1.invariant(!!fields, "Missing locale data for " + locale);
33
+ internalSlots.fields = fields;
31
34
  internalSlots.numberFormat = new Intl.NumberFormat(locales);
32
35
  internalSlots.pluralRules = new Intl.PluralRules(locales);
33
36
  internalSlots.numberingSystem = nu;
@@ -11,5 +11,5 @@ export declare function ResolveLocale<K extends string, D extends {
11
11
  }>(availableLocales: string[], requestedLocales: string[], options: {
12
12
  localeMatcher: string;
13
13
  [k: string]: string;
14
- }, relevantExtensionKeys: K[], localeData: Record<string, D>, getDefaultLocale: () => string): ResolveLocaleResult;
14
+ }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
15
15
  //# sourceMappingURL=ResolveLocale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/src/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC7B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAyErB"}
1
+ {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/src/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
@@ -22,6 +22,7 @@ function ResolveLocale(availableLocales, requestedLocales, options, relevantExte
22
22
  var supportedExtension = '-u';
23
23
  for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
24
24
  var key = relevantExtensionKeys_1[_i];
25
+ utils_1.invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
25
26
  var foundLocaleData = localeData[foundLocale];
26
27
  utils_1.invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
27
28
  var keyLocaleData = foundLocaleData[key];
package/src/data.js CHANGED
@@ -1,30 +1,7 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
2
  Object.defineProperty(exports, "__esModule", { value: true });
27
3
  exports.unpackData = exports.isMissingLocaleDataError = exports.getLocaleHierarchy = void 0;
4
+ var tslib_1 = require("tslib");
28
5
  function getLocaleHierarchy(locale) {
29
6
  var results = [locale];
30
7
  var localeParts = locale.split('-');
@@ -35,7 +12,7 @@ function getLocaleHierarchy(locale) {
35
12
  }
36
13
  exports.getLocaleHierarchy = getLocaleHierarchy;
37
14
  var MissingLocaleDataError = /** @class */ (function (_super) {
38
- __extends(MissingLocaleDataError, _super);
15
+ tslib_1.__extends(MissingLocaleDataError, _super);
39
16
  function MissingLocaleDataError() {
40
17
  var _this = _super !== null && _super.apply(this, arguments) || this;
41
18
  _this.type = 'MISSING_LOCALE_DATA';
@@ -50,7 +27,7 @@ exports.isMissingLocaleDataError = isMissingLocaleDataError;
50
27
  function unpackData(locale, localeData,
51
28
  /** By default shallow merge the dictionaries. */
52
29
  reducer) {
53
- if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }
30
+ if (reducer === void 0) { reducer = function (all, d) { return (tslib_1.__assign(tslib_1.__assign({}, all), d)); }; }
54
31
  var localeHierarchy = getLocaleHierarchy(locale);
55
32
  var dataToMerge = localeHierarchy
56
33
  .map(function (l) { return localeData.data[l]; })
package/types.js CHANGED
@@ -1,17 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
2
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./types/relative-time"), exports);
14
- __exportStar(require("./types/list"), exports);
15
- __exportStar(require("./types/plural-rules"), exports);
16
- __exportStar(require("./types/number"), exports);
17
- __exportStar(require("./types/displaynames"), exports);
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types/relative-time"), exports);
5
+ tslib_1.__exportStar(require("./types/list"), exports);
6
+ tslib_1.__exportStar(require("./types/plural-rules"), exports);
7
+ tslib_1.__exportStar(require("./types/number"), exports);
8
+ tslib_1.__exportStar(require("./types/displaynames"), exports);