sequency
Version:
Functional sequences for processing iterable data in JavaScript
32 lines • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Map = void 0;
var Sequence_1 = require("./Sequence");
var MapIterator = /** @class */ (function () {
function MapIterator(transform, iterator) {
this.transform = transform;
this.iterator = iterator;
}
MapIterator.prototype.next = function (value) {
var item = this.iterator.next();
return item.done
? { done: true, value: undefined }
: { done: false, value: this.transform(item.value) };
};
return MapIterator;
}());
var Map = /** @class */ (function () {
function Map() {
}
/**
* Transforms each element into another value by applying the given `transform` function and returns a new sequence.
*
* @param {(S) => T} transform
* @returns {Sequence<T>}
*/
Map.prototype.map = function (transform) {
return (0, Sequence_1.createSequence)(new MapIterator(transform, this.iterator));
};
return Map;
}());
exports.Map = Map;
//# sourceMappingURL=map.js.map