import { Source, IterableActivity } from "./activity"; function concatGen(concatSource: Source): IterableActivity { return function* (source: Source) { yield* source; yield* concatSource; }; } export function concat(concatSource: Source): IterableActivity; export function concat(source: Source, concatSource: Source): IterableIterator; export function concat(s_or_n: Source, concatSource?: Source): IterableActivity | IterableIterator { return concatSource !== undefined ? concatGen(concatSource!)(s_or_n) : concatGen(s_or_n); }