Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 2x 2x 2x 2x 2x 2x 2x | import { is_array } from '../utils';
/**
* @param {Array<unknown[] | { get: () => unknown, set: (v: unknown) => unknown }>} parts
* @returns {unknown[]}
*/
export function lazy_array(...parts) {
const arr = [];
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
if (is_array(part)) {
arr.push(...part);
} else {
Object.defineProperty(arr, arr.length, {
enumerable: true,
...part
});
}
}
return arr;
}
|