All files / Api/Utils createServiceResponseStream.js

100% Statements 10/10
100% Branches 4/4
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 461x       1x             1x 1x       6x                   19x                       2x 2x            
import {
    from,
    of,
} from 'rxjs';
import {
    switchMap,
    retry,
    catchError,
    filter,
} from 'rxjs/operators';
 
import callService from './callService';
import {
    RETRY_COUNT_API_SERVICE_DEFAULT,
} from '../../Errors/Constants/Error.retries';
 
const createServiceResponseStream = (
    serviceUrl,
    serviceRequest,
    serviceProxy,
    requestData,
    handleServiceError,
    retries = RETRY_COUNT_API_SERVICE_DEFAULT,
) =>
    of(requestData)
        .pipe(
            switchMap(data =>
                from(
                    callService(
                        serviceUrl,
                        serviceRequest,
                        serviceProxy,
                        data,
                    )
                )
            ),
            retry(retries),
            catchError(error => {
                handleServiceError(error);
                return of(void 0);
            }),
            filter(Boolean),
        );
 
export default createServiceResponseStream;