occam-lexers 22.0.3 → 22.0.6

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.
Files changed (50) hide show
  1. package/example.js +235 -231
  2. package/lib/token/nonSignificant/comment/endOfLine.js +7 -1
  3. package/lib/token/nonSignificant/comment/multiLine/endOf/cStyle.js +7 -1
  4. package/lib/token/nonSignificant/comment/multiLine/endOf/pythonStyle.js +7 -1
  5. package/lib/token/nonSignificant/comment/multiLine/endOf.js +7 -1
  6. package/lib/token/nonSignificant/comment/multiLine/middleOf/cStyle.js +7 -1
  7. package/lib/token/nonSignificant/comment/multiLine/middleOf/pythonStyle.js +7 -1
  8. package/lib/token/nonSignificant/comment/multiLine/middleOf.js +7 -1
  9. package/lib/token/nonSignificant/comment/multiLine/startOf/cStyle.js +7 -1
  10. package/lib/token/nonSignificant/comment/multiLine/startOf/pythonStyle.js +7 -1
  11. package/lib/token/nonSignificant/comment/multiLine/startOf.js +7 -1
  12. package/lib/token/nonSignificant/comment/singleLine/cStyle.js +7 -1
  13. package/lib/token/nonSignificant/comment/singleLine/pythonStyle.js +7 -1
  14. package/lib/token/nonSignificant/comment/singleLine.js +7 -1
  15. package/lib/token/nonSignificant/endOfLine.js +7 -1
  16. package/lib/token/nonSignificant/whitespace.js +7 -1
  17. package/lib/token/nonSignificant.js +12 -4
  18. package/lib/token/significant/comment/endOfLine.js +7 -1
  19. package/lib/token/significant/endOfLine.js +7 -1
  20. package/lib/token/significant/regularExpression.js +7 -1
  21. package/lib/token/significant/stringLiteral/doublyQuoted.js +7 -1
  22. package/lib/token/significant/stringLiteral/singlyQuoted.js +7 -1
  23. package/lib/token/significant/stringLiteral.js +7 -1
  24. package/lib/token/significant.js +22 -4
  25. package/lib/token.js +28 -1
  26. package/package.json +3 -3
  27. package/src/token/nonSignificant/comment/endOfLine.js +2 -0
  28. package/src/token/nonSignificant/comment/multiLine/endOf/cStyle.js +2 -0
  29. package/src/token/nonSignificant/comment/multiLine/endOf/pythonStyle.js +2 -0
  30. package/src/token/nonSignificant/comment/multiLine/endOf.js +2 -0
  31. package/src/token/nonSignificant/comment/multiLine/middleOf/cStyle.js +2 -0
  32. package/src/token/nonSignificant/comment/multiLine/middleOf/pythonStyle.js +2 -0
  33. package/src/token/nonSignificant/comment/multiLine/middleOf.js +2 -0
  34. package/src/token/nonSignificant/comment/multiLine/startOf/cStyle.js +2 -0
  35. package/src/token/nonSignificant/comment/multiLine/startOf/pythonStyle.js +2 -0
  36. package/src/token/nonSignificant/comment/multiLine/startOf.js +2 -0
  37. package/src/token/nonSignificant/comment/singleLine/cStyle.js +2 -0
  38. package/src/token/nonSignificant/comment/singleLine/pythonStyle.js +2 -0
  39. package/src/token/nonSignificant/comment/singleLine.js +2 -0
  40. package/src/token/nonSignificant/endOfLine.js +2 -0
  41. package/src/token/nonSignificant/whitespace.js +2 -0
  42. package/src/token/nonSignificant.js +19 -4
  43. package/src/token/significant/comment/endOfLine.js +2 -0
  44. package/src/token/significant/endOfLine.js +2 -0
  45. package/src/token/significant/regularExpression.js +2 -0
  46. package/src/token/significant/stringLiteral/doublyQuoted.js +2 -0
  47. package/src/token/significant/stringLiteral/singlyQuoted.js +2 -0
  48. package/src/token/significant/stringLiteral.js +2 -0
  49. package/src/token/significant.js +17 -4
  50. package/src/token.js +27 -0
@@ -131,6 +131,12 @@ var StringLiteralToken = /*#__PURE__*/ function(SignificantToken) {
131
131
  }
132
132
  }
133
133
  ], [
134
+ {
135
+ key: "match",
136
+ value: function match(Class, content) {
137
+ return _significant.default.match(Class, content);
138
+ }
139
+ },
134
140
  {
135
141
  key: "fromContent",
136
142
  value: function fromContent(Class, content) {
@@ -142,4 +148,4 @@ var StringLiteralToken = /*#__PURE__*/ function(SignificantToken) {
142
148
  }(_significant.default);
143
149
  _define_property(StringLiteralToken, "type", _types.stringLiteralType);
144
150
 
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi9zaWduaWZpY2FudC9zdHJpbmdMaXRlcmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBTaWduaWZpY2FudFRva2VuIGZyb20gXCIuLi8uLi90b2tlbi9zaWduaWZpY2FudFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdMaXRlcmFsVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG5jb25zdCB7IHN1YnN0cmluZyB9ID0gc3RyaW5nVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJpbmdMaXRlcmFsVG9rZW4gZXh0ZW5kcyBTaWduaWZpY2FudFRva2VuIHtcbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBjb250ZW50TGVuZ3RoID0gdGhpcy5nZXRDb250ZW50TGVuZ3RoKCksXG4gICAgICAgICAgc3RhcnQgPSAxLFxuICAgICAgICAgIGVuZCA9IGNvbnRlbnRMZW5ndGggLSAxLFxuICAgICAgICAgIHN0cmluZyA9IHN1YnN0cmluZyhjb250ZW50LCBzdGFydCwgZW5kKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgdHlwZSA9IHN0cmluZ0xpdGVyYWxUeXBlO1xuXG4gIHN0YXRpYyBmcm9tQ29udGVudChDbGFzcywgY29udGVudCkgeyByZXR1cm4gU2lnbmlmaWNhbnRUb2tlbi5mcm9tQ29udGVudChDbGFzcywgY29udGVudCk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTdHJpbmdMaXRlcmFsVG9rZW4iLCJzdWJzdHJpbmciLCJzdHJpbmdVdGlsaXRpZXMiLCJnZXRTdHJpbmciLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImNvbnRlbnRMZW5ndGgiLCJnZXRDb250ZW50TGVuZ3RoIiwic3RhcnQiLCJlbmQiLCJzdHJpbmciLCJmcm9tQ29udGVudCIsIkNsYXNzIiwiU2lnbmlmaWNhbnRUb2tlbiIsInR5cGUiLCJzdHJpbmdMaXRlcmFsVHlwZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVztrRUFFSDtxQkFFSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBTSxBQUFFQyxZQUFjQywwQkFBZSxDQUE3QkQ7QUFFTyxJQUFBLEFBQU1ELG1DQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxVQUFVLElBQUksQ0FBQ0MsVUFBVSxJQUN6QkMsZ0JBQWdCLElBQUksQ0FBQ0MsZ0JBQWdCLElBQ3JDQyxRQUFRLEdBQ1JDLE1BQU1ILGdCQUFnQixHQUN0QkksU0FBU1QsVUFBVUcsU0FBU0ksT0FBT0M7Z0JBRXpDLE9BQU9DO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsWUFBWUMsS0FBSyxFQUFFUixPQUFPO2dCQUFJLE9BQU9TLG9CQUFnQixDQUFDRixXQUFXLENBQUNDLE9BQU9SO1lBQVU7OztXQWJ2RUo7RUFBMkJhLG9CQUFnQjtBQVc5RCxpQkFYbUJiLG9CQVdaYyxRQUFPQyx3QkFBaUIifQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi9zaWduaWZpY2FudC9zdHJpbmdMaXRlcmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBTaWduaWZpY2FudFRva2VuIGZyb20gXCIuLi8uLi90b2tlbi9zaWduaWZpY2FudFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdMaXRlcmFsVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG5jb25zdCB7IHN1YnN0cmluZyB9ID0gc3RyaW5nVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJpbmdMaXRlcmFsVG9rZW4gZXh0ZW5kcyBTaWduaWZpY2FudFRva2VuIHtcbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBjb250ZW50TGVuZ3RoID0gdGhpcy5nZXRDb250ZW50TGVuZ3RoKCksXG4gICAgICAgICAgc3RhcnQgPSAxLFxuICAgICAgICAgIGVuZCA9IGNvbnRlbnRMZW5ndGggLSAxLFxuICAgICAgICAgIHN0cmluZyA9IHN1YnN0cmluZyhjb250ZW50LCBzdGFydCwgZW5kKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgdHlwZSA9IHN0cmluZ0xpdGVyYWxUeXBlO1xuXG4gIHN0YXRpYyBtYXRjaChDbGFzcywgY29udGVudCkgeyByZXR1cm4gU2lnbmlmaWNhbnRUb2tlbi5tYXRjaChDbGFzcywgY29udGVudCk7IH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoQ2xhc3MsIGNvbnRlbnQpIHsgcmV0dXJuIFNpZ25pZmljYW50VG9rZW4uZnJvbUNvbnRlbnQoQ2xhc3MsIGNvbnRlbnQpOyB9XG59XG4iXSwibmFtZXMiOlsiU3RyaW5nTGl0ZXJhbFRva2VuIiwic3Vic3RyaW5nIiwic3RyaW5nVXRpbGl0aWVzIiwiZ2V0U3RyaW5nIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjb250ZW50TGVuZ3RoIiwiZ2V0Q29udGVudExlbmd0aCIsInN0YXJ0IiwiZW5kIiwic3RyaW5nIiwibWF0Y2giLCJDbGFzcyIsIlNpZ25pZmljYW50VG9rZW4iLCJmcm9tQ29udGVudCIsInR5cGUiLCJzdHJpbmdMaXRlcmFsVHlwZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVztrRUFFSDtxQkFFSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBTSxBQUFFQyxZQUFjQywwQkFBZSxDQUE3QkQ7QUFFTyxJQUFBLEFBQU1ELG1DQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxVQUFVLElBQUksQ0FBQ0MsVUFBVSxJQUN6QkMsZ0JBQWdCLElBQUksQ0FBQ0MsZ0JBQWdCLElBQ3JDQyxRQUFRLEdBQ1JDLE1BQU1ILGdCQUFnQixHQUN0QkksU0FBU1QsVUFBVUcsU0FBU0ksT0FBT0M7Z0JBRXpDLE9BQU9DO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsTUFBTUMsS0FBSyxFQUFFUixPQUFPO2dCQUFJLE9BQU9TLG9CQUFnQixDQUFDRixLQUFLLENBQUNDLE9BQU9SO1lBQVU7OztZQUV2RVUsS0FBQUE7bUJBQVAsU0FBT0EsWUFBWUYsS0FBSyxFQUFFUixPQUFPO2dCQUFJLE9BQU9TLG9CQUFnQixDQUFDQyxXQUFXLENBQUNGLE9BQU9SO1lBQVU7OztXQWZ2RUo7RUFBMkJhLG9CQUFnQjtBQVc5RCxpQkFYbUJiLG9CQVdaZSxRQUFPQyx3QkFBaUIifQ==
@@ -124,7 +124,6 @@ function _create_super(Derived) {
124
124
  return _possible_constructor_return(this, result);
125
125
  };
126
126
  }
127
- var significant = true;
128
127
  var SignificantToken = /*#__PURE__*/ function(Token) {
129
128
  _inherits(SignificantToken, Token);
130
129
  var _super = _create_super(SignificantToken);
@@ -133,6 +132,25 @@ var SignificantToken = /*#__PURE__*/ function(Token) {
133
132
  return _super.apply(this, arguments);
134
133
  }
135
134
  _create_class(SignificantToken, null, [
135
+ {
136
+ key: "match",
137
+ value: function match(Class, content) {
138
+ for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
139
+ remainingArguments[_key - 2] = arguments[_key];
140
+ }
141
+ var _Token;
142
+ if (content === undefined) {
143
+ content = Class; ///
144
+ Class = SignificantToken; ///
145
+ }
146
+ var significant = true, significantToken = (_Token = _token.default).match.apply(_Token, [
147
+ Class,
148
+ content,
149
+ significant
150
+ ].concat(_to_consumable_array(remainingArguments)));
151
+ return significantToken;
152
+ }
153
+ },
136
154
  {
137
155
  key: "fromContent",
138
156
  value: function fromContent(Class, content) {
@@ -144,7 +162,7 @@ var SignificantToken = /*#__PURE__*/ function(Token) {
144
162
  content = Class; ///
145
163
  Class = SignificantToken; ///
146
164
  }
147
- var significantToken = (_Token = _token.default).fromContent.apply(_Token, [
165
+ var significant = true, significantToken = (_Token = _token.default).fromContent.apply(_Token, [
148
166
  Class,
149
167
  content,
150
168
  significant
@@ -164,7 +182,7 @@ var SignificantToken = /*#__PURE__*/ function(Token) {
164
182
  content = Class; ///
165
183
  Class = SignificantToken; ///
166
184
  }
167
- var significantToken = (_Token = _token.default).fromContentAndType.apply(_Token, [
185
+ var significant = true, significantToken = (_Token = _token.default).fromContentAndType.apply(_Token, [
168
186
  Class,
169
187
  content,
170
188
  type,
@@ -177,4 +195,4 @@ var SignificantToken = /*#__PURE__*/ function(Token) {
177
195
  return SignificantToken;
178
196
  }(_token.default);
179
197
 
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9zaWduaWZpY2FudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRva2VuIGZyb20gXCIuLi90b2tlblwiO1xuXG5jb25zdCBzaWduaWZpY2FudCA9IHRydWU7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNpZ25pZmljYW50VG9rZW4gZXh0ZW5kcyBUb2tlbiB7XG4gIHN0YXRpYyBmcm9tQ29udGVudChDbGFzcywgY29udGVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKGNvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29udGVudCA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gU2lnbmlmaWNhbnRUb2tlbjsgLy8vXG4gICAgfVxuXG4gICAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbiA9IFRva2VuLmZyb21Db250ZW50KENsYXNzLCBjb250ZW50LCBzaWduaWZpY2FudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBzaWduaWZpY2FudFRva2VuO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250ZW50QW5kVHlwZShDbGFzcywgY29udGVudCwgdHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdHlwZSA9IGNvbnRlbnQ7IC8vL1xuXG4gICAgICBjb250ZW50ID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBTaWduaWZpY2FudFRva2VuOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuID0gVG9rZW4uZnJvbUNvbnRlbnRBbmRUeXBlKENsYXNzLCBjb250ZW50LCB0eXBlLCBzaWduaWZpY2FudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBzaWduaWZpY2FudFRva2VuO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2lnbmlmaWNhbnRUb2tlbiIsInNpZ25pZmljYW50IiwiZnJvbUNvbnRlbnQiLCJDbGFzcyIsImNvbnRlbnQiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJUb2tlbiIsInVuZGVmaW5lZCIsInNpZ25pZmljYW50VG9rZW4iLCJmcm9tQ29udGVudEFuZFR5cGUiLCJ0eXBlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7NERBSkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxCLElBQU1DLGNBQWM7QUFFTCxJQUFBLEFBQU1ELGlDQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDWkUsS0FBQUE7bUJBQVAsU0FBT0EsWUFBWUMsS0FBSyxFQUFFQyxPQUFPO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHQyxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7b0JBTzdCQztnQkFOekIsSUFBSUYsWUFBWUcsV0FBVztvQkFDekJILFVBQVVELE9BQVEsR0FBRztvQkFFckJBLFFBTGVILGtCQUtXLEdBQUc7Z0JBQy9CO2dCQUVBLElBQU1RLG1CQUFtQkYsQ0FBQUEsU0FBQUEsY0FBSyxFQUFDSixXQUFXLENBQWpCSSxNQUFBQSxRQUFBQTtvQkFBa0JIO29CQUFPQztvQkFBU0g7aUJBQW1DLENBQXJFSyxPQUErQyxxQkFBR0Q7Z0JBRTNFLE9BQU9HO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxtQkFBbUJOLEtBQUssRUFBRUMsT0FBTyxFQUFFTSxJQUFJO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHTCxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7b0JBUzFDQztnQkFSekIsSUFBSUksU0FBU0gsV0FBVztvQkFDdEJHLE9BQU9OLFNBQVMsR0FBRztvQkFFbkJBLFVBQVVELE9BQVEsR0FBRztvQkFFckJBLFFBbkJlSCxrQkFtQlcsR0FBRztnQkFDL0I7Z0JBRUEsSUFBTVEsbUJBQW1CRixDQUFBQSxTQUFBQSxjQUFLLEVBQUNHLGtCQUFrQixDQUF4QkgsTUFBQUEsUUFBQUE7b0JBQXlCSDtvQkFBT0M7b0JBQVNNO29CQUFNVDtpQkFBbUMsQ0FBbEZLLE9BQTRELHFCQUFHRDtnQkFFeEYsT0FBT0c7WUFDVDs7O1dBekJtQlI7RUFBeUJNLGNBQUsifQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi9zaWduaWZpY2FudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRva2VuIGZyb20gXCIuLi90b2tlblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaWduaWZpY2FudFRva2VuIGV4dGVuZHMgVG9rZW4ge1xuICBzdGF0aWMgbWF0Y2goQ2xhc3MsIGNvbnRlbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChjb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRlbnQgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IFNpZ25pZmljYW50VG9rZW47IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25pZmljYW50ID0gdHJ1ZSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuID0gVG9rZW4ubWF0Y2goQ2xhc3MsIGNvbnRlbnQsIHNpZ25pZmljYW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHNpZ25pZmljYW50VG9rZW47XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoQ2xhc3MsIGNvbnRlbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChjb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRlbnQgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IFNpZ25pZmljYW50VG9rZW47IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25pZmljYW50ID0gdHJ1ZSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuID0gVG9rZW4uZnJvbUNvbnRlbnQoQ2xhc3MsIGNvbnRlbnQsIHNpZ25pZmljYW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHNpZ25pZmljYW50VG9rZW47XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnRBbmRUeXBlKENsYXNzLCBjb250ZW50LCB0eXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0eXBlID0gY29udGVudDsgLy8vXG5cbiAgICAgIGNvbnRlbnQgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IFNpZ25pZmljYW50VG9rZW47IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25pZmljYW50ID0gdHJ1ZSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuID0gVG9rZW4uZnJvbUNvbnRlbnRBbmRUeXBlKENsYXNzLCBjb250ZW50LCB0eXBlLCBzaWduaWZpY2FudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBzaWduaWZpY2FudFRva2VuO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2lnbmlmaWNhbnRUb2tlbiIsIm1hdGNoIiwiQ2xhc3MiLCJjb250ZW50IiwicmVtYWluaW5nQXJndW1lbnRzIiwiVG9rZW4iLCJ1bmRlZmluZWQiLCJzaWduaWZpY2FudCIsInNpZ25pZmljYW50VG9rZW4iLCJmcm9tQ29udGVudCIsImZyb21Db250ZW50QW5kVHlwZSIsInR5cGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7Ozs0REFGSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxJQUFBLEFBQU1BLGlDQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDWkMsS0FBQUE7bUJBQVAsU0FBT0EsTUFBTUMsS0FBSyxFQUFFQyxPQUFPO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHQyxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7b0JBUXZCQztnQkFQekIsSUFBSUYsWUFBWUcsV0FBVztvQkFDekJILFVBQVVELE9BQVEsR0FBRztvQkFFckJBLFFBTGVGLGtCQUtXLEdBQUc7Z0JBQy9CO2dCQUVBLElBQU1PLGNBQWMsTUFDZEMsbUJBQW1CSCxDQUFBQSxTQUFBQSxjQUFLLEVBQUNKLEtBQUssQ0FBWEksTUFBQUEsUUFBQUE7b0JBQVlIO29CQUFPQztvQkFBU0k7aUJBQW1DLENBQS9ERixPQUF5QyxxQkFBR0Q7Z0JBRXJFLE9BQU9JO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxZQUFZUCxLQUFLLEVBQUVDLE9BQU87Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztvQkFRN0JDO2dCQVB6QixJQUFJRixZQUFZRyxXQUFXO29CQUN6QkgsVUFBVUQsT0FBUSxHQUFHO29CQUVyQkEsUUFsQmVGLGtCQWtCVyxHQUFHO2dCQUMvQjtnQkFFQSxJQUFNTyxjQUFjLE1BQ2RDLG1CQUFtQkgsQ0FBQUEsU0FBQUEsY0FBSyxFQUFDSSxXQUFXLENBQWpCSixNQUFBQSxRQUFBQTtvQkFBa0JIO29CQUFPQztvQkFBU0k7aUJBQW1DLENBQXJFRixPQUErQyxxQkFBR0Q7Z0JBRTNFLE9BQU9JO1lBQ1Q7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSxtQkFBbUJSLEtBQUssRUFBRUMsT0FBTyxFQUFFUSxJQUFJO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHUCxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7b0JBVTFDQztnQkFUekIsSUFBSU0sU0FBU0wsV0FBVztvQkFDdEJLLE9BQU9SLFNBQVMsR0FBRztvQkFFbkJBLFVBQVVELE9BQVEsR0FBRztvQkFFckJBLFFBakNlRixrQkFpQ1csR0FBRztnQkFDL0I7Z0JBRUEsSUFBTU8sY0FBYyxNQUNkQyxtQkFBbUJILENBQUFBLFNBQUFBLGNBQUssRUFBQ0ssa0JBQWtCLENBQXhCTCxNQUFBQSxRQUFBQTtvQkFBeUJIO29CQUFPQztvQkFBU1E7b0JBQU1KO2lCQUFtQyxDQUFsRkYsT0FBNEQscUJBQUdEO2dCQUV4RixPQUFPSTtZQUNUOzs7V0F4Q21CUjtFQUF5QkssY0FBSyJ9
package/lib/token.js CHANGED
@@ -165,6 +165,33 @@ var Token = /*#__PURE__*/ function() {
165
165
  }
166
166
  }
167
167
  ], [
168
+ {
169
+ key: "match",
170
+ value: function match(Class, content, significant) {
171
+ for(var _len = arguments.length, remainingArguments = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++){
172
+ remainingArguments[_key - 3] = arguments[_key];
173
+ }
174
+ var token = null;
175
+ var regularExpression = Class.regularExpression, matches = content.match(regularExpression);
176
+ if (matches !== null) {
177
+ var index = matches.index;
178
+ if (index === 0) {
179
+ var firstMatch = first(matches);
180
+ content = firstMatch; ///
181
+ var contentLength = content.length; ///
182
+ if (contentLength > 0) {
183
+ var type = Class.type;
184
+ token = _construct(Class, [
185
+ type,
186
+ content,
187
+ significant
188
+ ].concat(_to_consumable_array(remainingArguments)));
189
+ }
190
+ }
191
+ }
192
+ return token;
193
+ }
194
+ },
168
195
  {
169
196
  key: "fromContent",
170
197
  value: function fromContent(Class, content, significant) {
@@ -196,4 +223,4 @@ var Token = /*#__PURE__*/ function() {
196
223
  return Token;
197
224
  }();
198
225
 
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RyaW5nVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBzYW5pdGlzZUNvbnRlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29tbWVudFR5cGUsIGVuZE9mTGluZVR5cGUsIHdoaXRlc3BhY2VUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuY29uc3QgeyBzdHJsZW4gfSA9IHN0cmluZ1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9rZW4ge1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBjb250ZW50LCBzaWduaWZpY2FudCkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLnNpZ25pZmljYW50ID0gc2lnbmlmaWNhbnQ7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cbiAgXG4gIGdldENvbnRlbnRMZW5ndGgobmFpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSBuYWl2ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Lmxlbmd0aCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4odGhpcy5jb250ZW50KTsgLy8vXG5cbiAgICByZXR1cm4gY29udGVudExlbmd0aDtcbiAgfVxuXG4gIGlzU2lnbmlmaWNhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmlmaWNhbnQ7XG4gIH1cbiAgXG4gIGlzQ29tbWVudFRva2VuKCkge1xuICAgIGNvbnN0IHR5cGVJbmNsdWRlc0NvbW1lbnRUeXBlID0gdGhpcy50eXBlLmluY2x1ZGVzKGNvbW1lbnRUeXBlKSxcbiAgICAgICAgICBjb21tZW50VG9rZW4gPSB0eXBlSW5jbHVkZXNDb21tZW50VHlwZTsgLy8vXG5cbiAgICByZXR1cm4gY29tbWVudFRva2VuO1xuICB9XG5cbiAgaXNFbmRPZkxpbmVUb2tlbigpIHtcbiAgICBjb25zdCB0eXBlRW5kT2ZMaW5lVHlwZSA9ICh0aGlzLnR5cGUuaW5jbHVkZXMoZW5kT2ZMaW5lVHlwZSkpLFxuICAgICAgICAgIGVuZE9mTGluZVRva2VuID0gdHlwZUVuZE9mTGluZVR5cGU7IC8vL1xuXG4gICAgcmV0dXJuIGVuZE9mTGluZVRva2VuO1xuICB9XG5cbiAgaXNXaGl0ZXNwYWNlVG9rZW4oKSB7XG4gICAgY29uc3QgdHlwZVdoaXRlc3BhY2VUeXBlID0gKHRoaXMudHlwZSA9PT0gd2hpdGVzcGFjZVR5cGUpLFxuICAgICAgICAgIHdoaXRlc3BhY2VUb2tlbiA9IHR5cGVXaGl0ZXNwYWNlVHlwZTsgLy8vXG5cbiAgICByZXR1cm4gd2hpdGVzcGFjZVRva2VuO1xuICB9XG5cbiAgbWF0Y2godG9rZW4pIHtcbiAgICBsZXQgbWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKHRva2VuICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gdG9rZW4uZ2V0VHlwZSgpLFxuICAgICAgICAgICAgY29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIHNpZ25pZmljYW50ID0gdG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBtYXRjaGVzID0gKCh0aGlzLnR5cGUgPT09IHR5cGUpICYmICh0aGlzLmNvbnRlbnQgPT09IGNvbnRlbnQpICYmICh0aGlzLnNpZ25pZmljYW50ID09PSBzaWduaWZpY2FudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgYXNIVE1MKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMudHlwZSwgLy8vXG4gICAgICAgICAgc2FuaXRpc2VkQ29udGVudCA9IHNhbml0aXNlQ29udGVudCh0aGlzLmNvbnRlbnQpLFxuICAgICAgICAgIGh0bWwgPSBgPHNwYW4gY2xhc3M9XCIke2NsYXNzTmFtZX1cIj4ke3Nhbml0aXNlZENvbnRlbnR9PC9zcGFuPmA7XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29udGVudChDbGFzcywgY29udGVudCwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gQ2xhc3MsXG4gICAgICAgICAgdG9rZW4gPSBuZXcgQ2xhc3ModHlwZSwgY29udGVudCwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnRBbmRUeXBlKENsYXNzLCBjb250ZW50LCB0eXBlLCBzaWduaWZpY2FudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7IHJldHVybiBuZXcgQ2xhc3ModHlwZSwgY29udGVudCwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7IH1cbn1cbiJdLCJuYW1lcyI6WyJUb2tlbiIsInN0cmxlbiIsInN0cmluZ1V0aWxpdGllcyIsInR5cGUiLCJjb250ZW50Iiwic2lnbmlmaWNhbnQiLCJnZXRUeXBlIiwiZ2V0Q29udGVudCIsImdldENvbnRlbnRMZW5ndGgiLCJuYWl2ZSIsImNvbnRlbnRMZW5ndGgiLCJsZW5ndGgiLCJpc1NpZ25pZmljYW50IiwiaXNDb21tZW50VG9rZW4iLCJ0eXBlSW5jbHVkZXNDb21tZW50VHlwZSIsImluY2x1ZGVzIiwiY29tbWVudFR5cGUiLCJjb21tZW50VG9rZW4iLCJpc0VuZE9mTGluZVRva2VuIiwidHlwZUVuZE9mTGluZVR5cGUiLCJlbmRPZkxpbmVUeXBlIiwiZW5kT2ZMaW5lVG9rZW4iLCJpc1doaXRlc3BhY2VUb2tlbiIsInR5cGVXaGl0ZXNwYWNlVHlwZSIsIndoaXRlc3BhY2VUeXBlIiwid2hpdGVzcGFjZVRva2VuIiwibWF0Y2giLCJ0b2tlbiIsIm1hdGNoZXMiLCJhc0hUTUwiLCJjbGFzc05hbWUiLCJzYW5pdGlzZWRDb250ZW50Iiwic2FuaXRpc2VDb250ZW50IiwiaHRtbCIsImZyb21Db250ZW50IiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJmcm9tQ29udGVudEFuZFR5cGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozt5QkFQVzt1QkFFQTtxQkFDMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNELElBQU0sQUFBRUMsU0FBV0MsMEJBQWUsQ0FBMUJEO0FBRU8sSUFBQSxBQUFNRCxzQkFBRCxBQUFMO2FBQU1BLE1BQ1BHLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO2dDQURuQkw7UUFFakIsSUFBSSxDQUFDRyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxXQUFXLEdBQUdBOztrQkFKRkw7O1lBT25CTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWlCQyxRQUFBQSxpRUFB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
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RyaW5nVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBzYW5pdGlzZUNvbnRlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgY29tbWVudFR5cGUsIGVuZE9mTGluZVR5cGUsIHdoaXRlc3BhY2VUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuY29uc3QgeyBzdHJsZW4gfSA9IHN0cmluZ1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9rZW4ge1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBjb250ZW50LCBzaWduaWZpY2FudCkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICB0aGlzLnNpZ25pZmljYW50ID0gc2lnbmlmaWNhbnQ7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cbiAgXG4gIGdldENvbnRlbnRMZW5ndGgobmFpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSBuYWl2ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Lmxlbmd0aCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4odGhpcy5jb250ZW50KTsgLy8vXG5cbiAgICByZXR1cm4gY29udGVudExlbmd0aDtcbiAgfVxuXG4gIGlzU2lnbmlmaWNhbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmlmaWNhbnQ7XG4gIH1cbiAgXG4gIGlzQ29tbWVudFRva2VuKCkge1xuICAgIGNvbnN0IHR5cGVJbmNsdWRlc0NvbW1lbnRUeXBlID0gdGhpcy50eXBlLmluY2x1ZGVzKGNvbW1lbnRUeXBlKSxcbiAgICAgICAgICBjb21tZW50VG9rZW4gPSB0eXBlSW5jbHVkZXNDb21tZW50VHlwZTsgLy8vXG5cbiAgICByZXR1cm4gY29tbWVudFRva2VuO1xuICB9XG5cbiAgaXNFbmRPZkxpbmVUb2tlbigpIHtcbiAgICBjb25zdCB0eXBlRW5kT2ZMaW5lVHlwZSA9ICh0aGlzLnR5cGUuaW5jbHVkZXMoZW5kT2ZMaW5lVHlwZSkpLFxuICAgICAgICAgIGVuZE9mTGluZVRva2VuID0gdHlwZUVuZE9mTGluZVR5cGU7IC8vL1xuXG4gICAgcmV0dXJuIGVuZE9mTGluZVRva2VuO1xuICB9XG5cbiAgaXNXaGl0ZXNwYWNlVG9rZW4oKSB7XG4gICAgY29uc3QgdHlwZVdoaXRlc3BhY2VUeXBlID0gKHRoaXMudHlwZSA9PT0gd2hpdGVzcGFjZVR5cGUpLFxuICAgICAgICAgIHdoaXRlc3BhY2VUb2tlbiA9IHR5cGVXaGl0ZXNwYWNlVHlwZTsgLy8vXG5cbiAgICByZXR1cm4gd2hpdGVzcGFjZVRva2VuO1xuICB9XG5cbiAgbWF0Y2godG9rZW4pIHtcbiAgICBsZXQgbWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKHRva2VuICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gdG9rZW4uZ2V0VHlwZSgpLFxuICAgICAgICAgICAgY29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIHNpZ25pZmljYW50ID0gdG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBtYXRjaGVzID0gKCh0aGlzLnR5cGUgPT09IHR5cGUpICYmICh0aGlzLmNvbnRlbnQgPT09IGNvbnRlbnQpICYmICh0aGlzLnNpZ25pZmljYW50ID09PSBzaWduaWZpY2FudCkpO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgYXNIVE1MKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMudHlwZSwgLy8vXG4gICAgICAgICAgc2FuaXRpc2VkQ29udGVudCA9IHNhbml0aXNlQ29udGVudCh0aGlzLmNvbnRlbnQpLFxuICAgICAgICAgIGh0bWwgPSBgPHNwYW4gY2xhc3M9XCIke2NsYXNzTmFtZX1cIj4ke3Nhbml0aXNlZENvbnRlbnR9PC9zcGFuPmA7XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXRjaChDbGFzcywgY29udGVudCwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCB0b2tlbiA9IG51bGw7XG5cbiAgICBjb25zdCB7IHJlZ3VsYXJFeHByZXNzaW9uIH0gPSBDbGFzcyxcbiAgICAgICAgICBtYXRjaGVzID0gY29udGVudC5tYXRjaChyZWd1bGFyRXhwcmVzc2lvbik7XG5cbiAgICBpZiAobWF0Y2hlcyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBpbmRleCB9ID0gbWF0Y2hlcztcblxuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0TWF0Y2ggPSBmaXJzdChtYXRjaGVzKTtcblxuICAgICAgICBjb250ZW50ID0gZmlyc3RNYXRjaDsgLy8vXG5cbiAgICAgICAgY29uc3QgY29udGVudExlbmd0aCA9IGNvbnRlbnQubGVuZ3RoOyAvLy9cblxuICAgICAgICBpZiAoY29udGVudExlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IENsYXNzO1xuXG4gICAgICAgICAgdG9rZW4gPSBuZXcgQ2xhc3ModHlwZSwgY29udGVudCwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnQoQ2xhc3MsIGNvbnRlbnQsIHNpZ25pZmljYW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IENsYXNzLFxuICAgICAgICAgIHRva2VuID0gbmV3IENsYXNzKHR5cGUsIGNvbnRlbnQsIHNpZ25pZmljYW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db250ZW50QW5kVHlwZShDbGFzcywgY29udGVudCwgdHlwZSwgc2lnbmlmaWNhbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgeyByZXR1cm4gbmV3IENsYXNzKHR5cGUsIGNvbnRlbnQsIHNpZ25pZmljYW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpOyB9XG59XG4iXSwibmFtZXMiOlsiVG9rZW4iLCJzdHJsZW4iLCJzdHJpbmdVdGlsaXRpZXMiLCJ0eXBlIiwiY29udGVudCIsInNpZ25pZmljYW50IiwiZ2V0VHlwZSIsImdldENvbnRlbnQiLCJnZXRDb250ZW50TGVuZ3RoIiwibmFpdmUiLCJjb250ZW50TGVuZ3RoIiwibGVuZ3RoIiwiaXNTaWduaWZpY2FudCIsImlzQ29tbWVudFRva2VuIiwidHlwZUluY2x1ZGVzQ29tbWVudFR5cGUiLCJpbmNsdWRlcyIsImNvbW1lbnRUeXBlIiwiY29tbWVudFRva2VuIiwiaXNFbmRPZkxpbmVUb2tlbiIsInR5cGVFbmRPZkxpbmVUeXBlIiwiZW5kT2ZMaW5lVHlwZSIsImVuZE9mTGluZVRva2VuIiwiaXNXaGl0ZXNwYWNlVG9rZW4iLCJ0eXBlV2hpdGVzcGFjZVR5cGUiLCJ3aGl0ZXNwYWNlVHlwZSIsIndoaXRlc3BhY2VUb2tlbiIsIm1hdGNoIiwidG9rZW4iLCJtYXRjaGVzIiwiYXNIVE1MIiwiY2xhc3NOYW1lIiwic2FuaXRpc2VkQ29udGVudCIsInNhbml0aXNlQ29udGVudCIsImh0bWwiLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInJlZ3VsYXJFeHByZXNzaW9uIiwiaW5kZXgiLCJmaXJzdE1hdGNoIiwiZmlyc3QiLCJmcm9tQ29udGVudCIsImZyb21Db250ZW50QW5kVHlwZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-lexers",
3
3
  "author": "James Smith",
4
- "version": "22.0.3",
4
+ "version": "22.0.6",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-lexers",
7
7
  "description": "Occam's lexers.",
@@ -15,8 +15,8 @@
15
15
  "devDependencies": {
16
16
  "@swc/core": "^1.2.50",
17
17
  "easy": "^16.0.19",
18
- "easy-layout": "^6.0.131",
19
- "easy-with-style": "^3.0.331",
18
+ "easy-layout": "^6.0.132",
19
+ "easy-with-style": "^3.0.333",
20
20
  "esbuild": "^0.9.6",
21
21
  "express": "^4.17.1",
22
22
  "juxtapose": "^4.0.80",
@@ -15,5 +15,7 @@ export default class EndOfLineCommentNonSignificantToken extends NonSignificantT
15
15
 
16
16
  static regularExpression = /^(?:\r\n|\r|\n)/;
17
17
 
18
+ static match(content) { return NonSignificantToken.match(EndOfLineCommentNonSignificantToken, content); }
19
+
18
20
  static fromContent(content) { return NonSignificantToken.fromContent(EndOfLineCommentNonSignificantToken, content); }
19
21
  }
@@ -5,5 +5,7 @@ import EndOfMultiLineCommentToken from "../../../../../token/nonSignificant/comm
5
5
  export default class CStyleEndOfMultiLineCommentToken extends EndOfMultiLineCommentToken {
6
6
  static regularExpression = /^\*\//;
7
7
 
8
+ static match(content) { return EndOfMultiLineCommentToken.match(CStyleEndOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return EndOfMultiLineCommentToken.fromContent(CStyleEndOfMultiLineCommentToken, content); }
9
11
  }
@@ -5,5 +5,7 @@ import EndOfMultiLineCommentToken from "../../../../../token/nonSignificant/comm
5
5
  export default class PythonStyleEndOfMultiLineCommentToken extends EndOfMultiLineCommentToken {
6
6
  static regularExpression = /^###/;
7
7
 
8
+ static match(content) { return EndOfMultiLineCommentToken.match(PythonStyleEndOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return EndOfMultiLineCommentToken.fromContent(PythonStyleEndOfMultiLineCommentToken, content); }
9
11
  }
@@ -13,5 +13,7 @@ export default class EndOfMultiLineCommentToken extends NonSignificantToken {
13
13
 
14
14
  static type = endOfMultiLineCommentType;
15
15
 
16
+ static match(Class, content) { return NonSignificantToken.match(Class, content); }
17
+
16
18
  static fromContent(Class, content) { return NonSignificantToken.fromContent(Class, content); }
17
19
  }
@@ -5,5 +5,7 @@ import MiddleOfMultiLineCommentToken from "../../../../../token/nonSignificant/c
5
5
  export default class CStyleMiddleOfMultiLineCommentToken extends MiddleOfMultiLineCommentToken {
6
6
  static regularExpression = /^(?:[^\r\n]+?(?=\*\/)|[^\r\n]+)/;
7
7
 
8
+ static match(content) { return MiddleOfMultiLineCommentToken.match(CStyleMiddleOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return MiddleOfMultiLineCommentToken.fromContent(CStyleMiddleOfMultiLineCommentToken, content); }
9
11
  }
@@ -5,5 +5,7 @@ import MiddleOfMultiLineCommentToken from "../../../../../token/nonSignificant/c
5
5
  export default class PythonStyleMiddleOfMultiLineCommentToken extends MiddleOfMultiLineCommentToken {
6
6
  static regularExpression = /^(?:[^\r\n]+?(?=###)|[^\r\n]+)/;
7
7
 
8
+ static match(content) { return MiddleOfMultiLineCommentToken.match(PythonStyleMiddleOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return MiddleOfMultiLineCommentToken.fromContent(PythonStyleMiddleOfMultiLineCommentToken, content); }
9
11
  }
@@ -13,5 +13,7 @@ export default class MiddleOfMultiLineCommentToken extends NonSignificantToken {
13
13
 
14
14
  static type = middleOfMultiLineCommentType;
15
15
 
16
+ static match(Class, content) { return NonSignificantToken.match(Class, content); }
17
+
16
18
  static fromContent(Class, content) { return NonSignificantToken.fromContent(Class, content); }
17
19
  }
@@ -5,5 +5,7 @@ import StartOfMultiLineCommentToken from "../../../../../token/nonSignificant/co
5
5
  export default class CStyleStartOfMultiLineCommentToken extends StartOfMultiLineCommentToken {
6
6
  static regularExpression = /^\/\*/;
7
7
 
8
+ static match(content) { return StartOfMultiLineCommentToken.match(CStyleStartOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return StartOfMultiLineCommentToken.fromContent(CStyleStartOfMultiLineCommentToken, content); }
9
11
  }
@@ -5,5 +5,7 @@ import StartOfMultiLineCommentToken from "../../../../../token/nonSignificant/co
5
5
  export default class PythonStyleStartOfMultiLineCommentToken extends StartOfMultiLineCommentToken {
6
6
  static regularExpression = /^###/;
7
7
 
8
+ static match(content) { return StartOfMultiLineCommentToken.match(PythonStyleStartOfMultiLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return StartOfMultiLineCommentToken.fromContent(PythonStyleStartOfMultiLineCommentToken, content); }
9
11
  }
@@ -13,5 +13,7 @@ export default class StartOfMultiLineCommentToken extends NonSignificantToken {
13
13
 
14
14
  static type = startOfMultiLineCommentType;
15
15
 
16
+ static match(Class, content) { return NonSignificantToken.match(Class, content); }
17
+
16
18
  static fromContent(Class, content) { return NonSignificantToken.fromContent(Class, content); }
17
19
  }
@@ -5,5 +5,7 @@ import SingleLineCommentToken from "../../../../token/nonSignificant/comment/sin
5
5
  export default class CStyleSingleLineCommentToken extends SingleLineCommentToken {
6
6
  static regularExpression = /^\/\/[^\r\n]*/;
7
7
 
8
+ static match(content) { return SingleLineCommentToken.match(CStyleSingleLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return SingleLineCommentToken.fromContent(CStyleSingleLineCommentToken, content); }
9
11
  }
@@ -5,5 +5,7 @@ import SingleLineCommentToken from "../../../../token/nonSignificant/comment/sin
5
5
  export default class PythonStyleSingleLineCommentToken extends SingleLineCommentToken {
6
6
  static regularExpression = /^#[^\r\n]*/;
7
7
 
8
+ static match(content) { return SingleLineCommentToken.match(PythonStyleSingleLineCommentToken, content); }
9
+
8
10
  static fromContent(content) { return SingleLineCommentToken.fromContent(PythonStyleSingleLineCommentToken, content); }
9
11
  }
@@ -13,5 +13,7 @@ export default class SingleLineCommentToken extends NonSignificantToken {
13
13
 
14
14
  static type = singleLineCommentType;
15
15
 
16
+ static match(Class, content) { return NonSignificantToken.match(Class, content); }
17
+
16
18
  static fromContent(Class, content) { return NonSignificantToken.fromContent(Class, content); }
17
19
  }
@@ -16,5 +16,7 @@ export default class EndOfLineNonSignificantToken extends NonSignificantToken {
16
16
 
17
17
  static regularExpression = /^(?:\r\n|\r|\n)/;
18
18
 
19
+ static match(content) { return NonSignificantToken.match(EndOfLineNonSignificantToken, content); }
20
+
19
21
  static fromContent(content) { return NonSignificantToken.fromContent(EndOfLineNonSignificantToken, content); }
20
22
  }
@@ -9,5 +9,7 @@ export default class WhitespaceToken extends NonSignificantToken {
9
9
 
10
10
  static regularExpression = /^[\t ]+/;
11
11
 
12
+ static match(content) { return NonSignificantToken.match(WhitespaceToken, content); }
13
+
12
14
  static fromContent(content) { return NonSignificantToken.fromContent(WhitespaceToken, content); }
13
15
  }
@@ -2,10 +2,25 @@
2
2
 
3
3
  import Token from "../token";
4
4
 
5
- const significant = false;
6
-
7
5
  export default class NonSignificantToken extends Token {
8
- static fromContent(Class, content) { return Token.fromContent(Class, content, significant); }
6
+ static match(Class, content) {
7
+ const significant = false,
8
+ nonSignificantToken = Token.match(Class, content, significant);
9
+
10
+ return nonSignificantToken;
11
+ }
12
+
13
+ static fromContent(Class, content) {
14
+ const significant = false,
15
+ nonSignificantToken = Token.fromContent(Class, content, significant);
16
+
17
+ return nonSignificantToken;
18
+ }
19
+
20
+ static fromContentAndType(Class, content, type) {
21
+ const significant = false,
22
+ nonSignificantToken = Token.fromContentAndType(Class, content, type, significant);
9
23
 
10
- static fromContentAndType(Class, content, type) { return Token.fromContentAndType(Class, content, type, significant); }
24
+ return nonSignificantToken;
25
+ }
11
26
  }
@@ -15,5 +15,7 @@ export default class EndOfLineCommentSignificantToken extends SignificantToken {
15
15
 
16
16
  static regularExpression = /^(?:\r\n|\r|\n)/;
17
17
 
18
+ static match(content) { return SignificantToken.match(EndOfLineCommentSignificantToken, content); }
19
+
18
20
  static fromContent(content) { return SignificantToken.fromContent(EndOfLineCommentSignificantToken, content); }
19
21
  }
@@ -16,5 +16,7 @@ export default class EndOfLineSignificantToken extends SignificantToken {
16
16
 
17
17
  static regularExpression = /^(?:\r\n|\r|\n)/;
18
18
 
19
+ static match(content) { return SignificantToken.match(EndOfLineSignificantToken, content); }
20
+
19
21
  static fromContent(content) { return SignificantToken.fromContent(EndOfLineSignificantToken, content); }
20
22
  }
@@ -9,5 +9,7 @@ export default class RegularExpressionToken extends SignificantToken {
9
9
 
10
10
  static regularExpression = /^\/(?:\\[^\s]|[^\/\r\n])*\//;
11
11
 
12
+ static match(content) { return SignificantToken.match(RegularExpressionToken, content); }
13
+
12
14
  static fromContent(content) { return SignificantToken.fromContent(RegularExpressionToken, content); }
13
15
  }
@@ -5,5 +5,7 @@ import StringLiteralToken from "../../significant/stringLiteral";
5
5
  export default class DoublyQuotedStringLiteralToken extends StringLiteralToken {
6
6
  static regularExpression = /^"(?:\\[^\s]|[^"\\\r\n])*"/;
7
7
 
8
+ static match(content) { return StringLiteralToken.match(DoublyQuotedStringLiteralToken, content); }
9
+
8
10
  static fromContent(content) { return StringLiteralToken.fromContent(DoublyQuotedStringLiteralToken, content); }
9
11
  }
@@ -5,5 +5,7 @@ import StringLiteralToken from "../../significant/stringLiteral";
5
5
  export default class SinglyQuotedStringLiteralToken extends StringLiteralToken {
6
6
  static regularExpression = /^'(?:\\[^\s]|[^'\\\r\n])*'/;
7
7
 
8
+ static match(content) { return StringLiteralToken.match(SinglyQuotedStringLiteralToken, content); }
9
+
8
10
  static fromContent(content) { return StringLiteralToken.fromContent(SinglyQuotedStringLiteralToken, content); }
9
11
  }
@@ -21,5 +21,7 @@ export default class StringLiteralToken extends SignificantToken {
21
21
 
22
22
  static type = stringLiteralType;
23
23
 
24
+ static match(Class, content) { return SignificantToken.match(Class, content); }
25
+
24
26
  static fromContent(Class, content) { return SignificantToken.fromContent(Class, content); }
25
27
  }
@@ -2,9 +2,20 @@
2
2
 
3
3
  import Token from "../token";
4
4
 
5
- const significant = true;
6
-
7
5
  export default class SignificantToken extends Token {
6
+ static match(Class, content, ...remainingArguments) {
7
+ if (content === undefined) {
8
+ content = Class; ///
9
+
10
+ Class = SignificantToken; ///
11
+ }
12
+
13
+ const significant = true,
14
+ significantToken = Token.match(Class, content, significant, ...remainingArguments);
15
+
16
+ return significantToken;
17
+ }
18
+
8
19
  static fromContent(Class, content, ...remainingArguments) {
9
20
  if (content === undefined) {
10
21
  content = Class; ///
@@ -12,7 +23,8 @@ export default class SignificantToken extends Token {
12
23
  Class = SignificantToken; ///
13
24
  }
14
25
 
15
- const significantToken = Token.fromContent(Class, content, significant, ...remainingArguments);
26
+ const significant = true,
27
+ significantToken = Token.fromContent(Class, content, significant, ...remainingArguments);
16
28
 
17
29
  return significantToken;
18
30
  }
@@ -26,7 +38,8 @@ export default class SignificantToken extends Token {
26
38
  Class = SignificantToken; ///
27
39
  }
28
40
 
29
- const significantToken = Token.fromContentAndType(Class, content, type, significant, ...remainingArguments);
41
+ const significant = true,
42
+ significantToken = Token.fromContentAndType(Class, content, type, significant, ...remainingArguments);
30
43
 
31
44
  return significantToken;
32
45
  }
package/src/token.js CHANGED
@@ -77,6 +77,33 @@ export default class Token {
77
77
  return html;
78
78
  }
79
79
 
80
+ static match(Class, content, significant, ...remainingArguments) {
81
+ let token = null;
82
+
83
+ const { regularExpression } = Class,
84
+ matches = content.match(regularExpression);
85
+
86
+ if (matches !== null) {
87
+ const { index } = matches;
88
+
89
+ if (index === 0) {
90
+ const firstMatch = first(matches);
91
+
92
+ content = firstMatch; ///
93
+
94
+ const contentLength = content.length; ///
95
+
96
+ if (contentLength > 0) {
97
+ const { type } = Class;
98
+
99
+ token = new Class(type, content, significant, ...remainingArguments);
100
+ }
101
+ }
102
+ }
103
+
104
+ return token;
105
+ }
106
+
80
107
  static fromContent(Class, content, significant, ...remainingArguments) {
81
108
  const { type } = Class,
82
109
  token = new Class(type, content, significant, ...remainingArguments);