UNPKG

iterparse

Version:
50 lines 1.59 kB
/// <reference types="node" /> import { AnyIterable, IX } from "./types"; import { ProgressReportOptions } from "./helpers"; export declare function onLastItem<T>(fn: () => any): (q: AnyIterable<T>) => AsyncGenerator<T, void, unknown>; export interface CacheIterOptions extends ProgressReportOptions { /** * Where cache data will be stored? */ cacheFolder: string; /** * Is cache enabled? */ enabled?: boolean; /** * When reference id changes cache folder will be regenerated. */ referenceId?: string; /** * Format cache in human readable `JSON` format. */ nice?: { buffer: number; }; logger?: Pick<Console, 'info'>; } export declare function _cacheIter<T>(data: AnyIterable<T>, options: CacheIterOptions): IX<T>; /** * Cache iterator output to file. * Useful when we need develop complex iterator pipelines. * @include ./CacheIterOptions.md * @example * import { cacheIter } from 'iterparse' * * getFeed() // If cache exists get feed function will not be called * .pipe(cacheIter({ cacheFolder: "./_cache" })) * .count() * * @example * import { cacheIter } from 'iterparse' * * const cachedIter = cacheIter(getFeed(), { cacheFolder: "./_cache" }) * * for await (const item of cachedIter) { * console.log(item) * } * @category Utility */ export declare function cacheIter<T>(options: CacheIterOptions): (data: AnyIterable<T>) => IX<T>; export declare function cacheIter<T>(data: AnyIterable<T>, options: CacheIterOptions): IX<T>; //# sourceMappingURL=cache.d.ts.map