sequency
Version:
Functional sequences for processing iterable data in JavaScript
31 lines • 912 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Last = void 0;
var Last = /** @class */ (function () {
function Last() {
}
/**
* Returns the last element of the sequence or the last element matching `predicate` if present, otherwise throws
* an error.
*
* @param {(value: T) => boolean} predicate
* @returns {T}
*/
Last.prototype.last = function (predicate) {
if (predicate != null) {
return this.filter(predicate).last();
}
var result;
var empty = true;
for (var item = this.iterator.next(); !item.done; item = this.iterator.next()) {
result = item.value;
empty = false;
}
if (empty) {
throw new Error("No such element");
}
return result;
};
return Last;
}());
exports.Last = Last;
//# sourceMappingURL=last.js.map