mirror of https://github.com/sveltejs/svelte
parent
5c8b47ddfb
commit
a5a4dbf097
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* @template T
|
||||
* @template U
|
||||
* @param {Iterable<T>} iterable
|
||||
* @param {(value: T) => U} fn
|
||||
* @returns {IterableIterator<U>}
|
||||
*/
|
||||
export function map(iterable, fn) {
|
||||
return {
|
||||
[Symbol.iterator]: get_this,
|
||||
next() {
|
||||
for (const value of iterable) {
|
||||
return { done: false, value: fn(value) };
|
||||
}
|
||||
|
||||
return { done: true, value: undefined };
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/** @this {any} */
|
||||
function get_this() {
|
||||
return this;
|
||||
}
|
||||
Loading…
Reference in new issue