@natsail/rxjs 0.5.2 → 0.6.0
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/README.md +13 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -73
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -8,6 +8,19 @@ pnpm add rxjs @natsail/core @natsail/session @natsail/jetstream @natsail/rxjs
|
|
|
8
8
|
|
|
9
9
|
The adapter uses the framework-neutral session registry. React and RxJS consumers can share one source without a bridge package.
|
|
10
10
|
|
|
11
|
+
`batchWithPolicy()` groups any Observable into arrays bounded by the same `NatsailBatchPolicy` that Core, React, and Effect use. The timer starts at the first value of a batch, so an idle subscription schedules nothing and never emits an empty array:
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { batchWithPolicy, observeNatsCoreSubscription } from '@natsail/rxjs'
|
|
15
|
+
|
|
16
|
+
const batches$ = observeNatsCoreSubscription(sessions, runtime, 'tokens:room-1', {
|
|
17
|
+
subject: 'chat.tokens.room-1',
|
|
18
|
+
decode: decodeToken,
|
|
19
|
+
}).pipe(batchWithPolicy({ maxItems: 500, maxWaitMs: 50 }))
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
A batch flushes when `maxItems` or `maxBytes` is reached, before a value that would overflow `maxBytes`, and when `maxWaitMs` elapses. Source completion and source errors flush the pending batch first. A `sizeOf` that throws or returns a negative or non-finite number, or one item larger than `maxBytes` (`NatsailBatchItemTooLargeError`), errors the stream and drops the pending batch, as unsubscribe does. The policy is validated when the operator is created. Pass `{ scheduler }` to use a custom RxJS scheduler.
|
|
23
|
+
|
|
11
24
|
`observeNatsJetStreamSubscription()` emits full deliveries from the same keyed session that React hooks use. `observeNatsJetStreamReducer()` consumes the same validated atomic state definition as `useNatsJetStreamReducer()` and exposes exact session lifecycle snapshots.
|
|
12
25
|
|
|
13
26
|
For rendering cumulative application state, prefer `observeNatsJetStreamState()`. It removes duplicate session-lifecycle notifications, emits replay and the first hydrated live state immediately, and coalesces subsequent cumulative live states to the latest value once per 16ms window:
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import type { SchedulerLike } from 'rxjs';
|
|
2
|
+
import type { OperatorFunction, SchedulerLike } from 'rxjs';
|
|
3
3
|
import type { CoreSubscriptionOptions, NatsailBatchPolicy, NatsRuntime, NatsRuntimeEvent, NatsRuntimeStatusEvent } from '@natsail/core';
|
|
4
4
|
import { type JetStreamDelivery, type JetStreamSessionSourceOptions, type JetStreamStateSnapshot } from '@natsail/jetstream';
|
|
5
5
|
import type { SessionDefinition, SessionRegistryEvent, SessionRegistry, SessionSnapshot, SessionSource } from '@natsail/session';
|
|
6
|
+
/**
|
|
7
|
+
* Collects source values into arrays bounded by a shared NATSail batch policy.
|
|
8
|
+
*
|
|
9
|
+
* The timer starts at the first value of a batch, so an idle subscription
|
|
10
|
+
* schedules nothing and never emits an empty array. Source `error` and
|
|
11
|
+
* `complete` flush the pending batch first. An invalid or oversized item errors
|
|
12
|
+
* the stream and drops the pending batch, as unsubscribe does. Order is preserved.
|
|
13
|
+
*/
|
|
14
|
+
export declare function batchWithPolicy<T>(policy: NatsailBatchPolicy<T>, options?: {
|
|
15
|
+
readonly scheduler?: SchedulerLike;
|
|
16
|
+
}): OperatorFunction<T, readonly T[]>;
|
|
6
17
|
/** Converts registry lifecycle and reference-count diagnostics into a cancellable Observable. */
|
|
7
18
|
export declare function observeNatsSessionEvents(registry: SessionRegistry): Observable<SessionRegistryEvent>;
|
|
8
19
|
/** Converts the runtime event iterable into a cancellable Observable. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,UAAU,EAAE,MAAM,MAAM,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,114 @@
|
|
|
1
1
|
import { asyncScheduler, distinctUntilChanged, filter, Observable } from 'rxjs';
|
|
2
|
-
import { defineNatsailBatchPolicy } from '@natsail/core';
|
|
2
|
+
import { defineNatsailBatchPolicy, NatsailBatchItemTooLargeError } from '@natsail/core';
|
|
3
3
|
import { createJetStreamSessionSource, } from '@natsail/jetstream';
|
|
4
4
|
import { createCoreSessionSource } from '@natsail/session';
|
|
5
|
+
/** Count/byte/time bookkeeping shared by RxJS batching; the caller owns value storage. */
|
|
6
|
+
function createPolicyBuffer(policy, scheduler, sink) {
|
|
7
|
+
let pendingItems = 0;
|
|
8
|
+
let pendingBytes = 0;
|
|
9
|
+
let timer;
|
|
10
|
+
let cancelled = false;
|
|
11
|
+
const cancelTimer = () => {
|
|
12
|
+
timer?.unsubscribe();
|
|
13
|
+
timer = undefined;
|
|
14
|
+
};
|
|
15
|
+
const flush = () => {
|
|
16
|
+
cancelTimer();
|
|
17
|
+
if (pendingItems === 0)
|
|
18
|
+
return;
|
|
19
|
+
pendingItems = 0;
|
|
20
|
+
pendingBytes = 0;
|
|
21
|
+
sink.emit();
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
add: (value) => {
|
|
25
|
+
let size = 0;
|
|
26
|
+
if (policy.maxBytes !== undefined) {
|
|
27
|
+
size = policy.sizeOf(value);
|
|
28
|
+
if (!Number.isFinite(size) || size < 0) {
|
|
29
|
+
throw new TypeError('NATSail batch sizeOf must return a finite non-negative number');
|
|
30
|
+
}
|
|
31
|
+
if (size > policy.maxBytes)
|
|
32
|
+
throw new NatsailBatchItemTooLargeError(size, policy.maxBytes);
|
|
33
|
+
if (pendingItems > 0 && pendingBytes + size > policy.maxBytes) {
|
|
34
|
+
flush();
|
|
35
|
+
// A downstream operator may have unsubscribed during the flush.
|
|
36
|
+
if (cancelled)
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
sink.store(value);
|
|
41
|
+
pendingItems += 1;
|
|
42
|
+
pendingBytes += size;
|
|
43
|
+
if ((policy.maxItems !== undefined && pendingItems >= policy.maxItems) ||
|
|
44
|
+
(policy.maxBytes !== undefined && pendingBytes >= policy.maxBytes)) {
|
|
45
|
+
flush();
|
|
46
|
+
}
|
|
47
|
+
else if (timer === undefined && policy.maxWaitMs !== undefined) {
|
|
48
|
+
let ranSynchronously = false;
|
|
49
|
+
const scheduled = scheduler.schedule(() => {
|
|
50
|
+
ranSynchronously = true;
|
|
51
|
+
flush();
|
|
52
|
+
}, policy.maxWaitMs);
|
|
53
|
+
if (!ranSynchronously)
|
|
54
|
+
timer = scheduled;
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
flush,
|
|
58
|
+
cancel: () => {
|
|
59
|
+
cancelled = true;
|
|
60
|
+
cancelTimer();
|
|
61
|
+
pendingItems = 0;
|
|
62
|
+
pendingBytes = 0;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Collects source values into arrays bounded by a shared NATSail batch policy.
|
|
68
|
+
*
|
|
69
|
+
* The timer starts at the first value of a batch, so an idle subscription
|
|
70
|
+
* schedules nothing and never emits an empty array. Source `error` and
|
|
71
|
+
* `complete` flush the pending batch first. An invalid or oversized item errors
|
|
72
|
+
* the stream and drops the pending batch, as unsubscribe does. Order is preserved.
|
|
73
|
+
*/
|
|
74
|
+
export function batchWithPolicy(policy, options = {}) {
|
|
75
|
+
const validated = defineNatsailBatchPolicy(policy);
|
|
76
|
+
const scheduler = options.scheduler ?? asyncScheduler;
|
|
77
|
+
return (source) => new Observable((subscriber) => {
|
|
78
|
+
let pending = [];
|
|
79
|
+
const buffer = createPolicyBuffer(validated, scheduler, {
|
|
80
|
+
store: (value) => pending.push(value),
|
|
81
|
+
emit: () => {
|
|
82
|
+
const batch = pending;
|
|
83
|
+
pending = [];
|
|
84
|
+
subscriber.next(batch);
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
const subscription = source.subscribe({
|
|
88
|
+
next: (value) => {
|
|
89
|
+
try {
|
|
90
|
+
buffer.add(value);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
buffer.cancel();
|
|
94
|
+
subscriber.error(error);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
error: (error) => {
|
|
98
|
+
buffer.flush();
|
|
99
|
+
subscriber.error(error);
|
|
100
|
+
},
|
|
101
|
+
complete: () => {
|
|
102
|
+
buffer.flush();
|
|
103
|
+
subscriber.complete();
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
return () => {
|
|
107
|
+
buffer.cancel();
|
|
108
|
+
subscription.unsubscribe();
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
5
112
|
/** Converts registry lifecycle and reference-count diagnostics into a cancellable Observable. */
|
|
6
113
|
export function observeNatsSessionEvents(registry) {
|
|
7
114
|
return new Observable((subscriber) => {
|
|
@@ -105,40 +212,15 @@ export function observeNatsJetStreamState(registry, definition, options = {}) {
|
|
|
105
212
|
const scheduler = options.scheduler ?? asyncScheduler;
|
|
106
213
|
return new Observable((subscriber) => {
|
|
107
214
|
let seenLive = false;
|
|
108
|
-
let
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
scheduledFlush = undefined;
|
|
114
|
-
if (pendingLive === undefined)
|
|
115
|
-
return;
|
|
116
|
-
const value = pendingLive;
|
|
117
|
-
pendingLive = undefined;
|
|
118
|
-
pendingCount = 0;
|
|
119
|
-
pendingBytes = 0;
|
|
120
|
-
subscriber.next(value);
|
|
121
|
-
};
|
|
122
|
-
const cancelFlush = () => {
|
|
123
|
-
scheduledFlush?.unsubscribe();
|
|
124
|
-
scheduledFlush = undefined;
|
|
125
|
-
};
|
|
126
|
-
const scheduleFlush = () => {
|
|
127
|
-
if (scheduledFlush !== undefined)
|
|
128
|
-
return;
|
|
129
|
-
let ranSynchronously = false;
|
|
130
|
-
const scheduled = scheduler.schedule(() => {
|
|
131
|
-
ranSynchronously = true;
|
|
132
|
-
flush();
|
|
133
|
-
}, policy.maxWaitMs ?? 0);
|
|
134
|
-
if (!ranSynchronously)
|
|
135
|
-
scheduledFlush = scheduled;
|
|
136
|
-
};
|
|
215
|
+
let latest;
|
|
216
|
+
const buffer = createPolicyBuffer(policy, scheduler, {
|
|
217
|
+
store: (value) => (latest = value),
|
|
218
|
+
emit: () => subscriber.next(latest),
|
|
219
|
+
});
|
|
137
220
|
const source = values.subscribe({
|
|
138
221
|
next: (value) => {
|
|
139
222
|
if (value.phase !== 'live') {
|
|
140
|
-
|
|
141
|
-
flush();
|
|
223
|
+
buffer.flush();
|
|
142
224
|
seenLive = false;
|
|
143
225
|
subscriber.next(value);
|
|
144
226
|
return;
|
|
@@ -148,58 +230,25 @@ export function observeNatsJetStreamState(registry, definition, options = {}) {
|
|
|
148
230
|
subscriber.next(value);
|
|
149
231
|
return;
|
|
150
232
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
try {
|
|
154
|
-
size = policy.sizeOf(value);
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
cancelFlush();
|
|
158
|
-
subscriber.error(error);
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
if (!Number.isFinite(size) || size < 0) {
|
|
162
|
-
cancelFlush();
|
|
163
|
-
subscriber.error(new TypeError('NATSail batch sizeOf must return a finite non-negative number'));
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
if (size > policy.maxBytes) {
|
|
167
|
-
cancelFlush();
|
|
168
|
-
subscriber.error(new RangeError(`NATSail live state size ${size} exceeds maxBytes ${policy.maxBytes}`));
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
if (pendingLive !== undefined && pendingBytes + size > policy.maxBytes)
|
|
172
|
-
flush();
|
|
173
|
-
}
|
|
174
|
-
pendingLive = value;
|
|
175
|
-
pendingCount += 1;
|
|
176
|
-
pendingBytes += size;
|
|
177
|
-
const countReached = policy.maxItems !== undefined && pendingCount >= policy.maxItems;
|
|
178
|
-
const bytesReached = policy.maxBytes !== undefined && pendingBytes >= policy.maxBytes;
|
|
179
|
-
if (countReached || bytesReached) {
|
|
180
|
-
cancelFlush();
|
|
181
|
-
flush();
|
|
233
|
+
try {
|
|
234
|
+
buffer.add(value);
|
|
182
235
|
}
|
|
183
|
-
|
|
184
|
-
|
|
236
|
+
catch (error) {
|
|
237
|
+
buffer.cancel();
|
|
238
|
+
subscriber.error(error);
|
|
185
239
|
}
|
|
186
240
|
},
|
|
187
241
|
error: (error) => {
|
|
188
|
-
|
|
189
|
-
pendingLive = undefined;
|
|
190
|
-
pendingCount = 0;
|
|
191
|
-
pendingBytes = 0;
|
|
242
|
+
buffer.cancel();
|
|
192
243
|
subscriber.error(error);
|
|
193
244
|
},
|
|
194
245
|
complete: () => {
|
|
195
|
-
|
|
196
|
-
flush();
|
|
246
|
+
buffer.flush();
|
|
197
247
|
subscriber.complete();
|
|
198
248
|
},
|
|
199
249
|
});
|
|
200
250
|
return () => {
|
|
201
|
-
|
|
202
|
-
pendingLive = undefined;
|
|
251
|
+
buffer.cancel();
|
|
203
252
|
source.unsubscribe();
|
|
204
253
|
};
|
|
205
254
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAU/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@natsail/rxjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "RxJS Observables for NATSail runtimes and shared sessions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nats",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"registry": "https://registry.npmjs.org/"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@natsail/core": "^0.
|
|
42
|
-
"@natsail/
|
|
43
|
-
"@natsail/
|
|
41
|
+
"@natsail/core": "^0.6.0",
|
|
42
|
+
"@natsail/jetstream": "^0.7.0",
|
|
43
|
+
"@natsail/session": "^0.5.1"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"rxjs": "^7.8.0"
|