UNPKG

1.4 kBTypeScriptView Raw
1import { ErrorMode, Mapper, Predicate } from '@naturalcycles/js-lib';
2import { TransformTyped } from '../stream.model';
3export 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 */
42export declare function transformMapSync<IN = any, OUT = IN>(mapper: Mapper<IN, OUT>, opt?: TransformMapSyncOptions): TransformTyped<IN, OUT>;