actionhero
Version:
actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks
36 lines (35 loc) • 923 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.collapseObjectToArray = void 0;
/**
* Collapses an Object with numerical keys (like `arguments` in a function) to an Array
*/
function collapseObjectToArray(obj) {
try {
const keys = Object.keys(obj);
if (keys.length < 1) {
return false;
}
if (keys[0] !== "0") {
return false;
}
if (keys[keys.length - 1] !== String(keys.length - 1)) {
return false;
}
const arr = [];
for (const i in keys) {
const key = keys[i];
if (String(parseInt(key)) !== key) {
return false;
}
else {
arr.push(obj[key]);
}
}
return arr;
}
catch (e) {
return false;
}
}
exports.collapseObjectToArray = collapseObjectToArray;