"use strict"; const sortDependencies = require("../sort-dependencies"); const stream = require("../stream"); module.exports = function({ ignoreCycles }) { return function createKahnSortingStream() { let sortables = []; function handleItem(item) { sortables.push(item); } function flush() { let sorted = sortDependencies(sortables, {}, { ignoreCycles }); // TODO: Verify that the 'null' push here is necessary return sorted.concat([ null ]); } return stream(handleItem, flush); }; };