Sha256: 74ef29ebae057aac610cac4bb7ccd9ad977d81fabfb94fdeaf62f805d51d84ec
Contents?: true
Size: 1.42 KB
Versions: 8
Compression:
Stored size: 1.42 KB
Contents
"use strict"; exports.__esModule = true; // istanbul ignore next function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } var _types = require("../../types"); var t = _interopRequireWildcard(_types); /** * [Please add a description.] */ var visitor = { /** * [Please add a description.] */ enter: function enter(node, parent, scope, state) { if (this.isThisExpression() || this.isReferencedIdentifier({ name: "arguments" })) { state.found = true; this.stop(); } }, /** * [Please add a description.] */ Function: function Function() { this.skip(); } }; /** * [Please add a description.] */ exports["default"] = function (node, scope) { var container = t.functionExpression(null, [], node.body, node.generator, node.async); var callee = container; var args = []; var state = { found: false }; scope.traverse(node, visitor, state); if (state.found) { callee = t.memberExpression(container, t.identifier("apply")); args = [t.thisExpression(), t.identifier("arguments")]; } var call = t.callExpression(callee, args); if (node.generator) call = t.yieldExpression(call, true); return t.returnStatement(call); }; module.exports = exports["default"];
Version data entries
8 entries across 8 versions & 3 rubygems