parjs
Version:
A parser-combinator library for JavaScript.
29 lines (28 loc) • 727 B
JavaScript
;
/** @module parjs/combinators */ /** */
Object.defineProperty(exports, "__esModule", { value: true });
const map_1 = require("./map");
function flattenNestedArrays(arr) {
if (!Array.isArray(arr)) {
return [arr];
}
let items = [];
for (let item of arr) {
if (Array.isArray(item)) {
items.push(...flattenNestedArrays(item));
}
else {
items.push(item);
}
}
return items;
}
/**
* Applies the source parser and projects its result into a flat array - an array
* with non-array elements.
*/
function flatten() {
return map_1.map(x => flattenNestedArrays(x));
}
exports.flatten = flatten;
//# sourceMappingURL=flatten.js.map