Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
test('AsyncIterable#catch still throws', async () => {
const e1 = new Error();
const er1 = throwError(e1);
const e2 = new Error();
const er2 = throwError(e2);
const e3 = new Error();
const er3 = throwError(e3);
const res = catchError(concat(range(0, 2), er1), concat(range(2, 2), er2), er3);
const it = res[Symbol.asyncIterator]();
await hasNext(it, 0);
await hasNext(it, 1);
await hasNext(it, 2);
await hasNext(it, 3);
try {
await it.next();
} catch (e) {
expect(e != null).toBeTruthy();
}
});
test('AsyncIterable#concat behavior', async () => {
const res = concat(of(1, 2, 3), of(4, 5));
expect(await sequenceEqual(res, of(1, 2, 3, 4, 5))).toBeTruthy();
});
test('AsyncIterable#onErrorResumeNext continues after error', async () => {
const xs = concat(of(1, 2), throwErrpr(new Error()));
const ys = of(3, 4);
const res = onErrorResumeNext(xs, ys);
expect(await sequenceEqual(res, of(1, 2, 3, 4))).toBeTruthy();
});