UNPKG

1.51 kBTypeScriptView Raw
1import { CommonLogger, ErrorMode, Mapper, Predicate } from '@naturalcycles/js-lib';
2import { AbortableTransform } from '../pipeline/pipeline';
3import { TransformTyped } from '../stream.model';
4export interface TransformMapSyncOptions<IN = any, OUT = IN> {
5 /**
6 * @default true
7 */
8 objectMode?: boolean;
9 /**
10 * @default false
11 * Set true to support "multiMap" - possibility to return [] and emit 1 result for each item in the array.
12 */
13 flattenArrayOutput?: boolean;
14 /**
15 * Predicate to filter outgoing results (after mapper).
16 * Allows to not emit all results.
17 *
18 * Defaults to "pass everything".
19 * Simpler way to skip individual entries is to return SKIP symbol.
20 */
21 predicate?: Predicate<OUT>;
22 /**
23 * @default THROW_IMMEDIATELY
24 */
25 errorMode?: ErrorMode;
26 /**
27 * If defined - will be called on every error happening in the stream.
28 * Called BEFORE observable will emit error (unless skipErrors is set to true).
29 */
30 onError?: (err: unknown, input: IN) => any;
31 /**
32 * Progress metric
33 *
34 * @default `stream`
35 */
36 metric?: string;
37 logger?: CommonLogger;
38}
39export declare class TransformMapSync extends AbortableTransform {
40}
41/**
42 * Sync (not async) version of transformMap.
43 * Supposedly faster, for cases when async is not needed.
44 */
45export declare function transformMapSync<IN = any, OUT = IN>(mapper: Mapper<IN, OUT>, opt?: TransformMapSyncOptions): TransformTyped<IN, OUT>;