@thi.ng/rstream 9.2.9 → 9.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +1 -1
- package/api.d.ts +1 -1
- package/forkjoin.d.ts +66 -72
- package/merge.d.ts +2 -2
- package/metastream.d.ts +1 -1
- package/object.d.ts +7 -7
- package/package.json +12 -12
- package/pubsub.d.ts +10 -11
- package/raf.d.ts +1 -1
- package/stream.d.ts +1 -1
- package/subscription.d.ts +2 -2
- package/subscription.js +1 -1
- package/sync.d.ts +2 -2
- package/tunnel.d.ts +1 -1
- package/view.d.ts +3 -3
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://mastodon.thi.ng/@toxi)
|
|
8
8
|
|
|
9
9
|
> [!NOTE]
|
|
10
|
-
> This is one of
|
|
10
|
+
> This is one of 202 standalone projects, maintained as part
|
|
11
11
|
> of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo
|
|
12
12
|
> and anti-framework.
|
|
13
13
|
>
|
package/api.d.ts
CHANGED
|
@@ -139,7 +139,7 @@ export interface ISubscribable<A> extends IDeref<Maybe<A>>, IID<string> {
|
|
|
139
139
|
* attached to the returned wrapped sub will also only receive those
|
|
140
140
|
* transformed values.
|
|
141
141
|
*
|
|
142
|
-
*
|
|
142
|
+
* See {@link ITransformable}
|
|
143
143
|
*
|
|
144
144
|
* @param sub -
|
|
145
145
|
* @param opts -
|
package/forkjoin.d.ts
CHANGED
|
@@ -7,97 +7,92 @@ export interface ForkJoinOpts<IN, MSG, RES, OUT> extends Partial<CommonOpts> {
|
|
|
7
7
|
*/
|
|
8
8
|
src: ITransformable<IN>;
|
|
9
9
|
/**
|
|
10
|
-
* Transformation function prepare (e.g. chunk) work for a single
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* Transformation function prepare (e.g. chunk) work for a single worker.
|
|
11
|
+
* Receives worker `id` `[0,numWorkers)`, `numWorkers` and current input
|
|
12
|
+
* value to be processed. Only the results of this function are sent to the
|
|
13
|
+
* worker and therefore the function must return a type compatible with the
|
|
14
|
+
* configured worker instance.
|
|
15
15
|
*
|
|
16
|
-
* For example, such a function might extract slices from a large
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* workload...
|
|
16
|
+
* For example, such a function might extract slices from a large input
|
|
17
|
+
* array, one per worker. The given worker ID and worker count can be used
|
|
18
|
+
* to create non-overlapping chunks to evenly spread the workload...
|
|
20
19
|
*
|
|
21
20
|
* Also see: {@link forkBuffer}
|
|
22
21
|
*/
|
|
23
22
|
fork: Fn3<number, number, IN, MSG>;
|
|
24
23
|
/**
|
|
25
|
-
* Join function. Receives array of worker results (in worker ID
|
|
26
|
-
*
|
|
27
|
-
* result / output type.
|
|
24
|
+
* Join function. Receives array of worker results (in worker ID order) and
|
|
25
|
+
* is responsible to transform these into the final result / output type.
|
|
28
26
|
*/
|
|
29
27
|
join: Fn<RES[], OUT>;
|
|
30
28
|
/**
|
|
31
|
-
* Optional function to extract transferables from `fork` result
|
|
32
|
-
*
|
|
29
|
+
* Optional function to extract transferables from `fork` result values
|
|
30
|
+
* (i.e. payloads sent to each worker), e.g. ArrayBuffers. See:
|
|
33
31
|
* https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage
|
|
34
32
|
*/
|
|
35
33
|
transferables?: Fn<MSG, any[]>;
|
|
36
34
|
/**
|
|
37
|
-
* An existing `Worker` instance, a JS source code `Blob` or an URL
|
|
38
|
-
*
|
|
39
|
-
*
|
|
35
|
+
* An existing `Worker` instance, a JS source code `Blob` or an URL string.
|
|
36
|
+
* In the latter two cases, a worker is created automatically using
|
|
37
|
+
* `makeWorker()`.
|
|
40
38
|
*/
|
|
41
39
|
worker: WorkerSource;
|
|
42
40
|
/**
|
|
43
41
|
* Optional max number of workers to use. Defaults to
|
|
44
|
-
* `navigator.hardwareConcurrency` (or if unavailable, then 4 as
|
|
45
|
-
*
|
|
46
|
-
*
|
|
42
|
+
* `navigator.hardwareConcurrency` (or if unavailable, then 4 as fallback).
|
|
43
|
+
* If setting this higher, be aware of browser limits and potential
|
|
44
|
+
* resulting crashes!
|
|
47
45
|
*
|
|
48
46
|
* If using multiple `forkJoin`s concurrently, it's the user's
|
|
49
|
-
* responsibility to ensure that the total number of workers won't
|
|
50
|
-
*
|
|
47
|
+
* responsibility to ensure that the total number of workers won't exceed
|
|
48
|
+
* the browser limit (Chome/FF ~20).
|
|
51
49
|
*/
|
|
52
50
|
numWorkers?: number;
|
|
53
51
|
/**
|
|
54
|
-
* If true, the workers will be terminated and restarted for each
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* is being processed.
|
|
52
|
+
* If true, the workers will be terminated and restarted for each new input
|
|
53
|
+
* stream value. This is useful to avoid executing extraneous work and
|
|
54
|
+
* ensures only the most rececent stream value is being processed.
|
|
58
55
|
*
|
|
59
|
-
* IMPORTANT: Please note that `forkJoin` does NOT handle
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* undefined behavior WILL occur!
|
|
56
|
+
* IMPORTANT: Please note that `forkJoin` does NOT handle backpressure at
|
|
57
|
+
* all. If `interrupt` is false, it's the user's responsibility to ensure
|
|
58
|
+
* that the input stream does NOT operate on a higher frequency than workers
|
|
59
|
+
* can produce results or else undefined behavior WILL occur!
|
|
64
60
|
*
|
|
65
61
|
* Default: false
|
|
66
62
|
*/
|
|
67
63
|
interrupt?: boolean;
|
|
68
64
|
/**
|
|
69
|
-
* If given and greater than zero, all workers will be terminated
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* values are processed fully.
|
|
65
|
+
* If given and greater than zero, all workers will be terminated after
|
|
66
|
+
* given period (in millis) after the parent stream is done. If used, this
|
|
67
|
+
* value MUST be higher than the expected processing time of the worker
|
|
68
|
+
* jobs, in order to guarantee that the last values are processed fully.
|
|
74
69
|
*
|
|
75
70
|
* Default: 1000
|
|
76
71
|
*/
|
|
77
72
|
terminate?: number;
|
|
78
73
|
/**
|
|
79
|
-
* If greater than 0, then each labeled input will cache upto the
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
74
|
+
* If greater than 0, then each labeled input will cache upto the stated
|
|
75
|
+
* number of input values, even if other inputs have not yet produced new
|
|
76
|
+
* values. Once the limit is reached, `partitionSync()` will throw an
|
|
77
|
+
* `IllegalState` error.
|
|
83
78
|
*
|
|
84
|
-
* Enabling this option will cause the same behavior as if `reset`
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
79
|
+
* Enabling this option will cause the same behavior as if `reset` is
|
|
80
|
+
* enabled (regardless of the actual configured `reset` setting). I.e. new
|
|
81
|
+
* results are only produced when ALL required inputs have available
|
|
82
|
+
* values...
|
|
88
83
|
*/
|
|
89
84
|
backPressure?: number;
|
|
90
85
|
}
|
|
91
86
|
/**
|
|
92
|
-
* Returns a {@link StreamSync} instance which creates & attaches
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
87
|
+
* Returns a {@link StreamSync} instance which creates & attaches multiple
|
|
88
|
+
* subscriptions to given `src` input stream, processes each received value in
|
|
89
|
+
* parallel via web workers, then recombines partial results and passes the
|
|
90
|
+
* resulting transformed value downstream.
|
|
96
91
|
*
|
|
97
92
|
* @remarks
|
|
98
|
-
* See {@link ForkJoinOpts} for further details & behavior options and
|
|
99
|
-
*
|
|
100
|
-
*
|
|
93
|
+
* See {@link ForkJoinOpts} for further details & behavior options and the
|
|
94
|
+
* {@link forkBuffer} and {@link joinBuffer} helpers for array-based value
|
|
95
|
+
* processing (most likely use case).
|
|
101
96
|
*
|
|
102
97
|
* @param src - input stream
|
|
103
98
|
* @param opts -
|
|
@@ -112,21 +107,20 @@ export type Sliceable<T> = ArrayLike<T> & {
|
|
|
112
107
|
*
|
|
113
108
|
* @remarks
|
|
114
109
|
* The returned function is meant to be used as `fork` function in a
|
|
115
|
-
* {@link ForkJoinOpts} config and extracts a workload slice of the
|
|
116
|
-
*
|
|
117
|
-
*
|
|
110
|
+
* {@link ForkJoinOpts} config and extracts a workload slice of the original
|
|
111
|
+
* buffer for a single worker. The HOF itself takes a minimum chunk size as
|
|
112
|
+
* optional parameter (default: 1).
|
|
118
113
|
*
|
|
119
|
-
* **Note:** Depending on the configured `minChunkSize` and the size of
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* empty workloads.
|
|
114
|
+
* **Note:** Depending on the configured `minChunkSize` and the size of the
|
|
115
|
+
* input buffer to be partitioned, the returned fork function might produce
|
|
116
|
+
* empty sub-arrays for some workers, iff the configured number of workers
|
|
117
|
+
* exceeds the resulting number of chunks / input values. E.g. If the number of
|
|
118
|
+
* workers = 8, buffer size = 10 and min chunk size = 2, then the last 3 (i.e. 8
|
|
119
|
+
* - 10 / 2) workers will only receive empty workloads.
|
|
126
120
|
*
|
|
127
|
-
* More generally, if the input buffer size is not equally distributable
|
|
128
|
-
*
|
|
129
|
-
*
|
|
121
|
+
* More generally, if the input buffer size is not equally distributable over
|
|
122
|
+
* the given number of workers, the last worker(s) might receive a larger,
|
|
123
|
+
* smaller or empty chunk.
|
|
130
124
|
*
|
|
131
125
|
* Also see {@link forkJoin} and {@link joinBuffer}.
|
|
132
126
|
*
|
|
@@ -153,15 +147,15 @@ export declare const forkBuffer: (minChunkSize?: number) => <T extends Sliceable
|
|
|
153
147
|
*
|
|
154
148
|
* @remarks
|
|
155
149
|
* The returned function is meant to be used as `join` function in a
|
|
156
|
-
* {@link ForkJoinOpts} config, receives the processed result chunks
|
|
157
|
-
*
|
|
158
|
-
*
|
|
150
|
+
* {@link ForkJoinOpts} config, receives the processed result chunks from all
|
|
151
|
+
* workers (ordered by worker ID) and concatenates them back into a single
|
|
152
|
+
* result array.
|
|
159
153
|
*
|
|
160
|
-
* The optional `fn` arg can be used to pick the actual result chunk
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
154
|
+
* The optional `fn` arg can be used to pick the actual result chunk from each
|
|
155
|
+
* worker result. This is useful if the worker result type is not an array and
|
|
156
|
+
* includes other data points (e.g. execution metrics etc.). If `fn` is not
|
|
157
|
+
* given, it defaults to the identity function (i.e. each worker's result is
|
|
158
|
+
* assumed to be an array).
|
|
165
159
|
*
|
|
166
160
|
* Also see {@link forkJoin} and {@link forkBuffer}.
|
|
167
161
|
*
|
package/merge.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export interface StreamMergeOpts<A, B> extends TransformableOpts<A, B> {
|
|
|
42
42
|
*
|
|
43
43
|
* @example
|
|
44
44
|
* Use the
|
|
45
|
-
* [`labeled
|
|
45
|
+
* [`labeled`](https://docs.thi.ng/umbrella/transducers/functions/labeled.html)
|
|
46
46
|
* transducer for each input to create a stream of labeled values and
|
|
47
47
|
* track their provenance:
|
|
48
48
|
*
|
|
@@ -70,7 +70,7 @@ export interface StreamMergeOpts<A, B> extends TransformableOpts<A, B> {
|
|
|
70
70
|
*/
|
|
71
71
|
export declare const merge: <A, B>(opts?: Partial<StreamMergeOpts<A, B>>) => StreamMerge<A, B>;
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
73
|
+
* See {@link merge} for reference & examples.
|
|
74
74
|
*/
|
|
75
75
|
export declare class StreamMerge<A, B> extends Subscription<A, B> {
|
|
76
76
|
sources: Map<ISubscribable<A>, ISubscription<A, any>>;
|
package/metastream.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ export interface MetaStreamOpts extends CommonOpts {
|
|
|
108
108
|
*/
|
|
109
109
|
export declare const metaStream: <A, B>(factory: Fn<A, Nullable<ISubscription<B, B>>>, opts?: Partial<MetaStreamOpts>) => MetaStream<A, B>;
|
|
110
110
|
/**
|
|
111
|
-
*
|
|
111
|
+
* See {@link metaStream} for reference & examples.
|
|
112
112
|
*/
|
|
113
113
|
export declare class MetaStream<A, B> extends Subscription<A, B> {
|
|
114
114
|
factory: Fn<A, Nullable<ISubscription<B, B>>>;
|
package/object.d.ts
CHANGED
|
@@ -6,13 +6,13 @@ export type KeyStreams<T, K extends Keys<T>> = {
|
|
|
6
6
|
};
|
|
7
7
|
export interface StreamObjOpts<T, K extends Keys<T>> extends CommonOpts {
|
|
8
8
|
/**
|
|
9
|
-
* Array of selected `keys` (else selects all by default) for which
|
|
10
|
-
*
|
|
9
|
+
* Array of selected `keys` (else selects all by default) for which to
|
|
10
|
+
* create streams.
|
|
11
11
|
*/
|
|
12
12
|
keys: K[];
|
|
13
13
|
/**
|
|
14
|
-
* If true (default), all created streams will be seeded with key
|
|
15
|
-
*
|
|
14
|
+
* If true (default), all created streams will be seeded with key values
|
|
15
|
+
* from the source object.
|
|
16
16
|
*
|
|
17
17
|
* @defaultValue true
|
|
18
18
|
*/
|
|
@@ -23,7 +23,7 @@ export interface StreamObjOpts<T, K extends Keys<T>> extends CommonOpts {
|
|
|
23
23
|
defaults: Partial<T>;
|
|
24
24
|
/**
|
|
25
25
|
* If true, attaches
|
|
26
|
-
* [`dedupe
|
|
26
|
+
* [`dedupe`](https://docs.thi.ng/umbrella/transducers/functions/dedupe.html)
|
|
27
27
|
* transducer to each key's value stream to avoid obsolete downstream
|
|
28
28
|
* propagation when a key's value hasn't actually changed.
|
|
29
29
|
*
|
|
@@ -31,8 +31,8 @@ export interface StreamObjOpts<T, K extends Keys<T>> extends CommonOpts {
|
|
|
31
31
|
*/
|
|
32
32
|
dedupe: boolean;
|
|
33
33
|
/**
|
|
34
|
-
* Generic equality predicate to be used for `dedupe` (`===` by
|
|
35
|
-
*
|
|
34
|
+
* Generic equality predicate to be used for `dedupe` (`===` by default).
|
|
35
|
+
* Ignored if `dedupe` option is false.
|
|
36
36
|
*/
|
|
37
37
|
equiv: Predicate2<any>;
|
|
38
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/rstream",
|
|
3
|
-
"version": "9.2.
|
|
3
|
+
"version": "9.2.11",
|
|
4
4
|
"description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -43,18 +43,18 @@
|
|
|
43
43
|
"tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@thi.ng/api": "^8.11.
|
|
47
|
-
"@thi.ng/arrays": "^2.10.
|
|
48
|
-
"@thi.ng/associative": "^7.0.
|
|
49
|
-
"@thi.ng/atom": "^5.3.
|
|
50
|
-
"@thi.ng/checks": "^3.6.
|
|
51
|
-
"@thi.ng/errors": "^2.5.
|
|
52
|
-
"@thi.ng/logger": "^3.1.
|
|
53
|
-
"@thi.ng/transducers": "^9.2.
|
|
46
|
+
"@thi.ng/api": "^8.11.21",
|
|
47
|
+
"@thi.ng/arrays": "^2.10.16",
|
|
48
|
+
"@thi.ng/associative": "^7.0.25",
|
|
49
|
+
"@thi.ng/atom": "^5.3.22",
|
|
50
|
+
"@thi.ng/checks": "^3.6.24",
|
|
51
|
+
"@thi.ng/errors": "^2.5.27",
|
|
52
|
+
"@thi.ng/logger": "^3.1.2",
|
|
53
|
+
"@thi.ng/transducers": "^9.2.19"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"esbuild": "^0.
|
|
57
|
-
"typedoc": "^0.27.
|
|
56
|
+
"esbuild": "^0.25.0",
|
|
57
|
+
"typedoc": "^0.27.7",
|
|
58
58
|
"typescript": "^5.7.3"
|
|
59
59
|
},
|
|
60
60
|
"keywords": [
|
|
@@ -221,5 +221,5 @@
|
|
|
221
221
|
],
|
|
222
222
|
"year": 2017
|
|
223
223
|
},
|
|
224
|
-
"gitHead": "
|
|
224
|
+
"gitHead": "bee617702ac61d093465b967f8f973dc566faa6b\n"
|
|
225
225
|
}
|
package/pubsub.d.ts
CHANGED
|
@@ -5,19 +5,18 @@ import type { ISubscriber, ISubscription, TransformableOpts, WithErrorHandlerOpt
|
|
|
5
5
|
import { Subscription } from "./subscription.js";
|
|
6
6
|
export interface PubSubOpts<A, B, T> {
|
|
7
7
|
/**
|
|
8
|
-
* Topic function. Incoming values will be routed to topic
|
|
9
|
-
*
|
|
8
|
+
* Topic function. Incoming values will be routed to topic subscriptions
|
|
9
|
+
* using this function's return value.
|
|
10
10
|
*/
|
|
11
11
|
topic: Fn<B, T>;
|
|
12
12
|
/**
|
|
13
|
-
* Optional transformer for incoming values. If given, `xform` will
|
|
14
|
-
*
|
|
15
|
-
* `topic` fn.
|
|
13
|
+
* Optional transformer for incoming values. If given, `xform` will be
|
|
14
|
+
* applied first and the transformed value passed to the `topic` fn.
|
|
16
15
|
*/
|
|
17
16
|
xform?: Transducer<A, B>;
|
|
18
17
|
/**
|
|
19
|
-
* Equivalence check for topic values. Should return truthy result
|
|
20
|
-
*
|
|
18
|
+
* Equivalence check for topic values. Should return truthy result if given
|
|
19
|
+
* topics are considered equal.
|
|
21
20
|
*/
|
|
22
21
|
equiv?: Predicate2<T>;
|
|
23
22
|
/**
|
|
@@ -34,9 +33,9 @@ export interface PubSubOpts<A, B, T> {
|
|
|
34
33
|
* `undefined`. If the latter is returned, the incoming value will not be
|
|
35
34
|
* processed further. Complex topics (e.g objects / arrays) are allowed and
|
|
36
35
|
* they're matched against registered topics using
|
|
37
|
-
* [`equiv
|
|
38
|
-
*
|
|
39
|
-
*
|
|
36
|
+
* [`equiv`](https://docs.thi.ng/umbrella/equiv/functions/equiv.html) by default
|
|
37
|
+
* (but customizable via `equiv` option). Each topic can have any number of
|
|
38
|
+
* subscribers.
|
|
40
39
|
*
|
|
41
40
|
* If a `xform` transducer is given, it is always applied prior to passing the
|
|
42
41
|
* input to the topic function. I.e. in this case the topic function will
|
|
@@ -54,7 +53,7 @@ export interface PubSubOpts<A, B, T> {
|
|
|
54
53
|
*/
|
|
55
54
|
export declare const pubsub: <A, B = A, T = any>(opts: PubSubOpts<A, B, T>) => PubSub<A, B, T>;
|
|
56
55
|
/**
|
|
57
|
-
*
|
|
56
|
+
* See {@link pubsub} for reference & examples.
|
|
58
57
|
*/
|
|
59
58
|
export declare class PubSub<A, B = A, T = any> extends Subscription<A, B> {
|
|
60
59
|
topicfn: Fn<B, T>;
|
package/raf.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export interface FromRAFOpts extends CommonOpts {
|
|
|
3
3
|
/**
|
|
4
4
|
* Browser only. If true (default: false), passes the timestamps received
|
|
5
5
|
* via `requestAnimationFrame()` as stream values. If false, a simple
|
|
6
|
-
* counter [0
|
|
6
|
+
* counter `[0,∞)` will be emitted.
|
|
7
7
|
*
|
|
8
8
|
* @defaultValue false
|
|
9
9
|
*/
|
package/stream.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ export declare function stream<T>(src: StreamSource<T>, opts?: Partial<WithError
|
|
|
68
68
|
*/
|
|
69
69
|
export declare const reactive: <T>(val: T, opts?: Partial<CommonOpts>) => Stream<T>;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* See {@link stream} & {@link reactive} for reference & examples.
|
|
72
72
|
*/
|
|
73
73
|
export declare class Stream<T> extends Subscription<T, T> implements IStream<T> {
|
|
74
74
|
src?: StreamSource<T>;
|
package/subscription.d.ts
CHANGED
|
@@ -83,7 +83,7 @@ export declare class Subscription<A, B> implements ISubscription<A, B> {
|
|
|
83
83
|
* Creates a new child subscription using given transducers and optional
|
|
84
84
|
* subscription ID. Supports up to 4 transducers and if more than one
|
|
85
85
|
* transducer is given, composes them in left-to-right order using
|
|
86
|
-
* [`comp
|
|
86
|
+
* [`comp`](https://docs.thi.ng/umbrella/transducers/functions/comp.html).
|
|
87
87
|
*
|
|
88
88
|
* Shorthand for `subscribe(comp(xf1, xf2,...), id)`
|
|
89
89
|
*/
|
|
@@ -94,7 +94,7 @@ export declare class Subscription<A, B> implements ISubscription<A, B> {
|
|
|
94
94
|
transform<C>(opts: WithTransform<B, C> & Partial<WithErrorHandlerOpts>): ISubscription<B, C>;
|
|
95
95
|
/**
|
|
96
96
|
* Syntax sugar for {@link Subscription.transform} when using a single
|
|
97
|
-
* [`map
|
|
97
|
+
* [`map`](https://docs.thi.ng/umbrella/transducers/functions/map.html)
|
|
98
98
|
* transducer only. The given function `fn` is used as `map`'s
|
|
99
99
|
* transformation fn.
|
|
100
100
|
*
|
package/subscription.js
CHANGED
|
@@ -87,7 +87,7 @@ class Subscription {
|
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Syntax sugar for {@link Subscription.transform} when using a single
|
|
90
|
-
* [`map
|
|
90
|
+
* [`map`](https://docs.thi.ng/umbrella/transducers/functions/map.html)
|
|
91
91
|
* transducer only. The given function `fn` is used as `map`'s
|
|
92
92
|
* transformation fn.
|
|
93
93
|
*
|
package/sync.d.ts
CHANGED
|
@@ -87,7 +87,7 @@ export interface StreamSyncOpts<A extends IObjectOf<ISubscribable<any>>, B = Syn
|
|
|
87
87
|
* option to `false`.
|
|
88
88
|
*
|
|
89
89
|
* The synchronization is done via the
|
|
90
|
-
* [`partitionSync
|
|
90
|
+
* [`partitionSync`](https://docs.thi.ng/umbrella/transducers/functions/partitionSync-1.html)
|
|
91
91
|
* transducer from the [`thi.ng/transducers`](https://thi.ng/transducers)
|
|
92
92
|
* package. See this function's docs for further details.
|
|
93
93
|
*
|
|
@@ -119,7 +119,7 @@ export interface StreamSyncOpts<A extends IObjectOf<ISubscribable<any>>, B = Syn
|
|
|
119
119
|
*/
|
|
120
120
|
export declare const sync: <A extends IObjectOf<ISubscribable<any>>, B = SyncTuple<A>>(opts: Partial<StreamSyncOpts<A, B>>) => StreamSync<A, B>;
|
|
121
121
|
/**
|
|
122
|
-
*
|
|
122
|
+
* See {@link sync} for reference & examples.
|
|
123
123
|
*/
|
|
124
124
|
export declare class StreamSync<A extends IObjectOf<ISubscribable<any>>, B = SyncTuple<A>> extends Subscription<any, B> {
|
|
125
125
|
/**
|
package/tunnel.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export interface TunnelOpts<A> {
|
|
|
58
58
|
*/
|
|
59
59
|
export declare const tunnel: <A, B>(opts: TunnelOpts<A>) => Tunnel<A, B>;
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* See {@link tunnel} for reference & examples.
|
|
62
62
|
*/
|
|
63
63
|
export declare class Tunnel<A, B> extends Subscription<A, B> {
|
|
64
64
|
workers: Worker[];
|
package/view.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export declare const fromViewUnsafe: <T>(atom: ReadonlyAtom<any>, opts: FromView
|
|
|
53
53
|
* Views are readonly and more lightweight versions of [thi.ng/atom
|
|
54
54
|
* cursors](https://docs.thi.ng/umbrella/atom/classes/Cursor.html). The view
|
|
55
55
|
* checks for value changes with given `equiv` predicate (default:
|
|
56
|
-
* [`equiv
|
|
56
|
+
* [`equiv`](https://docs.thi.ng/umbrella/equiv/functions/equiv.html)). If the
|
|
57
57
|
* predicate returns a falsy result (i.e. there's a new value), the new value is
|
|
58
58
|
* emitted on the stream. The first value emitted is always the (possibly
|
|
59
59
|
* transformed) current value at the stream's start time (i.e. when the first
|
|
@@ -65,8 +65,8 @@ export declare const fromViewUnsafe: <T>(atom: ReadonlyAtom<any>, opts: FromView
|
|
|
65
65
|
* When the stream is cancelled the view is destroyed as well.
|
|
66
66
|
*
|
|
67
67
|
* Also see
|
|
68
|
-
* [`defView
|
|
69
|
-
* [`defViewUnsafe
|
|
68
|
+
* [`defView`](https://docs.thi.ng/umbrella/atom/functions/defView.html),
|
|
69
|
+
* [`defViewUnsafe`](https://docs.thi.ng/umbrella/atom/functions/defViewUnsafe.html)
|
|
70
70
|
*
|
|
71
71
|
* @example
|
|
72
72
|
* ```ts tangle:../export/from-view.ts
|