import { IterableActivity, Source, isSource } from "./activity"; function skipGen(n: number): IterableActivity { return function* (source: Source) { let i = -1; for (const item of source) { if (++i >= n) { yield item; } } }; } export function skip(n: number): IterableActivity; export function skip(source: Source, n: number): IterableIterator; export function skip(s_or_n: Source | number, n?: number): IterableActivity | IterableIterator { if (!isSource(s_or_n)) return skipGen(s_or_n); return skipGen(n!)(s_or_n); }