Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = void 0; | |
| exports.get = get; | |
| exports.getDependencies = getDependencies; | |
| exports.list = void 0; | |
| exports.minVersion = minVersion; | |
| var _t = require("@babel/types"); | |
| var _helpersGenerated = require("./helpers-generated.js"); | |
| const { | |
| cloneNode, | |
| identifier | |
| } = _t; | |
| function deep(obj, path, value) { | |
| try { | |
| const parts = path.split("."); | |
| let last = parts.shift(); | |
| while (parts.length > 0) { | |
| obj = obj[last]; | |
| last = parts.shift(); | |
| } | |
| if (arguments.length > 2) { | |
| obj[last] = value; | |
| } else { | |
| return obj[last]; | |
| } | |
| } catch (e) { | |
| e.message += ` (when accessing ${path})`; | |
| throw e; | |
| } | |
| } | |
| function permuteHelperAST(ast, metadata, bindingName, localBindings, getDependency, adjustAst) { | |
| const { | |
| locals, | |
| dependencies, | |
| exportBindingAssignments, | |
| exportName | |
| } = metadata; | |
| const bindings = new Set(localBindings || []); | |
| if (bindingName) bindings.add(bindingName); | |
| for (const [name, paths] of (Object.entries || (o => Object.keys(o).map(k => [k, o[k]])))(locals)) { | |
| let newName = name; | |
| if (bindingName && name === exportName) { | |
| newName = bindingName; | |
| } else { | |
| while (bindings.has(newName)) newName = "_" + newName; | |
| } | |
| if (newName !== name) { | |
| for (const path of paths) { | |
| deep(ast, path, identifier(newName)); | |
| } | |
| } | |
| } | |
| for (const [name, paths] of (Object.entries || (o => Object.keys(o).map(k => [k, o[k]])))(dependencies)) { | |
| const ref = typeof getDependency === "function" && getDependency(name) || identifier(name); | |
| for (const path of paths) { | |
| deep(ast, path, cloneNode(ref)); | |
| } | |
| } | |
| adjustAst == null || adjustAst(ast, exportName, map => { | |
| exportBindingAssignments.forEach(p => deep(ast, p, map(deep(ast, p)))); | |
| }); | |
| } | |
| const helperData = Object.create(null); | |
| function loadHelper(name) { | |
| if (!helperData[name]) { | |
| const helper = _helpersGenerated.default[name]; | |
| if (!helper) { | |
| throw Object.assign(new ReferenceError(`Unknown helper ${name}`), { | |
| code: "BABEL_HELPER_UNKNOWN", | |
| helper: name | |
| }); | |
| } | |
| helperData[name] = { | |
| minVersion: helper.minVersion, | |
| build(getDependency, bindingName, localBindings, adjustAst) { | |
| const ast = helper.ast(); | |
| permuteHelperAST(ast, helper.metadata, bindingName, localBindings, getDependency, adjustAst); | |
| return { | |
| nodes: ast.body, | |
| globals: helper.metadata.globals | |
| }; | |
| }, | |
| getDependencies() { | |
| return Object.keys(helper.metadata.dependencies); | |
| } | |
| }; | |
| } | |
| return helperData[name]; | |
| } | |
| function get(name, getDependency, bindingName, localBindings, adjustAst) { | |
| { | |
| if (typeof bindingName === "object") { | |
| const id = bindingName; | |
| if ((id == null ? void 0 : id.type) === "Identifier") { | |
| bindingName = id.name; | |
| } else { | |
| bindingName = undefined; | |
| } | |
| } | |
| } | |
| return loadHelper(name).build(getDependency, bindingName, localBindings, adjustAst); | |
| } | |
| function minVersion(name) { | |
| return loadHelper(name).minVersion; | |
| } | |
| function getDependencies(name) { | |
| return loadHelper(name).getDependencies(); | |
| } | |
| { | |
| exports.ensure = name => { | |
| loadHelper(name); | |
| }; | |
| } | |
| const list = exports.list = Object.keys(_helpersGenerated.default).map(name => name.replace(/^_/, "")); | |
| var _default = exports.default = get; | |
| //# sourceMappingURL=index.js.map | |