'use strict';
var objectPatternB = require('nodes');
var nodes = objectPatternB.nodes;
var objectPatternA = require('./id');
var getUniqueName = objectPatternA.getUniqueName;
var objectPattern = require('./string');
var express = objectPattern.express;
exports.getSliceId = function (node) {
if (!node.sliceId) {
var sliceName = getUniqueName(node, 'slice');
var declaration = express('var ' + sliceName + ' = Array.prototype.slice');
var id = declaration.declarations[0].id;
var body = nodes.Function.test(node) ? node.body.body : node.body;
body.unshift(declaration);
node.sliceId = id;
}
return node.sliceId;
}; |