yeet
This commit is contained in:
22
node_modules/@babel/plugin-proposal-decorators/LICENSE
generated
vendored
Normal file
22
node_modules/@babel/plugin-proposal-decorators/LICENSE
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2014-present Sebastian McKenzie and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
19
node_modules/@babel/plugin-proposal-decorators/README.md
generated
vendored
Normal file
19
node_modules/@babel/plugin-proposal-decorators/README.md
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
# @babel/plugin-proposal-decorators
|
||||
|
||||
> Compile class and object decorators to ES5
|
||||
|
||||
See our website [@babel/plugin-proposal-decorators](https://babeljs.io/docs/en/babel-plugin-proposal-decorators) for more information.
|
||||
|
||||
## Install
|
||||
|
||||
Using npm:
|
||||
|
||||
```sh
|
||||
npm install --save-dev @babel/plugin-proposal-decorators
|
||||
```
|
||||
|
||||
or using yarn:
|
||||
|
||||
```sh
|
||||
yarn add @babel/plugin-proposal-decorators --dev
|
||||
```
|
79
node_modules/@babel/plugin-proposal-decorators/lib/index.js
generated
vendored
Normal file
79
node_modules/@babel/plugin-proposal-decorators/lib/index.js
generated
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var _helperPluginUtils = require("@babel/helper-plugin-utils");
|
||||
|
||||
var _pluginSyntaxDecorators = _interopRequireDefault(require("@babel/plugin-syntax-decorators"));
|
||||
|
||||
var _helperCreateClassFeaturesPlugin = require("@babel/helper-create-class-features-plugin");
|
||||
|
||||
var _transformerLegacy = _interopRequireDefault(require("./transformer-legacy"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var _default = (0, _helperPluginUtils.declare)((api, options) => {
|
||||
api.assertVersion(7);
|
||||
const {
|
||||
legacy = false
|
||||
} = options;
|
||||
|
||||
if (typeof legacy !== "boolean") {
|
||||
throw new Error("'legacy' must be a boolean.");
|
||||
}
|
||||
|
||||
const {
|
||||
decoratorsBeforeExport
|
||||
} = options;
|
||||
|
||||
if (decoratorsBeforeExport === undefined) {
|
||||
if (!legacy) {
|
||||
throw new Error("The decorators plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you want to use the legacy" + " decorators semantics, you can set the 'legacy: true' option.");
|
||||
}
|
||||
} else {
|
||||
if (legacy) {
|
||||
throw new Error("'decoratorsBeforeExport' can't be used with legacy decorators.");
|
||||
}
|
||||
|
||||
if (typeof decoratorsBeforeExport !== "boolean") {
|
||||
throw new Error("'decoratorsBeforeExport' must be a boolean.");
|
||||
}
|
||||
}
|
||||
|
||||
if (legacy) {
|
||||
return {
|
||||
name: "proposal-decorators",
|
||||
inherits: _pluginSyntaxDecorators.default,
|
||||
|
||||
manipulateOptions({
|
||||
generatorOpts
|
||||
}) {
|
||||
generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
|
||||
},
|
||||
|
||||
visitor: _transformerLegacy.default
|
||||
};
|
||||
}
|
||||
|
||||
return (0, _helperCreateClassFeaturesPlugin.createClassFeaturePlugin)({
|
||||
name: "proposal-decorators",
|
||||
api,
|
||||
feature: _helperCreateClassFeaturesPlugin.FEATURES.decorators,
|
||||
|
||||
manipulateOptions({
|
||||
generatorOpts,
|
||||
parserOpts
|
||||
}) {
|
||||
parserOpts.plugins.push(["decorators", {
|
||||
decoratorsBeforeExport
|
||||
}]);
|
||||
generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
exports.default = _default;
|
182
node_modules/@babel/plugin-proposal-decorators/lib/transformer-legacy.js
generated
vendored
Normal file
182
node_modules/@babel/plugin-proposal-decorators/lib/transformer-legacy.js
generated
vendored
Normal file
@ -0,0 +1,182 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var _core = require("@babel/core");
|
||||
|
||||
const buildClassDecorator = (0, _core.template)(`
|
||||
DECORATOR(CLASS_REF = INNER) || CLASS_REF;
|
||||
`);
|
||||
const buildClassPrototype = (0, _core.template)(`
|
||||
CLASS_REF.prototype;
|
||||
`);
|
||||
const buildGetDescriptor = (0, _core.template)(`
|
||||
Object.getOwnPropertyDescriptor(TARGET, PROPERTY);
|
||||
`);
|
||||
const buildGetObjectInitializer = (0, _core.template)(`
|
||||
(TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true,
|
||||
initializer: function(){
|
||||
return TEMP;
|
||||
}
|
||||
})
|
||||
`);
|
||||
const WARNING_CALLS = new WeakSet();
|
||||
|
||||
function applyEnsureOrdering(path) {
|
||||
const decorators = (path.isClass() ? [path].concat(path.get("body.body")) : path.get("properties")).reduce((acc, prop) => acc.concat(prop.node.decorators || []), []);
|
||||
const identDecorators = decorators.filter(decorator => !_core.types.isIdentifier(decorator.expression));
|
||||
if (identDecorators.length === 0) return;
|
||||
return _core.types.sequenceExpression(identDecorators.map(decorator => {
|
||||
const expression = decorator.expression;
|
||||
const id = decorator.expression = path.scope.generateDeclaredUidIdentifier("dec");
|
||||
return _core.types.assignmentExpression("=", id, expression);
|
||||
}).concat([path.node]));
|
||||
}
|
||||
|
||||
function applyClassDecorators(classPath) {
|
||||
if (!hasClassDecorators(classPath.node)) return;
|
||||
const decorators = classPath.node.decorators || [];
|
||||
classPath.node.decorators = null;
|
||||
const name = classPath.scope.generateDeclaredUidIdentifier("class");
|
||||
return decorators.map(dec => dec.expression).reverse().reduce(function (acc, decorator) {
|
||||
return buildClassDecorator({
|
||||
CLASS_REF: _core.types.cloneNode(name),
|
||||
DECORATOR: _core.types.cloneNode(decorator),
|
||||
INNER: acc
|
||||
}).expression;
|
||||
}, classPath.node);
|
||||
}
|
||||
|
||||
function hasClassDecorators(classNode) {
|
||||
return !!(classNode.decorators && classNode.decorators.length);
|
||||
}
|
||||
|
||||
function applyMethodDecorators(path, state) {
|
||||
if (!hasMethodDecorators(path.node.body.body)) return;
|
||||
return applyTargetDecorators(path, state, path.node.body.body);
|
||||
}
|
||||
|
||||
function hasMethodDecorators(body) {
|
||||
return body.some(node => {
|
||||
var _node$decorators;
|
||||
|
||||
return (_node$decorators = node.decorators) == null ? void 0 : _node$decorators.length;
|
||||
});
|
||||
}
|
||||
|
||||
function applyObjectDecorators(path, state) {
|
||||
if (!hasMethodDecorators(path.node.properties)) return;
|
||||
return applyTargetDecorators(path, state, path.node.properties);
|
||||
}
|
||||
|
||||
function applyTargetDecorators(path, state, decoratedProps) {
|
||||
const name = path.scope.generateDeclaredUidIdentifier(path.isClass() ? "class" : "obj");
|
||||
const exprs = decoratedProps.reduce(function (acc, node) {
|
||||
const decorators = node.decorators || [];
|
||||
node.decorators = null;
|
||||
if (decorators.length === 0) return acc;
|
||||
|
||||
if (node.computed) {
|
||||
throw path.buildCodeFrameError("Computed method/property decorators are not yet supported.");
|
||||
}
|
||||
|
||||
const property = _core.types.isLiteral(node.key) ? node.key : _core.types.stringLiteral(node.key.name);
|
||||
const target = path.isClass() && !node.static ? buildClassPrototype({
|
||||
CLASS_REF: name
|
||||
}).expression : name;
|
||||
|
||||
if (_core.types.isClassProperty(node, {
|
||||
static: false
|
||||
})) {
|
||||
const descriptor = path.scope.generateDeclaredUidIdentifier("descriptor");
|
||||
const initializer = node.value ? _core.types.functionExpression(null, [], _core.types.blockStatement([_core.types.returnStatement(node.value)])) : _core.types.nullLiteral();
|
||||
node.value = _core.types.callExpression(state.addHelper("initializerWarningHelper"), [descriptor, _core.types.thisExpression()]);
|
||||
WARNING_CALLS.add(node.value);
|
||||
acc = acc.concat([_core.types.assignmentExpression("=", _core.types.cloneNode(descriptor), _core.types.callExpression(state.addHelper("applyDecoratedDescriptor"), [_core.types.cloneNode(target), _core.types.cloneNode(property), _core.types.arrayExpression(decorators.map(dec => _core.types.cloneNode(dec.expression))), _core.types.objectExpression([_core.types.objectProperty(_core.types.identifier("configurable"), _core.types.booleanLiteral(true)), _core.types.objectProperty(_core.types.identifier("enumerable"), _core.types.booleanLiteral(true)), _core.types.objectProperty(_core.types.identifier("writable"), _core.types.booleanLiteral(true)), _core.types.objectProperty(_core.types.identifier("initializer"), initializer)])]))]);
|
||||
} else {
|
||||
acc = acc.concat(_core.types.callExpression(state.addHelper("applyDecoratedDescriptor"), [_core.types.cloneNode(target), _core.types.cloneNode(property), _core.types.arrayExpression(decorators.map(dec => _core.types.cloneNode(dec.expression))), _core.types.isObjectProperty(node) || _core.types.isClassProperty(node, {
|
||||
static: true
|
||||
}) ? buildGetObjectInitializer({
|
||||
TEMP: path.scope.generateDeclaredUidIdentifier("init"),
|
||||
TARGET: _core.types.cloneNode(target),
|
||||
PROPERTY: _core.types.cloneNode(property)
|
||||
}).expression : buildGetDescriptor({
|
||||
TARGET: _core.types.cloneNode(target),
|
||||
PROPERTY: _core.types.cloneNode(property)
|
||||
}).expression, _core.types.cloneNode(target)]));
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
return _core.types.sequenceExpression([_core.types.assignmentExpression("=", _core.types.cloneNode(name), path.node), _core.types.sequenceExpression(exprs), _core.types.cloneNode(name)]);
|
||||
}
|
||||
|
||||
function decoratedClassToExpression({
|
||||
node,
|
||||
scope
|
||||
}) {
|
||||
if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const ref = node.id ? _core.types.cloneNode(node.id) : scope.generateUidIdentifier("class");
|
||||
return _core.types.variableDeclaration("let", [_core.types.variableDeclarator(ref, _core.types.toExpression(node))]);
|
||||
}
|
||||
|
||||
var _default = {
|
||||
ExportDefaultDeclaration(path) {
|
||||
const decl = path.get("declaration");
|
||||
if (!decl.isClassDeclaration()) return;
|
||||
const replacement = decoratedClassToExpression(decl);
|
||||
|
||||
if (replacement) {
|
||||
const [varDeclPath] = path.replaceWithMultiple([replacement, _core.types.exportNamedDeclaration(null, [_core.types.exportSpecifier(_core.types.cloneNode(replacement.declarations[0].id), _core.types.identifier("default"))])]);
|
||||
|
||||
if (!decl.node.id) {
|
||||
path.scope.registerDeclaration(varDeclPath);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
ClassDeclaration(path) {
|
||||
const replacement = decoratedClassToExpression(path);
|
||||
|
||||
if (replacement) {
|
||||
path.replaceWith(replacement);
|
||||
}
|
||||
},
|
||||
|
||||
ClassExpression(path, state) {
|
||||
const decoratedClass = applyEnsureOrdering(path) || applyClassDecorators(path, state) || applyMethodDecorators(path, state);
|
||||
if (decoratedClass) path.replaceWith(decoratedClass);
|
||||
},
|
||||
|
||||
ObjectExpression(path, state) {
|
||||
const decoratedObject = applyEnsureOrdering(path) || applyObjectDecorators(path, state);
|
||||
if (decoratedObject) path.replaceWith(decoratedObject);
|
||||
},
|
||||
|
||||
AssignmentExpression(path, state) {
|
||||
if (!WARNING_CALLS.has(path.node.right)) return;
|
||||
path.replaceWith(_core.types.callExpression(state.addHelper("initializerDefineProperty"), [_core.types.cloneNode(path.get("left.object").node), _core.types.stringLiteral(path.get("left.property").node.name || path.get("left.property").node.value), _core.types.cloneNode(path.get("right.arguments")[0].node), _core.types.cloneNode(path.get("right.arguments")[1].node)]));
|
||||
},
|
||||
|
||||
CallExpression(path, state) {
|
||||
if (path.node.arguments.length !== 3) return;
|
||||
if (!WARNING_CALLS.has(path.node.arguments[2])) return;
|
||||
|
||||
if (path.node.callee.name !== state.addHelper("defineProperty").name) {
|
||||
return;
|
||||
}
|
||||
|
||||
path.replaceWith(_core.types.callExpression(state.addHelper("initializerDefineProperty"), [_core.types.cloneNode(path.get("arguments")[0].node), _core.types.cloneNode(path.get("arguments")[1].node), _core.types.cloneNode(path.get("arguments.2.arguments")[0].node), _core.types.cloneNode(path.get("arguments.2.arguments")[1].node)]));
|
||||
}
|
||||
|
||||
};
|
||||
exports.default = _default;
|
36
node_modules/@babel/plugin-proposal-decorators/package.json
generated
vendored
Normal file
36
node_modules/@babel/plugin-proposal-decorators/package.json
generated
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "@babel/plugin-proposal-decorators",
|
||||
"version": "7.13.5",
|
||||
"author": "Logan Smyth <loganfsmyth@gmail.com>",
|
||||
"license": "MIT",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"description": "Compile class and object decorators to ES5",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel.git",
|
||||
"directory": "packages/babel-plugin-proposal-decorators"
|
||||
},
|
||||
"homepage": "https://babel.dev/docs/en/next/babel-plugin-proposal-decorators",
|
||||
"main": "lib/index.js",
|
||||
"keywords": [
|
||||
"babel",
|
||||
"babel-plugin",
|
||||
"decorators"
|
||||
],
|
||||
"dependencies": {
|
||||
"@babel/helper-create-class-features-plugin": "^7.13.0",
|
||||
"@babel/helper-plugin-utils": "^7.13.0",
|
||||
"@babel/plugin-syntax-decorators": "^7.12.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.13.1",
|
||||
"@babel/helper-plugin-test-runner": "7.12.13",
|
||||
"babel-plugin-polyfill-es-shims": "^0.1.2",
|
||||
"object.getownpropertydescriptors": "^2.1.1"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user