diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:31:11 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-14 15:31:11 +0800 |
| commit | aa773172311dcada759dfbaac485f4bc6e00bc21 (patch) | |
| tree | ca6d9a5eff3ab8f689f9acb4f0df791d9486813d /node_modules/@babel/helper-optimise-call-expression/lib/index.js | |
| parent | c5a5384e846f242e901e859fe600d695d8990a9a (diff) | |
added babel
Diffstat (limited to 'node_modules/@babel/helper-optimise-call-expression/lib/index.js')
| -rw-r--r-- | node_modules/@babel/helper-optimise-call-expression/lib/index.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-optimise-call-expression/lib/index.js b/node_modules/@babel/helper-optimise-call-expression/lib/index.js new file mode 100644 index 00000000..f7bc0b2a --- /dev/null +++ b/node_modules/@babel/helper-optimise-call-expression/lib/index.js @@ -0,0 +1,33 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = optimiseCallExpression; +var _t = require("@babel/types"); +const { + callExpression, + identifier, + isIdentifier, + isSpreadElement, + memberExpression, + optionalCallExpression, + optionalMemberExpression +} = _t; +function optimiseCallExpression(callee, thisNode, args, optional) { + if (args.length === 1 && isSpreadElement(args[0]) && isIdentifier(args[0].argument, { + name: "arguments" + })) { + if (optional) { + return optionalCallExpression(optionalMemberExpression(callee, identifier("apply"), false, true), [thisNode, args[0].argument], false); + } + return callExpression(memberExpression(callee, identifier("apply")), [thisNode, args[0].argument]); + } else { + if (optional) { + return optionalCallExpression(optionalMemberExpression(callee, identifier("call"), false, true), [thisNode, ...args], false); + } + return callExpression(memberExpression(callee, identifier("call")), [thisNode, ...args]); + } +} + +//# sourceMappingURL=index.js.map |
