UNPKG

mingo

Version:

MongoDB query language for in-memory objects

22 lines (21 loc) 586 B
import { Aggregator } from "../../aggregator"; import { ComputeOptions, ProcessingMode } from "../../core/_internal"; import { Lazy } from "../../lazy"; function $facet(coll, expr, options) { if (!(options.processingMode & ProcessingMode.CLONE_INPUT)) { options = { ...ComputeOptions.init(options).options, processingMode: ProcessingMode.CLONE_INPUT }; } return coll.transform((arr) => { const o = {}; for (const k of Object.keys(expr)) { o[k] = new Aggregator(expr[k], options).run(arr); } return Lazy([o]); }); } export { $facet };