mingo
Version:
MongoDB query language for in-memory objects
16 lines (15 loc) • 522 B
JavaScript
import { evalExpr } from "../../../core/_internal";
import { assert, isArray, isEqual } from "../../../util";
import { errInvalidArgs } from "../_internal";
const $in = (obj, expr, options) => {
assert(isArray(expr) && expr.length === 2, "$in expects array(2)");
const args = evalExpr(obj, expr, options);
const [item, arr] = args;
if (!isArray(arr))
return errInvalidArgs(options.failOnError, "$in arg2 <array>");
for (const v of arr) if (isEqual(v, item)) return true;
return false;
};
export {
$in
};