@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.
- package/README.md +6 -6
- package/dist/cjs/index.d.ts +4 -4
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/lang/groovy.d.ts +6 -6
- package/dist/cjs/lang/groovy.js +83 -83
- package/dist/cjs/lang/index.d.ts +20 -20
- package/dist/cjs/lang/index.js +56 -56
- package/dist/cjs/lang/python.d.ts +6 -6
- package/dist/cjs/lang/python.js +73 -73
- package/dist/cjs/lang/scala.d.ts +6 -6
- package/dist/cjs/lang/scala.js +71 -71
- package/dist/cjs/lang/starlark.d.ts +6 -6
- package/dist/cjs/lang/starlark.js +58 -58
- package/dist/cjs/lang/types.d.ts +6 -6
- package/dist/cjs/lang/types.js +2 -2
- package/dist/cjs/lexer/bracket.d.ts +6 -6
- package/dist/cjs/lexer/bracket.js +57 -57
- package/dist/cjs/lexer/comment.d.ts +3 -3
- package/dist/cjs/lexer/comment.js +44 -44
- package/dist/cjs/lexer/index.d.ts +5 -5
- package/dist/cjs/lexer/index.js +155 -155
- package/dist/cjs/lexer/number.d.ts +2 -2
- package/dist/cjs/lexer/number.js +18 -18
- package/dist/cjs/lexer/operator.d.ts +2 -2
- package/dist/cjs/lexer/operator.js +24 -24
- package/dist/cjs/lexer/rules.d.ts +4 -4
- package/dist/cjs/lexer/rules.js +74 -74
- package/dist/cjs/lexer/string.d.ts +2 -2
- package/dist/cjs/lexer/string.js +181 -181
- package/dist/cjs/lexer/symbol.d.ts +2 -2
- package/dist/cjs/lexer/symbol.js +18 -18
- package/dist/cjs/lexer/token.d.ts +3 -3
- package/dist/cjs/lexer/token.js +64 -64
- package/dist/cjs/lexer/types.d.ts +142 -142
- package/dist/cjs/lexer/types.js +2 -2
- package/dist/cjs/parser/cursor.d.ts +2 -2
- package/dist/cjs/parser/cursor.js +13 -13
- package/dist/cjs/parser/index.d.ts +3 -3
- package/dist/cjs/parser/index.js +19 -19
- package/dist/cjs/parser/tree.d.ts +4 -4
- package/dist/cjs/parser/tree.js +246 -246
- package/dist/cjs/parser/types.d.ts +33 -33
- package/dist/cjs/parser/types.js +2 -2
- package/dist/cjs/query/builder.d.ts +144 -144
- package/dist/cjs/query/builder.js +332 -332
- package/dist/cjs/query/handler.d.ts +2 -2
- package/dist/cjs/query/handler.js +10 -10
- package/dist/cjs/query/index.d.ts +2 -2
- package/dist/cjs/query/index.js +32 -32
- package/dist/cjs/query/matchers/abstract-matcher.d.ts +9 -9
- package/dist/cjs/query/matchers/abstract-matcher.js +36 -36
- package/dist/cjs/query/matchers/alt-matcher.d.ts +10 -10
- package/dist/cjs/query/matchers/alt-matcher.js +33 -33
- package/dist/cjs/query/matchers/anchor-matcher.d.ts +17 -17
- package/dist/cjs/query/matchers/anchor-matcher.js +50 -50
- package/dist/cjs/query/matchers/comment-matcher.d.ts +10 -10
- package/dist/cjs/query/matchers/comment-matcher.js +39 -39
- package/dist/cjs/query/matchers/index.d.ts +6 -6
- package/dist/cjs/query/matchers/index.js +22 -22
- package/dist/cjs/query/matchers/many-matcher.d.ts +13 -13
- package/dist/cjs/query/matchers/many-matcher.js +61 -61
- package/dist/cjs/query/matchers/num-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/num-matcher.js +34 -34
- package/dist/cjs/query/matchers/op-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/op-matcher.js +34 -34
- package/dist/cjs/query/matchers/seq-matcher.d.ts +14 -14
- package/dist/cjs/query/matchers/seq-matcher.js +76 -76
- package/dist/cjs/query/matchers/str-matcher.d.ts +38 -38
- package/dist/cjs/query/matchers/str-matcher.js +108 -108
- package/dist/cjs/query/matchers/sym-matcher.d.ts +8 -8
- package/dist/cjs/query/matchers/sym-matcher.js +34 -34
- package/dist/cjs/query/matchers/tree-matcher.d.ts +23 -23
- package/dist/cjs/query/matchers/tree-matcher.js +121 -121
- package/dist/cjs/query/options.d.ts +10 -10
- package/dist/cjs/query/options.js +149 -149
- package/dist/cjs/query/regex.d.ts +1 -1
- package/dist/cjs/query/regex.js +13 -13
- package/dist/cjs/query/types.d.ts +100 -100
- package/dist/cjs/query/types.js +2 -2
- package/dist/cjs/util/clone.d.ts +1 -1
- package/dist/cjs/util/clone.js +5 -5
- package/dist/cjs/util/regex.d.ts +1 -1
- package/dist/cjs/util/regex.js +7 -7
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +8 -8
- package/dist/esm/lang/groovy.d.ts +6 -6
- package/dist/esm/lang/groovy.js +80 -80
- package/dist/esm/lang/index.d.ts +20 -20
- package/dist/esm/lang/index.js +37 -37
- package/dist/esm/lang/python.d.ts +6 -6
- package/dist/esm/lang/python.js +70 -70
- package/dist/esm/lang/scala.d.ts +6 -6
- package/dist/esm/lang/scala.js +68 -68
- package/dist/esm/lang/starlark.d.ts +6 -6
- package/dist/esm/lang/starlark.js +55 -55
- package/dist/esm/lang/types.d.ts +6 -6
- package/dist/esm/lang/types.js +1 -1
- package/dist/esm/lexer/bracket.d.ts +6 -6
- package/dist/esm/lexer/bracket.js +49 -49
- package/dist/esm/lexer/comment.d.ts +3 -3
- package/dist/esm/lexer/comment.js +39 -39
- package/dist/esm/lexer/index.d.ts +5 -5
- package/dist/esm/lexer/index.js +136 -136
- package/dist/esm/lexer/number.d.ts +2 -2
- package/dist/esm/lexer/number.js +14 -14
- package/dist/esm/lexer/operator.d.ts +2 -2
- package/dist/esm/lexer/operator.js +20 -20
- package/dist/esm/lexer/rules.d.ts +4 -4
- package/dist/esm/lexer/rules.js +69 -69
- package/dist/esm/lexer/string.d.ts +2 -2
- package/dist/esm/lexer/string.js +177 -177
- package/dist/esm/lexer/symbol.d.ts +2 -2
- package/dist/esm/lexer/symbol.js +14 -14
- package/dist/esm/lexer/token.d.ts +3 -3
- package/dist/esm/lexer/token.js +60 -60
- package/dist/esm/lexer/types.d.ts +142 -142
- package/dist/esm/lexer/types.js +1 -1
- package/dist/esm/parser/cursor.d.ts +2 -2
- package/dist/esm/parser/cursor.js +9 -9
- package/dist/esm/parser/index.d.ts +3 -3
- package/dist/esm/parser/index.js +3 -3
- package/dist/esm/parser/tree.d.ts +4 -4
- package/dist/esm/parser/tree.js +241 -241
- package/dist/esm/parser/types.d.ts +33 -33
- package/dist/esm/parser/types.js +1 -1
- package/dist/esm/query/builder.d.ts +144 -144
- package/dist/esm/query/builder.js +304 -304
- package/dist/esm/query/handler.d.ts +2 -2
- package/dist/esm/query/handler.js +6 -6
- package/dist/esm/query/index.d.ts +2 -2
- package/dist/esm/query/index.js +2 -2
- package/dist/esm/query/matchers/abstract-matcher.d.ts +9 -9
- package/dist/esm/query/matchers/abstract-matcher.js +32 -32
- package/dist/esm/query/matchers/alt-matcher.d.ts +10 -10
- package/dist/esm/query/matchers/alt-matcher.js +29 -29
- package/dist/esm/query/matchers/anchor-matcher.d.ts +17 -17
- package/dist/esm/query/matchers/anchor-matcher.js +44 -44
- package/dist/esm/query/matchers/comment-matcher.d.ts +10 -10
- package/dist/esm/query/matchers/comment-matcher.js +35 -35
- package/dist/esm/query/matchers/index.d.ts +6 -6
- package/dist/esm/query/matchers/index.js +6 -6
- package/dist/esm/query/matchers/many-matcher.d.ts +13 -13
- package/dist/esm/query/matchers/many-matcher.js +57 -57
- package/dist/esm/query/matchers/num-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/num-matcher.js +30 -30
- package/dist/esm/query/matchers/op-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/op-matcher.js +30 -30
- package/dist/esm/query/matchers/seq-matcher.d.ts +14 -14
- package/dist/esm/query/matchers/seq-matcher.js +72 -72
- package/dist/esm/query/matchers/str-matcher.d.ts +38 -38
- package/dist/esm/query/matchers/str-matcher.js +102 -102
- package/dist/esm/query/matchers/sym-matcher.d.ts +8 -8
- package/dist/esm/query/matchers/sym-matcher.js +30 -30
- package/dist/esm/query/matchers/tree-matcher.d.ts +23 -23
- package/dist/esm/query/matchers/tree-matcher.js +117 -117
- package/dist/esm/query/options.d.ts +10 -10
- package/dist/esm/query/options.js +139 -139
- package/dist/esm/query/regex.d.ts +1 -1
- package/dist/esm/query/regex.js +9 -9
- package/dist/esm/query/types.d.ts +100 -100
- package/dist/esm/query/types.js +1 -1
- package/dist/esm/util/clone.d.ts +1 -1
- package/dist/esm/util/clone.js +1 -1
- package/dist/esm/util/regex.d.ts +1 -1
- package/dist/esm/util/regex.js +3 -3
- 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
|
package/dist/cjs/query/index.js
CHANGED
|
@@ -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
|