Sha256: bbdb2bc1d91d3dd67afc0f3b0296eba9c1b1ce70a5942f229b437d2b13204eb1

Contents?: true

Size: 1.05 KB

Versions: 33

Compression:

Stored size: 1.05 KB

Contents

"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

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.67 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.66 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.65 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.64 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.63 node_modules/@babel/helper-optimise-call-expression/lib/index.js
rapid_stack-0.2.0 templates/frontend/node_modules/@babel/helper-optimise-call-expression/lib/index.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/@babel/helper-optimise-call-expression/lib/index.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.62 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.61 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.60 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.59 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.58 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.57 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.56 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.55 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.54 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.53 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.52 node_modules/@babel/helper-optimise-call-expression/lib/index.js
immosquare-cleaner-0.1.51 node_modules/@babel/helper-optimise-call-expression/lib/index.js