@formatjs/icu-messageformat-parser 2.0.10 → 2.0.14
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/index.js +7 -7
- package/lib/manipulator.js +2 -2
- package/lib/printer.js +1 -1
- package/manipulator.js +3 -3
- package/no-parser.js +1 -1
- package/package.json +8 -3
- package/parser.js +4 -4
- package/printer.js +9 -9
package/index.js
CHANGED
|
@@ -8,27 +8,27 @@ var types_1 = require("./types");
|
|
|
8
8
|
function pruneLocation(els) {
|
|
9
9
|
els.forEach(function (el) {
|
|
10
10
|
delete el.location;
|
|
11
|
-
if (types_1.isSelectElement(el) || types_1.isPluralElement(el)) {
|
|
11
|
+
if ((0, types_1.isSelectElement)(el) || (0, types_1.isPluralElement)(el)) {
|
|
12
12
|
for (var k in el.options) {
|
|
13
13
|
delete el.options[k].location;
|
|
14
14
|
pruneLocation(el.options[k].value);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
else if (types_1.isNumberElement(el) && types_1.isNumberSkeleton(el.style)) {
|
|
17
|
+
else if ((0, types_1.isNumberElement)(el) && (0, types_1.isNumberSkeleton)(el.style)) {
|
|
18
18
|
delete el.style.location;
|
|
19
19
|
}
|
|
20
|
-
else if ((types_1.isDateElement(el) || types_1.isTimeElement(el)) &&
|
|
21
|
-
types_1.isDateTimeSkeleton(el.style)) {
|
|
20
|
+
else if (((0, types_1.isDateElement)(el) || (0, types_1.isTimeElement)(el)) &&
|
|
21
|
+
(0, types_1.isDateTimeSkeleton)(el.style)) {
|
|
22
22
|
delete el.style.location;
|
|
23
23
|
}
|
|
24
|
-
else if (types_1.isTagElement(el)) {
|
|
24
|
+
else if ((0, types_1.isTagElement)(el)) {
|
|
25
25
|
pruneLocation(el.children);
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
function parse(message, opts) {
|
|
30
30
|
if (opts === void 0) { opts = {}; }
|
|
31
|
-
opts = tslib_1.__assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);
|
|
31
|
+
opts = (0, tslib_1.__assign)({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);
|
|
32
32
|
var result = new parser_1.Parser(message, opts).parse();
|
|
33
33
|
if (result.err) {
|
|
34
34
|
var error = SyntaxError(error_1.ErrorKind[result.err.kind]);
|
|
@@ -44,4 +44,4 @@ function parse(message, opts) {
|
|
|
44
44
|
return result.val;
|
|
45
45
|
}
|
|
46
46
|
exports.parse = parse;
|
|
47
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
47
|
+
(0, tslib_1.__exportStar)(require("./types"), exports);
|
package/lib/manipulator.js
CHANGED
|
@@ -3,7 +3,7 @@ import { isPluralElement, isSelectElement, } from './types';
|
|
|
3
3
|
function cloneDeep(obj) {
|
|
4
4
|
if (Array.isArray(obj)) {
|
|
5
5
|
// @ts-expect-error meh
|
|
6
|
-
return __spreadArray([], obj.map(cloneDeep));
|
|
6
|
+
return __spreadArray([], obj.map(cloneDeep), true);
|
|
7
7
|
}
|
|
8
8
|
if (typeof obj === 'object') {
|
|
9
9
|
// @ts-expect-error meh
|
|
@@ -34,7 +34,7 @@ export function hoistSelectors(ast) {
|
|
|
34
34
|
var cloned = cloneDeep(el);
|
|
35
35
|
var options_1 = cloned.options;
|
|
36
36
|
cloned.options = Object.keys(options_1).reduce(function (all, k) {
|
|
37
|
-
var newValue = hoistSelectors(__spreadArray(__spreadArray(__spreadArray([], ast.slice(0, i)), options_1[k].value), ast.slice(i + 1)));
|
|
37
|
+
var newValue = hoistSelectors(__spreadArray(__spreadArray(__spreadArray([], ast.slice(0, i), true), options_1[k].value, true), ast.slice(i + 1), true));
|
|
38
38
|
all[k] = {
|
|
39
39
|
value: newValue,
|
|
40
40
|
};
|
package/lib/printer.js
CHANGED
|
@@ -84,7 +84,7 @@ function printPluralElement(el) {
|
|
|
84
84
|
type,
|
|
85
85
|
__spreadArray([
|
|
86
86
|
el.offset ? "offset:" + el.offset : ''
|
|
87
|
-
], Object.keys(el.options).map(function (id) { return id + "{" + doPrintAST(el.options[id].value, true) + "}"; })).filter(Boolean)
|
|
87
|
+
], Object.keys(el.options).map(function (id) { return id + "{" + doPrintAST(el.options[id].value, true) + "}"; }), true).filter(Boolean)
|
|
88
88
|
.join(' '),
|
|
89
89
|
].join(',');
|
|
90
90
|
return "{" + msg + "}";
|
package/manipulator.js
CHANGED
|
@@ -6,7 +6,7 @@ var types_1 = require("./types");
|
|
|
6
6
|
function cloneDeep(obj) {
|
|
7
7
|
if (Array.isArray(obj)) {
|
|
8
8
|
// @ts-expect-error meh
|
|
9
|
-
return tslib_1.__spreadArray([], obj.map(cloneDeep));
|
|
9
|
+
return (0, tslib_1.__spreadArray)([], obj.map(cloneDeep), true);
|
|
10
10
|
}
|
|
11
11
|
if (typeof obj === 'object') {
|
|
12
12
|
// @ts-expect-error meh
|
|
@@ -32,12 +32,12 @@ function cloneDeep(obj) {
|
|
|
32
32
|
function hoistSelectors(ast) {
|
|
33
33
|
var _loop_1 = function (i) {
|
|
34
34
|
var el = ast[i];
|
|
35
|
-
if (types_1.isPluralElement(el) || types_1.isSelectElement(el)) {
|
|
35
|
+
if ((0, types_1.isPluralElement)(el) || (0, types_1.isSelectElement)(el)) {
|
|
36
36
|
// pull this out of the ast and move it to the top
|
|
37
37
|
var cloned = cloneDeep(el);
|
|
38
38
|
var options_1 = cloned.options;
|
|
39
39
|
cloned.options = Object.keys(options_1).reduce(function (all, k) {
|
|
40
|
-
var newValue = hoistSelectors(tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], ast.slice(0, i)), options_1[k].value), ast.slice(i + 1)));
|
|
40
|
+
var newValue = hoistSelectors((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], ast.slice(0, i), true), options_1[k].value, true), ast.slice(i + 1), true));
|
|
41
41
|
all[k] = {
|
|
42
42
|
value: newValue,
|
|
43
43
|
};
|
package/no-parser.js
CHANGED
|
@@ -6,4 +6,4 @@ function parse() {
|
|
|
6
6
|
throw new Error("You're trying to format an uncompiled message with react-intl without parser, please import from 'react-int' instead");
|
|
7
7
|
}
|
|
8
8
|
exports.parse = parse;
|
|
9
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./types"), exports);
|
package/package.json
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formatjs/icu-messageformat-parser",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.14",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/formatjs/formatjs.git",
|
|
11
|
+
"directory": "packages/icu-messageformat-parser"
|
|
12
|
+
},
|
|
8
13
|
"dependencies": {
|
|
9
|
-
"@formatjs/ecma402-abstract": "1.
|
|
10
|
-
"@formatjs/icu-skeleton-parser": "1.
|
|
14
|
+
"@formatjs/ecma402-abstract": "1.10.0",
|
|
15
|
+
"@formatjs/icu-skeleton-parser": "1.3.1",
|
|
11
16
|
"tslib": "^2.1.0"
|
|
12
17
|
}
|
|
13
18
|
}
|
package/parser.js
CHANGED
|
@@ -545,7 +545,7 @@ var Parser = /** @class */ (function () {
|
|
|
545
545
|
pattern: skeleton,
|
|
546
546
|
location: styleAndLocation.styleLocation,
|
|
547
547
|
parsedOptions: this.shouldParseSkeletons
|
|
548
|
-
? icu_skeleton_parser_1.parseDateTimeSkeleton(skeleton)
|
|
548
|
+
? (0, icu_skeleton_parser_1.parseDateTimeSkeleton)(skeleton)
|
|
549
549
|
: {},
|
|
550
550
|
};
|
|
551
551
|
var type = argType === 'date' ? types_1.TYPE.date : types_1.TYPE.time;
|
|
@@ -579,7 +579,7 @@ var Parser = /** @class */ (function () {
|
|
|
579
579
|
var typeEndPosition_1 = this.clonePosition();
|
|
580
580
|
this.bumpSpace();
|
|
581
581
|
if (!this.bumpIf(',')) {
|
|
582
|
-
return this.error(error_1.ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, tslib_1.__assign({}, typeEndPosition_1)));
|
|
582
|
+
return this.error(error_1.ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, (0, tslib_1.__assign)({}, typeEndPosition_1)));
|
|
583
583
|
}
|
|
584
584
|
this.bumpSpace();
|
|
585
585
|
// Parse offset:
|
|
@@ -703,7 +703,7 @@ var Parser = /** @class */ (function () {
|
|
|
703
703
|
Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {
|
|
704
704
|
var tokens = [];
|
|
705
705
|
try {
|
|
706
|
-
tokens = icu_skeleton_parser_1.parseNumberSkeletonFromString(skeleton);
|
|
706
|
+
tokens = (0, icu_skeleton_parser_1.parseNumberSkeletonFromString)(skeleton);
|
|
707
707
|
}
|
|
708
708
|
catch (e) {
|
|
709
709
|
return this.error(error_1.ErrorKind.INVALID_NUMBER_SKELETON, location);
|
|
@@ -714,7 +714,7 @@ var Parser = /** @class */ (function () {
|
|
|
714
714
|
tokens: tokens,
|
|
715
715
|
location: location,
|
|
716
716
|
parsedOptions: this.shouldParseSkeletons
|
|
717
|
-
? icu_skeleton_parser_1.parseNumberSkeleton(tokens)
|
|
717
|
+
? (0, icu_skeleton_parser_1.parseNumberSkeleton)(tokens)
|
|
718
718
|
: {},
|
|
719
719
|
},
|
|
720
720
|
err: null,
|
package/printer.js
CHANGED
|
@@ -9,25 +9,25 @@ function printAST(ast) {
|
|
|
9
9
|
exports.printAST = printAST;
|
|
10
10
|
function doPrintAST(ast, isInPlural) {
|
|
11
11
|
var printedNodes = ast.map(function (el) {
|
|
12
|
-
if (types_1.isLiteralElement(el)) {
|
|
12
|
+
if ((0, types_1.isLiteralElement)(el)) {
|
|
13
13
|
return printLiteralElement(el, isInPlural);
|
|
14
14
|
}
|
|
15
|
-
if (types_1.isArgumentElement(el)) {
|
|
15
|
+
if ((0, types_1.isArgumentElement)(el)) {
|
|
16
16
|
return printArgumentElement(el);
|
|
17
17
|
}
|
|
18
|
-
if (types_1.isDateElement(el) || types_1.isTimeElement(el) || types_1.isNumberElement(el)) {
|
|
18
|
+
if ((0, types_1.isDateElement)(el) || (0, types_1.isTimeElement)(el) || (0, types_1.isNumberElement)(el)) {
|
|
19
19
|
return printSimpleFormatElement(el);
|
|
20
20
|
}
|
|
21
|
-
if (types_1.isPluralElement(el)) {
|
|
21
|
+
if ((0, types_1.isPluralElement)(el)) {
|
|
22
22
|
return printPluralElement(el);
|
|
23
23
|
}
|
|
24
|
-
if (types_1.isSelectElement(el)) {
|
|
24
|
+
if ((0, types_1.isSelectElement)(el)) {
|
|
25
25
|
return printSelectElement(el);
|
|
26
26
|
}
|
|
27
|
-
if (types_1.isPoundElement(el)) {
|
|
27
|
+
if ((0, types_1.isPoundElement)(el)) {
|
|
28
28
|
return '#';
|
|
29
29
|
}
|
|
30
|
-
if (types_1.isTagElement(el)) {
|
|
30
|
+
if ((0, types_1.isTagElement)(el)) {
|
|
31
31
|
return printTagElement(el);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
@@ -88,9 +88,9 @@ function printPluralElement(el) {
|
|
|
88
88
|
var msg = [
|
|
89
89
|
el.value,
|
|
90
90
|
type,
|
|
91
|
-
tslib_1.__spreadArray([
|
|
91
|
+
(0, tslib_1.__spreadArray)([
|
|
92
92
|
el.offset ? "offset:" + el.offset : ''
|
|
93
|
-
], Object.keys(el.options).map(function (id) { return id + "{" + doPrintAST(el.options[id].value, true) + "}"; })).filter(Boolean)
|
|
93
|
+
], Object.keys(el.options).map(function (id) { return id + "{" + doPrintAST(el.options[id].value, true) + "}"; }), true).filter(Boolean)
|
|
94
94
|
.join(' '),
|
|
95
95
|
].join(',');
|
|
96
96
|
return "{" + msg + "}";
|