import { AsyncIterableX } from '../asynciterablex' ; import { repeatValue } from '../../iterable/repeatvalue' ; import { CatchAllAsyncIterable } from '../catcherror' ; import { MonoTypeOperatorAsyncFunction } from '../../interfaces' ; template TSource param { number } count returns { MonoTypeOperatorAsyncFunction < TSource > } export function retry < TSource > ( count = - 1 ) { return function retryOperatorFunction ( source ) : AsyncIterableX < TSource > { return new CatchAllAsyncIterable < TSource > ( repeatValue < AsyncIterable < TSource > > ( source , count ) ) ; } ; }