| 123456789101112131415161718192021222324252627282930313233 | "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
 |