UNPKG

mingo

Version:

MongoDB query language for in-memory objects

18 lines (17 loc) 589 B
import { computeValue } from "../../../core/_internal"; import { flatten, isArray, isNil, unique } from "../../../util"; import { errExpectArray } from "../_internal"; const $setUnion = (obj, expr, options) => { const args = computeValue(obj, expr, null, options); const foe = options.failOnError; if (isNil(args)) return null; if (!isArray(args)) return errExpectArray(foe, "$setUnion"); if (isArray(expr)) { if (!args.every(isArray)) return errExpectArray(foe, "$setUnion arguments"); return unique(flatten(args)); } return unique(args); }; export { $setUnion };