@jasmith79/sequable
Version:
Library functions for working with generators
24 lines (23 loc) • 669 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.map = void 0;
const sequable_js_1 = require("./sequable.js");
/**
* Maps the given function over the given Iterator, Iterable, or generator
* function.
*
* @param f The transformation function.
* @param sequable The Iterator, Iterable, or generator function sequence
* to tranform.
*/
function* map(f, sequable) {
const iter = (0, sequable_js_1.toIterator)(sequable);
let { value, done } = iter.next();
while (!done) {
yield f(value);
({ value, done } = iter.next());
}
if (value !== undefined)
return f(value);
}
exports.map = map;