import { concat, of } from 'rxjs';
import { every, delay, tap } from 'rxjs/operators';
const returnCode = request => (Number.isInteger(request) ? 200 : 400);
const fakeRequest = request =>
of({ code: returnCode(request) }).pipe(
const apiCalls$ = concat(
fakeRequest('invalid payload'),
fakeRequest(2) //this won't execute as every will return false for previous line
every(e => e.code === 200),
tap(e => log(`all request successful: ${e}`))