UNPKG

streams

Version:

A lazy streams library for functional composition in JavaScript.

18 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const iterator_stream_1 = require("../../iterator-stream"); const as_iterable_1 = require("../../util/as-iterable"); iterator_stream_1.IteratorStream.prototype.traverseBreadth = function (getChildren) { function* traverseBreadthOperator(it) { const queue = [it]; let item; while ((item = queue.shift()) !== undefined) { for (const node of item) { yield node; queue.push((0, as_iterable_1.asIterable)(getChildren(node))); } } } return new iterator_stream_1.IteratorStream(traverseBreadthOperator(this)); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhdmVyc2UtYnJlYWR0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVyYXRvcnMvc3luYy90cmF2ZXJzZS1icmVhZHRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkRBQXVEO0FBQ3ZELHdEQUFvRDtBQVVwRCxnQ0FBYyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsVUFDekMsV0FBb0U7SUFFcEUsUUFBUSxDQUFDLENBQUMsdUJBQXVCLENBQUMsRUFBZTtRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBa0IsQ0FBQztRQUNwQyxJQUFJLElBQTZCLENBQUM7UUFDbEMsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixNQUFNLElBQUksQ0FBQztnQkFDWCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUEsd0JBQVUsRUFBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxnQ0FBYyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyxDQUFDIn0=