@vulcan-sql/core
Version:
Core package of VulcanSQL
23 lines • 872 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.flattenElements = void 0;
const lodash_1 = require("lodash");
/**
* [e1, e2, e3] , {e1, e2, e3}, [[e1, e2], e3], {e: [e1, e2], e3} => [e1, e2, e3]
*/
const flattenElements = (moduleEntry) => {
// [e1, e2, e3] or [[e1, e2], e3]
if ((0, lodash_1.isArray)(moduleEntry))
return (0, lodash_1.chain)(moduleEntry)
.flatMap((module) => (0, exports.flattenElements)(module))
.value();
// {e1, e2, e3} or {e: [e1, e2], e3}
if ((0, lodash_1.isPlainObject)(moduleEntry))
return (0, lodash_1.chain)(moduleEntry)
.values()
.flatMap((module) => (0, exports.flattenElements)(module))
.value();
return [moduleEntry];
};
exports.flattenElements = flattenElements;
//# sourceMappingURL=flattenElements.js.map