@formatjs/icu-messageformat-parser 1.1.1 → 1.1.5

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.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EASL,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAuBhB,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,0BAiB9D;AACD,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EASL,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAuBhB,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,0BAmB9D;AACD,cAAc,SAAS,CAAA"}
package/index.js CHANGED
@@ -34,6 +34,8 @@ function parse(message, opts) {
34
34
  var error = SyntaxError(error_1.ErrorKind[result.err.kind]);
35
35
  // @ts-expect-error Assign to error object
36
36
  error.location = result.err.location;
37
+ // @ts-expect-error Assign to error object
38
+ error.originalMessage = result.err.message;
37
39
  throw error;
38
40
  }
39
41
  if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/icu-messageformat-parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EASL,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAuBhB,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,0BAiB9D;AACD,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/icu-messageformat-parser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EASL,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAuBhB,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,0BAmB9D;AACD,cAAc,SAAS,CAAA"}
package/lib/index.js CHANGED
@@ -31,6 +31,8 @@ export function parse(message, opts) {
31
31
  var error = SyntaxError(ErrorKind[result.err.kind]);
32
32
  // @ts-expect-error Assign to error object
33
33
  error.location = result.err.location;
34
+ // @ts-expect-error Assign to error object
35
+ error.originalMessage = result.err.message;
34
36
  throw error;
35
37
  }
36
38
  if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {
@@ -1,2 +1,3 @@
1
1
  export declare function parse(): void;
2
+ export * from './types';
2
3
  //# sourceMappingURL=no-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-parser.d.ts","sourceRoot":"","sources":["../../../../../../packages/icu-messageformat-parser/no-parser.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,SAIpB"}
1
+ {"version":3,"file":"no-parser.d.ts","sourceRoot":"","sources":["../../../../../../packages/icu-messageformat-parser/no-parser.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,SAIpB;AACD,cAAc,SAAS,CAAA"}
package/lib/no-parser.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export function parse() {
2
2
  throw new Error("You're trying to format an uncompiled message with react-intl without parser, please import from 'react-int' instead");
3
3
  }
4
+ export * from './types';
package/lib/parser.d.ts CHANGED
@@ -48,7 +48,7 @@ export declare class Parser {
48
48
  parse(): Result<MessageFormatElement[], ParserError>;
49
49
  private parseMessage;
50
50
  /**
51
- * A tag name must start with an ASCII lower case letter. The grammar is based on the
51
+ * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
52
52
  * [custom element name][] except that a dash is NOT always mandatory and uppercase letters
53
53
  * are accepted:
54
54
  *
@@ -62,6 +62,8 @@ export declare class Parser {
62
62
  * ```
63
63
  *
64
64
  * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
65
+ * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
66
+ * since other tag-based engines like React allow it
65
67
  */
66
68
  private parseTag;
67
69
  /**
@@ -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;AAYhB,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;CAC1B;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;AA6KpE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAQxD,KAAK,IAAI,MAAM,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC;IAOpD,OAAO,CAAC,YAAY;IA6DpB;;;;;;;;;;;;;;;OAeG;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;IA+N5B,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiDrC,OAAO,CAAC,6BAA6B;IAwBrC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IA+GrC,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"}
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;AAYhB,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;CAC1B;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;AA6KpE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAQxD,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;IA+N5B,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiDrC,OAAO,CAAC,6BAA6B;IAwBrC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IA+GrC,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/lib/parser.js CHANGED
@@ -26,7 +26,7 @@ var isSafeInteger = hasNativeIsSafeInteger
26
26
  // IE11 does not support y and u.
27
27
  var REGEX_SUPPORTS_U_AND_Y = true;
28
28
  try {
29
- RE('', 'yu');
29
+ RE('([^\\p{White_Space}\\p{Pattern_Syntax}]*)', 'yu');
30
30
  }
31
31
  catch (_) {
32
32
  REGEX_SUPPORTS_U_AND_Y = false;
@@ -215,7 +215,7 @@ var Parser = /** @class */ (function () {
215
215
  return { val: elements, err: null };
216
216
  };
217
217
  /**
218
- * A tag name must start with an ASCII lower case letter. The grammar is based on the
218
+ * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
219
219
  * [custom element name][] except that a dash is NOT always mandatory and uppercase letters
220
220
  * are accepted:
221
221
  *
@@ -229,6 +229,8 @@ var Parser = /** @class */ (function () {
229
229
  * ```
230
230
  *
231
231
  * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
232
+ * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
233
+ * since other tag-based engines like React allow it
232
234
  */
233
235
  Parser.prototype.parseTag = function (nestingLevel, parentArgType) {
234
236
  var startPosition = this.clonePosition();
@@ -953,8 +955,14 @@ var Parser = /** @class */ (function () {
953
955
  return Parser;
954
956
  }());
955
957
  export { Parser };
958
+ /**
959
+ * This check if codepoint is alphabet (lower & uppercase)
960
+ * @param codepoint
961
+ * @returns
962
+ */
956
963
  function _isAlpha(codepoint) {
957
- return codepoint >= 97 && codepoint <= 122;
964
+ return ((codepoint >= 97 && codepoint <= 122) ||
965
+ (codepoint >= 65 && codepoint <= 90));
958
966
  }
959
967
  function _isAlphaOrSlash(codepoint) {
960
968
  return _isAlpha(codepoint) || codepoint === 47; /* '/' */
package/no-parser.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare function parse(): void;
2
+ export * from './types';
2
3
  //# sourceMappingURL=no-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-parser.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/no-parser.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,SAIpB"}
1
+ {"version":3,"file":"no-parser.d.ts","sourceRoot":"","sources":["../../../../../packages/icu-messageformat-parser/no-parser.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,SAIpB;AACD,cAAc,SAAS,CAAA"}
package/no-parser.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parse = void 0;
4
+ var tslib_1 = require("tslib");
4
5
  function parse() {
5
6
  throw new Error("You're trying to format an uncompiled message with react-intl without parser, please import from 'react-int' instead");
6
7
  }
7
8
  exports.parse = parse;
9
+ tslib_1.__exportStar(require("./types"), exports);
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@formatjs/icu-messageformat-parser",
3
- "version": "1.1.1",
3
+ "version": "1.1.5",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "license": "MIT",
7
7
  "dependencies": {
8
- "@formatjs/ecma402-abstract": "1.6.4",
9
- "@formatjs/icu-skeleton-parser": "1.1.1",
8
+ "@formatjs/ecma402-abstract": "1.6.5",
9
+ "@formatjs/icu-skeleton-parser": "1.1.2",
10
10
  "tslib": "^2.1.0"
11
11
  }
12
12
  }
package/parser.d.ts CHANGED
@@ -48,7 +48,7 @@ export declare class Parser {
48
48
  parse(): Result<MessageFormatElement[], ParserError>;
49
49
  private parseMessage;
50
50
  /**
51
- * A tag name must start with an ASCII lower case letter. The grammar is based on the
51
+ * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
52
52
  * [custom element name][] except that a dash is NOT always mandatory and uppercase letters
53
53
  * are accepted:
54
54
  *
@@ -62,6 +62,8 @@ export declare class Parser {
62
62
  * ```
63
63
  *
64
64
  * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
65
+ * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
66
+ * since other tag-based engines like React allow it
65
67
  */
66
68
  private parseTag;
67
69
  /**
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;AAYhB,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;CAC1B;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;AA6KpE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAQxD,KAAK,IAAI,MAAM,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC;IAOpD,OAAO,CAAC,YAAY;IA6DpB;;;;;;;;;;;;;;;OAeG;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;IA+N5B,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiDrC,OAAO,CAAC,6BAA6B;IAwBrC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IA+GrC,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"}
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;AAYhB,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;CAC1B;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;AA6KpE,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAQxD,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;IA+N5B,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiDrC,OAAO,CAAC,6BAA6B;IAwBrC;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;IA+GrC,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
@@ -29,7 +29,7 @@ var isSafeInteger = hasNativeIsSafeInteger
29
29
  // IE11 does not support y and u.
30
30
  var REGEX_SUPPORTS_U_AND_Y = true;
31
31
  try {
32
- RE('', 'yu');
32
+ RE('([^\\p{White_Space}\\p{Pattern_Syntax}]*)', 'yu');
33
33
  }
34
34
  catch (_) {
35
35
  REGEX_SUPPORTS_U_AND_Y = false;
@@ -218,7 +218,7 @@ var Parser = /** @class */ (function () {
218
218
  return { val: elements, err: null };
219
219
  };
220
220
  /**
221
- * A tag name must start with an ASCII lower case letter. The grammar is based on the
221
+ * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the
222
222
  * [custom element name][] except that a dash is NOT always mandatory and uppercase letters
223
223
  * are accepted:
224
224
  *
@@ -232,6 +232,8 @@ var Parser = /** @class */ (function () {
232
232
  * ```
233
233
  *
234
234
  * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
235
+ * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do
236
+ * since other tag-based engines like React allow it
235
237
  */
236
238
  Parser.prototype.parseTag = function (nestingLevel, parentArgType) {
237
239
  var startPosition = this.clonePosition();
@@ -956,8 +958,14 @@ var Parser = /** @class */ (function () {
956
958
  return Parser;
957
959
  }());
958
960
  exports.Parser = Parser;
961
+ /**
962
+ * This check if codepoint is alphabet (lower & uppercase)
963
+ * @param codepoint
964
+ * @returns
965
+ */
959
966
  function _isAlpha(codepoint) {
960
- return codepoint >= 97 && codepoint <= 122;
967
+ return ((codepoint >= 97 && codepoint <= 122) ||
968
+ (codepoint >= 65 && codepoint <= 90));
961
969
  }
962
970
  function _isAlphaOrSlash(codepoint) {
963
971
  return _isAlpha(codepoint) || codepoint === 47; /* '/' */