escomplex
Version:
Software complexity analysis of JavaScript-family abstract syntax trees.
34 lines (25 loc) • 803 B
JavaScript
/*globals require, exports */
;
var operatorTraits = require('./operators'), operandTraits = require('./operands');
exports.actualise = actualise;
function actualise (lloc, cyclomatic, operators, operands, children, assignableName, newScope, dependencies) {
return {
lloc: lloc,
cyclomatic: cyclomatic,
operators: operatorTraits.actualise(safeArray(operators)),
operands: operandTraits.actualise(safeArray(operands)),
children: safeArray(children),
assignableName: assignableName,
newScope: newScope,
dependencies: dependencies
};
}
function safeArray (thing) {
if (typeof thing === 'undefined') {
return [];
}
if (Array.isArray(thing)) {
return thing;
}
return [ thing ];
}