Socket
Socket
Sign inDemoInstall

@babel/plugin-proposal-function-bind

Package Overview
Dependencies
Maintainers
4
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-proposal-function-bind - npm Package Compare versions

Comparing version 7.22.5 to 8.0.0-alpha.0

39

lib/index.js

@@ -1,15 +0,10 @@

"use strict";
import { declare } from '@babel/helper-plugin-utils';
import syntaxFunctionBind from '@babel/plugin-syntax-function-bind';
import { types } from '@babel/core';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _pluginSyntaxFunctionBind = require("@babel/plugin-syntax-function-bind");
var _core = require("@babel/core");
var _default = (0, _helperPluginUtils.declare)(api => {
var index = declare(api => {
api.assertVersion(7);
function getTempId(scope) {
let id = scope.path.getData("functionBind");
if (id) return _core.types.cloneNode(id);
if (id) return types.cloneNode(id);
id = scope.generateDeclaredUidIdentifier("context");

@@ -19,3 +14,3 @@ return scope.path.setData("functionBind", id);

function getObject(bind) {
if (_core.types.isExpression(bind.object)) {
if (types.isExpression(bind.object)) {
return bind.object;

@@ -27,18 +22,18 @@ }

const object = getObject(bind);
return scope.isStatic(object) && (_core.types.isSuper(object) ? _core.types.thisExpression() : object);
return scope.isStatic(object) && (types.isSuper(object) ? types.thisExpression() : object);
}
function inferBindContext(bind, scope) {
const staticContext = getStaticContext(bind, scope);
if (staticContext) return _core.types.cloneNode(staticContext);
if (staticContext) return types.cloneNode(staticContext);
const tempId = getTempId(scope);
if (bind.object) {
bind.callee = _core.types.sequenceExpression([_core.types.assignmentExpression("=", tempId, bind.object), bind.callee]);
} else if (_core.types.isMemberExpression(bind.callee)) {
bind.callee.object = _core.types.assignmentExpression("=", tempId, bind.callee.object);
bind.callee = types.sequenceExpression([types.assignmentExpression("=", tempId, bind.object), bind.callee]);
} else if (types.isMemberExpression(bind.callee)) {
bind.callee.object = types.assignmentExpression("=", tempId, bind.callee.object);
}
return _core.types.cloneNode(tempId);
return types.cloneNode(tempId);
}
return {
name: "proposal-function-bind",
inherits: _pluginSyntaxFunctionBind.default,
inherits: syntaxFunctionBind,
visitor: {

@@ -50,5 +45,5 @@ CallExpression({

const bind = node.callee;
if (!_core.types.isBindExpression(bind)) return;
if (!types.isBindExpression(bind)) return;
const context = inferBindContext(bind, scope);
node.callee = _core.types.memberExpression(bind.callee, _core.types.identifier("call"));
node.callee = types.memberExpression(bind.callee, types.identifier("call"));
node.arguments.unshift(context);

@@ -62,3 +57,3 @@ },

const context = inferBindContext(node, scope);
path.replaceWith(_core.types.callExpression(_core.types.memberExpression(node.callee, _core.types.identifier("bind")), [context]));
path.replaceWith(types.callExpression(types.memberExpression(node.callee, types.identifier("bind")), [context]));
}

@@ -68,4 +63,4 @@ }

});
exports.default = _default;
export { index as default };
//# sourceMappingURL=index.js.map
{
"name": "@babel/plugin-proposal-function-bind",
"version": "7.22.5",
"version": "8.0.0-alpha.0",
"description": "Compile function bind operator to ES5",

@@ -20,17 +20,21 @@ "repository": {

"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-function-bind": "^7.22.5"
"@babel/helper-plugin-utils": "^8.0.0-alpha.0",
"@babel/plugin-syntax-function-bind": "^8.0.0-alpha.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
"@babel/core": "^8.0.0-alpha.0"
},
"devDependencies": {
"@babel/core": "^7.22.5",
"@babel/helper-plugin-test-runner": "^7.22.5"
"@babel/core": "^8.0.0-alpha.0",
"@babel/helper-plugin-test-runner": "^8.0.0-alpha.0"
},
"engines": {
"node": ">=6.9.0"
"node": "^16.20.0 || ^18.16.0 || >=20.0.0"
},
"author": "The Babel Team (https://babel.dev/team)",
"type": "commonjs"
"exports": {
".": "./lib/index.js",
"./package.json": "./package.json"
},
"type": "module"
}

@@ -5,3 +5,3 @@ # @babel/plugin-proposal-function-bind

See our website [@babel/plugin-proposal-function-bind](https://babeljs.io/docs/en/babel-plugin-proposal-function-bind) for more information.
See our website [@babel/plugin-proposal-function-bind](https://babeljs.io/docs/babel-plugin-proposal-function-bind) for more information.

@@ -8,0 +8,0 @@ ## Install

Sorry, the diff of this file is not supported yet

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