mingo
Version:
MongoDB query language for in-memory objects
23 lines (22 loc) • 726 B
JavaScript
import { computeValue } from "../../../core/_internal";
import { isArray, isNil } from "../../../util";
import { errExpectArray } from "../_internal";
const $concatArrays = (obj, expr, options) => {
const args = computeValue(obj, expr, null, options);
const foe = options.failOnError;
if (isNil(args)) return null;
if (!isArray(args)) return errExpectArray(foe, "$concatArrays");
let size = 0;
for (const arr of args) {
if (isNil(arr)) return null;
if (!isArray(arr)) return errExpectArray(foe, "$concatArrays");
size += arr.length;
}
const result = new Array(size);
let i = 0;
for (const arr of args) for (const item of arr) result[i++] = item;
return result;
};
export {
$concatArrays
};