Code coverage report for harmonizer/util/slice.js

Statements: 100% (15 / 15)      Branches: 75% (3 / 4)      Functions: 100% (1 / 1)      Lines: 100% (15 / 15)      Ignored: none     

All files » harmonizer/util/ » slice.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  1 1 1 1 1 1 1 5 2 2 2 2 2 2   5  
'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;
};