'use strict';
var objectPatternA = require('../util/slice');
var getSliceId = objectPatternA.getSliceId;
var objectPattern = require('../util/string');
var express = objectPattern.express;
function restify(program) {
program.search('#Function[rest!=null]').forEach(function (node) {
var block = node.body.body;
var length = node.params.length;
var sliceId = getSliceId(program).clone();
var declaration = express('var ' + node.rest.name + ' = ' + sliceId.name + '.call(arguments, ' + length + ')');
node.rest = null;
block.unshift(declaration);
});
}
exports.transform = restify; |