1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 1 1 1 171 4 4 4 4 4 4 | var util = require("../util"); var b = require("recast").types.builders; exports.Function = function (node, parent, file) { if (!node.rest) return; var rest = node.rest; delete node.rest; var templateName = "arguments-slice-assign"; if (node.params.length) templateName += "-arg"; util.ensureBlock(node); node.body.body.unshift(util.template(templateName, { SLICE_KEY: file.addDeclaration("slice"), VARIABLE_NAME: rest, SLICE_ARG: b.literal(node.params.length) })); }; |