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