ast-types 0.12.3 → 0.13.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/.travis.yml +1 -0
- package/README.md +218 -201
- package/def/core.js +4 -7
- package/def/flow.js +4 -0
- package/def/typescript.js +5 -5
- package/fork.d.ts +3 -7
- package/fork.js +1 -2
- package/gen/builders.d.ts +500 -497
- package/gen/kinds.d.ts +262 -262
- package/gen/namedTypes.d.ts +1791 -262
- package/gen/namedTypes.js +3 -0
- package/gen/nodes.d.ts +16 -16
- package/gen/visitor.d.ts +262 -262
- package/lib/node-path.js +8 -6
- package/lib/path-visitor.d.ts +1 -1
- package/lib/scope.js +7 -2
- package/lib/types.d.ts +2 -6
- package/main.d.ts +25 -13
- package/main.js +25 -6
- package/package.json +19 -19
package/lib/scope.js
CHANGED
|
@@ -145,7 +145,10 @@ function scopePlugin(fork) {
|
|
|
145
145
|
});
|
|
146
146
|
recursiveScanChild(path.get("body"), bindings, scopeTypes);
|
|
147
147
|
}
|
|
148
|
-
else if (namedTypes.TypeAlias && namedTypes.TypeAlias.check(node))
|
|
148
|
+
else if ((namedTypes.TypeAlias && namedTypes.TypeAlias.check(node)) ||
|
|
149
|
+
(namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node)) ||
|
|
150
|
+
(namedTypes.TSTypeAliasDeclaration && namedTypes.TSTypeAliasDeclaration.check(node)) ||
|
|
151
|
+
(namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node))) {
|
|
149
152
|
addTypePattern(path.get("id"), scopeTypes);
|
|
150
153
|
}
|
|
151
154
|
else if (namedTypes.VariableDeclarator.check(node)) {
|
|
@@ -201,7 +204,9 @@ function scopePlugin(fork) {
|
|
|
201
204
|
addPattern(path.get("id"), bindings);
|
|
202
205
|
}
|
|
203
206
|
else if (ScopeType.check(node)) {
|
|
204
|
-
if (namedTypes.CatchClause.check(node)
|
|
207
|
+
if (namedTypes.CatchClause.check(node) &&
|
|
208
|
+
// TODO Broaden this to accept any pattern.
|
|
209
|
+
namedTypes.Identifier.check(node.param)) {
|
|
205
210
|
var catchParamName = node.param.name;
|
|
206
211
|
var hadBinding = hasOwn.call(bindings, catchParamName);
|
|
207
212
|
// Any declarations that occur inside the catch body that do
|
package/lib/types.d.ts
CHANGED
|
@@ -123,15 +123,11 @@ export default function typesPlugin(_fork: Fork): {
|
|
|
123
123
|
computeSupertypeLookupTable: (candidates: any) => {
|
|
124
124
|
[typeName: string]: any;
|
|
125
125
|
};
|
|
126
|
-
builders:
|
|
127
|
-
[name: string]: Builder;
|
|
128
|
-
};
|
|
126
|
+
builders: import("../gen/builders").builders;
|
|
129
127
|
defineMethod: (name: any, func?: Function | undefined) => Function;
|
|
130
128
|
getBuilderName: (typeName: any) => any;
|
|
131
129
|
getStatementBuilderName: (typeName: any) => any;
|
|
132
|
-
namedTypes:
|
|
133
|
-
[name: string]: AnyType;
|
|
134
|
-
};
|
|
130
|
+
namedTypes: import("../gen/namedTypes").NamedTypes;
|
|
135
131
|
getFieldNames: (object: any) => string[];
|
|
136
132
|
getFieldValue: (object: any, fieldName: any) => any;
|
|
137
133
|
eachField: (object: any, callback: (name: any, value: any) => any, context?: any) => void;
|
package/main.d.ts
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
|
-
import fork from "./fork";
|
|
2
|
-
import { Omit } from "./types";
|
|
3
1
|
import { ASTNode, Type, AnyType, Field } from "./lib/types";
|
|
4
2
|
import { NodePath } from "./lib/node-path";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { namedTypes } from "./gen/namedTypes";
|
|
4
|
+
import { builders } from "./gen/builders";
|
|
7
5
|
import { Visitor } from "./gen/visitor";
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
declare const astNodesAreEquivalent: {
|
|
7
|
+
(a: any, b: any, problemPath?: any): boolean;
|
|
8
|
+
assert(a: any, b: any): void;
|
|
9
|
+
}, builders: builders, builtInTypes: {
|
|
10
|
+
string: Type<string>;
|
|
11
|
+
function: Type<Function>;
|
|
12
|
+
array: Type<any[]>;
|
|
13
|
+
object: Type<{
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}>;
|
|
16
|
+
RegExp: Type<RegExp>;
|
|
17
|
+
Date: Type<Date>;
|
|
18
|
+
number: Type<number>;
|
|
19
|
+
boolean: Type<boolean>;
|
|
20
|
+
null: Type<null>;
|
|
21
|
+
undefined: Type<undefined>;
|
|
22
|
+
}, defineMethod: (name: any, func?: Function | undefined) => Function, eachField: (object: any, callback: (name: any, value: any) => any, context?: any) => void, finalize: () => void, getBuilderName: (typeName: any) => any, getFieldNames: (object: any) => string[], getFieldValue: (object: any, fieldName: any) => any, getSupertypeNames: (typeName: string) => string[], NodePath: import("./lib/node-path").NodePathConstructor, Path: import("./lib/path").PathConstructor, PathVisitor: import("./lib/path-visitor").PathVisitorConstructor, someField: (object: any, callback: (name: any, value: any) => any, context?: any) => boolean, Type: {
|
|
23
|
+
or(...types: any[]): Type<any>;
|
|
24
|
+
from<T>(value: any, name?: string | undefined): Type<T>;
|
|
25
|
+
def(typeName: string): import("./lib/types").Def<any>;
|
|
26
|
+
hasDef(typeName: string): boolean;
|
|
27
|
+
}, use: <T>(plugin: import("./types").Plugin<T>) => T, visit: <M = {}>(node: ASTNode, methods?: Visitor<M> | undefined) => any;
|
|
28
|
+
export { AnyType, ASTNode, astNodesAreEquivalent, builders, builtInTypes, defineMethod, eachField, Field, finalize, getBuilderName, getFieldNames, getFieldValue, getSupertypeNames, namedTypes, NodePath, Path, PathVisitor, someField, Type, use, visit, Visitor, };
|
package/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict"
|
|
1
|
+
"use strict";
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
@@ -13,7 +13,9 @@ var esprima_1 = __importDefault(require("./def/esprima"));
|
|
|
13
13
|
var babel_1 = __importDefault(require("./def/babel"));
|
|
14
14
|
var typescript_1 = __importDefault(require("./def/typescript"));
|
|
15
15
|
var es_proposals_1 = __importDefault(require("./def/es-proposals"));
|
|
16
|
-
var
|
|
16
|
+
var namedTypes_1 = require("./gen/namedTypes");
|
|
17
|
+
exports.namedTypes = namedTypes_1.namedTypes;
|
|
18
|
+
var _a = fork_1.default([
|
|
17
19
|
// This core module of AST types captures ES5 as it is parsed today by
|
|
18
20
|
// git://github.com/ariya/esprima.git#master.
|
|
19
21
|
core_1.default,
|
|
@@ -27,7 +29,24 @@ var defs = [
|
|
|
27
29
|
babel_1.default,
|
|
28
30
|
typescript_1.default,
|
|
29
31
|
es_proposals_1.default,
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
exports.
|
|
33
|
-
|
|
32
|
+
]), astNodesAreEquivalent = _a.astNodesAreEquivalent, builders = _a.builders, builtInTypes = _a.builtInTypes, defineMethod = _a.defineMethod, eachField = _a.eachField, finalize = _a.finalize, getBuilderName = _a.getBuilderName, getFieldNames = _a.getFieldNames, getFieldValue = _a.getFieldValue, getSupertypeNames = _a.getSupertypeNames, n = _a.namedTypes, NodePath = _a.NodePath, Path = _a.Path, PathVisitor = _a.PathVisitor, someField = _a.someField, Type = _a.Type, use = _a.use, visit = _a.visit;
|
|
33
|
+
exports.astNodesAreEquivalent = astNodesAreEquivalent;
|
|
34
|
+
exports.builders = builders;
|
|
35
|
+
exports.builtInTypes = builtInTypes;
|
|
36
|
+
exports.defineMethod = defineMethod;
|
|
37
|
+
exports.eachField = eachField;
|
|
38
|
+
exports.finalize = finalize;
|
|
39
|
+
exports.getBuilderName = getBuilderName;
|
|
40
|
+
exports.getFieldNames = getFieldNames;
|
|
41
|
+
exports.getFieldValue = getFieldValue;
|
|
42
|
+
exports.getSupertypeNames = getSupertypeNames;
|
|
43
|
+
exports.NodePath = NodePath;
|
|
44
|
+
exports.Path = Path;
|
|
45
|
+
exports.PathVisitor = PathVisitor;
|
|
46
|
+
exports.someField = someField;
|
|
47
|
+
exports.Type = Type;
|
|
48
|
+
exports.use = use;
|
|
49
|
+
exports.visit = visit;
|
|
50
|
+
// Populate the exported fields of the namedTypes namespace, while still
|
|
51
|
+
// retaining its member types.
|
|
52
|
+
Object.assign(namedTypes_1.namedTypes, n);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "Ben Newman <bn@cs.stanford.edu>",
|
|
3
3
|
"name": "ast-types",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.13.2",
|
|
5
5
|
"description": "Esprima-compatible implementation of the Mozilla JS Parser API",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ast",
|
|
@@ -38,24 +38,24 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@babel/parser": "
|
|
42
|
-
"@babel/types": "
|
|
43
|
-
"@types/esprima": "
|
|
44
|
-
"@types/glob": "
|
|
45
|
-
"@types/mocha": "
|
|
46
|
-
"@types/node": "
|
|
47
|
-
"espree": "
|
|
48
|
-
"esprima": "
|
|
49
|
-
"esprima-fb": "
|
|
50
|
-
"flow-parser": "
|
|
51
|
-
"glob": "
|
|
52
|
-
"mocha": "
|
|
53
|
-
"recast": "
|
|
54
|
-
"reify": "
|
|
55
|
-
"ts-add-module-exports": "
|
|
56
|
-
"ts-emit-clean": "
|
|
57
|
-
"ts-node": "
|
|
58
|
-
"typescript": "
|
|
41
|
+
"@babel/parser": "7.4.4",
|
|
42
|
+
"@babel/types": "7.4.4",
|
|
43
|
+
"@types/esprima": "4.0.2",
|
|
44
|
+
"@types/glob": "7.1.1",
|
|
45
|
+
"@types/mocha": "5.2.6",
|
|
46
|
+
"@types/node": "12.0.0",
|
|
47
|
+
"espree": "5.0.1",
|
|
48
|
+
"esprima": "4.0.1",
|
|
49
|
+
"esprima-fb": "15001.1001.0-dev-harmony-fb",
|
|
50
|
+
"flow-parser": "0.98.1",
|
|
51
|
+
"glob": "7.1.4",
|
|
52
|
+
"mocha": "6.1.4",
|
|
53
|
+
"recast": "0.18.1",
|
|
54
|
+
"reify": "0.20.6",
|
|
55
|
+
"ts-add-module-exports": "1.0.0",
|
|
56
|
+
"ts-emit-clean": "1.0.0",
|
|
57
|
+
"ts-node": "7.0.1",
|
|
58
|
+
"typescript": "3.4.5"
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|
|
61
61
|
"node": ">=4"
|