actionhero
Version:
The reusable, scalable, and quick node.js API server for stateless and stateful applications
35 lines (34 loc) • 883 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.collapseObjectToArray = collapseObjectToArray;
/**
* 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;
}
}