UNPKG

actionhero

Version:

The reusable, scalable, and quick node.js API server for stateless and stateful applications

35 lines (34 loc) 883 B
"use strict"; 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; } }