@formatjs/icu-skeleton-parser 1.6.2 → 1.6.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.
- package/date-time.js +1 -1
- package/lib/date-time.js +6 -2
- package/lib/index.js +5 -2
- package/lib/number.js +17 -12
- package/lib/regex.generated.js +4 -1
- package/package.json +3 -3
- package/date-time.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/lib/date-time.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/number.d.ts.map +0 -1
- package/lib/regex.generated.d.ts.map +0 -1
- package/number.d.ts.map +0 -1
- package/regex.generated.d.ts.map +0 -1
package/date-time.js
CHANGED
|
@@ -53,7 +53,7 @@ function parseDateTimeSkeleton(skeleton) {
|
|
|
53
53
|
throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');
|
|
54
54
|
// Weekday
|
|
55
55
|
case 'E':
|
|
56
|
-
result.weekday = len === 4 ? '
|
|
56
|
+
result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';
|
|
57
57
|
break;
|
|
58
58
|
case 'e':
|
|
59
59
|
if (len < 4) {
|
package/lib/date-time.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseDateTimeSkeleton = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
|
3
6
|
* Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js
|
|
@@ -10,7 +13,7 @@ var DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,
|
|
|
10
13
|
* @public
|
|
11
14
|
* @param skeleton skeleton string
|
|
12
15
|
*/
|
|
13
|
-
|
|
16
|
+
function parseDateTimeSkeleton(skeleton) {
|
|
14
17
|
var result = {};
|
|
15
18
|
skeleton.replace(DATE_TIME_REGEX, function (match) {
|
|
16
19
|
var len = match.length;
|
|
@@ -50,7 +53,7 @@ export function parseDateTimeSkeleton(skeleton) {
|
|
|
50
53
|
throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');
|
|
51
54
|
// Weekday
|
|
52
55
|
case 'E':
|
|
53
|
-
result.weekday = len === 4 ? '
|
|
56
|
+
result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';
|
|
54
57
|
break;
|
|
55
58
|
case 'e':
|
|
56
59
|
if (len < 4) {
|
|
@@ -119,3 +122,4 @@ export function parseDateTimeSkeleton(skeleton) {
|
|
|
119
122
|
});
|
|
120
123
|
return result;
|
|
121
124
|
}
|
|
125
|
+
exports.parseDateTimeSkeleton = parseDateTimeSkeleton;
|
package/lib/index.js
CHANGED
|
@@ -1,2 +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);
|
package/lib/number.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) {
|
|
4
7
|
if (skeleton.length === 0) {
|
|
5
8
|
throw new Error('Number skeleton cannot be empty');
|
|
6
9
|
}
|
|
7
10
|
// Parse the skeleton
|
|
8
11
|
var stringTokens = skeleton
|
|
9
|
-
.split(WHITE_SPACE_REGEX)
|
|
12
|
+
.split(regex_generated_1.WHITE_SPACE_REGEX)
|
|
10
13
|
.filter(function (x) { return x.length > 0; });
|
|
11
14
|
var tokens = [];
|
|
12
15
|
for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {
|
|
@@ -26,6 +29,7 @@ export function parseNumberSkeletonFromString(skeleton) {
|
|
|
26
29
|
}
|
|
27
30
|
return tokens;
|
|
28
31
|
}
|
|
32
|
+
exports.parseNumberSkeletonFromString = parseNumberSkeletonFromString;
|
|
29
33
|
function icuUnitToEcma(unit) {
|
|
30
34
|
return unit.replace(/^(.*?)-/, '');
|
|
31
35
|
}
|
|
@@ -148,7 +152,7 @@ function parseNotationOptions(opt) {
|
|
|
148
152
|
/**
|
|
149
153
|
* https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options
|
|
150
154
|
*/
|
|
151
|
-
|
|
155
|
+
function parseNumberSkeleton(tokens) {
|
|
152
156
|
var result = {};
|
|
153
157
|
for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
|
|
154
158
|
var token = tokens_1[_i];
|
|
@@ -189,10 +193,10 @@ export function parseNumberSkeleton(tokens) {
|
|
|
189
193
|
result.compactDisplay = 'long';
|
|
190
194
|
continue;
|
|
191
195
|
case 'scientific':
|
|
192
|
-
result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));
|
|
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))); }, {}));
|
|
193
197
|
continue;
|
|
194
198
|
case 'engineering':
|
|
195
|
-
result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));
|
|
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))); }, {}));
|
|
196
200
|
continue;
|
|
197
201
|
case 'notation-simple':
|
|
198
202
|
result.notation = 'standard';
|
|
@@ -270,26 +274,27 @@ export function parseNumberSkeleton(tokens) {
|
|
|
270
274
|
var opt = token.options[0];
|
|
271
275
|
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
|
|
272
276
|
if (opt === 'w') {
|
|
273
|
-
result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
|
|
277
|
+
result = tslib_1.__assign(tslib_1.__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
|
|
274
278
|
}
|
|
275
279
|
else if (opt) {
|
|
276
|
-
result = __assign(__assign({}, result), parseSignificantPrecision(opt));
|
|
280
|
+
result = tslib_1.__assign(tslib_1.__assign({}, result), parseSignificantPrecision(opt));
|
|
277
281
|
}
|
|
278
282
|
continue;
|
|
279
283
|
}
|
|
280
284
|
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision
|
|
281
285
|
if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {
|
|
282
|
-
result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));
|
|
286
|
+
result = tslib_1.__assign(tslib_1.__assign({}, result), parseSignificantPrecision(token.stem));
|
|
283
287
|
continue;
|
|
284
288
|
}
|
|
285
289
|
var signOpts = parseSign(token.stem);
|
|
286
290
|
if (signOpts) {
|
|
287
|
-
result = __assign(__assign({}, result), signOpts);
|
|
291
|
+
result = tslib_1.__assign(tslib_1.__assign({}, result), signOpts);
|
|
288
292
|
}
|
|
289
293
|
var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);
|
|
290
294
|
if (conciseScientificAndEngineeringOpts) {
|
|
291
|
-
result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);
|
|
295
|
+
result = tslib_1.__assign(tslib_1.__assign({}, result), conciseScientificAndEngineeringOpts);
|
|
292
296
|
}
|
|
293
297
|
}
|
|
294
298
|
return result;
|
|
295
299
|
}
|
|
300
|
+
exports.parseNumberSkeleton = parseNumberSkeleton;
|
package/lib/regex.generated.js
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WHITE_SPACE_REGEX = void 0;
|
|
1
4
|
// @generated from regex-gen.ts
|
|
2
|
-
|
|
5
|
+
exports.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
|
+
"version": "1.6.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"directory": "packages/icu-skeleton-parser"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"tslib": "^2.4.0",
|
|
15
|
+
"@formatjs/ecma402-abstract": "1.17.3"
|
|
16
16
|
}
|
|
17
17
|
}
|
package/date-time.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.d.ts","sourceRoot":"","sources":["date-time.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,qBAAqB,CA+H5B"}
|
package/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
|
package/lib/date-time.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.d.ts","sourceRoot":"","sources":["../date-time.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,qBAAqB,CA+H5B"}
|
package/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
|
package/lib/number.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAA;AAGnE,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,mBAAmB,EAAE,CA0BvB;AAiID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,GAC5B,2BAA2B,CAuL7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regex.generated.d.ts","sourceRoot":"","sources":["../regex.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,QAA0C,CAAA"}
|
package/number.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAA;AAGnE,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GACf,mBAAmB,EAAE,CA0BvB;AAiID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,GAC5B,2BAA2B,CAuL7B"}
|
package/regex.generated.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regex.generated.d.ts","sourceRoot":"","sources":["regex.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,QAA0C,CAAA"}
|