@formatjs/icu-messageformat-parser 2.0.19 → 2.1.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-pattern-generator.d.ts +9 -0
- package/date-time-pattern-generator.d.ts.map +1 -0
- package/date-time-pattern-generator.js +87 -0
- package/lib/date-time-pattern-generator.d.ts +9 -0
- package/lib/date-time-pattern-generator.d.ts.map +1 -0
- package/lib/date-time-pattern-generator.js +83 -0
- package/lib/parser.d.ts +5 -0
- package/lib/parser.d.ts.map +1 -1
- package/lib/parser.js +11 -2
- package/lib/time-data.generated.d.ts +2 -0
- package/lib/time-data.generated.d.ts.map +1 -0
- package/lib/time-data.generated.js +1339 -0
- package/package.json +4 -4
- package/parser.d.ts +5 -0
- package/parser.d.ts.map +1 -1
- package/parser.js +11 -2
- package/time-data.generated.d.ts +2 -0
- package/time-data.generated.d.ts.map +1 -0
- package/time-data.generated.js +1342 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formatjs/icu-messageformat-parser",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"directory": "packages/icu-messageformat-parser"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@formatjs/ecma402-abstract": "1.11.
|
|
15
|
-
"@formatjs/icu-skeleton-parser": "1.3.
|
|
16
|
-
"tslib": "
|
|
14
|
+
"@formatjs/ecma402-abstract": "1.11.7",
|
|
15
|
+
"@formatjs/icu-skeleton-parser": "1.3.9",
|
|
16
|
+
"tslib": "2.4.0"
|
|
17
17
|
}
|
|
18
18
|
}
|
package/parser.d.ts
CHANGED
|
@@ -30,6 +30,10 @@ export interface ParserOptions {
|
|
|
30
30
|
* Default is false
|
|
31
31
|
*/
|
|
32
32
|
captureLocation?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Instance of Intl.Locale to resolve locale-dependent skeleton
|
|
35
|
+
*/
|
|
36
|
+
locale?: Intl.Locale;
|
|
33
37
|
}
|
|
34
38
|
export declare type Result<T, E> = {
|
|
35
39
|
val: T;
|
|
@@ -41,6 +45,7 @@ export declare type Result<T, E> = {
|
|
|
41
45
|
export declare class Parser {
|
|
42
46
|
private message;
|
|
43
47
|
private position;
|
|
48
|
+
private locale?;
|
|
44
49
|
private ignoreTag;
|
|
45
50
|
private requiresOtherClause;
|
|
46
51
|
private shouldParseSkeletons?;
|
package/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAC,MAAM,SAAS,CAAA;AAC9C,OAAO,EAIL,oBAAoB,EAMrB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAC,MAAM,SAAS,CAAA;AAC9C,OAAO,EAIL,oBAAoB,EAMrB,MAAM,SAAS,CAAA;AAiBhB,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;CACrB;AAED,oBAAY,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAC,GAAG;IAAC,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,CAAC,CAAA;CAAC,CAAA;AA+KpE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAa;IAE5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IASxD,KAAK,IAAI,MAAM,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC;IAOpD,OAAO,CAAC,YAAY;IA6DpB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,QAAQ;IAkFhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,YAAY;IAuCpB,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAczC;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,aAAa;IAsFrB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,oBAAoB;IAyO5B,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiDrC,OAAO,CAAC,6BAA6B;IAwBrC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IA6GrC,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,KAAK;IAcb,oDAAoD;IACpD,OAAO,CAAC,IAAI;IAgBZ;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAUd;;;OAGG;IACH,OAAO,CAAC,SAAS;IAYjB;;;OAGG;IACH,OAAO,CAAC,MAAM;IA0Bd,sFAAsF;IACtF,OAAO,CAAC,SAAS;IAMjB;;;OAGG;IACH,OAAO,CAAC,IAAI;CASb"}
|
package/parser.js
CHANGED
|
@@ -7,6 +7,7 @@ var error_1 = require("./error");
|
|
|
7
7
|
var types_1 = require("./types");
|
|
8
8
|
var regex_generated_1 = require("./regex.generated");
|
|
9
9
|
var icu_skeleton_parser_1 = require("@formatjs/icu-skeleton-parser");
|
|
10
|
+
var date_time_pattern_generator_1 = require("./date-time-pattern-generator");
|
|
10
11
|
var SPACE_SEPARATOR_START_REGEX = new RegExp("^".concat(regex_generated_1.SPACE_SEPARATOR_REGEX.source, "*"));
|
|
11
12
|
var SPACE_SEPARATOR_END_REGEX = new RegExp("".concat(regex_generated_1.SPACE_SEPARATOR_REGEX.source, "*$"));
|
|
12
13
|
function createLocation(start, end) {
|
|
@@ -165,6 +166,7 @@ var Parser = /** @class */ (function () {
|
|
|
165
166
|
this.message = message;
|
|
166
167
|
this.position = { offset: 0, line: 1, column: 1 };
|
|
167
168
|
this.ignoreTag = !!options.ignoreTag;
|
|
169
|
+
this.locale = options.locale;
|
|
168
170
|
this.requiresOtherClause = !!options.requiresOtherClause;
|
|
169
171
|
this.shouldParseSkeletons = !!options.shouldParseSkeletons;
|
|
170
172
|
}
|
|
@@ -540,12 +542,19 @@ var Parser = /** @class */ (function () {
|
|
|
540
542
|
if (skeleton.length === 0) {
|
|
541
543
|
return this.error(error_1.ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);
|
|
542
544
|
}
|
|
545
|
+
var dateTimePattern = skeleton;
|
|
546
|
+
// Get "best match" pattern only if locale is passed, if not, let it
|
|
547
|
+
// pass as-is where `parseDateTimeSkeleton()` will throw an error
|
|
548
|
+
// for unsupported patterns.
|
|
549
|
+
if (this.locale) {
|
|
550
|
+
dateTimePattern = (0, date_time_pattern_generator_1.getBestPattern)(skeleton, this.locale);
|
|
551
|
+
}
|
|
543
552
|
var style = {
|
|
544
553
|
type: types_1.SKELETON_TYPE.dateTime,
|
|
545
|
-
pattern:
|
|
554
|
+
pattern: dateTimePattern,
|
|
546
555
|
location: styleAndLocation.styleLocation,
|
|
547
556
|
parsedOptions: this.shouldParseSkeletons
|
|
548
|
-
? (0, icu_skeleton_parser_1.parseDateTimeSkeleton)(
|
|
557
|
+
? (0, icu_skeleton_parser_1.parseDateTimeSkeleton)(dateTimePattern)
|
|
549
558
|
: {},
|
|
550
559
|
};
|
|
551
560
|
var type = argType === 'date' ? types_1.TYPE.date : types_1.TYPE.time;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-data.generated.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/time-data.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAwzC7C,CAAC"}
|