@renovatebot/good-enough-parser 1.1.24 → 1.2.0

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 (166) hide show
  1. package/README.md +6 -6
  2. package/dist/cjs/index.d.ts +4 -4
  3. package/dist/cjs/index.js +7 -7
  4. package/dist/cjs/lang/groovy.d.ts +6 -6
  5. package/dist/cjs/lang/groovy.js +83 -83
  6. package/dist/cjs/lang/index.d.ts +20 -20
  7. package/dist/cjs/lang/index.js +56 -56
  8. package/dist/cjs/lang/python.d.ts +6 -6
  9. package/dist/cjs/lang/python.js +73 -73
  10. package/dist/cjs/lang/scala.d.ts +6 -6
  11. package/dist/cjs/lang/scala.js +71 -71
  12. package/dist/cjs/lang/starlark.d.ts +6 -6
  13. package/dist/cjs/lang/starlark.js +58 -58
  14. package/dist/cjs/lang/types.d.ts +6 -6
  15. package/dist/cjs/lang/types.js +2 -2
  16. package/dist/cjs/lexer/bracket.d.ts +6 -6
  17. package/dist/cjs/lexer/bracket.js +57 -57
  18. package/dist/cjs/lexer/comment.d.ts +3 -3
  19. package/dist/cjs/lexer/comment.js +44 -44
  20. package/dist/cjs/lexer/index.d.ts +5 -5
  21. package/dist/cjs/lexer/index.js +155 -155
  22. package/dist/cjs/lexer/number.d.ts +2 -2
  23. package/dist/cjs/lexer/number.js +18 -18
  24. package/dist/cjs/lexer/operator.d.ts +2 -2
  25. package/dist/cjs/lexer/operator.js +24 -24
  26. package/dist/cjs/lexer/rules.d.ts +4 -4
  27. package/dist/cjs/lexer/rules.js +74 -74
  28. package/dist/cjs/lexer/string.d.ts +2 -2
  29. package/dist/cjs/lexer/string.js +181 -181
  30. package/dist/cjs/lexer/symbol.d.ts +2 -2
  31. package/dist/cjs/lexer/symbol.js +18 -18
  32. package/dist/cjs/lexer/token.d.ts +3 -3
  33. package/dist/cjs/lexer/token.js +64 -64
  34. package/dist/cjs/lexer/types.d.ts +142 -142
  35. package/dist/cjs/lexer/types.js +2 -2
  36. package/dist/cjs/parser/cursor.d.ts +2 -2
  37. package/dist/cjs/parser/cursor.js +13 -13
  38. package/dist/cjs/parser/index.d.ts +3 -3
  39. package/dist/cjs/parser/index.js +19 -19
  40. package/dist/cjs/parser/tree.d.ts +4 -4
  41. package/dist/cjs/parser/tree.js +246 -246
  42. package/dist/cjs/parser/types.d.ts +33 -33
  43. package/dist/cjs/parser/types.js +2 -2
  44. package/dist/cjs/query/builder.d.ts +144 -144
  45. package/dist/cjs/query/builder.js +332 -332
  46. package/dist/cjs/query/handler.d.ts +2 -2
  47. package/dist/cjs/query/handler.js +10 -10
  48. package/dist/cjs/query/index.d.ts +2 -2
  49. package/dist/cjs/query/index.js +32 -32
  50. package/dist/cjs/query/matchers/abstract-matcher.d.ts +9 -9
  51. package/dist/cjs/query/matchers/abstract-matcher.js +36 -36
  52. package/dist/cjs/query/matchers/alt-matcher.d.ts +10 -10
  53. package/dist/cjs/query/matchers/alt-matcher.js +33 -33
  54. package/dist/cjs/query/matchers/anchor-matcher.d.ts +17 -17
  55. package/dist/cjs/query/matchers/anchor-matcher.js +50 -50
  56. package/dist/cjs/query/matchers/comment-matcher.d.ts +10 -10
  57. package/dist/cjs/query/matchers/comment-matcher.js +39 -39
  58. package/dist/cjs/query/matchers/index.d.ts +6 -6
  59. package/dist/cjs/query/matchers/index.js +22 -22
  60. package/dist/cjs/query/matchers/many-matcher.d.ts +13 -13
  61. package/dist/cjs/query/matchers/many-matcher.js +61 -61
  62. package/dist/cjs/query/matchers/num-matcher.d.ts +8 -8
  63. package/dist/cjs/query/matchers/num-matcher.js +34 -34
  64. package/dist/cjs/query/matchers/op-matcher.d.ts +8 -8
  65. package/dist/cjs/query/matchers/op-matcher.js +34 -34
  66. package/dist/cjs/query/matchers/seq-matcher.d.ts +14 -14
  67. package/dist/cjs/query/matchers/seq-matcher.js +76 -76
  68. package/dist/cjs/query/matchers/str-matcher.d.ts +38 -38
  69. package/dist/cjs/query/matchers/str-matcher.js +108 -108
  70. package/dist/cjs/query/matchers/sym-matcher.d.ts +8 -8
  71. package/dist/cjs/query/matchers/sym-matcher.js +34 -34
  72. package/dist/cjs/query/matchers/tree-matcher.d.ts +23 -23
  73. package/dist/cjs/query/matchers/tree-matcher.js +121 -121
  74. package/dist/cjs/query/options.d.ts +10 -10
  75. package/dist/cjs/query/options.js +149 -149
  76. package/dist/cjs/query/regex.d.ts +1 -1
  77. package/dist/cjs/query/regex.js +13 -13
  78. package/dist/cjs/query/types.d.ts +100 -100
  79. package/dist/cjs/query/types.js +2 -2
  80. package/dist/cjs/util/clone.d.ts +1 -1
  81. package/dist/cjs/util/clone.js +5 -5
  82. package/dist/cjs/util/regex.d.ts +1 -1
  83. package/dist/cjs/util/regex.js +7 -7
  84. package/dist/esm/index.d.ts +4 -4
  85. package/dist/esm/index.js +8 -8
  86. package/dist/esm/lang/groovy.d.ts +6 -6
  87. package/dist/esm/lang/groovy.js +80 -80
  88. package/dist/esm/lang/index.d.ts +20 -20
  89. package/dist/esm/lang/index.js +37 -37
  90. package/dist/esm/lang/python.d.ts +6 -6
  91. package/dist/esm/lang/python.js +70 -70
  92. package/dist/esm/lang/scala.d.ts +6 -6
  93. package/dist/esm/lang/scala.js +68 -68
  94. package/dist/esm/lang/starlark.d.ts +6 -6
  95. package/dist/esm/lang/starlark.js +55 -55
  96. package/dist/esm/lang/types.d.ts +6 -6
  97. package/dist/esm/lang/types.js +1 -1
  98. package/dist/esm/lexer/bracket.d.ts +6 -6
  99. package/dist/esm/lexer/bracket.js +49 -49
  100. package/dist/esm/lexer/comment.d.ts +3 -3
  101. package/dist/esm/lexer/comment.js +39 -39
  102. package/dist/esm/lexer/index.d.ts +5 -5
  103. package/dist/esm/lexer/index.js +136 -136
  104. package/dist/esm/lexer/number.d.ts +2 -2
  105. package/dist/esm/lexer/number.js +14 -14
  106. package/dist/esm/lexer/operator.d.ts +2 -2
  107. package/dist/esm/lexer/operator.js +20 -20
  108. package/dist/esm/lexer/rules.d.ts +4 -4
  109. package/dist/esm/lexer/rules.js +69 -69
  110. package/dist/esm/lexer/string.d.ts +2 -2
  111. package/dist/esm/lexer/string.js +177 -177
  112. package/dist/esm/lexer/symbol.d.ts +2 -2
  113. package/dist/esm/lexer/symbol.js +14 -14
  114. package/dist/esm/lexer/token.d.ts +3 -3
  115. package/dist/esm/lexer/token.js +60 -60
  116. package/dist/esm/lexer/types.d.ts +142 -142
  117. package/dist/esm/lexer/types.js +1 -1
  118. package/dist/esm/parser/cursor.d.ts +2 -2
  119. package/dist/esm/parser/cursor.js +9 -9
  120. package/dist/esm/parser/index.d.ts +3 -3
  121. package/dist/esm/parser/index.js +3 -3
  122. package/dist/esm/parser/tree.d.ts +4 -4
  123. package/dist/esm/parser/tree.js +241 -241
  124. package/dist/esm/parser/types.d.ts +33 -33
  125. package/dist/esm/parser/types.js +1 -1
  126. package/dist/esm/query/builder.d.ts +144 -144
  127. package/dist/esm/query/builder.js +304 -304
  128. package/dist/esm/query/handler.d.ts +2 -2
  129. package/dist/esm/query/handler.js +6 -6
  130. package/dist/esm/query/index.d.ts +2 -2
  131. package/dist/esm/query/index.js +2 -2
  132. package/dist/esm/query/matchers/abstract-matcher.d.ts +9 -9
  133. package/dist/esm/query/matchers/abstract-matcher.js +32 -32
  134. package/dist/esm/query/matchers/alt-matcher.d.ts +10 -10
  135. package/dist/esm/query/matchers/alt-matcher.js +29 -29
  136. package/dist/esm/query/matchers/anchor-matcher.d.ts +17 -17
  137. package/dist/esm/query/matchers/anchor-matcher.js +44 -44
  138. package/dist/esm/query/matchers/comment-matcher.d.ts +10 -10
  139. package/dist/esm/query/matchers/comment-matcher.js +35 -35
  140. package/dist/esm/query/matchers/index.d.ts +6 -6
  141. package/dist/esm/query/matchers/index.js +6 -6
  142. package/dist/esm/query/matchers/many-matcher.d.ts +13 -13
  143. package/dist/esm/query/matchers/many-matcher.js +57 -57
  144. package/dist/esm/query/matchers/num-matcher.d.ts +8 -8
  145. package/dist/esm/query/matchers/num-matcher.js +30 -30
  146. package/dist/esm/query/matchers/op-matcher.d.ts +8 -8
  147. package/dist/esm/query/matchers/op-matcher.js +30 -30
  148. package/dist/esm/query/matchers/seq-matcher.d.ts +14 -14
  149. package/dist/esm/query/matchers/seq-matcher.js +72 -72
  150. package/dist/esm/query/matchers/str-matcher.d.ts +38 -38
  151. package/dist/esm/query/matchers/str-matcher.js +102 -102
  152. package/dist/esm/query/matchers/sym-matcher.d.ts +8 -8
  153. package/dist/esm/query/matchers/sym-matcher.js +30 -30
  154. package/dist/esm/query/matchers/tree-matcher.d.ts +23 -23
  155. package/dist/esm/query/matchers/tree-matcher.js +117 -117
  156. package/dist/esm/query/options.d.ts +10 -10
  157. package/dist/esm/query/options.js +139 -139
  158. package/dist/esm/query/regex.d.ts +1 -1
  159. package/dist/esm/query/regex.js +9 -9
  160. package/dist/esm/query/types.d.ts +100 -100
  161. package/dist/esm/query/types.js +1 -1
  162. package/dist/esm/util/clone.d.ts +1 -1
  163. package/dist/esm/util/clone.js +1 -1
  164. package/dist/esm/util/regex.d.ts +1 -1
  165. package/dist/esm/util/regex.js +3 -3
  166. package/package.json +3 -3
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeHandler = void 0;
4
- const clone_1 = require("../util/clone");
5
- function safeHandler(handler) {
6
- return handler
7
- ? (context, token) => handler((0, clone_1.clone)(context), token)
8
- : (context, _) => context;
9
- }
10
- exports.safeHandler = safeHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.safeHandler = void 0;
4
+ const clone_1 = require("../util/clone");
5
+ function safeHandler(handler) {
6
+ return handler
7
+ ? (context, token) => handler((0, clone_1.clone)(context), token)
8
+ : (context, _) => context;
9
+ }
10
+ exports.safeHandler = safeHandler;
11
11
  //# sourceMappingURL=handler.js.map
@@ -1,3 +1,3 @@
1
- export { begin, handler, join, sym, op, comment, num, many, opt, alt, tree, str, buildRoot, } from './builder';
2
- export * from './types';
1
+ export { begin, handler, join, sym, op, comment, num, many, opt, alt, tree, str, buildRoot, } from './builder';
2
+ export * from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,33 +1,33 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.buildRoot = exports.str = exports.tree = exports.alt = exports.opt = exports.many = exports.num = exports.comment = exports.op = exports.sym = exports.join = exports.handler = exports.begin = void 0;
18
- var builder_1 = require("./builder");
19
- Object.defineProperty(exports, "begin", { enumerable: true, get: function () { return builder_1.begin; } });
20
- Object.defineProperty(exports, "handler", { enumerable: true, get: function () { return builder_1.handler; } });
21
- Object.defineProperty(exports, "join", { enumerable: true, get: function () { return builder_1.join; } });
22
- Object.defineProperty(exports, "sym", { enumerable: true, get: function () { return builder_1.sym; } });
23
- Object.defineProperty(exports, "op", { enumerable: true, get: function () { return builder_1.op; } });
24
- Object.defineProperty(exports, "comment", { enumerable: true, get: function () { return builder_1.comment; } });
25
- Object.defineProperty(exports, "num", { enumerable: true, get: function () { return builder_1.num; } });
26
- Object.defineProperty(exports, "many", { enumerable: true, get: function () { return builder_1.many; } });
27
- Object.defineProperty(exports, "opt", { enumerable: true, get: function () { return builder_1.opt; } });
28
- Object.defineProperty(exports, "alt", { enumerable: true, get: function () { return builder_1.alt; } });
29
- Object.defineProperty(exports, "tree", { enumerable: true, get: function () { return builder_1.tree; } });
30
- Object.defineProperty(exports, "str", { enumerable: true, get: function () { return builder_1.str; } });
31
- Object.defineProperty(exports, "buildRoot", { enumerable: true, get: function () { return builder_1.buildRoot; } });
32
- __exportStar(require("./types"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.buildRoot = exports.str = exports.tree = exports.alt = exports.opt = exports.many = exports.num = exports.comment = exports.op = exports.sym = exports.join = exports.handler = exports.begin = void 0;
18
+ var builder_1 = require("./builder");
19
+ Object.defineProperty(exports, "begin", { enumerable: true, get: function () { return builder_1.begin; } });
20
+ Object.defineProperty(exports, "handler", { enumerable: true, get: function () { return builder_1.handler; } });
21
+ Object.defineProperty(exports, "join", { enumerable: true, get: function () { return builder_1.join; } });
22
+ Object.defineProperty(exports, "sym", { enumerable: true, get: function () { return builder_1.sym; } });
23
+ Object.defineProperty(exports, "op", { enumerable: true, get: function () { return builder_1.op; } });
24
+ Object.defineProperty(exports, "comment", { enumerable: true, get: function () { return builder_1.comment; } });
25
+ Object.defineProperty(exports, "num", { enumerable: true, get: function () { return builder_1.num; } });
26
+ Object.defineProperty(exports, "many", { enumerable: true, get: function () { return builder_1.many; } });
27
+ Object.defineProperty(exports, "opt", { enumerable: true, get: function () { return builder_1.opt; } });
28
+ Object.defineProperty(exports, "alt", { enumerable: true, get: function () { return builder_1.alt; } });
29
+ Object.defineProperty(exports, "tree", { enumerable: true, get: function () { return builder_1.tree; } });
30
+ Object.defineProperty(exports, "str", { enumerable: true, get: function () { return builder_1.str; } });
31
+ Object.defineProperty(exports, "buildRoot", { enumerable: true, get: function () { return builder_1.buildRoot; } });
32
+ __exportStar(require("./types"), exports);
33
33
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
- import type { Cursor, Node } from '../../parser';
2
- import type { Checkpoint, Matcher } from '../types';
3
- export declare abstract class AbstractMatcher<Ctx> implements Matcher<Ctx> {
4
- canSkip(node: Node): boolean;
5
- seekNext(cursor: Cursor): Cursor;
6
- moveRight(cursor: Cursor): Cursor;
7
- abstract match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
8
- nextMatch(): Checkpoint<Ctx> | null;
9
- }
1
+ import type { Cursor, Node } from '../../parser';
2
+ import type { Checkpoint, Matcher } from '../types';
3
+ export declare abstract class AbstractMatcher<Ctx> implements Matcher<Ctx> {
4
+ canSkip(node: Node): boolean;
5
+ seekNext(cursor: Cursor): Cursor;
6
+ moveRight(cursor: Cursor): Cursor;
7
+ abstract match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
8
+ nextMatch(): Checkpoint<Ctx> | null;
9
+ }
10
10
  //# sourceMappingURL=abstract-matcher.d.ts.map
@@ -1,37 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractMatcher = void 0;
4
- const skipByDefault = [
5
- 'whitespace',
6
- '_start',
7
- 'newline',
8
- 'comment',
9
- ];
10
- class AbstractMatcher {
11
- canSkip(node) {
12
- return skipByDefault.includes(node.type);
13
- }
14
- seekNext(cursor) {
15
- let node = cursor.node;
16
- while (this.canSkip(node)) {
17
- if (!cursor.right) {
18
- return cursor;
19
- }
20
- cursor = cursor.right;
21
- node = cursor.node;
22
- }
23
- return cursor;
24
- }
25
- moveRight(cursor) {
26
- const result = cursor.right;
27
- if (result) {
28
- return result;
29
- }
30
- throw new Error('Cursor error: move right');
31
- }
32
- nextMatch() {
33
- return null;
34
- }
35
- }
36
- exports.AbstractMatcher = AbstractMatcher;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractMatcher = void 0;
4
+ const skipByDefault = [
5
+ 'whitespace',
6
+ '_start',
7
+ 'newline',
8
+ 'comment',
9
+ ];
10
+ class AbstractMatcher {
11
+ canSkip(node) {
12
+ return skipByDefault.includes(node.type);
13
+ }
14
+ seekNext(cursor) {
15
+ let node = cursor.node;
16
+ while (this.canSkip(node)) {
17
+ if (!cursor.right) {
18
+ return cursor;
19
+ }
20
+ cursor = cursor.right;
21
+ node = cursor.node;
22
+ }
23
+ return cursor;
24
+ }
25
+ moveRight(cursor) {
26
+ const result = cursor.right;
27
+ if (result) {
28
+ return result;
29
+ }
30
+ throw new Error('Cursor error: move right');
31
+ }
32
+ nextMatch() {
33
+ return null;
34
+ }
35
+ }
36
+ exports.AbstractMatcher = AbstractMatcher;
37
37
  //# sourceMappingURL=abstract-matcher.js.map
@@ -1,11 +1,11 @@
1
- import type { AltMatcherOptions, Checkpoint, Matcher } from '../types';
2
- import { AbstractMatcher } from './abstract-matcher';
3
- export declare class AltMatcher<Ctx> extends AbstractMatcher<Ctx> {
4
- readonly alts: Matcher<Ctx>[];
5
- private idx;
6
- private checkpoint;
7
- constructor({ matchers }: AltMatcherOptions<Ctx>);
8
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
9
- nextMatch(): Checkpoint<Ctx> | null;
10
- }
1
+ import type { AltMatcherOptions, Checkpoint, Matcher } from '../types';
2
+ import { AbstractMatcher } from './abstract-matcher';
3
+ export declare class AltMatcher<Ctx> extends AbstractMatcher<Ctx> {
4
+ readonly alts: Matcher<Ctx>[];
5
+ private idx;
6
+ private checkpoint;
7
+ constructor({ matchers }: AltMatcherOptions<Ctx>);
8
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
9
+ nextMatch(): Checkpoint<Ctx> | null;
10
+ }
11
11
  //# sourceMappingURL=alt-matcher.d.ts.map
@@ -1,34 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AltMatcher = void 0;
4
- const abstract_matcher_1 = require("./abstract-matcher");
5
- class AltMatcher extends abstract_matcher_1.AbstractMatcher {
6
- constructor({ matchers }) {
7
- super();
8
- this.idx = -1;
9
- this.checkpoint = null;
10
- this.alts = matchers;
11
- }
12
- match(checkpoint) {
13
- this.checkpoint = checkpoint;
14
- this.idx = -1;
15
- return this.nextMatch();
16
- }
17
- nextMatch() {
18
- if (this.checkpoint) {
19
- this.idx += 1;
20
- let matcher = this.alts[this.idx];
21
- while (matcher) {
22
- const checkpoint = matcher.match(this.checkpoint);
23
- if (checkpoint) {
24
- return checkpoint;
25
- }
26
- this.idx += 1;
27
- matcher = this.alts[this.idx];
28
- }
29
- }
30
- return null;
31
- }
32
- }
33
- exports.AltMatcher = AltMatcher;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AltMatcher = void 0;
4
+ const abstract_matcher_1 = require("./abstract-matcher");
5
+ class AltMatcher extends abstract_matcher_1.AbstractMatcher {
6
+ constructor({ matchers }) {
7
+ super();
8
+ this.idx = -1;
9
+ this.checkpoint = null;
10
+ this.alts = matchers;
11
+ }
12
+ match(checkpoint) {
13
+ this.checkpoint = checkpoint;
14
+ this.idx = -1;
15
+ return this.nextMatch();
16
+ }
17
+ nextMatch() {
18
+ if (this.checkpoint) {
19
+ this.idx += 1;
20
+ let matcher = this.alts[this.idx];
21
+ while (matcher) {
22
+ const checkpoint = matcher.match(this.checkpoint);
23
+ if (checkpoint) {
24
+ return checkpoint;
25
+ }
26
+ this.idx += 1;
27
+ matcher = this.alts[this.idx];
28
+ }
29
+ }
30
+ return null;
31
+ }
32
+ }
33
+ exports.AltMatcher = AltMatcher;
34
34
  //# sourceMappingURL=alt-matcher.js.map
@@ -1,18 +1,18 @@
1
- import type { Token } from '../../lexer/types';
2
- import type { Cursor, Tree } from '../../parser';
3
- import type { Checkpoint } from '../types';
4
- import { AbstractMatcher } from './abstract-matcher';
5
- export declare class BeginMatcher<Ctx> extends AbstractMatcher<Ctx> {
6
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
7
- }
8
- export declare class EndMatcher<Ctx> extends AbstractMatcher<Ctx> {
9
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
10
- }
11
- export declare class VoidMatcher<Ctx, T extends Tree | Token> extends AbstractMatcher<Ctx> {
12
- private handler;
13
- constructor(handler: (context: Ctx, t: T) => Ctx);
14
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
15
- moveRight(cursor: Cursor): Cursor;
16
- seekNext(cursor: Cursor): Cursor;
17
- }
1
+ import type { Token } from '../../lexer/types';
2
+ import type { Cursor, Tree } from '../../parser';
3
+ import type { Checkpoint } from '../types';
4
+ import { AbstractMatcher } from './abstract-matcher';
5
+ export declare class BeginMatcher<Ctx> extends AbstractMatcher<Ctx> {
6
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
7
+ }
8
+ export declare class EndMatcher<Ctx> extends AbstractMatcher<Ctx> {
9
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
10
+ }
11
+ export declare class VoidMatcher<Ctx, T extends Tree | Token> extends AbstractMatcher<Ctx> {
12
+ private handler;
13
+ constructor(handler: (context: Ctx, t: T) => Ctx);
14
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
15
+ moveRight(cursor: Cursor): Cursor;
16
+ seekNext(cursor: Cursor): Cursor;
17
+ }
18
18
  //# sourceMappingURL=anchor-matcher.d.ts.map
@@ -1,51 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VoidMatcher = exports.EndMatcher = exports.BeginMatcher = void 0;
4
- const clone_1 = require("../../util/clone");
5
- const abstract_matcher_1 = require("./abstract-matcher");
6
- class BeginMatcher extends abstract_matcher_1.AbstractMatcher {
7
- match(checkpoint) {
8
- var _a;
9
- let { cursor } = checkpoint;
10
- if (((_a = cursor.node) === null || _a === void 0 ? void 0 : _a.type) === '_start') {
11
- cursor = this.moveRight(cursor);
12
- return { ...checkpoint, cursor };
13
- }
14
- return null;
15
- }
16
- }
17
- exports.BeginMatcher = BeginMatcher;
18
- class EndMatcher extends abstract_matcher_1.AbstractMatcher {
19
- match(checkpoint) {
20
- var _a;
21
- let { cursor } = checkpoint;
22
- cursor = this.seekNext(cursor);
23
- if (((_a = cursor.node) === null || _a === void 0 ? void 0 : _a.type) === '_end') {
24
- return checkpoint;
25
- }
26
- return null;
27
- }
28
- }
29
- exports.EndMatcher = EndMatcher;
30
- class VoidMatcher extends abstract_matcher_1.AbstractMatcher {
31
- constructor(handler) {
32
- super();
33
- this.handler = (context, t) => handler((0, clone_1.clone)(context), t);
34
- }
35
- match(checkpoint) {
36
- var _a;
37
- const { cursor, context } = checkpoint;
38
- const prevCursor = (_a = cursor.left) !== null && _a !== void 0 ? _a : cursor;
39
- const node = prevCursor.node;
40
- const newContext = this.handler(context, node);
41
- return { cursor, context: newContext };
42
- }
43
- moveRight(cursor) {
44
- return cursor;
45
- }
46
- seekNext(cursor) {
47
- return cursor;
48
- }
49
- }
50
- exports.VoidMatcher = VoidMatcher;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VoidMatcher = exports.EndMatcher = exports.BeginMatcher = void 0;
4
+ const clone_1 = require("../../util/clone");
5
+ const abstract_matcher_1 = require("./abstract-matcher");
6
+ class BeginMatcher extends abstract_matcher_1.AbstractMatcher {
7
+ match(checkpoint) {
8
+ var _a;
9
+ let { cursor } = checkpoint;
10
+ if (((_a = cursor.node) === null || _a === void 0 ? void 0 : _a.type) === '_start') {
11
+ cursor = this.moveRight(cursor);
12
+ return { ...checkpoint, cursor };
13
+ }
14
+ return null;
15
+ }
16
+ }
17
+ exports.BeginMatcher = BeginMatcher;
18
+ class EndMatcher extends abstract_matcher_1.AbstractMatcher {
19
+ match(checkpoint) {
20
+ var _a;
21
+ let { cursor } = checkpoint;
22
+ cursor = this.seekNext(cursor);
23
+ if (((_a = cursor.node) === null || _a === void 0 ? void 0 : _a.type) === '_end') {
24
+ return checkpoint;
25
+ }
26
+ return null;
27
+ }
28
+ }
29
+ exports.EndMatcher = EndMatcher;
30
+ class VoidMatcher extends abstract_matcher_1.AbstractMatcher {
31
+ constructor(handler) {
32
+ super();
33
+ this.handler = (context, t) => handler((0, clone_1.clone)(context), t);
34
+ }
35
+ match(checkpoint) {
36
+ var _a;
37
+ const { cursor, context } = checkpoint;
38
+ const prevCursor = (_a = cursor.left) !== null && _a !== void 0 ? _a : cursor;
39
+ const node = prevCursor.node;
40
+ const newContext = this.handler(context, node);
41
+ return { cursor, context: newContext };
42
+ }
43
+ moveRight(cursor) {
44
+ return cursor;
45
+ }
46
+ seekNext(cursor) {
47
+ return cursor;
48
+ }
49
+ }
50
+ exports.VoidMatcher = VoidMatcher;
51
51
  //# sourceMappingURL=anchor-matcher.js.map
@@ -1,11 +1,11 @@
1
- import type { Node } from '../../parser';
2
- import type { Checkpoint, CommentMatcherHandler, CommentMatcherOptions, CommentMatcherValue } from '../types';
3
- import { AbstractMatcher } from './abstract-matcher';
4
- export declare class CommentMatcher<Ctx> extends AbstractMatcher<Ctx> {
5
- readonly comment: CommentMatcherValue;
6
- readonly handler: CommentMatcherHandler<Ctx>;
7
- constructor({ value, handler }: CommentMatcherOptions<Ctx>);
8
- canSkip(node: Node): boolean;
9
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
10
- }
1
+ import type { Node } from '../../parser';
2
+ import type { Checkpoint, CommentMatcherHandler, CommentMatcherOptions, CommentMatcherValue } from '../types';
3
+ import { AbstractMatcher } from './abstract-matcher';
4
+ export declare class CommentMatcher<Ctx> extends AbstractMatcher<Ctx> {
5
+ readonly comment: CommentMatcherValue;
6
+ readonly handler: CommentMatcherHandler<Ctx>;
7
+ constructor({ value, handler }: CommentMatcherOptions<Ctx>);
8
+ canSkip(node: Node): boolean;
9
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
10
+ }
11
11
  //# sourceMappingURL=comment-matcher.d.ts.map
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommentMatcher = void 0;
4
- const handler_1 = require("../handler");
5
- const regex_1 = require("../regex");
6
- const abstract_matcher_1 = require("./abstract-matcher");
7
- const skipBeforeComment = ['whitespace', '_start', 'newline'];
8
- class CommentMatcher extends abstract_matcher_1.AbstractMatcher {
9
- constructor({ value, handler }) {
10
- super();
11
- this.comment = value;
12
- this.handler = (0, handler_1.safeHandler)(handler);
13
- }
14
- canSkip(node) {
15
- return skipBeforeComment.includes(node.type);
16
- }
17
- match(checkpoint) {
18
- var _a;
19
- const context = checkpoint.context;
20
- const cursor = this.seekNext(checkpoint.cursor);
21
- const node = cursor.node;
22
- if ((node === null || node === void 0 ? void 0 : node.type) === 'comment') {
23
- let isMatched = true;
24
- if (typeof this.comment === 'string') {
25
- isMatched = this.comment === node.value;
26
- }
27
- else if ((0, regex_1.isRegex)(this.comment)) {
28
- isMatched = this.comment.test(node.value);
29
- }
30
- if (isMatched) {
31
- const nextContext = this.handler(context, node);
32
- const nextCursor = (_a = cursor.right) !== null && _a !== void 0 ? _a : cursor;
33
- return { context: nextContext, cursor: nextCursor };
34
- }
35
- }
36
- return null;
37
- }
38
- }
39
- exports.CommentMatcher = CommentMatcher;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommentMatcher = void 0;
4
+ const handler_1 = require("../handler");
5
+ const regex_1 = require("../regex");
6
+ const abstract_matcher_1 = require("./abstract-matcher");
7
+ const skipBeforeComment = ['whitespace', '_start', 'newline'];
8
+ class CommentMatcher extends abstract_matcher_1.AbstractMatcher {
9
+ constructor({ value, handler }) {
10
+ super();
11
+ this.comment = value;
12
+ this.handler = (0, handler_1.safeHandler)(handler);
13
+ }
14
+ canSkip(node) {
15
+ return skipBeforeComment.includes(node.type);
16
+ }
17
+ match(checkpoint) {
18
+ var _a;
19
+ const context = checkpoint.context;
20
+ const cursor = this.seekNext(checkpoint.cursor);
21
+ const node = cursor.node;
22
+ if ((node === null || node === void 0 ? void 0 : node.type) === 'comment') {
23
+ let isMatched = true;
24
+ if (typeof this.comment === 'string') {
25
+ isMatched = this.comment === node.value;
26
+ }
27
+ else if ((0, regex_1.isRegex)(this.comment)) {
28
+ isMatched = this.comment.test(node.value);
29
+ }
30
+ if (isMatched) {
31
+ const nextContext = this.handler(context, node);
32
+ const nextCursor = (_a = cursor.right) !== null && _a !== void 0 ? _a : cursor;
33
+ return { context: nextContext, cursor: nextCursor };
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ }
39
+ exports.CommentMatcher = CommentMatcher;
40
40
  //# sourceMappingURL=comment-matcher.js.map
@@ -1,7 +1,7 @@
1
- export * from './abstract-matcher';
2
- export * from './alt-matcher';
3
- export * from './many-matcher';
4
- export * from './op-matcher';
5
- export * from './seq-matcher';
6
- export * from './sym-matcher';
1
+ export * from './abstract-matcher';
2
+ export * from './alt-matcher';
3
+ export * from './many-matcher';
4
+ export * from './op-matcher';
5
+ export * from './seq-matcher';
6
+ export * from './sym-matcher';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,23 +1,23 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./abstract-matcher"), exports);
18
- __exportStar(require("./alt-matcher"), exports);
19
- __exportStar(require("./many-matcher"), exports);
20
- __exportStar(require("./op-matcher"), exports);
21
- __exportStar(require("./seq-matcher"), exports);
22
- __exportStar(require("./sym-matcher"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./abstract-matcher"), exports);
18
+ __exportStar(require("./alt-matcher"), exports);
19
+ __exportStar(require("./many-matcher"), exports);
20
+ __exportStar(require("./op-matcher"), exports);
21
+ __exportStar(require("./seq-matcher"), exports);
22
+ __exportStar(require("./sym-matcher"), exports);
23
23
  //# sourceMappingURL=index.js.map
@@ -1,14 +1,14 @@
1
- import type { Checkpoint, ManyMatcherOptions, Matcher } from '../types';
2
- import { AbstractMatcher } from './abstract-matcher';
3
- export declare class ManyMatcher<Ctx> extends AbstractMatcher<Ctx> {
4
- readonly manyOf: Matcher<Ctx>;
5
- readonly min: number;
6
- readonly max: number | null;
7
- private idx;
8
- private matches;
9
- constructor({ matcher, min, max }: ManyMatcherOptions<Ctx>);
10
- private nextRound;
11
- match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
12
- nextMatch(): Checkpoint<Ctx> | null;
13
- }
1
+ import type { Checkpoint, ManyMatcherOptions, Matcher } from '../types';
2
+ import { AbstractMatcher } from './abstract-matcher';
3
+ export declare class ManyMatcher<Ctx> extends AbstractMatcher<Ctx> {
4
+ readonly manyOf: Matcher<Ctx>;
5
+ readonly min: number;
6
+ readonly max: number | null;
7
+ private idx;
8
+ private matches;
9
+ constructor({ matcher, min, max }: ManyMatcherOptions<Ctx>);
10
+ private nextRound;
11
+ match(checkpoint: Checkpoint<Ctx>): Checkpoint<Ctx> | null;
12
+ nextMatch(): Checkpoint<Ctx> | null;
13
+ }
14
14
  //# sourceMappingURL=many-matcher.d.ts.map