import { CommonLogger, ErrorMode, Mapper, Predicate } from '@naturalcycles/js-lib'; import { AbortableTransform } from '../pipeline/pipeline'; import { TransformTyped } from '../stream.model'; export interface TransformMapSyncOptions { /** * @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; /** * @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: unknown, 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(mapper: Mapper, opt?: TransformMapSyncOptions): TransformTyped;