@reactivex/ix-es5-esm
Version:
The Interactive Extensions for JavaScript
65 lines (63 loc) • 2.3 kB
JavaScript
import { __extends, __generator, __values } from "tslib";
import { IterableX } from './iterablex.js';
/** @ignore */
var ConcatIterable = /** @class */ (function (_super) {
__extends(ConcatIterable, _super);
function ConcatIterable(source) {
var _this = _super.call(this) || this;
_this._source = source;
return _this;
}
ConcatIterable.prototype[Symbol.iterator] = function () {
var _a, _b, outer, e_1_1;
var e_1, _c;
return __generator(this, function (_d) {
switch (_d.label) {
case 0:
_d.trys.push([0, 5, 6, 7]);
_a = __values(this._source), _b = _a.next();
_d.label = 1;
case 1:
if (!!_b.done) return [3 /*break*/, 4];
outer = _b.value;
return [5 /*yield**/, __values(outer)];
case 2:
_d.sent();
_d.label = 3;
case 3:
_b = _a.next();
return [3 /*break*/, 1];
case 4: return [3 /*break*/, 7];
case 5:
e_1_1 = _d.sent();
e_1 = { error: e_1_1 };
return [3 /*break*/, 7];
case 6:
try {
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
}
finally { if (e_1) throw e_1.error; }
return [7 /*endfinally*/];
case 7: return [2 /*return*/];
}
});
};
return ConcatIterable;
}(IterableX));
export { ConcatIterable };
/**
* Concatenates all iterable sequences in the given sequences, as long as the previous iterable
* sequence terminated successfully.
*
* @template T The type of the elements in the sequences.
* @param {...Iterable<T>[]} args The iterable sources.
* @returns {IterableX<T>} An iterable sequence that contains the elements of each given sequence, in sequential order.
*/
export function concat() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return new ConcatIterable(args);
}
//# sourceMappingURL=concat.js.map