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 26 27 28 29 30 | /** * @template T * @template U * @param {Iterable<T>} iterable * @param {(value: T) => U} fn * @param {string} name * @returns {IterableIterator<U>} */ export function map(iterable, fn, name) { return { [Symbol.iterator]: get_this, next() { for (const value of iterable) { return { done: false, value: fn(value) }; } return { done: true, value: undefined }; }, // @ts-expect-error get [Symbol.toStringTag]() { return name; } }; } /** @this {any} */ function get_this() { return this; } |