UNPKG

mingo

Version:

MongoDB query language for in-memory objects

17 lines (16 loc) 538 B
import { computeValue } from "../../../core/_internal"; import { flatten, isArray, isNil } from "../../../util"; import { $first as __first } from "../../accumulator/first"; import { errExpectArray } from "../_internal"; const $first = (obj, expr, options) => { if (isArray(obj)) return __first(obj, expr, options); const arr = computeValue(obj, expr, null, options); if (isNil(arr)) return null; if (!isArray(arr)) { return errExpectArray(options.failOnError, "$first"); } return flatten(arr)[0]; }; export { $first };