1 | import { ErrorMode, Mapper, Predicate } from '@naturalcycles/js-lib';
|
2 | import { TransformTyped } from '../stream.model';
|
3 | export interface TransformMapSyncOptions<IN = any, OUT = IN> {
|
4 | /**
|
5 | * @default true
|
6 | */
|
7 | objectMode?: boolean;
|
8 | /**
|
9 | * @default false
|
10 | * Set true to support "multiMap" - possibility to return [] and emit 1 result for each item in the array.
|
11 | */
|
12 | flattenArrayOutput?: boolean;
|
13 | /**
|
14 | * Predicate to filter outgoing results (after mapper).
|
15 | * Allows to not emit all results.
|
16 | *
|
17 | * @default to filter out undefined/null values, but pass anything else
|
18 | *
|
19 | * Set to `r => r` (passthrough predicate) to pass ANY value (including undefined/null)
|
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: Error, input: IN) => any;
|
31 | /**
|
32 | * Progress metric
|
33 | *
|
34 | * @default `stream`
|
35 | */
|
36 | metric?: string;
|
37 | }
|
38 | /**
|
39 | * Sync (not async) version of transformMap.
|
40 | * Supposedly faster, for cases when async is not needed.
|
41 | */
|
42 | export declare function transformMapSync<IN = any, OUT = IN>(mapper: Mapper<IN, OUT>, opt?: TransformMapSyncOptions): TransformTyped<IN, OUT>;
|