"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var fork_1 = __importDefault(require("./fork")); var core_1 = __importDefault(require("./def/core")); var es6_1 = __importDefault(require("./def/es6")); var es7_1 = __importDefault(require("./def/es7")); var es2020_1 = __importDefault(require("./def/es2020")); var jsx_1 = __importDefault(require("./def/jsx")); var flow_1 = __importDefault(require("./def/flow")); var esprima_1 = __importDefault(require("./def/esprima")); var babel_1 = __importDefault(require("./def/babel")); var typescript_1 = __importDefault(require("./def/typescript")); var es_proposals_1 = __importDefault(require("./def/es-proposals")); var namedTypes_1 = require("./gen/namedTypes"); exports.namedTypes = namedTypes_1.namedTypes; var _a = fork_1.default([ // This core module of AST types captures ES5 as it is parsed today by // git://github.com/ariya/esprima.git#master. core_1.default, // Feel free to add to or remove from this list of extension modules to // configure the precise type hierarchy that you need. es6_1.default, es7_1.default, es2020_1.default, jsx_1.default, flow_1.default, esprima_1.default, babel_1.default, typescript_1.default, es_proposals_1.default, ]), 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; exports.astNodesAreEquivalent = astNodesAreEquivalent; exports.builders = builders; exports.builtInTypes = builtInTypes; exports.defineMethod = defineMethod; exports.eachField = eachField; exports.finalize = finalize; exports.getBuilderName = getBuilderName; exports.getFieldNames = getFieldNames; exports.getFieldValue = getFieldValue; exports.getSupertypeNames = getSupertypeNames; exports.NodePath = NodePath; exports.Path = Path; exports.PathVisitor = PathVisitor; exports.someField = someField; exports.Type = Type; exports.use = use; exports.visit = visit; // Populate the exported fields of the namedTypes namespace, while still // retaining its member types. Object.assign(namedTypes_1.namedTypes, n);