import { OperatorFunction } from '../../interfaces' ; import { ConcatIterable } from '../concat' ; template T template T2 param { Iterable < T > } v1 param { Iterable < T2 > } v2 returns { ( OperatorFunction < T , T | T2 > ) } export function concatWith < T , T2 > ( v2 ) ; template T template T2 template T3 param { Iterable < T > } v1 param { Iterable < T2 > } v2 param { Iterable < T3 > } v3 returns { ( OperatorFunction < T , T | T2 | T3 > ) } export function concatWith < T , T2 , T3 > ( v2 , v3 ) ; template T template T2 template T3 template T4 param { Iterable < T2 > } v2 param { Iterable < T3 > } v3 param { Iterable < T4 > } v4 returns { ( OperatorFunction < T , T | T2 | T3 | T4 > ) } export function concatWith < T , T2 , T3 , T4 > ( v2 , v3 , v4 ) ; template T template T2 template T3 template T4 template T5 param { Iterable < T2 > } v2 param { Iterable < T3 > } v3 param { Iterable < T4 > } v4 param { Iterable < T5 > } v5 returns { ( OperatorFunction < T , T | T2 | T3 | T4 | T5 > ) } export function concatWith < T , T2 , T3 , T4 , T5 > ( v2 , v3 , v4 , v5 ) ; template T template T2 template T3 template T4 template T5 template T6 param { Iterable < T2 > } v2 param { Iterable < T3 > } v3 param { Iterable < T4 > } v4 param { Iterable < T5 > } v5 param { Iterable < T6 > } v6 returns { ( OperatorFunction < T , T | T2 | T3 | T4 | T5 | T6 > ) } export function concatWith < T , T2 , T3 , T4 , T5 , T6 > ( v2 , v3 , v4 , v5 , v6 ) ; template T param { ... Iterable < T > [ ] } args returns { AsyncIterableX < T > } export function concatWith < T > ( ... args ) { return function concatWithOperatorFunction ( source ) { return new ConcatIterable < T > ( [ source , ... args ] ) ; } ; }