@formatjs/intl-datetimeformat 1.2.2 → 1.3.3

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 (38) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/core.d.ts +7 -0
  3. package/dist/core.d.ts.map +1 -1
  4. package/dist/core.js +14 -27
  5. package/dist/core.js.map +1 -1
  6. package/dist/polyfill-with-locales-for-test262.min.js +19 -34
  7. package/dist/polyfill-with-locales-for-test262.min.js.map +1 -1
  8. package/dist/polyfill.js +35 -5
  9. package/dist/polyfill.js.map +1 -1
  10. package/dist/to_locale_string.d.ts +9 -0
  11. package/dist/to_locale_string.d.ts.map +1 -0
  12. package/dist/to_locale_string.js +24 -0
  13. package/dist/to_locale_string.js.map +1 -0
  14. package/dist/umd/intl-datetimeformat.js +14 -27
  15. package/dist/umd/intl-datetimeformat.js.map +1 -1
  16. package/dist/umd/intl-datetimeformat.min.js +1 -1
  17. package/dist/umd/intl-datetimeformat.min.js.map +1 -1
  18. package/dist/umd/polyfill.js +61 -32
  19. package/dist/umd/polyfill.js.map +1 -1
  20. package/lib/core.d.ts +7 -0
  21. package/lib/core.d.ts.map +1 -1
  22. package/lib/core.js +14 -28
  23. package/lib/core.js.map +1 -1
  24. package/lib/intl-datetimeformat.d.ts +8 -0
  25. package/lib/polyfill.js +35 -5
  26. package/lib/polyfill.js.map +1 -1
  27. package/lib/to_locale_string.d.ts +9 -0
  28. package/lib/to_locale_string.d.ts.map +1 -0
  29. package/lib/to_locale_string.js +19 -0
  30. package/lib/to_locale_string.js.map +1 -0
  31. package/lib/tsdoc-metadata.json +1 -1
  32. package/package.json +7 -6
  33. package/src/core.ts +15 -28
  34. package/src/polyfill.ts +48 -5
  35. package/src/to_locale_string.ts +40 -0
  36. package/dist/tsdoc-metadata.json +0 -11
  37. package/dist/umd/polyfill-with-locales.js +0 -1645
  38. package/dist/umd/polyfill-with-locales.js.map +0 -1
package/lib/core.d.ts CHANGED
@@ -37,6 +37,13 @@ export interface ResolvedDateTimeFormatOptions {
37
37
  hourCycle: string;
38
38
  numberingSystem: string;
39
39
  }
40
+ /**
41
+ * https://tc39.es/ecma402/#sec-todatetimeoptions
42
+ * @param options
43
+ * @param required
44
+ * @param defaults
45
+ */
46
+ export declare function toDateTimeOptions(options?: DateTimeFormatOptions | null, required?: string, defaults?: string): DateTimeFormatOptions;
40
47
  export declare function basicFormatMatcherScore(options: DateTimeFormatOptions, format: Formats): number;
41
48
  /**
42
49
  * Credit: https://github.com/andyearnshaw/Intl.js/blob/0958dc1ad8153f1056653ea22b8208f0df289a4e/src/12.datetimeformat.js#L611
package/lib/core.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/lib/core.js CHANGED
@@ -269,7 +269,7 @@ function initializeDateTimeFormat(dtf, locales, opts) {
269
269
  * @param required
270
270
  * @param defaults
271
271
  */
272
- function toDateTimeOptions(options, required, defaults) {
272
+ export function toDateTimeOptions(options, required, defaults) {
273
273
  if (options === undefined) {
274
274
  options = null;
275
275
  }
@@ -710,6 +710,15 @@ function formatDateTimeParts(dtf, x) {
710
710
  return partitionDateTimePattern(dtf, x);
711
711
  }
712
712
  var MS_PER_DAY = 86400000;
713
+ /**
714
+ * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo
715
+ * @param x
716
+ * @param y
717
+ * @return k of the same sign as y
718
+ */
719
+ function mod(x, y) {
720
+ return x - Math.floor(x / y) * y;
721
+ }
713
722
  /**
714
723
  * https://tc39.es/ecma262/#eqn-Day
715
724
  * @param t
@@ -722,7 +731,7 @@ function day(t) {
722
731
  * @param t
723
732
  */
724
733
  function weekDay(t) {
725
- return (day(t) + 4) % 7;
734
+ return mod(day(t) + 4, 7);
726
735
  }
727
736
  function dayFromYear(y) {
728
737
  return (365 * (y - 1970) +
@@ -849,36 +858,13 @@ var MS_PER_SECOND = 1e3;
849
858
  var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;
850
859
  var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;
851
860
  function hourFromTime(t) {
852
- var hour = Math.floor(t / MS_PER_HOUR) % HOURS_PER_DAY;
853
- // Technically mod should return positive if y is positive
854
- // per https://tc39.es/ecma262/#eqn-modulo but it doesn't...
855
- if (objectIs(hour, -0)) {
856
- return 0;
857
- }
858
- if (hour < 0) {
859
- return 24 + hour;
860
- }
861
- return hour;
861
+ return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);
862
862
  }
863
863
  function minFromTime(t) {
864
- var mins = Math.floor(t / MS_PER_MINUTE) % MINUTES_PER_HOUR;
865
- if (objectIs(mins, -0)) {
866
- return 0;
867
- }
868
- if (mins < 0) {
869
- return 60 + mins;
870
- }
871
- return mins;
864
+ return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);
872
865
  }
873
866
  function secFromTime(t) {
874
- var secs = Math.floor(t / MS_PER_SECOND) % SECONDS_PER_MINUTE;
875
- if (objectIs(secs, -0)) {
876
- return 0;
877
- }
878
- if (secs < 0) {
879
- return 60 + secs;
880
- }
881
- return secs;
867
+ return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);
882
868
  }
883
869
  function getApplicableZoneData(t, timeZone) {
884
870
  var tzData = DateTimeFormat.tzData;
package/lib/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -146,6 +146,14 @@ declare type TimeZoneNameData = Record<string, {
146
146
  short?: [string, string];
147
147
  }>;
148
148
 
149
+ /**
150
+ * https://tc39.es/ecma402/#sec-todatetimeoptions
151
+ * @param options
152
+ * @param required
153
+ * @param defaults
154
+ */
155
+ export declare function toDateTimeOptions(options?: DateTimeFormatOptions | null, required?: string, defaults?: string): DateTimeFormatOptions;
156
+
149
157
  declare type UnpackedZoneData = [number, string, number, boolean];
150
158
 
151
159
  export { }
package/lib/polyfill.js CHANGED
@@ -1,13 +1,43 @@
1
1
  import { DateTimeFormat } from '.';
2
2
  import { defineProperty } from '@formatjs/intl-utils';
3
- function supportsDateStyle() {
4
- return !!new Intl.DateTimeFormat(undefined, {
5
- dateStyle: 'short',
6
- }).resolvedOptions().dateStyle;
3
+ import { toLocaleString as _toLocaleString, toLocaleTimeString as _toLocaleTimeString, } from './to_locale_string';
4
+ // function supportsDateStyle() {
5
+ // return !!(new Intl.DateTimeFormat(undefined, {
6
+ // dateStyle: 'short',
7
+ // } as any).resolvedOptions() as any).dateStyle;
8
+ // }
9
+ /**
10
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=865351
11
+ */
12
+ function hasChromeLt71Bug() {
13
+ return (new Intl.DateTimeFormat('en', {
14
+ hourCycle: 'h11',
15
+ hour: 'numeric',
16
+ }).formatToParts(0)[2].type !== 'dayPeriod');
7
17
  }
8
18
  if (!('DateTimeFormat' in Intl) ||
9
19
  !('formatToParts' in Intl.DateTimeFormat.prototype) ||
10
- !supportsDateStyle()) {
20
+ hasChromeLt71Bug()
21
+ // !supportsDateStyle()
22
+ ) {
11
23
  defineProperty(Intl, 'DateTimeFormat', { value: DateTimeFormat });
24
+ defineProperty(Date.prototype, 'toLocaleString', {
25
+ value: function toLocaleString(locales, options) {
26
+ return _toLocaleString(this, locales, options);
27
+ },
28
+ });
29
+ // defineProperty(Date.prototype, 'toLocaleDateString', {
30
+ // value: function toLocaleDateString(
31
+ // locales?: string | string[],
32
+ // options?: DateTimeFormatOptions
33
+ // ) {
34
+ // return _toLocaleDateString(this, locales, options);
35
+ // },
36
+ // });
37
+ defineProperty(Date.prototype, 'toLocaleTimeString', {
38
+ value: function toLocaleTimeString(locales, options) {
39
+ return _toLocaleTimeString(this, locales, options);
40
+ },
41
+ });
12
42
  }
13
43
  //# sourceMappingURL=polyfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,SAAS,iBAAiB;IACxB,OAAO,CAAC,CAAE,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QAC3C,SAAS,EAAE,OAAO;KACZ,CAAC,CAAC,eAAe,EAAU,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,IACE,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC3B,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;IACnD,CAAC,iBAAiB,EAAE,EACpB;IACA,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAC;CACjE"}
1
+ {"version":3,"file":"polyfill.js","sourceRoot":"","sources":["../src/polyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,cAAc,IAAI,eAAe,EAEjC,kBAAkB,IAAI,mBAAmB,GAC1C,MAAM,oBAAoB,CAAC;AAE5B,iCAAiC;AACjC,mDAAmD;AACnD,0BAA0B;AAC1B,mDAAmD;AACnD,IAAI;AAEJ;;GAEG;AACH,SAAS,gBAAgB;IACvB,OAAO,CACL,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;QAC5B,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS;KACT,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CACnD,CAAC;AACJ,CAAC;AAED,IACE,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC3B,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;IACnD,gBAAgB,EAAE;AAClB,uBAAuB;EACvB;IACA,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAC;IAChE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE;QAC/C,KAAK,EAAE,SAAS,cAAc,CAC5B,OAA2B,EAC3B,OAA+B;YAE/B,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;IACH,yDAAyD;IACzD,wCAAwC;IACxC,mCAAmC;IACnC,sCAAsC;IACtC,QAAQ;IACR,0DAA0D;IAC1D,OAAO;IACP,MAAM;IACN,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE;QACnD,KAAK,EAAE,SAAS,kBAAkB,CAChC,OAA2B,EAC3B,OAA+B;YAE/B,OAAO,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { DateTimeFormatOptions } from './types';
2
+ /**
3
+ * Number.prototype.toLocaleString ponyfill
4
+ * https://tc39.es/ecma402/#sup-number.prototype.tolocalestring
5
+ */
6
+ export declare function toLocaleString(x?: Date | number, locales?: string | string[], options?: DateTimeFormatOptions): string;
7
+ export declare function toLocaleDateString(x?: Date | number, locales?: string | string[], options?: DateTimeFormatOptions): string;
8
+ export declare function toLocaleTimeString(x?: Date | number, locales?: string | string[], options?: DateTimeFormatOptions): string;
9
+ //# sourceMappingURL=to_locale_string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to_locale_string.d.ts","sourceRoot":"","sources":["../src/to_locale_string.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAGR;AAED,wBAAgB,kBAAkB,CAChC,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAMR;AAED,wBAAgB,kBAAkB,CAChC,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAMR"}
@@ -0,0 +1,19 @@
1
+ // eslint-disable-next-line import/no-cycle
2
+ import { DateTimeFormat, toDateTimeOptions } from './core';
3
+ /**
4
+ * Number.prototype.toLocaleString ponyfill
5
+ * https://tc39.es/ecma402/#sup-number.prototype.tolocalestring
6
+ */
7
+ export function toLocaleString(x, locales, options) {
8
+ var dtf = new DateTimeFormat(locales, options);
9
+ return dtf.format(x);
10
+ }
11
+ export function toLocaleDateString(x, locales, options) {
12
+ var dtf = new DateTimeFormat(locales, toDateTimeOptions(options, 'date', 'date'));
13
+ return dtf.format(x);
14
+ }
15
+ export function toLocaleTimeString(x, locales, options) {
16
+ var dtf = new DateTimeFormat(locales, toDateTimeOptions(options, 'time', 'time'));
17
+ return dtf.format(x);
18
+ }
19
+ //# sourceMappingURL=to_locale_string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to_locale_string.js","sourceRoot":"","sources":["../src/to_locale_string.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,QAAQ,CAAC;AAGzD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,CAAiB,EACjB,OAA2B,EAC3B,OAA+B;IAE/B,IAAM,GAAG,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,CAAiB,EACjB,OAA2B,EAC3B,OAA+B;IAE/B,IAAM,GAAG,GAAG,IAAI,cAAc,CAC5B,OAAO,EACP,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAC3C,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,CAAiB,EACjB,OAA2B,EAC3B,OAA+B;IAE/B,IAAM,GAAG,GAAG,IAAI,cAAc,CAC5B,OAAO,EACP,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAC3C,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.8.0"
8
+ "packageVersion": "7.8.12"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/intl-datetimeformat",
3
- "version": "1.2.2",
3
+ "version": "1.3.3",
4
4
  "description": "Intl.DateTimeFormat polyfill",
5
5
  "main": "dist/index.js",
6
6
  "types": "lib/intl-datetimeformat.d.ts",
@@ -9,6 +9,7 @@
9
9
  "zone": "ts-node scripts/zone --input iana-data/zone.tab --output src/zones.ts",
10
10
  "zdump": "ts-node scripts/zdump --output data.zdump --zicDir temp-zic",
11
11
  "zdump-gen": "yarn zic && yarn zdump",
12
+ "clean": "rimraf dist dist-es6 lib src/locales.ts *.tsbuildinfo",
12
13
  "process-zdump": "ts-node scripts/process-zdump --output src/data.ts --input data.zdump",
13
14
  "process-zdump-golden": "ts-node scripts/process-zdump --output src/data-golden.ts --golden --input data.zdump",
14
15
  "process-zdump-polyfill": "ts-node scripts/process-zdump --polyfill --output dist/add-all-tz.js --input data.zdump",
@@ -19,7 +20,7 @@
19
20
  "rollup": "NODE_OPTIONS=--max-old-space-size=8192 rollup -c rollup.config.js",
20
21
  "build": "yarn process-zdump-polyfill && yarn process-zdump-golden-polyfill && yarn cldr && yarn compile && api-extractor run --local && yarn rollup",
21
22
  "test": "cross-env cross-env NODE_ENV=test jest",
22
- "cldr": "ts-node scripts/cldr",
23
+ "cldr": "ts-node scripts/cldr --outDir dist/locale-data --test262MainFile dist-es6/test262-main.js",
23
24
  "test262": "cross-env ts-node tests/runner"
24
25
  },
25
26
  "repository": {
@@ -46,11 +47,11 @@
46
47
  ],
47
48
  "homepage": "https://github.com/formatjs/formatjs#readme",
48
49
  "dependencies": {
49
- "@formatjs/intl-getcanonicallocales": "1.2.6",
50
- "@formatjs/intl-utils": "^3.4.1"
50
+ "@formatjs/intl-getcanonicallocales": "^1.2.7",
51
+ "@formatjs/intl-utils": "^3.5.0"
51
52
  },
52
53
  "devDependencies": {
53
- "@formatjs/intl-locale": "^2.1.8",
54
+ "@formatjs/intl-locale": "^2.1.9",
54
55
  "@types/node-fetch": "^2.5.7",
55
56
  "@types/tar": "^4.0.3",
56
57
  "cldr-core": "^36.0.0",
@@ -58,5 +59,5 @@
58
59
  "node-fetch": "^2.6.0",
59
60
  "tar": "^6.0.2"
60
61
  },
61
- "gitHead": "a0b31ec629529b1ecaa149a9b05ab03d36dab36c"
62
+ "gitHead": "76e649f2f673c1344fe29ccf739d4b4ebd573ead"
62
63
  }
package/src/core.ts CHANGED
@@ -445,7 +445,7 @@ function initializeDateTimeFormat(
445
445
  * @param required
446
446
  * @param defaults
447
447
  */
448
- function toDateTimeOptions(
448
+ export function toDateTimeOptions(
449
449
  options?: DateTimeFormatOptions | null,
450
450
  required?: string,
451
451
  defaults?: string
@@ -933,6 +933,16 @@ function formatDateTimeParts(dtf: DateTimeFormat, x: number) {
933
933
 
934
934
  const MS_PER_DAY = 86400000;
935
935
 
936
+ /**
937
+ * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo
938
+ * @param x
939
+ * @param y
940
+ * @return k of the same sign as y
941
+ */
942
+ function mod(x: number, y: number): number {
943
+ return x - Math.floor(x / y) * y;
944
+ }
945
+
936
946
  /**
937
947
  * https://tc39.es/ecma262/#eqn-Day
938
948
  * @param t
@@ -946,7 +956,7 @@ function day(t: number) {
946
956
  * @param t
947
957
  */
948
958
  function weekDay(t: number) {
949
- return (day(t) + 4) % 7;
959
+ return mod(day(t) + 4, 7);
950
960
  }
951
961
 
952
962
  function dayFromYear(y: number) {
@@ -1085,38 +1095,15 @@ const MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;
1085
1095
  const MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;
1086
1096
 
1087
1097
  function hourFromTime(t: number) {
1088
- const hour = Math.floor(t / MS_PER_HOUR) % HOURS_PER_DAY;
1089
- // Technically mod should return positive if y is positive
1090
- // per https://tc39.es/ecma262/#eqn-modulo but it doesn't...
1091
- if (objectIs(hour, -0)) {
1092
- return 0;
1093
- }
1094
- if (hour < 0) {
1095
- return 24 + hour;
1096
- }
1097
- return hour;
1098
+ return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);
1098
1099
  }
1099
1100
 
1100
1101
  function minFromTime(t: number) {
1101
- const mins = Math.floor(t / MS_PER_MINUTE) % MINUTES_PER_HOUR;
1102
- if (objectIs(mins, -0)) {
1103
- return 0;
1104
- }
1105
- if (mins < 0) {
1106
- return 60 + mins;
1107
- }
1108
- return mins;
1102
+ return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);
1109
1103
  }
1110
1104
 
1111
1105
  function secFromTime(t: number) {
1112
- const secs = Math.floor(t / MS_PER_SECOND) % SECONDS_PER_MINUTE;
1113
- if (objectIs(secs, -0)) {
1114
- return 0;
1115
- }
1116
- if (secs < 0) {
1117
- return 60 + secs;
1118
- }
1119
- return secs;
1106
+ return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);
1120
1107
  }
1121
1108
 
1122
1109
  function getApplicableZoneData(t: number, timeZone: string): [number, boolean] {
package/src/polyfill.ts CHANGED
@@ -1,16 +1,59 @@
1
1
  import {DateTimeFormat} from '.';
2
2
  import {defineProperty} from '@formatjs/intl-utils';
3
+ import {DateTimeFormatOptions} from './types';
4
+ import {
5
+ toLocaleString as _toLocaleString,
6
+ toLocaleDateString as _toLocaleDateString,
7
+ toLocaleTimeString as _toLocaleTimeString,
8
+ } from './to_locale_string';
3
9
 
4
- function supportsDateStyle() {
5
- return !!(new Intl.DateTimeFormat(undefined, {
6
- dateStyle: 'short',
7
- } as any).resolvedOptions() as any).dateStyle;
10
+ // function supportsDateStyle() {
11
+ // return !!(new Intl.DateTimeFormat(undefined, {
12
+ // dateStyle: 'short',
13
+ // } as any).resolvedOptions() as any).dateStyle;
14
+ // }
15
+
16
+ /**
17
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=865351
18
+ */
19
+ function hasChromeLt71Bug() {
20
+ return (
21
+ new Intl.DateTimeFormat('en', {
22
+ hourCycle: 'h11',
23
+ hour: 'numeric',
24
+ } as any).formatToParts(0)[2].type !== 'dayPeriod'
25
+ );
8
26
  }
9
27
 
10
28
  if (
11
29
  !('DateTimeFormat' in Intl) ||
12
30
  !('formatToParts' in Intl.DateTimeFormat.prototype) ||
13
- !supportsDateStyle()
31
+ hasChromeLt71Bug()
32
+ // !supportsDateStyle()
14
33
  ) {
15
34
  defineProperty(Intl, 'DateTimeFormat', {value: DateTimeFormat});
35
+ defineProperty(Date.prototype, 'toLocaleString', {
36
+ value: function toLocaleString(
37
+ locales?: string | string[],
38
+ options?: DateTimeFormatOptions
39
+ ) {
40
+ return _toLocaleString(this, locales, options);
41
+ },
42
+ });
43
+ // defineProperty(Date.prototype, 'toLocaleDateString', {
44
+ // value: function toLocaleDateString(
45
+ // locales?: string | string[],
46
+ // options?: DateTimeFormatOptions
47
+ // ) {
48
+ // return _toLocaleDateString(this, locales, options);
49
+ // },
50
+ // });
51
+ defineProperty(Date.prototype, 'toLocaleTimeString', {
52
+ value: function toLocaleTimeString(
53
+ locales?: string | string[],
54
+ options?: DateTimeFormatOptions
55
+ ) {
56
+ return _toLocaleTimeString(this, locales, options);
57
+ },
58
+ });
16
59
  }
@@ -0,0 +1,40 @@
1
+ // eslint-disable-next-line import/no-cycle
2
+ import {DateTimeFormat, toDateTimeOptions} from './core';
3
+ import {DateTimeFormatOptions} from './types';
4
+
5
+ /**
6
+ * Number.prototype.toLocaleString ponyfill
7
+ * https://tc39.es/ecma402/#sup-number.prototype.tolocalestring
8
+ */
9
+ export function toLocaleString(
10
+ x?: Date | number,
11
+ locales?: string | string[],
12
+ options?: DateTimeFormatOptions
13
+ ): string {
14
+ const dtf = new DateTimeFormat(locales, options);
15
+ return dtf.format(x);
16
+ }
17
+
18
+ export function toLocaleDateString(
19
+ x?: Date | number,
20
+ locales?: string | string[],
21
+ options?: DateTimeFormatOptions
22
+ ): string {
23
+ const dtf = new DateTimeFormat(
24
+ locales,
25
+ toDateTimeOptions(options, 'date', 'date')
26
+ );
27
+ return dtf.format(x);
28
+ }
29
+
30
+ export function toLocaleTimeString(
31
+ x?: Date | number,
32
+ locales?: string | string[],
33
+ options?: DateTimeFormatOptions
34
+ ): string {
35
+ const dtf = new DateTimeFormat(
36
+ locales,
37
+ toDateTimeOptions(options, 'time', 'time')
38
+ );
39
+ return dtf.format(x);
40
+ }
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.8.0"
9
- }
10
- ]
11
- }