@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
46 lines (45 loc) • 1.51 kB
TypeScript
import { CommonLogger, ErrorMode, Mapper, Predicate } from '@naturalcycles/js-lib';
import { AbortableTransform } from '../pipeline/pipeline';
import { TransformTyped } from '../stream.model';
export interface TransformMapSyncOptions<IN = any, OUT = IN> {
/**
* @default true
*/
objectMode?: boolean;
/**
* @default false
* Set true to support "multiMap" - possibility to return [] and emit 1 result for each item in the array.
*/
flattenArrayOutput?: boolean;
/**
* Predicate to filter outgoing results (after mapper).
* Allows to not emit all results.
*
* Defaults to "pass everything".
* Simpler way to skip individual entries is to return SKIP symbol.
*/
predicate?: Predicate<OUT>;
/**
* @default THROW_IMMEDIATELY
*/
errorMode?: ErrorMode;
/**
* If defined - will be called on every error happening in the stream.
* Called BEFORE observable will emit error (unless skipErrors is set to true).
*/
onError?: (err: Error, input: IN) => any;
/**
* Progress metric
*
* @default `stream`
*/
metric?: string;
logger?: CommonLogger;
}
export declare class TransformMapSync extends AbortableTransform {
}
/**
* Sync (not async) version of transformMap.
* Supposedly faster, for cases when async is not needed.
*/
export declare function transformMapSync<IN = any, OUT = IN>(mapper: Mapper<IN, OUT>, opt?: TransformMapSyncOptions): TransformTyped<IN, OUT>;