UNPKG

sequency

Version:

Functional sequences for processing iterable data in JavaScript

41 lines 1.42 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.Plus = void 0; var Sequence_1 = require("./Sequence"); var AppendIterator = /** @class */ (function () { function AppendIterator(first, second) { this.first = first; this.second = second; } AppendIterator.prototype.next = function (value) { var item1 = this.first.next(); if (!item1.done) { return { done: false, value: item1.value }; } var item2 = this.second.next(); if (!item2.done) { return { done: false, value: item2.value }; } return { done: true, value: undefined }; }; return AppendIterator; }()); var Plus = /** @class */ (function () { function Plus() { } Plus.prototype.plus = function (data) { if ((0, Sequence_1.isSequence)(data)) { return (0, Sequence_1.createSequence)(new AppendIterator(this.iterator, data.iterator)); } else if (data instanceof Array) { var iterator = data[Symbol.iterator](); return (0, Sequence_1.createSequence)(new AppendIterator(this.iterator, iterator)); } else { var iterator = [data][Symbol.iterator](); return (0, Sequence_1.createSequence)(new AppendIterator(this.iterator, iterator)); } }; return Plus; }()); exports.Plus = Plus; //# sourceMappingURL=plus.js.map