GT2/Ejectable/node_modules/@babel/plugin-external-helpers/lib/index.js

41 lines
1.1 KiB
JavaScript
Raw Normal View History

2021-08-16 00:14:59 +00:00
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _core = require("@babel/core");
var _default = (0, _helperPluginUtils.declare)((api, options) => {
api.assertVersion(7);
const {
helperVersion = "7.0.0-beta.0",
whitelist = false
} = options;
if (whitelist !== false && (!Array.isArray(whitelist) || whitelist.some(w => typeof w !== "string"))) {
throw new Error(".whitelist must be undefined, false, or an array of strings");
}
const helperWhitelist = whitelist ? new Set(whitelist) : null;
return {
name: "external-helpers",
pre(file) {
file.set("helperGenerator", name => {
if (file.availableHelper && !file.availableHelper(name, helperVersion)) {
return;
}
if (helperWhitelist && !helperWhitelist.has(name)) return;
return _core.types.memberExpression(_core.types.identifier("babelHelpers"), _core.types.identifier(name));
});
}
};
});
exports.default = _default;