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 with concat error', async () => {
const res = catchError(concat(range(0, 5), throwError(new Error())), range(5, 5));
expect(await sequenceEqual(res, range(0, 10))).toBeTruthy();
});
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();
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#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();
}
});