mingo
Version:
MongoDB query language for in-memory objects
18 lines (17 loc) • 597 B
JavaScript
import { computeValue } from "../../../core/_internal";
import { assert, isArray, isNil, isNumber } from "../../../util";
import { errInvalidArgs } from "../_internal";
function processBitwise(obj, expr, options, operator, compute) {
assert(isArray(expr), `${operator} expects array as argument`);
const nums = computeValue(obj, expr, null, options);
if (nums.some(isNil)) return null;
if (!nums.every(isNumber))
return errInvalidArgs(
options.failOnError,
`${operator} array elements must resolve to integers`
);
return compute(nums);
}
export {
processBitwise
};