@babel/helper-wrap-function
Advanced tools
Comparing version 7.0.0-beta.34 to 7.0.0-beta.35
@@ -16,5 +16,6 @@ "use strict"; | ||
var buildWrapper = (0, _template.default)("\n (() => {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })\n"); | ||
var namedBuildWrapper = (0, _template.default)("\n (() => {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })\n"); | ||
var buildExpressionWrapper = _template.default.expression("\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n"); | ||
var buildDeclarationWrapper = (0, _template.default)("\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n"); | ||
function classOrObjectMethod(path, callId) { | ||
@@ -34,8 +35,6 @@ var node = path.node; | ||
var functionId = node.id; | ||
var wrapper = buildWrapper; | ||
var wrapper = isDeclaration ? buildDeclarationWrapper : buildExpressionWrapper; | ||
if (path.isArrowFunctionExpression()) { | ||
path.arrowFunctionToExpression(); | ||
} else if (!isDeclaration && functionId) { | ||
wrapper = namedBuildWrapper; | ||
} | ||
@@ -52,3 +51,3 @@ | ||
NAME: functionId || null, | ||
REF: path.scope.generateUidIdentifier("ref"), | ||
REF: path.scope.generateUidIdentifier(functionId ? functionId.name : "ref"), | ||
FUNCTION: built, | ||
@@ -67,17 +66,10 @@ PARAMS: node.params.reduce(function (acc, param) { | ||
}).params | ||
}).expression; | ||
}); | ||
if (isDeclaration && functionId) { | ||
var declar = t.variableDeclaration("let", [t.variableDeclarator(t.identifier(functionId.name), t.callExpression(container, []))]); | ||
declar._blockHoist = true; | ||
if (path.parentPath.isExportDefaultDeclaration()) { | ||
path.parentPath.insertBefore(declar); | ||
path.parentPath.replaceWith(t.exportNamedDeclaration(null, [t.exportSpecifier(t.identifier(functionId.name), t.identifier("default"))])); | ||
return; | ||
} | ||
path.replaceWith(declar); | ||
if (isDeclaration) { | ||
var basePath = path.parentPath.isExportDeclaration() ? path.parentPath : path; | ||
basePath.insertAfter(container[1]); | ||
path.replaceWith(container[0]); | ||
} else { | ||
var retFunction = container.body.body[1].argument; | ||
var retFunction = container.callee.body.body[1].argument; | ||
@@ -93,3 +85,3 @@ if (!functionId) { | ||
if (!retFunction || retFunction.id || node.params.length) { | ||
path.replaceWith(t.callExpression(container, [])); | ||
path.replaceWith(container); | ||
} else { | ||
@@ -96,0 +88,0 @@ path.replaceWith(built); |
{ | ||
"name": "@babel/helper-wrap-function", | ||
"version": "7.0.0-beta.34", | ||
"version": "7.0.0-beta.35", | ||
"description": "Helper to wrap functions inside a function call.", | ||
@@ -9,7 +9,7 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function", | ||
"dependencies": { | ||
"@babel/helper-function-name": "7.0.0-beta.34", | ||
"@babel/template": "7.0.0-beta.34", | ||
"@babel/traverse": "7.0.0-beta.34", | ||
"@babel/types": "7.0.0-beta.34" | ||
"@babel/helper-function-name": "7.0.0-beta.35", | ||
"@babel/template": "7.0.0-beta.35", | ||
"@babel/traverse": "7.0.0-beta.35", | ||
"@babel/types": "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
4274
74
+ Added@babel/code-frame@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/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/helper-function-name@7.0.0-beta.34(transitive)
- Removed@babel/helper-get-function-arity@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)
Updated@babel/types@7.0.0-beta.35