ast-types 0.13.3 → 0.14.2
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/.github/dependabot.yml +9 -0
- package/.github/workflows/main.yml +29 -0
- package/README.md +1 -1
- package/def/babel-core.js +5 -61
- package/def/babel.js +3 -5
- package/def/core-operators.d.ts +3 -0
- package/def/core-operators.js +20 -0
- package/def/core.js +8 -11
- package/def/es-proposals.js +28 -23
- package/def/{es7.d.ts → es2016.d.ts} +0 -0
- package/def/es2016.js +20 -0
- package/def/{esNext.d.ts → es2017.d.ts} +0 -0
- package/def/es2017.js +20 -0
- package/def/es2018.d.ts +2 -0
- package/def/es2018.js +34 -0
- package/def/es2019.d.ts +2 -0
- package/def/es2019.js +17 -0
- package/def/es2020.js +38 -6
- package/def/es6.js +49 -25
- package/def/esprima.js +5 -7
- package/def/flow.js +75 -20
- package/def/jsx.js +28 -25
- package/def/type-annotations.js +3 -5
- package/def/typescript.js +16 -11
- package/fork.d.ts +1 -1
- package/fork.js +6 -8
- package/gen/builders.d.ts +360 -226
- package/gen/kinds.d.ts +48 -33
- package/gen/namedTypes.d.ts +257 -152
- package/gen/namedTypes.js +1 -0
- package/gen/visitor.d.ts +36 -21
- package/lib/equiv.js +2 -4
- package/lib/node-path.js +4 -6
- package/lib/path-visitor.js +3 -5
- package/lib/path.js +2 -4
- package/lib/scope.js +8 -5
- package/lib/shared.d.ts +7 -7
- package/lib/shared.js +2 -4
- package/lib/types.d.ts +1 -1
- package/lib/types.js +31 -32
- package/main.js +21 -16
- package/package.json +15 -13
- package/tsconfig.json +1 -0
- package/.travis.yml +0 -11
- package/def/es7.js +0 -36
- package/def/esNext.js +0 -57
- package/gen/nodes.d.ts +0 -1265
- package/gen/nodes.js +0 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Please see the documentation for all configuration options:
|
|
2
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
3
|
+
|
|
4
|
+
version: 2
|
|
5
|
+
updates:
|
|
6
|
+
- package-ecosystem: "npm"
|
|
7
|
+
directory: "/"
|
|
8
|
+
schedule:
|
|
9
|
+
interval: "daily"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
|
|
12
|
+
runs-on: ${{ matrix.os }}
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
node_version: ['10', '12', '14']
|
|
16
|
+
os: [ubuntu-latest]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v2
|
|
20
|
+
- name: Use Node.js ${{ matrix.node_version }}
|
|
21
|
+
uses: actions/setup-node@v1
|
|
22
|
+
with:
|
|
23
|
+
node-version: ${{ matrix.node_version }}
|
|
24
|
+
|
|
25
|
+
- name: npm install, build and test
|
|
26
|
+
run: |
|
|
27
|
+
npm install
|
|
28
|
+
npm run build --if-present
|
|
29
|
+
npm test
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# AST Types
|
|
1
|
+
# AST Types 
|
|
2
2
|
|
|
3
3
|
This module provides an efficient, modular,
|
|
4
4
|
[Esprima](https://github.com/ariya/esprima)-compatible implementation of
|
package/def/babel-core.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es_proposals_1 = tslib_1.__importDefault(require("./es-proposals"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
9
7
|
function default_1(fork) {
|
|
10
|
-
fork.use(
|
|
8
|
+
fork.use(es_proposals_1.default);
|
|
11
9
|
var types = fork.use(types_1.default);
|
|
12
10
|
var defaults = fork.use(shared_1.default).defaults;
|
|
13
11
|
var def = types.Type.def;
|
|
@@ -19,55 +17,15 @@ function default_1(fork) {
|
|
|
19
17
|
.bases("Expression")
|
|
20
18
|
.build("body")
|
|
21
19
|
.field("body", [def("Statement")]);
|
|
22
|
-
def("Super")
|
|
23
|
-
.bases("Expression")
|
|
24
|
-
.build();
|
|
25
20
|
def("BindExpression")
|
|
26
21
|
.bases("Expression")
|
|
27
22
|
.build("object", "callee")
|
|
28
23
|
.field("object", or(def("Expression"), null))
|
|
29
24
|
.field("callee", def("Expression"));
|
|
30
|
-
def("Decorator")
|
|
31
|
-
.bases("Node")
|
|
32
|
-
.build("expression")
|
|
33
|
-
.field("expression", def("Expression"));
|
|
34
|
-
def("Property")
|
|
35
|
-
.field("decorators", or([def("Decorator")], null), defaults["null"]);
|
|
36
|
-
def("MethodDefinition")
|
|
37
|
-
.field("decorators", or([def("Decorator")], null), defaults["null"]);
|
|
38
|
-
def("MetaProperty")
|
|
39
|
-
.bases("Expression")
|
|
40
|
-
.build("meta", "property")
|
|
41
|
-
.field("meta", def("Identifier"))
|
|
42
|
-
.field("property", def("Identifier"));
|
|
43
25
|
def("ParenthesizedExpression")
|
|
44
26
|
.bases("Expression")
|
|
45
27
|
.build("expression")
|
|
46
28
|
.field("expression", def("Expression"));
|
|
47
|
-
def("ImportSpecifier")
|
|
48
|
-
.bases("ModuleSpecifier")
|
|
49
|
-
.build("imported", "local")
|
|
50
|
-
.field("imported", def("Identifier"));
|
|
51
|
-
def("ImportDefaultSpecifier")
|
|
52
|
-
.bases("ModuleSpecifier")
|
|
53
|
-
.build("local");
|
|
54
|
-
def("ImportNamespaceSpecifier")
|
|
55
|
-
.bases("ModuleSpecifier")
|
|
56
|
-
.build("local");
|
|
57
|
-
def("ExportDefaultDeclaration")
|
|
58
|
-
.bases("Declaration")
|
|
59
|
-
.build("declaration")
|
|
60
|
-
.field("declaration", or(def("Declaration"), def("Expression")));
|
|
61
|
-
def("ExportNamedDeclaration")
|
|
62
|
-
.bases("Declaration")
|
|
63
|
-
.build("declaration", "specifiers", "source")
|
|
64
|
-
.field("declaration", or(def("Declaration"), null))
|
|
65
|
-
.field("specifiers", [def("ExportSpecifier")], defaults.emptyArray)
|
|
66
|
-
.field("source", or(def("Literal"), null), defaults["null"]);
|
|
67
|
-
def("ExportSpecifier")
|
|
68
|
-
.bases("ModuleSpecifier")
|
|
69
|
-
.build("local", "exported")
|
|
70
|
-
.field("exported", def("Identifier"));
|
|
71
29
|
def("ExportNamespaceSpecifier")
|
|
72
30
|
.bases("Specifier")
|
|
73
31
|
.build("exported")
|
|
@@ -76,11 +34,6 @@ function default_1(fork) {
|
|
|
76
34
|
.bases("Specifier")
|
|
77
35
|
.build("exported")
|
|
78
36
|
.field("exported", def("Identifier"));
|
|
79
|
-
def("ExportAllDeclaration")
|
|
80
|
-
.bases("Declaration")
|
|
81
|
-
.build("exported", "source")
|
|
82
|
-
.field("exported", or(def("Identifier"), null))
|
|
83
|
-
.field("source", def("Literal"));
|
|
84
37
|
def("CommentBlock")
|
|
85
38
|
.bases("Comment")
|
|
86
39
|
.build("value", /*optional:*/ "leading", "trailing");
|
|
@@ -216,15 +169,6 @@ function default_1(fork) {
|
|
|
216
169
|
.field("decorators", or([def("Decorator")], null), defaults["null"])
|
|
217
170
|
.field("optional", or(Boolean, null), defaults["null"]);
|
|
218
171
|
});
|
|
219
|
-
def("ClassPrivateProperty")
|
|
220
|
-
.bases("ClassProperty")
|
|
221
|
-
.build("key", "value")
|
|
222
|
-
.field("key", def("PrivateName"))
|
|
223
|
-
.field("value", or(def("Expression"), null), defaults["null"]);
|
|
224
|
-
def("PrivateName")
|
|
225
|
-
.bases("Expression", "Pattern")
|
|
226
|
-
.build("id")
|
|
227
|
-
.field("id", def("Identifier"));
|
|
228
172
|
var ObjectPatternProperty = or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"), def("SpreadProperty"), // Used by Esprima
|
|
229
173
|
def("ObjectProperty"), // Babel 6
|
|
230
174
|
def("RestProperty") // Babel 6
|
package/def/babel.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var babel_core_1 = tslib_1.__importDefault(require("./babel-core"));
|
|
5
|
+
var flow_1 = tslib_1.__importDefault(require("./flow"));
|
|
8
6
|
function default_1(fork) {
|
|
9
7
|
fork.use(babel_core_1.default);
|
|
10
8
|
fork.use(flow_1.default);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogicalOperators = exports.AssignmentOperators = exports.BinaryOperators = void 0;
|
|
4
|
+
exports.BinaryOperators = [
|
|
5
|
+
"==", "!=", "===", "!==",
|
|
6
|
+
"<", "<=", ">", ">=",
|
|
7
|
+
"<<", ">>", ">>>",
|
|
8
|
+
"+", "-", "*", "/", "%",
|
|
9
|
+
"&",
|
|
10
|
+
"|", "^", "in",
|
|
11
|
+
"instanceof",
|
|
12
|
+
];
|
|
13
|
+
exports.AssignmentOperators = [
|
|
14
|
+
"=", "+=", "-=", "*=", "/=", "%=",
|
|
15
|
+
"<<=", ">>=", ">>>=",
|
|
16
|
+
"|=", "^=", "&=",
|
|
17
|
+
];
|
|
18
|
+
exports.LogicalOperators = [
|
|
19
|
+
"||", "&&",
|
|
20
|
+
];
|
package/def/core.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var core_operators_1 = require("./core-operators");
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
8
7
|
function default_1(fork) {
|
|
9
8
|
var types = fork.use(types_1.default);
|
|
10
9
|
var Type = types.Type;
|
|
@@ -111,8 +110,7 @@ function default_1(fork) {
|
|
|
111
110
|
def("CatchClause")
|
|
112
111
|
.bases("Node")
|
|
113
112
|
.build("param", "guard", "body")
|
|
114
|
-
|
|
115
|
-
.field("param", or(def("Pattern"), null), defaults["null"])
|
|
113
|
+
.field("param", def("Pattern"))
|
|
116
114
|
.field("guard", or(def("Expression"), null), defaults["null"])
|
|
117
115
|
.field("body", def("BlockStatement"));
|
|
118
116
|
def("WhileStatement")
|
|
@@ -187,15 +185,14 @@ function default_1(fork) {
|
|
|
187
185
|
// Esprima doesn't bother with this field, presumably because it's
|
|
188
186
|
// always true for unary operators.
|
|
189
187
|
.field("prefix", Boolean, defaults["true"]);
|
|
190
|
-
var BinaryOperator = or(
|
|
191
|
-
"|", "^", "in", "instanceof");
|
|
188
|
+
var BinaryOperator = or.apply(void 0, core_operators_1.BinaryOperators);
|
|
192
189
|
def("BinaryExpression")
|
|
193
190
|
.bases("Expression")
|
|
194
191
|
.build("operator", "left", "right")
|
|
195
192
|
.field("operator", BinaryOperator)
|
|
196
193
|
.field("left", def("Expression"))
|
|
197
194
|
.field("right", def("Expression"));
|
|
198
|
-
var AssignmentOperator = or(
|
|
195
|
+
var AssignmentOperator = or.apply(void 0, core_operators_1.AssignmentOperators);
|
|
199
196
|
def("AssignmentExpression")
|
|
200
197
|
.bases("Expression")
|
|
201
198
|
.build("operator", "left", "right")
|
|
@@ -209,7 +206,7 @@ function default_1(fork) {
|
|
|
209
206
|
.field("operator", UpdateOperator)
|
|
210
207
|
.field("argument", def("Expression"))
|
|
211
208
|
.field("prefix", Boolean);
|
|
212
|
-
var LogicalOperator = or(
|
|
209
|
+
var LogicalOperator = or.apply(void 0, core_operators_1.LogicalOperators);
|
|
213
210
|
def("LogicalExpression")
|
|
214
211
|
.bases("Expression")
|
|
215
212
|
.build("operator", "left", "right")
|
package/def/es-proposals.js
CHANGED
|
@@ -1,35 +1,40 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
5
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
6
|
+
var es2020_1 = tslib_1.__importDefault(require("./es2020"));
|
|
9
7
|
function default_1(fork) {
|
|
10
|
-
fork.use(
|
|
8
|
+
fork.use(es2020_1.default);
|
|
11
9
|
var types = fork.use(types_1.default);
|
|
12
10
|
var Type = types.Type;
|
|
13
11
|
var def = types.Type.def;
|
|
14
12
|
var or = Type.or;
|
|
15
13
|
var shared = fork.use(shared_1.default);
|
|
16
14
|
var defaults = shared.defaults;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
.
|
|
26
|
-
|
|
27
|
-
.field("
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def("
|
|
32
|
-
.
|
|
15
|
+
def("AwaitExpression")
|
|
16
|
+
.build("argument", "all")
|
|
17
|
+
.field("argument", or(def("Expression"), null))
|
|
18
|
+
.field("all", Boolean, defaults["false"]);
|
|
19
|
+
// Decorators
|
|
20
|
+
def("Decorator")
|
|
21
|
+
.bases("Node")
|
|
22
|
+
.build("expression")
|
|
23
|
+
.field("expression", def("Expression"));
|
|
24
|
+
def("Property")
|
|
25
|
+
.field("decorators", or([def("Decorator")], null), defaults["null"]);
|
|
26
|
+
def("MethodDefinition")
|
|
27
|
+
.field("decorators", or([def("Decorator")], null), defaults["null"]);
|
|
28
|
+
// Private names
|
|
29
|
+
def("PrivateName")
|
|
30
|
+
.bases("Expression", "Pattern")
|
|
31
|
+
.build("id")
|
|
32
|
+
.field("id", def("Identifier"));
|
|
33
|
+
def("ClassPrivateProperty")
|
|
34
|
+
.bases("ClassProperty")
|
|
35
|
+
.build("key", "value")
|
|
36
|
+
.field("key", def("PrivateName"))
|
|
37
|
+
.field("value", or(def("Expression"), null), defaults["null"]);
|
|
33
38
|
}
|
|
34
39
|
exports.default = default_1;
|
|
35
40
|
module.exports = exports["default"];
|
|
File without changes
|
package/def/es2016.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var core_operators_1 = require("./core-operators");
|
|
5
|
+
var es6_1 = tslib_1.__importDefault(require("./es6"));
|
|
6
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
7
|
+
function default_1(fork) {
|
|
8
|
+
fork.use(es6_1.default);
|
|
9
|
+
var types = fork.use(types_1.default);
|
|
10
|
+
var def = types.Type.def;
|
|
11
|
+
var or = types.Type.or;
|
|
12
|
+
var BinaryOperator = or.apply(void 0, tslib_1.__spreadArrays(core_operators_1.BinaryOperators, ["**"]));
|
|
13
|
+
def("BinaryExpression")
|
|
14
|
+
.field("operator", BinaryOperator);
|
|
15
|
+
var AssignmentOperator = or.apply(void 0, tslib_1.__spreadArrays(core_operators_1.AssignmentOperators, ["**="]));
|
|
16
|
+
def("AssignmentExpression")
|
|
17
|
+
.field("operator", AssignmentOperator);
|
|
18
|
+
}
|
|
19
|
+
exports.default = default_1;
|
|
20
|
+
module.exports = exports["default"];
|
|
File without changes
|
package/def/es2017.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2016_1 = tslib_1.__importDefault(require("./es2016"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
7
|
+
function default_1(fork) {
|
|
8
|
+
fork.use(es2016_1.default);
|
|
9
|
+
var types = fork.use(types_1.default);
|
|
10
|
+
var def = types.Type.def;
|
|
11
|
+
var defaults = fork.use(shared_1.default).defaults;
|
|
12
|
+
def("Function")
|
|
13
|
+
.field("async", Boolean, defaults["false"]);
|
|
14
|
+
def("AwaitExpression")
|
|
15
|
+
.bases("Expression")
|
|
16
|
+
.build("argument")
|
|
17
|
+
.field("argument", def("Expression"));
|
|
18
|
+
}
|
|
19
|
+
exports.default = default_1;
|
|
20
|
+
module.exports = exports["default"];
|
package/def/es2018.d.ts
ADDED
package/def/es2018.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2017_1 = tslib_1.__importDefault(require("./es2017"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
7
|
+
function default_1(fork) {
|
|
8
|
+
fork.use(es2017_1.default);
|
|
9
|
+
var types = fork.use(types_1.default);
|
|
10
|
+
var def = types.Type.def;
|
|
11
|
+
var or = types.Type.or;
|
|
12
|
+
var defaults = fork.use(shared_1.default).defaults;
|
|
13
|
+
def("ForOfStatement")
|
|
14
|
+
.field("await", Boolean, defaults["false"]);
|
|
15
|
+
// Legacy
|
|
16
|
+
def("SpreadProperty")
|
|
17
|
+
.bases("Node")
|
|
18
|
+
.build("argument")
|
|
19
|
+
.field("argument", def("Expression"));
|
|
20
|
+
def("ObjectExpression")
|
|
21
|
+
.field("properties", [or(def("Property"), def("SpreadProperty"), // Legacy
|
|
22
|
+
def("SpreadElement"))]);
|
|
23
|
+
def("TemplateElement")
|
|
24
|
+
.field("value", { "cooked": or(String, null), "raw": String });
|
|
25
|
+
// Legacy
|
|
26
|
+
def("SpreadPropertyPattern")
|
|
27
|
+
.bases("Pattern")
|
|
28
|
+
.build("argument")
|
|
29
|
+
.field("argument", def("Pattern"));
|
|
30
|
+
def("ObjectPattern")
|
|
31
|
+
.field("properties", [or(def("PropertyPattern"), def("Property"), def("RestElement"), def("SpreadPropertyPattern"))]);
|
|
32
|
+
}
|
|
33
|
+
exports.default = default_1;
|
|
34
|
+
module.exports = exports["default"];
|
package/def/es2019.d.ts
ADDED
package/def/es2019.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2018_1 = tslib_1.__importDefault(require("./es2018"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
7
|
+
function default_1(fork) {
|
|
8
|
+
fork.use(es2018_1.default);
|
|
9
|
+
var types = fork.use(types_1.default);
|
|
10
|
+
var def = types.Type.def;
|
|
11
|
+
var or = types.Type.or;
|
|
12
|
+
var defaults = fork.use(shared_1.default).defaults;
|
|
13
|
+
def("CatchClause")
|
|
14
|
+
.field("param", or(def("Pattern"), null), defaults["null"]);
|
|
15
|
+
}
|
|
16
|
+
exports.default = default_1;
|
|
17
|
+
module.exports = exports["default"];
|
package/def/es2020.js
CHANGED
|
@@ -1,18 +1,50 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var core_operators_1 = require("./core-operators");
|
|
5
|
+
var es2019_1 = tslib_1.__importDefault(require("./es2019"));
|
|
6
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
7
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
8
8
|
function default_1(fork) {
|
|
9
|
-
fork.use(
|
|
9
|
+
fork.use(es2019_1.default);
|
|
10
10
|
var types = fork.use(types_1.default);
|
|
11
11
|
var def = types.Type.def;
|
|
12
|
+
var or = types.Type.or;
|
|
13
|
+
var shared = fork.use(shared_1.default);
|
|
14
|
+
var defaults = shared.defaults;
|
|
12
15
|
def("ImportExpression")
|
|
13
16
|
.bases("Expression")
|
|
14
17
|
.build("source")
|
|
15
18
|
.field("source", def("Expression"));
|
|
19
|
+
def("ExportAllDeclaration")
|
|
20
|
+
.build("source", "exported")
|
|
21
|
+
.field("source", def("Literal"))
|
|
22
|
+
.field("exported", or(def("Identifier"), null));
|
|
23
|
+
// Optional chaining
|
|
24
|
+
def("ChainElement")
|
|
25
|
+
.bases("Node")
|
|
26
|
+
.field("optional", Boolean, defaults["false"]);
|
|
27
|
+
def("CallExpression")
|
|
28
|
+
.bases("Expression", "ChainElement");
|
|
29
|
+
def("MemberExpression")
|
|
30
|
+
.bases("Expression", "ChainElement");
|
|
31
|
+
def("ChainExpression")
|
|
32
|
+
.bases("Expression")
|
|
33
|
+
.build("expression")
|
|
34
|
+
.field("expression", def("ChainElement"));
|
|
35
|
+
def("OptionalCallExpression")
|
|
36
|
+
.bases("CallExpression")
|
|
37
|
+
.build("callee", "arguments", "optional")
|
|
38
|
+
.field("optional", Boolean, defaults["true"]);
|
|
39
|
+
// Deprecated optional chaining type, doesn't work with babelParser@7.11.0 or newer
|
|
40
|
+
def("OptionalMemberExpression")
|
|
41
|
+
.bases("MemberExpression")
|
|
42
|
+
.build("object", "property", "computed", "optional")
|
|
43
|
+
.field("optional", Boolean, defaults["true"]);
|
|
44
|
+
// Nullish coalescing
|
|
45
|
+
var LogicalOperator = or.apply(void 0, tslib_1.__spreadArrays(core_operators_1.LogicalOperators, ["??"]));
|
|
46
|
+
def("LogicalExpression")
|
|
47
|
+
.field("operator", LogicalOperator);
|
|
16
48
|
}
|
|
17
49
|
exports.default = default_1;
|
|
18
50
|
module.exports = exports["default"];
|
package/def/es6.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var core_1 = tslib_1.__importDefault(require("./core"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
9
7
|
function default_1(fork) {
|
|
10
8
|
fork.use(core_1.default);
|
|
11
9
|
var types = fork.use(types_1.default);
|
|
@@ -16,7 +14,7 @@ function default_1(fork) {
|
|
|
16
14
|
.field("generator", Boolean, defaults["false"])
|
|
17
15
|
.field("expression", Boolean, defaults["false"])
|
|
18
16
|
.field("defaults", [or(def("Expression"), null)], defaults.emptyArray)
|
|
19
|
-
//
|
|
17
|
+
// Legacy
|
|
20
18
|
.field("rest", or(def("Identifier"), null), defaults["null"]);
|
|
21
19
|
// The ESTree way of representing a ...rest parameter.
|
|
22
20
|
def("RestElement")
|
|
@@ -30,11 +28,11 @@ function default_1(fork) {
|
|
|
30
28
|
.build("argument")
|
|
31
29
|
.field("argument", def("Pattern"));
|
|
32
30
|
def("FunctionDeclaration")
|
|
33
|
-
.build("id", "params", "body", "generator", "expression")
|
|
31
|
+
.build("id", "params", "body", "generator", "expression")
|
|
32
|
+
// May be `null` in the context of `export default function () {}`
|
|
33
|
+
.field("id", or(def("Identifier"), null));
|
|
34
34
|
def("FunctionExpression")
|
|
35
35
|
.build("id", "params", "body", "generator", "expression");
|
|
36
|
-
// The Parser API calls this ArrowExpression, but Esprima and all other
|
|
37
|
-
// actual parsers use ArrowFunctionExpression.
|
|
38
36
|
def("ArrowFunctionExpression")
|
|
39
37
|
.bases("Function", "Expression")
|
|
40
38
|
.build("params", "body", "expression")
|
|
@@ -97,14 +95,6 @@ function default_1(fork) {
|
|
|
97
95
|
.bases("Pattern")
|
|
98
96
|
.build("elements")
|
|
99
97
|
.field("elements", [or(def("Pattern"), null)]);
|
|
100
|
-
def("MethodDefinition")
|
|
101
|
-
.bases("Declaration")
|
|
102
|
-
.build("kind", "key", "value", "static")
|
|
103
|
-
.field("kind", or("constructor", "method", "get", "set"))
|
|
104
|
-
.field("key", def("Expression"))
|
|
105
|
-
.field("value", def("Function"))
|
|
106
|
-
.field("computed", Boolean, defaults["false"])
|
|
107
|
-
.field("static", Boolean, defaults["false"]);
|
|
108
98
|
def("SpreadElement")
|
|
109
99
|
.bases("Node")
|
|
110
100
|
.build("argument")
|
|
@@ -126,6 +116,14 @@ function default_1(fork) {
|
|
|
126
116
|
.build("left", "right")
|
|
127
117
|
.field("left", def("Pattern"))
|
|
128
118
|
.field("right", def("Expression"));
|
|
119
|
+
def("MethodDefinition")
|
|
120
|
+
.bases("Declaration")
|
|
121
|
+
.build("kind", "key", "value", "static")
|
|
122
|
+
.field("kind", or("constructor", "method", "get", "set"))
|
|
123
|
+
.field("key", def("Expression"))
|
|
124
|
+
.field("value", def("Function"))
|
|
125
|
+
.field("computed", Boolean, defaults["false"])
|
|
126
|
+
.field("static", Boolean, defaults["false"]);
|
|
129
127
|
var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"));
|
|
130
128
|
def("ClassProperty")
|
|
131
129
|
.bases("Declaration")
|
|
@@ -153,6 +151,9 @@ function default_1(fork) {
|
|
|
153
151
|
.field("id", or(def("Identifier"), null), defaults["null"])
|
|
154
152
|
.field("body", def("ClassBody"))
|
|
155
153
|
.field("superClass", or(def("Expression"), null), defaults["null"]);
|
|
154
|
+
def("Super")
|
|
155
|
+
.bases("Expression")
|
|
156
|
+
.build();
|
|
156
157
|
// Specifier and ModuleSpecifier are abstract non-standard types
|
|
157
158
|
// introduced for definitional convenience.
|
|
158
159
|
def("Specifier").bases("Node");
|
|
@@ -171,19 +172,19 @@ function default_1(fork) {
|
|
|
171
172
|
// optional in the Babel/Acorn AST format.
|
|
172
173
|
.field("id", or(def("Identifier"), null), defaults["null"])
|
|
173
174
|
.field("name", or(def("Identifier"), null), defaults["null"]);
|
|
174
|
-
// Like ModuleSpecifier, except type:"ImportSpecifier" and buildable.
|
|
175
175
|
// import {<id [as name]>} from ...;
|
|
176
176
|
def("ImportSpecifier")
|
|
177
177
|
.bases("ModuleSpecifier")
|
|
178
|
-
.build("
|
|
179
|
-
|
|
180
|
-
def("ImportNamespaceSpecifier")
|
|
181
|
-
.bases("ModuleSpecifier")
|
|
182
|
-
.build("id");
|
|
178
|
+
.build("imported", "local")
|
|
179
|
+
.field("imported", def("Identifier"));
|
|
183
180
|
// import <id> from ...;
|
|
184
181
|
def("ImportDefaultSpecifier")
|
|
185
182
|
.bases("ModuleSpecifier")
|
|
186
|
-
.build("
|
|
183
|
+
.build("local");
|
|
184
|
+
// import <* as id> from ...;
|
|
185
|
+
def("ImportNamespaceSpecifier")
|
|
186
|
+
.bases("ModuleSpecifier")
|
|
187
|
+
.build("local");
|
|
187
188
|
def("ImportDeclaration")
|
|
188
189
|
.bases("Declaration")
|
|
189
190
|
.build("specifiers", "source", "importKind")
|
|
@@ -192,6 +193,24 @@ function default_1(fork) {
|
|
|
192
193
|
.field("importKind", or("value", "type"), function () {
|
|
193
194
|
return "value";
|
|
194
195
|
});
|
|
196
|
+
def("ExportNamedDeclaration")
|
|
197
|
+
.bases("Declaration")
|
|
198
|
+
.build("declaration", "specifiers", "source")
|
|
199
|
+
.field("declaration", or(def("Declaration"), null))
|
|
200
|
+
.field("specifiers", [def("ExportSpecifier")], defaults.emptyArray)
|
|
201
|
+
.field("source", or(def("Literal"), null), defaults["null"]);
|
|
202
|
+
def("ExportSpecifier")
|
|
203
|
+
.bases("ModuleSpecifier")
|
|
204
|
+
.build("local", "exported")
|
|
205
|
+
.field("exported", def("Identifier"));
|
|
206
|
+
def("ExportDefaultDeclaration")
|
|
207
|
+
.bases("Declaration")
|
|
208
|
+
.build("declaration")
|
|
209
|
+
.field("declaration", or(def("Declaration"), def("Expression")));
|
|
210
|
+
def("ExportAllDeclaration")
|
|
211
|
+
.bases("Declaration")
|
|
212
|
+
.build("source")
|
|
213
|
+
.field("source", def("Literal"));
|
|
195
214
|
def("TaggedTemplateExpression")
|
|
196
215
|
.bases("Expression")
|
|
197
216
|
.build("tag", "quasi")
|
|
@@ -207,6 +226,11 @@ function default_1(fork) {
|
|
|
207
226
|
.build("value", "tail")
|
|
208
227
|
.field("value", { "cooked": String, "raw": String })
|
|
209
228
|
.field("tail", Boolean);
|
|
229
|
+
def("MetaProperty")
|
|
230
|
+
.bases("Expression")
|
|
231
|
+
.build("meta", "property")
|
|
232
|
+
.field("meta", def("Identifier"))
|
|
233
|
+
.field("property", def("Identifier"));
|
|
210
234
|
}
|
|
211
235
|
exports.default = default_1;
|
|
212
236
|
module.exports = exports["default"];
|
package/def/esprima.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2020_1 = tslib_1.__importDefault(require("./es2020"));
|
|
5
|
+
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
+
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
9
7
|
function default_1(fork) {
|
|
10
|
-
fork.use(
|
|
8
|
+
fork.use(es2020_1.default);
|
|
11
9
|
var types = fork.use(types_1.default);
|
|
12
10
|
var defaults = fork.use(shared_1.default).defaults;
|
|
13
11
|
var def = types.Type.def;
|