ast-types 0.12.2 → 0.13.1

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/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 { NamedTypes } from "./gen/namedTypes";
6
- import { Builders } from "./gen/builders";
3
+ import { namedTypes } from "./gen/namedTypes";
4
+ import { builders } from "./gen/builders";
7
5
  import { Visitor } from "./gen/visitor";
8
- declare type GenTypes = {
9
- namedTypes: NamedTypes;
10
- builders: Builders;
11
- visit<M = {}>(node: ASTNode, methods?: Visitor<M> & M): any;
12
- };
13
- declare type Main = Omit<ReturnType<typeof fork>, keyof GenTypes> & GenTypes;
14
- declare const main: Main;
15
- export default main;
16
- export { ASTNode, Type, AnyType, Field, NodePath, NamedTypes, Builders, Visitor, };
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 defs = [
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
- var main = fork_1.default(defs);
32
- exports.default = main;
33
- module.exports = exports["default"];
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.12.2",
4
+ "version": "0.13.1",
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": "^7.1.6",
42
- "@babel/types": "^7.1.6",
43
- "@types/esprima": "^4.0.2",
44
- "@types/glob": "^7.1.1",
45
- "@types/mocha": "^5.2.5",
46
- "@types/node": "^10.12.9",
47
- "espree": "^4.0.0",
48
- "esprima": "~4.0.0",
49
- "esprima-fb": "~14001.1.0-dev-harmony-fb",
50
- "flow-parser": "^0.83.0",
51
- "glob": "^7.1.2",
52
- "mocha": "^5.0.0",
53
- "recast": "^0.16.1",
54
- "reify": "^0.18.1",
55
- "ts-add-module-exports": "^1.0.0",
56
- "ts-emit-clean": "^1.0.0",
57
- "ts-node": "^7.0.1",
58
- "typescript": "^3.2.2"
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.17.6",
54
+ "reify": "0.18.1",
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"