import { IterableX } from '../iterablex' ; import { concat } from '../concat' ; import { whileDo } from '../whiledo' ; import { MonoTypeOperatorFunction } from '../../interfaces' ; template TSource param { ( ( ) => boolean ) } condition returns { MonoTypeOperatorFunction < TSource > } export function doWhile < TSource > ( condition ) { return function doWhileOperatorFunction ( source ) : IterableX < TSource > { return concat ( source , whileDo ( source , condition ) ) ; } ; }