@babel/plugin-proposal-decorators
Advanced tools
Comparing version 7.0.0-beta.34 to 7.0.0-beta.35
@@ -16,43 +16,4 @@ "use strict"; | ||
var buildGetObjectInitializer = (0, _core.template)("\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n"); | ||
var buildInitializerWarningHelper = (0, _core.template)("\n function NAME(descriptor, context){\n throw new Error(\n 'Decorating class property failed. Please ensure that ' +\n 'proposal-class-properties is enabled and set to use loose mode. ' +\n 'To use proposal-class-properties in spec mode with decorators, wait for ' +\n 'the next major version of decorators in stage 2.'\n );\n }\n"); | ||
var buildInitializerDefineProperty = (0, _core.template)("\n function NAME(target, property, descriptor, context){\n if (!descriptor) return;\n\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n });\n }\n"); | ||
var buildApplyDecoratedDescriptor = (0, _core.template)("\n function NAME(target, property, decorators, descriptor, context){\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function(key){\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n if ('value' in desc || desc.initializer){\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function(desc, decorator){\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0){\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0){\n // This is a hack to avoid this being processed by 'transform-runtime'.\n // See issue #9.\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n }\n"); | ||
function _default() { | ||
function ensureApplyDecoratedDescriptorHelper(path, state) { | ||
if (!state.applyDecoratedDescriptor) { | ||
state.applyDecoratedDescriptor = path.scope.generateUidIdentifier("applyDecoratedDescriptor"); | ||
var helper = buildApplyDecoratedDescriptor({ | ||
NAME: state.applyDecoratedDescriptor | ||
}); | ||
path.scope.getProgramParent().path.unshiftContainer("body", helper); | ||
} | ||
return state.applyDecoratedDescriptor; | ||
} | ||
function ensureInitializerDefineProp(path, state) { | ||
if (!state.initializerDefineProp) { | ||
state.initializerDefineProp = path.scope.generateUidIdentifier("initDefineProp"); | ||
var helper = buildInitializerDefineProperty({ | ||
NAME: state.initializerDefineProp | ||
}); | ||
path.scope.getProgramParent().path.unshiftContainer("body", helper); | ||
} | ||
return state.initializerDefineProp; | ||
} | ||
function ensureInitializerWarning(path, state) { | ||
if (!state.initializerWarningHelper) { | ||
state.initializerWarningHelper = path.scope.generateUidIdentifier("initializerWarningHelper"); | ||
var helper = buildInitializerWarningHelper({ | ||
NAME: state.initializerWarningHelper | ||
}); | ||
path.scope.getProgramParent().path.unshiftContainer("body", helper); | ||
} | ||
return state.initializerWarningHelper; | ||
} | ||
function applyEnsureOrdering(path) { | ||
@@ -126,8 +87,8 @@ var decorators = (path.isClass() ? [path].concat(path.get("body.body")) : path.get("properties")).reduce(function (acc, prop) { | ||
var initializer = node.value ? _core.types.functionExpression(null, [], _core.types.blockStatement([_core.types.returnStatement(node.value)])) : _core.types.nullLiteral(); | ||
node.value = _core.types.callExpression(ensureInitializerWarning(path, state), [descriptor, _core.types.thisExpression()]); | ||
acc = acc.concat([_core.types.assignmentExpression("=", descriptor, _core.types.callExpression(ensureApplyDecoratedDescriptorHelper(path, state), [target, property, _core.types.arrayExpression(decorators.map(function (dec) { | ||
node.value = _core.types.callExpression(state.addHelper("initializerWarningHelper"), [descriptor, _core.types.thisExpression()]); | ||
acc = acc.concat([_core.types.assignmentExpression("=", descriptor, _core.types.callExpression(state.addHelper("applyDecoratedDescriptor"), [target, property, _core.types.arrayExpression(decorators.map(function (dec) { | ||
return dec.expression; | ||
})), _core.types.objectExpression([_core.types.objectProperty(_core.types.identifier("enumerable"), _core.types.booleanLiteral(true)), _core.types.objectProperty(_core.types.identifier("initializer"), initializer)])]))]); | ||
} else { | ||
acc = acc.concat(_core.types.callExpression(ensureApplyDecoratedDescriptorHelper(path, state), [target, property, _core.types.arrayExpression(decorators.map(function (dec) { | ||
acc = acc.concat(_core.types.callExpression(state.addHelper("applyDecoratedDescriptor"), [target, property, _core.types.arrayExpression(decorators.map(function (dec) { | ||
return dec.expression; | ||
@@ -176,14 +137,7 @@ })), _core.types.isObjectProperty(node) || _core.types.isClassProperty(node, { | ||
AssignmentExpression: function AssignmentExpression(path, state) { | ||
if (!state.initializerWarningHelper) return; | ||
if (!path.get("left").isMemberExpression()) return; | ||
if (!path.get("left.property").isIdentifier()) return; | ||
if (!path.get("right").isCallExpression()) return; | ||
if (!path.get("right.callee").isIdentifier({ | ||
name: state.initializerWarningHelper.name | ||
})) { | ||
return; | ||
} | ||
path.replaceWith(_core.types.callExpression(ensureInitializerDefineProp(path, state), [path.get("left.object").node, _core.types.stringLiteral(path.get("left.property").node.name), path.get("right.arguments")[0].node, path.get("right.arguments")[1].node])); | ||
if (!path.get("right.callee").isIdentifier()) return; | ||
path.replaceWith(_core.types.callExpression(state.addHelper("initializerDefineProperty"), [path.get("left.object").node, _core.types.stringLiteral(path.get("left.property").node.name), path.get("right.arguments")[0].node, path.get("right.arguments")[1].node])); | ||
} | ||
@@ -190,0 +144,0 @@ } |
{ | ||
"name": "@babel/plugin-proposal-decorators", | ||
"version": "7.0.0-beta.34", | ||
"version": "7.0.0-beta.35", | ||
"author": "Logan Smyth <loganfsmyth@gmail.com>", | ||
@@ -15,11 +15,11 @@ "license": "MIT", | ||
"dependencies": { | ||
"@babel/plugin-syntax-decorators": "7.0.0-beta.34" | ||
"@babel/plugin-syntax-decorators": "7.0.0-beta.35" | ||
}, | ||
"peerDependencies": { | ||
"@babel/core": "7.0.0-beta.34" | ||
"@babel/core": "7.0.0-beta.35" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.34", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.34" | ||
"@babel/core": "7.0.0-beta.35", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.35" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
1
9946
128
+ Added@babel/code-frame@7.0.0-beta.35(transitive)
+ Added@babel/core@7.0.0-beta.35(transitive)
+ Added@babel/generator@7.0.0-beta.35(transitive)
+ Added@babel/helper-function-name@7.0.0-beta.35(transitive)
+ Added@babel/helper-get-function-arity@7.0.0-beta.35(transitive)
+ Added@babel/helpers@7.0.0-beta.35(transitive)
+ Added@babel/plugin-syntax-decorators@7.0.0-beta.35(transitive)
+ Added@babel/template@7.0.0-beta.35(transitive)
+ Added@babel/traverse@7.0.0-beta.35(transitive)
+ Added@babel/types@7.0.0-beta.35(transitive)
+ Addedbabylon@7.0.0-beta.35(transitive)
- Removed@babel/code-frame@7.0.0-beta.34(transitive)
- Removed@babel/core@7.0.0-beta.34(transitive)
- Removed@babel/generator@7.0.0-beta.34(transitive)
- Removed@babel/helper-function-name@7.0.0-beta.34(transitive)
- Removed@babel/helper-get-function-arity@7.0.0-beta.34(transitive)
- Removed@babel/helpers@7.0.0-beta.34(transitive)
- Removed@babel/plugin-syntax-decorators@7.0.0-beta.34(transitive)
- Removed@babel/template@7.0.0-beta.34(transitive)
- Removed@babel/traverse@7.0.0-beta.34(transitive)
- Removed@babel/types@7.0.0-beta.34(transitive)
- Removedbabylon@7.0.0-beta.34(transitive)