UNPKG

mingo

Version:

MongoDB query language for in-memory objects

17 lines (16 loc) 577 B
import { computeValue } from "../../../core/_internal"; import { flatten, isArray, isNil } from "../../../util"; import { $last as __last } from "../../accumulator/last"; import { errExpectArray } from "../_internal"; const $last = (obj, expr, options) => { if (isArray(obj)) return __last(obj, expr, options); const arr = computeValue(obj, expr, null, options); if (isNil(arr)) return null; if (!isArray(arr) || arr.length === 0) { return errExpectArray(options.failOnError, "$last", { size: 0 }); } return flatten(arr)[arr.length - 1]; }; export { $last };