Socket
Socket
Sign inDemoInstall

@babel/plugin-proposal-decorators

Package Overview
Dependencies
Maintainers
4
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-proposal-decorators - npm Package Compare versions

Comparing version 7.0.0-beta.34 to 7.0.0-beta.35

56

lib/index.js

@@ -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 @@ }

10

package.json
{
"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"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc