ast-types 0.14.2 → 0.15.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/.github/workflows/main.yml +1 -1
- package/README.md +1 -1
- package/def/babel-core.js +19 -4
- package/def/babel.js +15 -2
- package/def/core.js +7 -6
- package/def/es-proposals.js +26 -4
- package/def/es2016.js +6 -12
- package/def/es2017.js +3 -3
- package/def/es2018.js +3 -3
- package/def/es2019.js +3 -3
- package/def/es2020.js +7 -8
- package/def/es2021.d.ts +2 -0
- package/def/es2021.js +13 -0
- package/def/es2022.d.ts +2 -0
- package/def/es2022.js +16 -0
- package/def/es6.js +3 -3
- package/def/esprima.js +4 -4
- package/def/flow.js +15 -4
- package/def/jsx.js +4 -4
- package/def/operators/core.d.ts +5 -0
- package/def/operators/core.js +25 -0
- package/def/operators/es2016.d.ts +5 -0
- package/def/operators/es2016.js +19 -0
- package/def/operators/es2020.d.ts +5 -0
- package/def/operators/es2020.js +15 -0
- package/def/operators/es2021.d.ts +5 -0
- package/def/operators/es2021.js +18 -0
- package/def/type-annotations.js +2 -2
- package/def/typescript.js +11 -4
- package/fork.js +5 -5
- package/gen/builders.d.ts +170 -61
- package/gen/kinds.d.ts +23 -12
- package/gen/namedTypes.d.ts +108 -36
- package/gen/visitor.d.ts +15 -4
- package/lib/equiv.js +1 -1
- package/lib/node-path.js +3 -3
- package/lib/path-visitor.js +2 -2
- package/lib/path.d.ts +3 -3
- package/lib/path.js +1 -1
- package/lib/scope.d.ts +3 -2
- package/lib/scope.js +61 -26
- package/lib/shared.js +1 -1
- package/lib/types.js +6 -6
- package/main.js +9 -25
- package/package.json +15 -15
- package/def/core-operators.d.ts +0 -3
- package/def/core-operators.js +0 -20
package/README.md
CHANGED
|
@@ -507,6 +507,6 @@ The `def` syntax is used to define all the default AST node types found in
|
|
|
507
507
|
[jsx.ts](def/jsx.ts),
|
|
508
508
|
[type-annotations.ts](def/type-annotations.ts),
|
|
509
509
|
and
|
|
510
|
-
[
|
|
510
|
+
[typescript.ts](def/typescript.ts),
|
|
511
511
|
so you have
|
|
512
512
|
no shortage of examples to learn from.
|
package/def/babel-core.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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"));
|
|
4
|
+
var es_proposals_1 = (0, tslib_1.__importDefault)(require("./es-proposals"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
fork.use(es_proposals_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
|
@@ -94,7 +94,22 @@ function default_1(fork) {
|
|
|
94
94
|
}, function getDefault() {
|
|
95
95
|
return {
|
|
96
96
|
rawValue: String(this.value),
|
|
97
|
-
raw: this.value + "n"
|
|
97
|
+
raw: this.value + "n",
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
// https://github.com/tc39/proposal-decimal
|
|
101
|
+
// https://github.com/babel/babel/pull/11640
|
|
102
|
+
def("DecimalLiteral")
|
|
103
|
+
.bases("Literal")
|
|
104
|
+
.build("value")
|
|
105
|
+
.field("value", String)
|
|
106
|
+
.field("extra", {
|
|
107
|
+
rawValue: String,
|
|
108
|
+
raw: String
|
|
109
|
+
}, function getDefault() {
|
|
110
|
+
return {
|
|
111
|
+
rawValue: String(this.value),
|
|
112
|
+
raw: this.value + "m",
|
|
98
113
|
};
|
|
99
114
|
});
|
|
100
115
|
def("NullLiteral")
|
package/def/babel.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
5
|
+
var babel_core_1 = (0, tslib_1.__importDefault)(require("./babel-core"));
|
|
6
|
+
var flow_1 = (0, tslib_1.__importDefault)(require("./flow"));
|
|
6
7
|
function default_1(fork) {
|
|
8
|
+
var types = fork.use(types_1.default);
|
|
9
|
+
var def = types.Type.def;
|
|
7
10
|
fork.use(babel_core_1.default);
|
|
8
11
|
fork.use(flow_1.default);
|
|
12
|
+
// https://github.com/babel/babel/pull/10148
|
|
13
|
+
def("V8IntrinsicIdentifier")
|
|
14
|
+
.bases("Expression")
|
|
15
|
+
.build("name")
|
|
16
|
+
.field("name", String);
|
|
17
|
+
// https://github.com/babel/babel/pull/13191
|
|
18
|
+
// https://github.com/babel/website/pull/2541
|
|
19
|
+
def("TopicReference")
|
|
20
|
+
.bases("Expression")
|
|
21
|
+
.build();
|
|
9
22
|
}
|
|
10
23
|
exports.default = default_1;
|
|
11
24
|
module.exports = exports["default"];
|
package/def/core.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
4
|
+
var core_1 = (0, tslib_1.__importDefault)(require("./operators/core"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
var types = fork.use(types_1.default);
|
|
9
9
|
var Type = types.Type;
|
|
@@ -12,6 +12,7 @@ function default_1(fork) {
|
|
|
12
12
|
var shared = fork.use(shared_1.default);
|
|
13
13
|
var defaults = shared.defaults;
|
|
14
14
|
var geq = shared.geq;
|
|
15
|
+
var _a = fork.use(core_1.default), BinaryOperators = _a.BinaryOperators, AssignmentOperators = _a.AssignmentOperators, LogicalOperators = _a.LogicalOperators;
|
|
15
16
|
// Abstract supertype of all syntactic entities that are allowed to have a
|
|
16
17
|
// .loc field.
|
|
17
18
|
def("Printable")
|
|
@@ -185,14 +186,14 @@ function default_1(fork) {
|
|
|
185
186
|
// Esprima doesn't bother with this field, presumably because it's
|
|
186
187
|
// always true for unary operators.
|
|
187
188
|
.field("prefix", Boolean, defaults["true"]);
|
|
188
|
-
var BinaryOperator = or.apply(void 0,
|
|
189
|
+
var BinaryOperator = or.apply(void 0, BinaryOperators);
|
|
189
190
|
def("BinaryExpression")
|
|
190
191
|
.bases("Expression")
|
|
191
192
|
.build("operator", "left", "right")
|
|
192
193
|
.field("operator", BinaryOperator)
|
|
193
194
|
.field("left", def("Expression"))
|
|
194
195
|
.field("right", def("Expression"));
|
|
195
|
-
var AssignmentOperator = or.apply(void 0,
|
|
196
|
+
var AssignmentOperator = or.apply(void 0, AssignmentOperators);
|
|
196
197
|
def("AssignmentExpression")
|
|
197
198
|
.bases("Expression")
|
|
198
199
|
.build("operator", "left", "right")
|
|
@@ -206,7 +207,7 @@ function default_1(fork) {
|
|
|
206
207
|
.field("operator", UpdateOperator)
|
|
207
208
|
.field("argument", def("Expression"))
|
|
208
209
|
.field("prefix", Boolean);
|
|
209
|
-
var LogicalOperator = or.apply(void 0,
|
|
210
|
+
var LogicalOperator = or.apply(void 0, LogicalOperators);
|
|
210
211
|
def("LogicalExpression")
|
|
211
212
|
.bases("Expression")
|
|
212
213
|
.build("operator", "left", "right")
|
package/def/es-proposals.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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
|
|
4
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
5
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
6
|
+
var es2022_1 = (0, tslib_1.__importDefault)(require("./es2022"));
|
|
7
7
|
function default_1(fork) {
|
|
8
|
-
fork.use(
|
|
8
|
+
fork.use(es2022_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
|
10
10
|
var Type = types.Type;
|
|
11
11
|
var def = types.Type.def;
|
|
@@ -35,6 +35,28 @@ function default_1(fork) {
|
|
|
35
35
|
.build("key", "value")
|
|
36
36
|
.field("key", def("PrivateName"))
|
|
37
37
|
.field("value", or(def("Expression"), null), defaults["null"]);
|
|
38
|
+
// https://github.com/tc39/proposal-import-assertions
|
|
39
|
+
def("ImportAttribute")
|
|
40
|
+
.bases("Node")
|
|
41
|
+
.build("key", "value")
|
|
42
|
+
.field("key", def("Identifier"))
|
|
43
|
+
.field("value", String);
|
|
44
|
+
// https://github.com/tc39/proposal-record-tuple
|
|
45
|
+
// https://github.com/babel/babel/pull/10865
|
|
46
|
+
def("RecordExpression")
|
|
47
|
+
.bases("Expression")
|
|
48
|
+
.build("properties")
|
|
49
|
+
.field("properties", [or(def("ObjectProperty"), def("ObjectMethod"), def("SpreadElement"))]);
|
|
50
|
+
def("TupleExpression")
|
|
51
|
+
.bases("Expression")
|
|
52
|
+
.build("elements")
|
|
53
|
+
.field("elements", [or(def("Expression"), def("SpreadElement"), null)]);
|
|
54
|
+
// https://github.com/tc39/proposal-js-module-blocks
|
|
55
|
+
// https://github.com/babel/babel/pull/12469
|
|
56
|
+
def("ModuleExpression")
|
|
57
|
+
.bases("Node")
|
|
58
|
+
.build("program")
|
|
59
|
+
.field("body", def("Program"));
|
|
38
60
|
}
|
|
39
61
|
exports.default = default_1;
|
|
40
62
|
module.exports = exports["default"];
|
package/def/es2016.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var es6_1 = tslib_1.__importDefault(require("./es6"));
|
|
6
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
4
|
+
var es2016_1 = (0, tslib_1.__importDefault)(require("./operators/es2016"));
|
|
5
|
+
var es6_1 = (0, tslib_1.__importDefault)(require("./es6"));
|
|
7
6
|
function default_1(fork) {
|
|
7
|
+
// The es2016OpsDef plugin comes before es6Def so BinaryOperators and
|
|
8
|
+
// AssignmentOperators will be appropriately augmented before they are first
|
|
9
|
+
// used in the core definitions for this fork.
|
|
10
|
+
fork.use(es2016_1.default);
|
|
8
11
|
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
12
|
}
|
|
19
13
|
exports.default = default_1;
|
|
20
14
|
module.exports = exports["default"];
|
package/def/es2017.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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"));
|
|
4
|
+
var es2016_1 = (0, tslib_1.__importDefault)(require("./es2016"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
fork.use(es2016_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
package/def/es2018.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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"));
|
|
4
|
+
var es2017_1 = (0, tslib_1.__importDefault)(require("./es2017"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
fork.use(es2017_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
package/def/es2019.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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"));
|
|
4
|
+
var es2018_1 = (0, tslib_1.__importDefault)(require("./es2018"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
fork.use(es2018_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
package/def/es2020.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
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"));
|
|
4
|
+
var es2020_1 = (0, tslib_1.__importDefault)(require("./operators/es2020"));
|
|
5
|
+
var es2019_1 = (0, tslib_1.__importDefault)(require("./es2019"));
|
|
6
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
7
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
8
8
|
function default_1(fork) {
|
|
9
|
+
// The es2020OpsDef plugin comes before es2019Def so LogicalOperators will be
|
|
10
|
+
// appropriately augmented before first used.
|
|
11
|
+
fork.use(es2020_1.default);
|
|
9
12
|
fork.use(es2019_1.default);
|
|
10
13
|
var types = fork.use(types_1.default);
|
|
11
14
|
var def = types.Type.def;
|
|
@@ -41,10 +44,6 @@ function default_1(fork) {
|
|
|
41
44
|
.bases("MemberExpression")
|
|
42
45
|
.build("object", "property", "computed", "optional")
|
|
43
46
|
.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);
|
|
48
47
|
}
|
|
49
48
|
exports.default = default_1;
|
|
50
49
|
module.exports = exports["default"];
|
package/def/es2021.d.ts
ADDED
package/def/es2021.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2021_1 = (0, tslib_1.__importDefault)(require("./operators/es2021"));
|
|
5
|
+
var es2020_1 = (0, tslib_1.__importDefault)(require("./es2020"));
|
|
6
|
+
function default_1(fork) {
|
|
7
|
+
// The es2021OpsDef plugin comes before es2020Def so AssignmentOperators will
|
|
8
|
+
// be appropriately augmented before first used.
|
|
9
|
+
fork.use(es2021_1.default);
|
|
10
|
+
fork.use(es2020_1.default);
|
|
11
|
+
}
|
|
12
|
+
exports.default = default_1;
|
|
13
|
+
module.exports = exports["default"];
|
package/def/es2022.d.ts
ADDED
package/def/es2022.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2021_1 = (0, tslib_1.__importDefault)(require("./es2021"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
function default_1(fork) {
|
|
7
|
+
fork.use(es2021_1.default);
|
|
8
|
+
var types = fork.use(types_1.default);
|
|
9
|
+
var def = types.Type.def;
|
|
10
|
+
def("StaticBlock")
|
|
11
|
+
.bases("Node")
|
|
12
|
+
.build("body")
|
|
13
|
+
.field("body", [def("Statement")]);
|
|
14
|
+
}
|
|
15
|
+
exports.default = default_1;
|
|
16
|
+
module.exports = exports["default"];
|
package/def/es6.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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"));
|
|
4
|
+
var core_1 = (0, tslib_1.__importDefault)(require("./core"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
8
|
fork.use(core_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
package/def/esprima.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
4
|
+
var es_proposals_1 = (0, tslib_1.__importDefault)(require("./es-proposals"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
|
-
fork.use(
|
|
8
|
+
fork.use(es_proposals_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
|
10
10
|
var defaults = fork.use(shared_1.default).defaults;
|
|
11
11
|
var def = types.Type.def;
|
package/def/flow.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var es_proposals_1 = tslib_1.__importDefault(require("./es-proposals"));
|
|
5
|
-
var type_annotations_1 = tslib_1.__importDefault(require("./type-annotations"));
|
|
6
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
7
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
4
|
+
var es_proposals_1 = (0, tslib_1.__importDefault)(require("./es-proposals"));
|
|
5
|
+
var type_annotations_1 = (0, tslib_1.__importDefault)(require("./type-annotations"));
|
|
6
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
7
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
8
8
|
function default_1(fork) {
|
|
9
9
|
fork.use(es_proposals_1.default);
|
|
10
10
|
fork.use(type_annotations_1.default);
|
|
@@ -161,6 +161,17 @@ function default_1(fork) {
|
|
|
161
161
|
.build("object", "property")
|
|
162
162
|
.field("object", def("Identifier"))
|
|
163
163
|
.field("property", or(def("MemberTypeAnnotation"), def("GenericTypeAnnotation")));
|
|
164
|
+
def("IndexedAccessType")
|
|
165
|
+
.bases("FlowType")
|
|
166
|
+
.build("objectType", "indexType")
|
|
167
|
+
.field("objectType", def("FlowType"))
|
|
168
|
+
.field("indexType", def("FlowType"));
|
|
169
|
+
def("OptionalIndexedAccessType")
|
|
170
|
+
.bases("FlowType")
|
|
171
|
+
.build("objectType", "indexType", "optional")
|
|
172
|
+
.field("objectType", def("FlowType"))
|
|
173
|
+
.field("indexType", def("FlowType"))
|
|
174
|
+
.field('optional', Boolean);
|
|
164
175
|
def("UnionTypeAnnotation")
|
|
165
176
|
.bases("FlowType")
|
|
166
177
|
.build("types")
|
package/def/jsx.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
6
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
4
|
+
var es_proposals_1 = (0, tslib_1.__importDefault)(require("./es-proposals"));
|
|
5
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
6
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
7
7
|
function default_1(fork) {
|
|
8
|
-
fork.use(
|
|
8
|
+
fork.use(es_proposals_1.default);
|
|
9
9
|
var types = fork.use(types_1.default);
|
|
10
10
|
var def = types.Type.def;
|
|
11
11
|
var or = types.Type.or;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function default_1() {
|
|
4
|
+
return {
|
|
5
|
+
BinaryOperators: [
|
|
6
|
+
"==", "!=", "===", "!==",
|
|
7
|
+
"<", "<=", ">", ">=",
|
|
8
|
+
"<<", ">>", ">>>",
|
|
9
|
+
"+", "-", "*", "/", "%",
|
|
10
|
+
"&",
|
|
11
|
+
"|", "^", "in",
|
|
12
|
+
"instanceof",
|
|
13
|
+
],
|
|
14
|
+
AssignmentOperators: [
|
|
15
|
+
"=", "+=", "-=", "*=", "/=", "%=",
|
|
16
|
+
"<<=", ">>=", ">>>=",
|
|
17
|
+
"|=", "^=", "&=",
|
|
18
|
+
],
|
|
19
|
+
LogicalOperators: [
|
|
20
|
+
"||", "&&",
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.default = default_1;
|
|
25
|
+
module.exports = exports["default"];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var core_1 = (0, tslib_1.__importDefault)(require("./core"));
|
|
5
|
+
function default_1(fork) {
|
|
6
|
+
var result = fork.use(core_1.default);
|
|
7
|
+
// Exponentiation operators. Must run before BinaryOperators or
|
|
8
|
+
// AssignmentOperators are used (hence before fork.use(es6Def)).
|
|
9
|
+
// https://github.com/tc39/proposal-exponentiation-operator
|
|
10
|
+
if (result.BinaryOperators.indexOf("**") < 0) {
|
|
11
|
+
result.BinaryOperators.push("**");
|
|
12
|
+
}
|
|
13
|
+
if (result.AssignmentOperators.indexOf("**=") < 0) {
|
|
14
|
+
result.AssignmentOperators.push("**=");
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
exports.default = default_1;
|
|
19
|
+
module.exports = exports["default"];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2016_1 = (0, tslib_1.__importDefault)(require("./es2016"));
|
|
5
|
+
function default_1(fork) {
|
|
6
|
+
var result = fork.use(es2016_1.default);
|
|
7
|
+
// Nullish coalescing. Must run before LogicalOperators is used.
|
|
8
|
+
// https://github.com/tc39/proposal-nullish-coalescing
|
|
9
|
+
if (result.LogicalOperators.indexOf("??") < 0) {
|
|
10
|
+
result.LogicalOperators.push("??");
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
exports.default = default_1;
|
|
15
|
+
module.exports = exports["default"];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var es2020_1 = (0, tslib_1.__importDefault)(require("./es2020"));
|
|
5
|
+
function default_1(fork) {
|
|
6
|
+
var result = fork.use(es2020_1.default);
|
|
7
|
+
// Logical assignment operators. Must run before AssignmentOperators is used.
|
|
8
|
+
// https://github.com/tc39/proposal-logical-assignment
|
|
9
|
+
result.LogicalOperators.forEach(function (op) {
|
|
10
|
+
var assignOp = op + "=";
|
|
11
|
+
if (result.AssignmentOperators.indexOf(assignOp) < 0) {
|
|
12
|
+
result.AssignmentOperators.push(assignOp);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
exports.default = default_1;
|
|
18
|
+
module.exports = exports["default"];
|
package/def/type-annotations.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
var tslib_1 = require("tslib");
|
|
9
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
10
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
9
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
10
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
11
11
|
function default_1(fork) {
|
|
12
12
|
var types = fork.use(types_1.default);
|
|
13
13
|
var def = types.Type.def;
|
package/def/typescript.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var babel_core_1 = tslib_1.__importDefault(require("./babel-core"));
|
|
5
|
-
var type_annotations_1 = tslib_1.__importDefault(require("./type-annotations"));
|
|
6
|
-
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
|
7
|
-
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
|
4
|
+
var babel_core_1 = (0, tslib_1.__importDefault)(require("./babel-core"));
|
|
5
|
+
var type_annotations_1 = (0, tslib_1.__importDefault)(require("./type-annotations"));
|
|
6
|
+
var types_1 = (0, tslib_1.__importDefault)(require("../lib/types"));
|
|
7
|
+
var shared_1 = (0, tslib_1.__importDefault)(require("../lib/shared"));
|
|
8
8
|
function default_1(fork) {
|
|
9
9
|
// Since TypeScript is parsed by Babylon, include the core Babylon types
|
|
10
10
|
// but omit the Flow-related types.
|
|
@@ -74,6 +74,7 @@ function default_1(fork) {
|
|
|
74
74
|
"TSUndefinedKeyword",
|
|
75
75
|
"TSUnknownKeyword",
|
|
76
76
|
"TSVoidKeyword",
|
|
77
|
+
"TSIntrinsicKeyword",
|
|
77
78
|
"TSThisType",
|
|
78
79
|
].forEach(function (keywordType) {
|
|
79
80
|
def(keywordType)
|
|
@@ -88,6 +89,12 @@ function default_1(fork) {
|
|
|
88
89
|
.bases("TSType")
|
|
89
90
|
.build("literal")
|
|
90
91
|
.field("literal", or(def("NumericLiteral"), def("StringLiteral"), def("BooleanLiteral"), def("TemplateLiteral"), def("UnaryExpression")));
|
|
92
|
+
def("TemplateLiteral")
|
|
93
|
+
// The TemplateLiteral type appears to be reused for TypeScript template
|
|
94
|
+
// literal types (instead of introducing a new TSTemplateLiteralType type),
|
|
95
|
+
// so we allow the templateLiteral.expressions array to be either all
|
|
96
|
+
// expressions or all TypeScript types.
|
|
97
|
+
.field("expressions", or([def("Expression")], [def("TSType")]));
|
|
91
98
|
["TSUnionType",
|
|
92
99
|
"TSIntersectionType",
|
|
93
100
|
].forEach(function (typeName) {
|
package/fork.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var types_1 = tslib_1.__importDefault(require("./lib/types"));
|
|
5
|
-
var path_visitor_1 = tslib_1.__importDefault(require("./lib/path-visitor"));
|
|
6
|
-
var equiv_1 = tslib_1.__importDefault(require("./lib/equiv"));
|
|
7
|
-
var path_1 = tslib_1.__importDefault(require("./lib/path"));
|
|
8
|
-
var node_path_1 = tslib_1.__importDefault(require("./lib/node-path"));
|
|
4
|
+
var types_1 = (0, tslib_1.__importDefault)(require("./lib/types"));
|
|
5
|
+
var path_visitor_1 = (0, tslib_1.__importDefault)(require("./lib/path-visitor"));
|
|
6
|
+
var equiv_1 = (0, tslib_1.__importDefault)(require("./lib/equiv"));
|
|
7
|
+
var path_1 = (0, tslib_1.__importDefault)(require("./lib/path"));
|
|
8
|
+
var node_path_1 = (0, tslib_1.__importDefault)(require("./lib/node-path"));
|
|
9
9
|
function default_1(defs) {
|
|
10
10
|
var fork = createFork();
|
|
11
11
|
var types = fork.use(types_1.default);
|