@procore/globalization-toolkit 3.3.0 → 3.4.1

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 (40) hide show
  1. package/.tool-versions +1 -1
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +18 -1
  4. package/dist/Formatter.types.d.ts +12 -2
  5. package/dist/Formatter.types.js +21 -0
  6. package/dist/Formatter.types.js.map +1 -1
  7. package/dist/FormatterUtils.d.ts +2 -2
  8. package/dist/FormatterUtils.js +1 -1
  9. package/dist/FormatterUtils.js.map +1 -1
  10. package/dist/dateTimes/DateTime.types.d.ts +12 -0
  11. package/dist/dateTimes/DateTime.types.js +11 -1
  12. package/dist/dateTimes/DateTime.types.js.map +1 -1
  13. package/dist/dateTimes/DateTimeFormatter.d.ts +10 -5
  14. package/dist/dateTimes/DateTimeFormatter.js +61 -2
  15. package/dist/dateTimes/DateTimeFormatter.js.map +1 -1
  16. package/dist/getFallbackLocaleList/GetFallbackLocaleList.d.ts +3 -0
  17. package/dist/getFallbackLocaleList/GetFallbackLocaleList.js +20 -0
  18. package/dist/getFallbackLocaleList/GetFallbackLocaleList.js.map +1 -0
  19. package/dist/getOverrideLocale/GetOverrideLocale.d.ts +3 -3
  20. package/dist/getOverrideLocale/GetOverrideLocale.js +6 -40
  21. package/dist/getOverrideLocale/GetOverrideLocale.js.map +1 -1
  22. package/dist/getTranslationsFromLocale/GetTranslationsFromLocale.js +2 -2
  23. package/dist/getTranslationsFromLocale/GetTranslationsFromLocale.js.map +1 -1
  24. package/dist/index.d.ts +5 -4
  25. package/dist/index.js +9 -14
  26. package/dist/index.js.map +1 -1
  27. package/dist/numbers/NumberFormatter.d.ts +2 -2
  28. package/dist/numbers/NumberFormatter.js.map +1 -1
  29. package/dist/numbers/NumberFormatter.test.constants.js +399 -25
  30. package/dist/numbers/NumberFormatter.test.constants.js.map +1 -1
  31. package/dist/numbers/NumberUtils.js +7 -3
  32. package/dist/numbers/NumberUtils.js.map +1 -1
  33. package/dist/test/TestBuilder.d.ts +2 -3
  34. package/dist/test/TestBuilder.js.map +1 -1
  35. package/dist/tsconfig.build.tsbuildinfo +1 -1
  36. package/package.json +4 -4
  37. package/sonar-project.properties +1 -1
  38. package/dist/getOverrideLocale/GetOverrideLocale.types.d.ts +0 -1
  39. package/dist/getOverrideLocale/GetOverrideLocale.types.js +0 -3
  40. package/dist/getOverrideLocale/GetOverrideLocale.types.js.map +0 -1
package/.tool-versions CHANGED
@@ -1 +1 @@
1
- nodejs 18.18.2
1
+ nodejs 22.8.0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @procore/globalization-toolkit
2
2
 
3
+ ## 3.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7b4c229: fix ALL_LOCALES and TMS_SUPPORTED_LOCALES are wrongly exported as types
8
+
9
+ ## 3.4.0
10
+
11
+ ### Minor Changes
12
+
13
+ - d4e56dd: added relative time formatter
14
+ - 93f1b25: - Upgraded node version to 22.8.0
15
+ - Exported OVERWRITE_LOCALE_MAP, FALLBACK_LOCALE_MAP
16
+ - Introduced Two new Lists and their corresponding type :
17
+ - TMS_SUPPORTED_LOCALES includes all languages we support their translations. Its corresponding type is TmsSupportedLocale.
18
+ - ALL_LOCALES includes all languages we have in the system in general. Its corresponding type is AllLocale.
19
+ - 62f169c: Added polish support
20
+ - 086474f: Add locale to translation mapper
21
+
3
22
  ## 3.3.0
4
23
 
5
24
  ### Minor Changes
package/README.md CHANGED
@@ -382,6 +382,23 @@ const dateTimeOptions = { locale: "en-US", timeZone: "UTC" };
382
382
 
383
383
  console.log(formatDateTime(value, dateTimeOptions)) // expected output: 11/5/1955
384
384
  ```
385
+ ### FormatRelativeTime
386
+ The formatRelativeTime function allows you to format a time difference as a localized, human-readable string, based on the provided locale and relative time options. This is useful for displaying time differences like "2 hours ago" or "in 3 days" in a format that is appropriate for the user's language and region.
387
+
388
+ The example below shows usage of the stand alone function : `formatRelativeTime()`.
389
+ ```ts
390
+ import { formatRelativeTime} from '@procore/globalization-toolkit';
391
+
392
+ import formatRelativeTime from
393
+ const result1 = formatRelativeTime('en-US', { value: 1, unit: 'hour' });
394
+ // Output: "in 1 hour"
395
+
396
+ const result2 = formatRelativeTime('es-ES', { value: -1, unit: 'hour' });
397
+ // Output: "hace 1 hora"
398
+
399
+ const result3 = formatRelativeTime('en-GB', { value: new Date(Date.now() - 3600 * 1000) });
400
+ // Output: "1 hour ago"
401
+ ```
385
402
  ### GetOverrideLocale Function
386
403
  The getOverrideLocale function returns a mapped locale based on predefined settings.
387
404
  If the environment locale isn't directly supported, it provides a fallback from the predefined mappings.
@@ -541,4 +558,4 @@ Procore - building the software that builds the world.
541
558
  Learn more about the #1 most widely used construction management software at [procore.com](https://www.procore.com/)
542
559
 
543
560
 
544
- [changesets]: https://github.com/changesets/changesets/
561
+ [changesets]: https://github.com/changesets/changesets/
@@ -1,4 +1,14 @@
1
- export type Locale = string;
1
+ export type DatesAndNumbersLocale = string;
2
2
  export type FormatterOptions = {
3
- locale: Locale;
3
+ locale: string;
4
4
  };
5
+ export declare const TMS_SUPPORTED_LOCALES: readonly ["de-DE", "en-AU", "en-CA", "en-GB", "en", "es-ES", "es", "fr-CA", "fr-FR", "is-IS", "ja-JP", "pl-PL", "pseudo", "pt-BR", "th-TH", "zh-SG"];
6
+ export declare const UNSUPPORTED_LOCALES: readonly ["en-AE", "en-SG"];
7
+ export declare const ALL_LOCALES: ("de-DE" | "en-AU" | "en-CA" | "en-GB" | "en" | "es-ES" | "es" | "fr-CA" | "fr-FR" | "is-IS" | "ja-JP" | "pl-PL" | "pseudo" | "pt-BR" | "th-TH" | "zh-SG" | "en-AE" | "en-SG")[];
8
+ export type TmsSupportedLocale = (typeof TMS_SUPPORTED_LOCALES)[number];
9
+ export type AllLocale = TmsSupportedLocale | (typeof UNSUPPORTED_LOCALES)[number];
10
+ export type MapLocalesToTranslations<Locales extends string = TmsSupportedLocale, TranslationType = DeepNestedRecords> = Record<Locales, TranslationType>;
11
+ type DeepNestedRecords = {
12
+ [K: string]: string | DeepNestedRecords;
13
+ };
14
+ export {};
@@ -1,3 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ALL_LOCALES = exports.UNSUPPORTED_LOCALES = exports.TMS_SUPPORTED_LOCALES = void 0;
4
+ exports.TMS_SUPPORTED_LOCALES = [
5
+ "de-DE",
6
+ "en-AU",
7
+ "en-CA",
8
+ "en-GB",
9
+ "en",
10
+ "es-ES",
11
+ "es",
12
+ "fr-CA",
13
+ "fr-FR",
14
+ "is-IS",
15
+ "ja-JP",
16
+ "pl-PL",
17
+ "pseudo",
18
+ "pt-BR",
19
+ "th-TH",
20
+ "zh-SG",
21
+ ];
22
+ exports.UNSUPPORTED_LOCALES = ["en-AE", "en-SG"];
23
+ exports.ALL_LOCALES = [...exports.TMS_SUPPORTED_LOCALES, ...exports.UNSUPPORTED_LOCALES];
3
24
  //# sourceMappingURL=Formatter.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Formatter.types.js","sourceRoot":"","sources":["../src/Formatter.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Formatter.types.js","sourceRoot":"","sources":["../src/Formatter.types.ts"],"names":[],"mappings":";;;AAWa,QAAA,qBAAqB,GAAG;IACnC,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;CACC,CAAC;AAEE,QAAA,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;AAElD,QAAA,WAAW,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,2BAAmB,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Locale } from "./Formatter.types";
2
- export declare function validateLocale(locale: Locale): Locale;
1
+ import type { FormatterOptions } from "./Formatter.types";
2
+ export declare function validateLocale(locale: string): FormatterOptions["locale"];
3
3
  export declare function escapeRegEx(value: string): string;
@@ -6,7 +6,7 @@ function validateLocale(locale) {
6
6
  new Intl.NumberFormat(locale);
7
7
  return locale;
8
8
  }
9
- catch (error) {
9
+ catch (_a) {
10
10
  const errorMessage = `@procore/globalization-toolkit Intl.NumberFormat error for locale ${locale}. Please use a supported locale.`;
11
11
  console.error(errorMessage);
12
12
  throw new Error(errorMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"FormatterUtils.js","sourceRoot":"","sources":["../src/FormatterUtils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,YAAY,GAAG,qEAAqE,MAAM,kCAAkC,CAAC;QACnI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;KAC/B;AACH,CAAC;AATD,wCASC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"FormatterUtils.js","sourceRoot":"","sources":["../src/FormatterUtils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;KACf;IAAC,WAAM;QACN,MAAM,YAAY,GAAG,qEAAqE,MAAM,kCAAkC,CAAC;QACnI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;KAC/B;AACH,CAAC;AATD,wCASC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAFD,kCAEC"}
@@ -176,3 +176,15 @@ export interface DateTimeOptionsComponentsHourMinute extends DateTimeOptionsBasi
176
176
  }
177
177
  export type DateTimeOptions = DateTimeOptionsStyle | DateTimeOptionsComponentsAll | DateTimeOptionsComponentsWeekdayYearMonthDay | DateTimeOptionsComponentsYearMonthDay | DateTimeOptionsComponentsYearMonth | DateTimeOptionsComponentsMonthDay | DateTimeOptionsComponentsHourMinuteSecond | DateTimeOptionsComponentsHourMinute;
178
178
  export type DateTimeFormatPart = Intl.DateTimeFormatPart;
179
+ export declare const supportedUnits: readonly ["second", "minute", "hour", "day", "month", "year", "weeks", "quarter"];
180
+ type TimeUnit = (typeof supportedUnits)[number];
181
+ type RelativeNumberTimeOptions = {
182
+ value: number;
183
+ unit: TimeUnit;
184
+ };
185
+ type RelativeDateTimeOptions = {
186
+ value: Date;
187
+ unit?: TimeUnit;
188
+ };
189
+ export type RelativeTimeOptions = RelativeNumberTimeOptions | RelativeDateTimeOptions;
190
+ export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Second = exports.Minute = exports.Hour = exports.Day = exports.Month = exports.Year = exports.Weekday = exports.TimeStyle = exports.DateStyle = exports.NumericTwoDigit = exports.TimeZoneName = exports.DateTimeStyle = void 0;
3
+ exports.supportedUnits = exports.Second = exports.Minute = exports.Hour = exports.Day = exports.Month = exports.Year = exports.Weekday = exports.TimeStyle = exports.DateStyle = exports.NumericTwoDigit = exports.TimeZoneName = exports.DateTimeStyle = void 0;
4
4
  exports.DateTimeStyle = {
5
5
  FULL: "full",
6
6
  LONG: "long",
@@ -34,4 +34,14 @@ exports.Day = exports.NumericTwoDigit;
34
34
  exports.Hour = exports.NumericTwoDigit;
35
35
  exports.Minute = exports.NumericTwoDigit;
36
36
  exports.Second = exports.NumericTwoDigit;
37
+ exports.supportedUnits = [
38
+ "second",
39
+ "minute",
40
+ "hour",
41
+ "day",
42
+ "month",
43
+ "year",
44
+ "weeks",
45
+ "quarter",
46
+ ];
37
47
  //# sourceMappingURL=DateTime.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.types.js","sourceRoot":"","sources":["../../src/dateTimes/DateTime.types.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAGE,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAGE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;CACZ,CAAC;AAIE,QAAA,SAAS,GAAG,qBAAa,CAAC;AAG1B,QAAA,SAAS,GAAG,qBAAa,CAAC;AAG1B,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGE,QAAA,IAAI,GAAG,uBAAe,CAAC;AAGvB,QAAA,KAAK,GAAG;IACnB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGE,QAAA,GAAG,GAAG,uBAAe,CAAC;AAGtB,QAAA,IAAI,GAAG,uBAAe,CAAC;AAGvB,QAAA,MAAM,GAAG,uBAAe,CAAC;AAGzB,QAAA,MAAM,GAAG,uBAAe,CAAC"}
1
+ {"version":3,"file":"DateTime.types.js","sourceRoot":"","sources":["../../src/dateTimes/DateTime.types.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAGE,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAGE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;CACZ,CAAC;AAIE,QAAA,SAAS,GAAG,qBAAa,CAAC;AAG1B,QAAA,SAAS,GAAG,qBAAa,CAAC;AAG1B,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGE,QAAA,IAAI,GAAG,uBAAe,CAAC;AAGvB,QAAA,KAAK,GAAG;IACnB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGE,QAAA,GAAG,GAAG,uBAAe,CAAC;AAGtB,QAAA,IAAI,GAAG,uBAAe,CAAC;AAGvB,QAAA,MAAM,GAAG,uBAAe,CAAC;AAGzB,QAAA,MAAM,GAAG,uBAAe,CAAC;AAuIzB,QAAA,cAAc,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;CACD,CAAC"}
@@ -1,5 +1,6 @@
1
- import { Locale } from "../Formatter.types";
2
- import { DateLabelOptions, DateTimeFormatPart, DateTimeOptions } from "./DateTime.types";
1
+ import { FormatterOptions } from "../Formatter.types";
2
+ import { DateLabelOptions, DateTimeFormatPart, DateTimeOptions, RelativeTimeOptions } from "./DateTime.types";
3
+ type LocaleType = FormatterOptions["locale"];
3
4
  export declare class DateTimeFormatter {
4
5
  formatter: Intl.DateTimeFormat;
5
6
  constructor(dateTimeOptions: DateTimeOptions);
@@ -7,10 +8,14 @@ export declare class DateTimeFormatter {
7
8
  formatDateTimeToParts(value: Date | number): DateTimeFormatPart[];
8
9
  formatDateTimeToLocalISOString(value: Date | number): string;
9
10
  getStartDayOfTheWeek(): number;
11
+ formatTimeDifference(rtf: Intl.RelativeTimeFormat, difference: number): string;
12
+ formatRelativeTime(relativeTimeOptions: RelativeTimeOptions): string;
10
13
  }
11
14
  export declare function formatDateTime(value: Date | number, dateTimeOptions: DateTimeOptions): string;
12
15
  export declare function formatDateTimeToParts(value: Date | number, dateTimeOptions: DateTimeOptions): DateTimeFormatPart[];
13
16
  export declare function formatDateTimeToLocalISOString(value: Date | number, dateTimeOptions: DateTimeOptions): string;
14
- export declare function getStartDayOfTheWeek(locale: Locale): number;
15
- export declare function getDatePartsWithPlaceholders(locale: Locale, dateLabels: DateLabelOptions): DateTimeFormatPart[];
16
- export declare function getDatePlaceholder(locale: Locale, dateLabels: DateLabelOptions): string;
17
+ export declare function getStartDayOfTheWeek(locale: LocaleType): number;
18
+ export declare function getDatePartsWithPlaceholders(locale: LocaleType, dateLabels: DateLabelOptions): DateTimeFormatPart[];
19
+ export declare function getDatePlaceholder(locale: LocaleType, dateLabels: DateLabelOptions): string;
20
+ export declare function formatRelativeTime(locale: LocaleType, relativeTimeOptions: RelativeTimeOptions): string;
21
+ export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDatePlaceholder = exports.getDatePartsWithPlaceholders = exports.getStartDayOfTheWeek = exports.formatDateTimeToLocalISOString = exports.formatDateTimeToParts = exports.formatDateTime = exports.DateTimeFormatter = void 0;
3
+ exports.formatRelativeTime = exports.getDatePlaceholder = exports.getDatePartsWithPlaceholders = exports.getStartDayOfTheWeek = exports.formatDateTimeToLocalISOString = exports.formatDateTimeToParts = exports.formatDateTime = exports.DateTimeFormatter = void 0;
4
4
  const weekstart_1 = require("weekstart");
5
5
  const DateTime_types_1 = require("./DateTime.types");
6
6
  const DateTimeUtils_1 = require("./DateTimeUtils");
@@ -33,6 +33,60 @@ class DateTimeFormatter {
33
33
  getStartDayOfTheWeek() {
34
34
  return (0, weekstart_1.getWeekStartByLocale)(this.formatter.resolvedOptions().locale);
35
35
  }
36
+ formatTimeDifference(rtf, difference) {
37
+ const isFuture = difference >= 0 ? 1 : -1;
38
+ difference = Math.abs(difference);
39
+ const seconds = difference;
40
+ if (seconds < 60) {
41
+ return rtf.format(isFuture * seconds, "second");
42
+ }
43
+ const minutes = Math.round(seconds / 60);
44
+ if (minutes < 60) {
45
+ return rtf.format(minutes * isFuture, "minute");
46
+ }
47
+ const hours = Math.round(minutes / 60);
48
+ if (hours < 24) {
49
+ return rtf.format(hours * isFuture, "hour");
50
+ }
51
+ const days = Math.round(hours / 24);
52
+ if (days < 7) {
53
+ return rtf.format(days * isFuture, "day");
54
+ }
55
+ const weeks = Math.round(days / 7);
56
+ if (weeks < 4.35) {
57
+ return rtf.format(weeks * isFuture, "week");
58
+ }
59
+ const months = Math.round(weeks / 4.35);
60
+ const quarters = Math.round(months / 4);
61
+ if (months < 12) {
62
+ if (quarters < 4) {
63
+ return rtf.format(quarters * isFuture, "quarter");
64
+ }
65
+ return rtf.format(months * isFuture, "month");
66
+ }
67
+ const years = Math.round(months / 12);
68
+ return rtf.format(years * isFuture, "year");
69
+ }
70
+ formatRelativeTime(relativeTimeOptions) {
71
+ const locale = this.formatter.resolvedOptions().locale;
72
+ const rtf = new Intl.RelativeTimeFormat(locale, { numeric: "auto" });
73
+ if (!relativeTimeOptions.value && relativeTimeOptions.value !== 0) {
74
+ throw new Error("Value is required");
75
+ }
76
+ if (typeof relativeTimeOptions.value === "number") {
77
+ if (relativeTimeOptions.unit === undefined) {
78
+ throw new Error("Unit is undefined.");
79
+ }
80
+ return rtf.format(relativeTimeOptions.value, relativeTimeOptions.unit);
81
+ }
82
+ const now = new Date();
83
+ const date = new Date(relativeTimeOptions.value);
84
+ if (isNaN(date.getTime())) {
85
+ throw new Error("Invalid date");
86
+ }
87
+ const difference = (relativeTimeOptions.value.getTime() - now.getTime()) / 1000;
88
+ return this.formatTimeDifference(rtf, difference);
89
+ }
36
90
  }
37
91
  exports.DateTimeFormatter = DateTimeFormatter;
38
92
  function formatDateTime(value, dateTimeOptions) {
@@ -57,7 +111,7 @@ function getStartDayOfTheWeek(locale) {
57
111
  exports.getStartDayOfTheWeek = getStartDayOfTheWeek;
58
112
  function getDatePartsWithPlaceholders(locale, dateLabels) {
59
113
  const dateTimeOptions = {
60
- locale: locale,
114
+ locale,
61
115
  year: DateTime_types_1.Year.NUMERIC,
62
116
  month: DateTime_types_1.Month.NUMERIC,
63
117
  day: DateTime_types_1.Day.NUMERIC,
@@ -85,4 +139,9 @@ function getDatePlaceholder(locale, dateLabels) {
85
139
  return parts.reduce((acc, curr) => acc + curr.value, "");
86
140
  }
87
141
  exports.getDatePlaceholder = getDatePlaceholder;
142
+ function formatRelativeTime(locale, relativeTimeOptions) {
143
+ const formatter = new DateTimeFormatter({ locale });
144
+ return formatter.formatRelativeTime(relativeTimeOptions);
145
+ }
146
+ exports.formatRelativeTime = formatRelativeTime;
88
147
  //# sourceMappingURL=DateTimeFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeFormatter.js","sourceRoot":"","sources":["../../src/dateTimes/DateTimeFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeFormatter.js","sourceRoot":"","sources":["../../src/dateTimes/DateTimeFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TmsSupportedLocale } from "../Formatter.types";
2
+ export declare const FALLBACK_LOCALE_MAP: Record<string, TmsSupportedLocale>;
3
+ export declare function getFallbackLocaleList(envLocale?: string): TmsSupportedLocale[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFallbackLocaleList = exports.FALLBACK_LOCALE_MAP = void 0;
4
+ const GetOverrideLocale_1 = require("../getOverrideLocale/GetOverrideLocale");
5
+ exports.FALLBACK_LOCALE_MAP = {
6
+ "es-ES": "es",
7
+ "fr-FR": "fr-CA",
8
+ };
9
+ function getFallbackLocaleList(envLocale = "en") {
10
+ const validLocale = (0, GetOverrideLocale_1.getOverrideLocale)(envLocale);
11
+ if (validLocale === "en") {
12
+ return ["en"];
13
+ }
14
+ if (exports.FALLBACK_LOCALE_MAP[validLocale]) {
15
+ return [validLocale, exports.FALLBACK_LOCALE_MAP[validLocale], "en"];
16
+ }
17
+ return [validLocale, "en"];
18
+ }
19
+ exports.getFallbackLocaleList = getFallbackLocaleList;
20
+ //# sourceMappingURL=GetFallbackLocaleList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFallbackLocaleList.js","sourceRoot":"","sources":["../../src/getFallbackLocaleList/GetFallbackLocaleList.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAK9D,QAAA,mBAAmB,GAAuC;IACrE,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,OAAO;CACjB,CAAC;AAOF,SAAgB,qBAAqB,CACnC,YAAoB,IAAI;IAGxB,MAAM,WAAW,GAAG,IAAA,qCAAiB,EAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,WAAW,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,2BAAmB,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,CAAC,WAAW,EAAE,2BAAmB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;KAC9D;IAED,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAfD,sDAeC"}
@@ -1,3 +1,3 @@
1
- import { Locale } from "./GetOverrideLocale.types";
2
- export declare function getOverrideLocale(envLocale: string): Locale;
3
- export declare function getFallbackLocaleList(envLocale?: string): Locale[];
1
+ import { TmsSupportedLocale } from "../Formatter.types";
2
+ export declare const OVERWRITE_LOCALE_MAP: Record<string, TmsSupportedLocale>;
3
+ export declare function getOverrideLocale(envLocale: string): TmsSupportedLocale;
@@ -1,54 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFallbackLocaleList = exports.getOverrideLocale = void 0;
4
- const SUPPORTED_LOCALES = [
5
- "de-DE",
6
- "en-AU",
7
- "en-CA",
8
- "en-GB",
9
- "en",
10
- "es-ES",
11
- "es",
12
- "fr-CA",
13
- "fr-FR",
14
- "is-IS",
15
- "ja-JP",
16
- "pseudo",
17
- "pt-BR",
18
- "th-TH",
19
- "zh-SG",
20
- ];
21
- const OVERWRITE_LOCALE_MAP = {
3
+ exports.getOverrideLocale = exports.OVERWRITE_LOCALE_MAP = void 0;
4
+ const Formatter_types_1 = require("../Formatter.types");
5
+ exports.OVERWRITE_LOCALE_MAP = {
22
6
  "en-AE": "en-GB",
23
7
  "en-SG": "en-GB",
24
8
  "es-419": "es",
25
9
  };
26
10
  function getOverrideLocale(envLocale) {
27
- if (SUPPORTED_LOCALES.includes(envLocale)) {
11
+ if (Formatter_types_1.TMS_SUPPORTED_LOCALES.includes(envLocale)) {
28
12
  return envLocale;
29
13
  }
30
- if (OVERWRITE_LOCALE_MAP[envLocale]) {
31
- return OVERWRITE_LOCALE_MAP[envLocale];
14
+ if (exports.OVERWRITE_LOCALE_MAP[envLocale]) {
15
+ return exports.OVERWRITE_LOCALE_MAP[envLocale];
32
16
  }
33
17
  return "en";
34
18
  }
35
19
  exports.getOverrideLocale = getOverrideLocale;
36
- const FALLBACK_LOCALE_MAP = {
37
- "es-ES": "es",
38
- "fr-FR": "fr-CA",
39
- };
40
- function getFallbackLocaleList(envLocale) {
41
- if (!envLocale) {
42
- return ["en"];
43
- }
44
- const validLocale = getOverrideLocale(envLocale);
45
- if (validLocale === "en") {
46
- return ["en"];
47
- }
48
- if (FALLBACK_LOCALE_MAP[validLocale]) {
49
- return [validLocale, FALLBACK_LOCALE_MAP[validLocale], "en"];
50
- }
51
- return [validLocale, "en"];
52
- }
53
- exports.getFallbackLocaleList = getFallbackLocaleList;
54
20
  //# sourceMappingURL=GetOverrideLocale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetOverrideLocale.js","sourceRoot":"","sources":["../../src/getOverrideLocale/GetOverrideLocale.ts"],"names":[],"mappings":";;;AAGA,MAAM,iBAAiB,GAAa;IAClC,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;AAMF,MAAM,oBAAoB,GAA2B;IACnD,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,IAAI;CACN,CAAC;AAOX,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAmB,CAAC,EAAE;QACnD,OAAO,SAAmB,CAAC;KAC5B;IACD,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE;QACnC,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;KACxC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AATD,8CASC;AAKD,MAAM,mBAAmB,GAA2B;IAClD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,OAAO;CACjB,CAAC;AAOF,SAAgB,qBAAqB,CAAC,SAAkB;IACtD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,WAAW,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IACD,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;KAC9D;IAED,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAfD,sDAeC"}
1
+ {"version":3,"file":"GetOverrideLocale.js","sourceRoot":"","sources":["../../src/getOverrideLocale/GetOverrideLocale.ts"],"names":[],"mappings":";;;AAAA,wDAA+E;AAOlE,QAAA,oBAAoB,GAAuC;IACtE,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,IAAI;CACN,CAAC;AAOX,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,IAAI,uCAAqB,CAAC,QAAQ,CAAC,SAA+B,CAAC,EAAE;QACnE,OAAO,SAA+B,CAAC;KACxC;IACD,IAAI,4BAAoB,CAAC,SAAS,CAAC,EAAE;QACnC,OAAO,4BAAoB,CAAC,SAAS,CAAC,CAAC;KACxC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AATD,8CASC"}
@@ -10,10 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getTranslationsFromLocale = void 0;
13
- const GetOverrideLocale_1 = require("../getOverrideLocale/GetOverrideLocale");
13
+ const GetFallbackLocaleList_1 = require("../getFallbackLocaleList/GetFallbackLocaleList");
14
14
  function getTranslationsFromLocale(envLocale, localeLoader) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
- const languagesToLoad = (0, GetOverrideLocale_1.getFallbackLocaleList)(envLocale);
16
+ const languagesToLoad = (0, GetFallbackLocaleList_1.getFallbackLocaleList)(envLocale);
17
17
  const translationPromises = languagesToLoad.map((lang) => localeLoader(lang)
18
18
  .then((module) => ({
19
19
  [lang]: module.default,
@@ -1 +1 @@
1
- {"version":3,"file":"GetTranslationsFromLocale.js","sourceRoot":"","sources":["../../src/getTranslationsFromLocale/GetTranslationsFromLocale.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA+E;AAe/E,SAAsB,yBAAyB,CAC7C,SAA6B,EAC7B,YAAkE;;QAElE,MAAM,eAAe,GAAG,IAAA,yCAAqB,EAAC,SAAS,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,IAAI,CAAC;aACf,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;aACF,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACvB,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjE,OAAO,iBAAiB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,YAAY,EAAG,EACpD,EAAE,CACH,CAAC;IACJ,CAAC;CAAA;AApBD,8DAoBC"}
1
+ {"version":3,"file":"GetTranslationsFromLocale.js","sourceRoot":"","sources":["../../src/getTranslationsFromLocale/GetTranslationsFromLocale.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0FAAuF;AAevF,SAAsB,yBAAyB,CAC7C,SAA6B,EAC7B,YAAkE;;QAElE,MAAM,eAAe,GAAG,IAAA,6CAAqB,EAAC,SAAS,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,IAAI,CAAC;aACf,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;aACF,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACvB,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjE,OAAO,iBAAiB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,YAAY,EAAG,EACpD,EAAE,CACH,CAAC;IACJ,CAAC;CAAA;AApBD,8DAoBC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  export { NumberFormatter, formatNumber, formatNumberToParts, parseNumber, getNumberSeparators, } from "./numbers/NumberFormatter";
2
2
  export { CurrencyFormatter, formatCurrency, formatCurrencyToParts, parseCurrency, getCurrencySeparators, getSupportedCurrencies, } from "./numbers/CurrencyFormatter";
3
- export { DateTimeFormatter, formatDateTime, formatDateTimeToLocalISOString, formatDateTimeToParts, getStartDayOfTheWeek, getDatePartsWithPlaceholders, getDatePlaceholder, } from "./dateTimes/DateTimeFormatter";
4
- export { getOverrideLocale, getFallbackLocaleList, } from "./getOverrideLocale/GetOverrideLocale";
3
+ export { DateTimeFormatter, formatDateTime, formatDateTimeToLocalISOString, formatDateTimeToParts, getStartDayOfTheWeek, getDatePartsWithPlaceholders, getDatePlaceholder, formatRelativeTime, } from "./dateTimes/DateTimeFormatter";
4
+ export { getOverrideLocale, OVERWRITE_LOCALE_MAP, } from "./getOverrideLocale/GetOverrideLocale";
5
+ export { getFallbackLocaleList, FALLBACK_LOCALE_MAP, } from "./getFallbackLocaleList/GetFallbackLocaleList";
5
6
  export { type Translations, getTranslationsFromLocale, } from "./getTranslationsFromLocale/GetTranslationsFromLocale";
6
7
  export type { Percent, NumberOptions, NumberFormatPart, Separators, } from "./numbers/Number.types";
7
8
  export type { CurrencyDisplay, CurrencySign, CurrencyOptions, } from "./numbers/Currency.types";
8
- export type { DateTimeStyle, NumericTwoDigit, DateStyle, TimeStyle, TimeZoneName, Weekday, Year, Month, Day, Hour, Minute, Second, DateLabelOptions, DateTimeOptionsBasic, DateTimeOptionsStyle, DateTimeOptionsComponentsAll, DateTimeOptionsComponentsWeekdayYearMonthDay, DateTimeOptionsComponentsYearMonthDay, DateTimeOptionsComponentsYearMonth, DateTimeOptionsComponentsMonthDay, DateTimeOptionsComponentsHourMinuteSecond, DateTimeOptionsComponentsHourMinute, DateTimeOptions, DateTimeFormatPart, } from "./dateTimes/DateTime.types";
9
- export type { Locale, FormatterOptions } from "./Formatter.types";
9
+ export type { DateTimeStyle, NumericTwoDigit, DateStyle, TimeStyle, TimeZoneName, Weekday, Year, Month, Day, Hour, Minute, Second, DateLabelOptions, DateTimeOptionsBasic, DateTimeOptionsStyle, DateTimeOptionsComponentsAll, DateTimeOptionsComponentsWeekdayYearMonthDay, DateTimeOptionsComponentsYearMonthDay, DateTimeOptionsComponentsYearMonth, DateTimeOptionsComponentsMonthDay, DateTimeOptionsComponentsHourMinuteSecond, DateTimeOptionsComponentsHourMinute, DateTimeOptions, DateTimeFormatPart, RelativeTimeOptions, } from "./dateTimes/DateTime.types";
10
+ export { type DatesAndNumbersLocale as Locale, type FormatterOptions, TMS_SUPPORTED_LOCALES, type TmsSupportedLocale, ALL_LOCALES, type AllLocale, type MapLocalesToTranslations, } from "./Formatter.types";
package/dist/index.js CHANGED
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getTranslationsFromLocale = exports.getFallbackLocaleList = exports.getOverrideLocale = exports.getDatePlaceholder = exports.getDatePartsWithPlaceholders = exports.getStartDayOfTheWeek = exports.formatDateTimeToParts = exports.formatDateTimeToLocalISOString = exports.formatDateTime = exports.DateTimeFormatter = exports.getSupportedCurrencies = exports.getCurrencySeparators = exports.parseCurrency = exports.formatCurrencyToParts = exports.formatCurrency = exports.CurrencyFormatter = exports.getNumberSeparators = exports.parseNumber = exports.formatNumberToParts = exports.formatNumber = exports.NumberFormatter = void 0;
3
+ exports.ALL_LOCALES = exports.TMS_SUPPORTED_LOCALES = exports.getTranslationsFromLocale = exports.FALLBACK_LOCALE_MAP = exports.getFallbackLocaleList = exports.OVERWRITE_LOCALE_MAP = exports.getOverrideLocale = exports.formatRelativeTime = exports.getDatePlaceholder = exports.getDatePartsWithPlaceholders = exports.getStartDayOfTheWeek = exports.formatDateTimeToParts = exports.formatDateTimeToLocalISOString = exports.formatDateTime = exports.DateTimeFormatter = exports.getSupportedCurrencies = exports.getCurrencySeparators = exports.parseCurrency = exports.formatCurrencyToParts = exports.formatCurrency = exports.CurrencyFormatter = exports.getNumberSeparators = exports.parseNumber = exports.formatNumberToParts = exports.formatNumber = exports.NumberFormatter = void 0;
13
4
  var NumberFormatter_1 = require("./numbers/NumberFormatter");
14
5
  Object.defineProperty(exports, "NumberFormatter", { enumerable: true, get: function () { return NumberFormatter_1.NumberFormatter; } });
15
6
  Object.defineProperty(exports, "formatNumber", { enumerable: true, get: function () { return NumberFormatter_1.formatNumber; } });
@@ -31,12 +22,16 @@ Object.defineProperty(exports, "formatDateTimeToParts", { enumerable: true, get:
31
22
  Object.defineProperty(exports, "getStartDayOfTheWeek", { enumerable: true, get: function () { return DateTimeFormatter_1.getStartDayOfTheWeek; } });
32
23
  Object.defineProperty(exports, "getDatePartsWithPlaceholders", { enumerable: true, get: function () { return DateTimeFormatter_1.getDatePartsWithPlaceholders; } });
33
24
  Object.defineProperty(exports, "getDatePlaceholder", { enumerable: true, get: function () { return DateTimeFormatter_1.getDatePlaceholder; } });
25
+ Object.defineProperty(exports, "formatRelativeTime", { enumerable: true, get: function () { return DateTimeFormatter_1.formatRelativeTime; } });
34
26
  var GetOverrideLocale_1 = require("./getOverrideLocale/GetOverrideLocale");
35
27
  Object.defineProperty(exports, "getOverrideLocale", { enumerable: true, get: function () { return GetOverrideLocale_1.getOverrideLocale; } });
36
- Object.defineProperty(exports, "getFallbackLocaleList", { enumerable: true, get: function () { return GetOverrideLocale_1.getFallbackLocaleList; } });
28
+ Object.defineProperty(exports, "OVERWRITE_LOCALE_MAP", { enumerable: true, get: function () { return GetOverrideLocale_1.OVERWRITE_LOCALE_MAP; } });
29
+ var GetFallbackLocaleList_1 = require("./getFallbackLocaleList/GetFallbackLocaleList");
30
+ Object.defineProperty(exports, "getFallbackLocaleList", { enumerable: true, get: function () { return GetFallbackLocaleList_1.getFallbackLocaleList; } });
31
+ Object.defineProperty(exports, "FALLBACK_LOCALE_MAP", { enumerable: true, get: function () { return GetFallbackLocaleList_1.FALLBACK_LOCALE_MAP; } });
37
32
  var GetTranslationsFromLocale_1 = require("./getTranslationsFromLocale/GetTranslationsFromLocale");
38
33
  Object.defineProperty(exports, "getTranslationsFromLocale", { enumerable: true, get: function () { return GetTranslationsFromLocale_1.getTranslationsFromLocale; } });
39
- exports.r2gSmokeTest = () => __awaiter(void 0, void 0, void 0, function* () {
40
- return Promise.resolve(true);
41
- });
34
+ var Formatter_types_1 = require("./Formatter.types");
35
+ Object.defineProperty(exports, "TMS_SUPPORTED_LOCALES", { enumerable: true, get: function () { return Formatter_types_1.TMS_SUPPORTED_LOCALES; } });
36
+ Object.defineProperty(exports, "ALL_LOCALES", { enumerable: true, get: function () { return Formatter_types_1.ALL_LOCALES; } });
42
37
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAMmC;AALjC,kHAAA,eAAe,OAAA;AACf,+GAAA,YAAY,OAAA;AACZ,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,sHAAA,mBAAmB,OAAA;AAErB,iEAOqC;AANnC,sHAAA,iBAAiB,OAAA;AACjB,mHAAA,cAAc,OAAA;AACd,0HAAA,qBAAqB,OAAA;AACrB,kHAAA,aAAa,OAAA;AACb,0HAAA,qBAAqB,OAAA;AACrB,2HAAA,sBAAsB,OAAA;AAExB,mEAQuC;AAPrC,sHAAA,iBAAiB,OAAA;AACjB,mHAAA,cAAc,OAAA;AACd,mIAAA,8BAA8B,OAAA;AAC9B,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,iIAAA,4BAA4B,OAAA;AAC5B,uHAAA,kBAAkB,OAAA;AAEpB,2EAG+C;AAF7C,sHAAA,iBAAiB,OAAA;AACjB,0HAAA,qBAAqB,OAAA;AAEvB,mGAG+D;AAD7D,sIAAA,yBAAyB,OAAA;AAwC3B,OAAO,CAAC,YAAY,GAAG,GAA2B,EAAE;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAMmC;AALjC,kHAAA,eAAe,OAAA;AACf,+GAAA,YAAY,OAAA;AACZ,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,sHAAA,mBAAmB,OAAA;AAErB,iEAOqC;AANnC,sHAAA,iBAAiB,OAAA;AACjB,mHAAA,cAAc,OAAA;AACd,0HAAA,qBAAqB,OAAA;AACrB,kHAAA,aAAa,OAAA;AACb,0HAAA,qBAAqB,OAAA;AACrB,2HAAA,sBAAsB,OAAA;AAExB,mEASuC;AARrC,sHAAA,iBAAiB,OAAA;AACjB,mHAAA,cAAc,OAAA;AACd,mIAAA,8BAA8B,OAAA;AAC9B,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,iIAAA,4BAA4B,OAAA;AAC5B,uHAAA,kBAAkB,OAAA;AAClB,uHAAA,kBAAkB,OAAA;AAEpB,2EAG+C;AAF7C,sHAAA,iBAAiB,OAAA;AACjB,yHAAA,oBAAoB,OAAA;AAEtB,uFAGuD;AAFrD,8HAAA,qBAAqB,OAAA;AACrB,4HAAA,mBAAmB,OAAA;AAErB,mGAG+D;AAD7D,sIAAA,yBAAyB,OAAA;AAyC3B,qDAQ2B;AALzB,wHAAA,qBAAqB,OAAA;AAErB,8GAAA,WAAW,OAAA"}
@@ -1,4 +1,4 @@
1
- import { Locale } from "../Formatter.types";
1
+ import { DatesAndNumbersLocale } from "../Formatter.types";
2
2
  import { NumberOptions, NumberFormatPart, Separators, Percent } from "./Number.types";
3
3
  export declare class NumberFormatter {
4
4
  formatter: Intl.NumberFormat;
@@ -12,4 +12,4 @@ export declare class NumberFormatter {
12
12
  export declare function formatNumber(value: number | string, numberOptions: NumberOptions): string;
13
13
  export declare function formatNumberToParts(value: number, numberOptions: NumberOptions): NumberFormatPart[];
14
14
  export declare function parseNumber(value: string, numberOptions: NumberOptions): number;
15
- export declare function getNumberSeparators(locale: Locale): Separators;
15
+ export declare function getNumberSeparators(locale: DatesAndNumbersLocale): Separators;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../src/numbers/NumberFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../src/numbers/NumberFormatter.ts"],"names":[],"mappings":"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"}