@formatjs/icu-skeleton-parser 1.6.3 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 FormatJS
3
+ Copyright (c) 2023 FormatJS
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
6
 
package/date-time.js CHANGED
@@ -111,7 +111,7 @@ function parseDateTimeSkeleton(skeleton) {
111
111
  result.timeZoneName = len < 4 ? 'short' : 'long';
112
112
  break;
113
113
  case 'Z': // 1..3, 4, 5: The ISO8601 varios formats
114
- case 'O': // 1, 4: miliseconds in day short, long
114
+ case 'O': // 1, 4: milliseconds in day short, long
115
115
  case 'v': // 1, 4: generic non-location format
116
116
  case 'V': // 1, 2, 3, 4: time zone ID or city
117
117
  case 'X': // 1, 2, 3, 4: The ISO8601 varios formats
package/lib/date-time.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseDateTimeSkeleton = void 0;
4
1
  /**
5
2
  * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
6
3
  * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js
@@ -13,7 +10,7 @@ var DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,
13
10
  * @public
14
11
  * @param skeleton skeleton string
15
12
  */
16
- function parseDateTimeSkeleton(skeleton) {
13
+ export function parseDateTimeSkeleton(skeleton) {
17
14
  var result = {};
18
15
  skeleton.replace(DATE_TIME_REGEX, function (match) {
19
16
  var len = match.length;
@@ -111,7 +108,7 @@ function parseDateTimeSkeleton(skeleton) {
111
108
  result.timeZoneName = len < 4 ? 'short' : 'long';
112
109
  break;
113
110
  case 'Z': // 1..3, 4, 5: The ISO8601 varios formats
114
- case 'O': // 1, 4: miliseconds in day short, long
111
+ case 'O': // 1, 4: milliseconds in day short, long
115
112
  case 'v': // 1, 4: generic non-location format
116
113
  case 'V': // 1, 2, 3, 4: time zone ID or city
117
114
  case 'X': // 1, 2, 3, 4: The ISO8601 varios formats
@@ -122,4 +119,3 @@ function parseDateTimeSkeleton(skeleton) {
122
119
  });
123
120
  return result;
124
121
  }
125
- exports.parseDateTimeSkeleton = parseDateTimeSkeleton;
package/lib/index.js CHANGED
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./date-time"), exports);
5
- tslib_1.__exportStar(require("./number"), exports);
1
+ export * from './date-time';
2
+ export * from './number';
package/lib/number.js CHANGED
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseNumberSkeleton = exports.parseNumberSkeletonFromString = void 0;
4
- var tslib_1 = require("tslib");
5
- var regex_generated_1 = require("./regex.generated");
6
- function parseNumberSkeletonFromString(skeleton) {
1
+ import { __assign } from "tslib";
2
+ import { WHITE_SPACE_REGEX } from './regex.generated';
3
+ export function parseNumberSkeletonFromString(skeleton) {
7
4
  if (skeleton.length === 0) {
8
5
  throw new Error('Number skeleton cannot be empty');
9
6
  }
10
7
  // Parse the skeleton
11
8
  var stringTokens = skeleton
12
- .split(regex_generated_1.WHITE_SPACE_REGEX)
9
+ .split(WHITE_SPACE_REGEX)
13
10
  .filter(function (x) { return x.length > 0; });
14
11
  var tokens = [];
15
12
  for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {
@@ -29,7 +26,6 @@ function parseNumberSkeletonFromString(skeleton) {
29
26
  }
30
27
  return tokens;
31
28
  }
32
- exports.parseNumberSkeletonFromString = parseNumberSkeletonFromString;
33
29
  function icuUnitToEcma(unit) {
34
30
  return unit.replace(/^(.*?)-/, '');
35
31
  }
@@ -152,7 +148,7 @@ function parseNotationOptions(opt) {
152
148
  /**
153
149
  * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options
154
150
  */
155
- function parseNumberSkeleton(tokens) {
151
+ export function parseNumberSkeleton(tokens) {
156
152
  var result = {};
157
153
  for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
158
154
  var token = tokens_1[_i];
@@ -193,10 +189,10 @@ function parseNumberSkeleton(tokens) {
193
189
  result.compactDisplay = 'long';
194
190
  continue;
195
191
  case 'scientific':
196
- result = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (tslib_1.__assign(tslib_1.__assign({}, all), parseNotationOptions(opt))); }, {}));
192
+ result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));
197
193
  continue;
198
194
  case 'engineering':
199
- result = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (tslib_1.__assign(tslib_1.__assign({}, all), parseNotationOptions(opt))); }, {}));
195
+ result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));
200
196
  continue;
201
197
  case 'notation-simple':
202
198
  result.notation = 'standard';
@@ -274,27 +270,26 @@ function parseNumberSkeleton(tokens) {
274
270
  var opt = token.options[0];
275
271
  // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
276
272
  if (opt === 'w') {
277
- result = tslib_1.__assign(tslib_1.__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
273
+ result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
278
274
  }
279
275
  else if (opt) {
280
- result = tslib_1.__assign(tslib_1.__assign({}, result), parseSignificantPrecision(opt));
276
+ result = __assign(__assign({}, result), parseSignificantPrecision(opt));
281
277
  }
282
278
  continue;
283
279
  }
284
280
  // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision
285
281
  if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {
286
- result = tslib_1.__assign(tslib_1.__assign({}, result), parseSignificantPrecision(token.stem));
282
+ result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));
287
283
  continue;
288
284
  }
289
285
  var signOpts = parseSign(token.stem);
290
286
  if (signOpts) {
291
- result = tslib_1.__assign(tslib_1.__assign({}, result), signOpts);
287
+ result = __assign(__assign({}, result), signOpts);
292
288
  }
293
289
  var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);
294
290
  if (conciseScientificAndEngineeringOpts) {
295
- result = tslib_1.__assign(tslib_1.__assign({}, result), conciseScientificAndEngineeringOpts);
291
+ result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);
296
292
  }
297
293
  }
298
294
  return result;
299
295
  }
300
- exports.parseNumberSkeleton = parseNumberSkeleton;
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WHITE_SPACE_REGEX = void 0;
4
1
  // @generated from regex-gen.ts
5
- exports.WHITE_SPACE_REGEX = /[\t-\r \x85\u200E\u200F\u2028\u2029]/i;
2
+ export var WHITE_SPACE_REGEX = /[\t-\r \x85\u200E\u200F\u2028\u2029]/i;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/icu-skeleton-parser",
3
- "version": "1.6.3",
3
+ "version": "1.7.0",
4
4
  "main": "index.js",
5
5
  "module": "lib/index.js",
6
6
  "types": "index.d.ts",
@@ -12,6 +12,6 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.4.0",
15
- "@formatjs/ecma402-abstract": "1.17.3"
15
+ "@formatjs/ecma402-abstract": "1.18.0"
16
16
  }
17
17
  }