mingo
Version:
MongoDB query language for in-memory objects
18 lines (17 loc) • 589 B
JavaScript
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
};