@livequery/rpc 2.0.69 → 2.0.70
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 +173 -557
- package/dist/LimitConcurrency.d.ts +1 -1
- package/dist/LimitConcurrency.d.ts.map +1 -1
- package/dist/index.js +14 -9
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,659 +1,271 @@
|
|
|
1
|
-
# @livequery/
|
|
2
|
-
|
|
3
|
-
A local-first reactive data library for browser clients. Type-safe, RxJS-based collection system with pluggable storage and transporter adapters, optimistic local mutations, and real-time synchronisation support.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Architecture](#architecture)
|
|
8
|
-
- [Installation](#installation)
|
|
9
|
-
- [Quick Start](#quick-start)
|
|
10
|
-
- [Core Concepts](#core-concepts)
|
|
11
|
-
- [Doc](#doc)
|
|
12
|
-
- [LivequeryStorge](#livequerystorge)
|
|
13
|
-
- [LivequeryTransporter](#livequerytransporter)
|
|
14
|
-
- [LivequeryCore](#livequerycore)
|
|
15
|
-
- [LivequeryCollection](#livequerycollection)
|
|
16
|
-
- [LivequeryDocument](#livequerydocument)
|
|
17
|
-
- [Query Filters](#query-filters)
|
|
18
|
-
- [API Reference](#api-reference)
|
|
19
|
-
- [LivequeryMemoryStorage](#livequerymemorystorage)
|
|
20
|
-
- [LivequeryCollection methods](#livequerycollection-methods)
|
|
21
|
-
- [WorkerRpc](#workerrpc)
|
|
22
|
-
- [Writing a Custom Transporter](#writing-a-custom-transporter)
|
|
23
|
-
- [Writing a Custom Storage Adapter](#writing-a-custom-storage-adapter)
|
|
24
|
-
- [Types Reference](#types-reference)
|
|
25
|
-
|
|
26
|
-
---
|
|
1
|
+
# @livequery/rpc
|
|
27
2
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
┌─────────────────────────────────────┐
|
|
32
|
-
│ Your Application │
|
|
33
|
-
│ LivequeryCollection │
|
|
34
|
-
│ .items / .loading / .paging │
|
|
35
|
-
│ .query() / .add() / .update() / .delete()
|
|
36
|
-
└──────────────┬──────────────────────┘
|
|
37
|
-
│
|
|
38
|
-
┌──────────────▼──────────────────────┐
|
|
39
|
-
│ LivequeryCore │
|
|
40
|
-
│ - coordinates storage & transport │
|
|
41
|
-
│ - optimistic local mutations │
|
|
42
|
-
│ - broadcasts changes to collections│
|
|
43
|
-
└───────┬──────────────┬──────────────┘
|
|
44
|
-
│ │
|
|
45
|
-
┌───────▼──────┐ ┌─────▼──────────────┐
|
|
46
|
-
│ LivequeryStorge│ │ LivequeryTransporter│
|
|
47
|
-
│ (local) │ │ (remote backend) │
|
|
48
|
-
│ │ │ (can be many) │
|
|
49
|
-
└──────────────┘ └────────────────────┘
|
|
50
|
-
```
|
|
3
|
+
Lightweight RxJS-based RPC utilities for calling services across a SharedWorker boundary.
|
|
51
4
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
1. `LivequeryCollection.query(filters)` calls `LivequeryCore.query`.
|
|
60
|
-
2. The core returns locally-stored documents instantly from storage.
|
|
61
|
-
3. In parallel, it fires the query against every transporter.
|
|
62
|
-
4. Each transporter streams `DataChangeEvent[]` back into the collection, which merges them reactively.
|
|
63
|
-
|
|
64
|
-
---
|
|
5
|
+
This package gives you:
|
|
6
|
+
- A message channel abstraction for request/response RPC
|
|
7
|
+
- A worker-side manager to expose services
|
|
8
|
+
- A client-side linker that creates typed service proxies
|
|
9
|
+
- Promise-like Observable calls (await or subscribe)
|
|
10
|
+
- A persistent BehaviorSubject helper backed by custom storage
|
|
11
|
+
- A concurrency-limiting decorator helper
|
|
65
12
|
|
|
66
13
|
## Installation
|
|
67
14
|
|
|
68
15
|
```bash
|
|
69
|
-
npm install @livequery/
|
|
16
|
+
npm install @livequery/rpc rxjs
|
|
70
17
|
# or
|
|
71
|
-
bun add @livequery/
|
|
18
|
+
bun add @livequery/rpc rxjs
|
|
72
19
|
```
|
|
73
20
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## Quick Start
|
|
21
|
+
## Exports
|
|
77
22
|
|
|
78
23
|
```ts
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
import { of } from "rxjs"
|
|
87
|
-
|
|
88
|
-
// 1. Define your document shape
|
|
89
|
-
type Todo = Doc & {
|
|
90
|
-
title: string
|
|
91
|
-
done: boolean
|
|
92
|
-
createdAt: number
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// 2. Create a storage (in-memory for this example)
|
|
96
|
-
const storage = new LivequeryMemoryStorage()
|
|
97
|
-
|
|
98
|
-
// 3. Create a transporter (no-op; replace with your real backend)
|
|
99
|
-
const transporter: LivequeryTransporter = {
|
|
100
|
-
query(query) {
|
|
101
|
-
return of({ query_id: query.query_id, changes: [], summary: {}, paging: { total: 0, current: 0 }, metadata: {}, source: "query" })
|
|
102
|
-
},
|
|
103
|
-
trigger(_action) {
|
|
104
|
-
return of({ data: {} as any })
|
|
105
|
-
},
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// 4. Create the core
|
|
109
|
-
const core = new LivequeryCore({
|
|
110
|
-
storage,
|
|
111
|
-
transporters: { primary: transporter },
|
|
112
|
-
resolver: ({ change, old_document }) => ({
|
|
113
|
-
approved: true,
|
|
114
|
-
document: { ...old_document, ...change.data } as Todo,
|
|
115
|
-
}),
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
// 5. Create a reactive collection
|
|
119
|
-
const todos = new LivequeryCollection<Todo>({
|
|
120
|
-
core,
|
|
121
|
-
ref: "todos",
|
|
122
|
-
filters: { "createdAt:sort": "desc", ":limit": 20, ":page": 1, ":before": "", ":after": "" },
|
|
123
|
-
lazy: true,
|
|
124
|
-
})
|
|
125
|
-
|
|
126
|
-
// 6. Call initialize() to start watching (required)
|
|
127
|
-
todos.initialize()
|
|
128
|
-
|
|
129
|
-
// 7. Subscribe to reactive state
|
|
130
|
-
todos.items.subscribe((docs) => {
|
|
131
|
-
console.log("items:", docs.map((doc$) => doc$.value))
|
|
132
|
-
})
|
|
133
|
-
todos.loading.subscribe((state) => console.log("loading:", state))
|
|
134
|
-
todos.paging.subscribe((p) => console.log("paging:", p))
|
|
135
|
-
|
|
136
|
-
// 8. Trigger a query
|
|
137
|
-
await todos.query({ "createdAt:sort": "desc", ":limit": 20, ":page": 1, ":before": "", ":after": "" })
|
|
138
|
-
|
|
139
|
-
// 9. Mutate data
|
|
140
|
-
await todos.add({ title: "Buy milk", done: false, createdAt: Date.now() })
|
|
141
|
-
await todos.update("some-id", { done: true })
|
|
142
|
-
await todos.delete("some-id")
|
|
24
|
+
export * from "./RpcChannel"
|
|
25
|
+
export * from "./SharedWorkerChannel"
|
|
26
|
+
export * from "./ServiceLinker"
|
|
27
|
+
export * from "./WorkerService"
|
|
28
|
+
export * from "./WorkerManager"
|
|
29
|
+
export * from "./LimitConcurrency"
|
|
30
|
+
export * from "./StorageBehaviorSubject"
|
|
143
31
|
```
|
|
144
32
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
## Core Concepts
|
|
148
|
-
|
|
149
|
-
### Doc
|
|
150
|
-
|
|
151
|
-
Every document stored in livequery must extend `Doc<T>`:
|
|
33
|
+
## Architecture
|
|
152
34
|
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
35
|
+
```text
|
|
36
|
+
Main Thread Shared Worker
|
|
37
|
+
----------- -------------
|
|
38
|
+
ServiceLinker --(RpcMessage)--> SharedWorkerChannel --> WorkerManager --> your service
|
|
39
|
+
^ |
|
|
40
|
+
|--------------------(response stream)-----------------------|
|
|
157
41
|
```
|
|
158
42
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
```ts
|
|
162
|
-
type Post = Doc & {
|
|
163
|
-
title: string
|
|
164
|
-
body: string
|
|
165
|
-
publishedAt: number
|
|
166
|
-
}
|
|
167
|
-
```
|
|
43
|
+
## Quick Start
|
|
168
44
|
|
|
169
|
-
|
|
45
|
+
### 1. Define a service contract
|
|
170
46
|
|
|
171
47
|
```ts
|
|
172
|
-
|
|
173
|
-
_deleting?: boolean // pending deletion
|
|
174
|
-
_updating?: boolean // pending update
|
|
175
|
-
_adding?: boolean // pending add
|
|
176
|
-
_remotes?: Record<string, string | number> // per-transporter version cursors
|
|
177
|
-
_prev?: Partial<T> // previous values before last local mutation
|
|
178
|
-
}
|
|
179
|
-
```
|
|
48
|
+
import { BehaviorSubject, interval, map } from "rxjs"
|
|
180
49
|
|
|
181
|
-
|
|
50
|
+
export class CounterService {
|
|
51
|
+
value = new BehaviorSubject(0)
|
|
182
52
|
|
|
183
|
-
|
|
53
|
+
increment(by = 1) {
|
|
54
|
+
this.value.next(this.value.getValue() + by)
|
|
55
|
+
return this.value.getValue()
|
|
56
|
+
}
|
|
184
57
|
|
|
185
|
-
|
|
58
|
+
getCurrent() {
|
|
59
|
+
return this.value.getValue()
|
|
60
|
+
}
|
|
186
61
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
collection: string,
|
|
191
|
-
filters?: Record<string, any>
|
|
192
|
-
): Promise<{ documents: T[]; paging: LivequeryPaging }>
|
|
193
|
-
|
|
194
|
-
get<T extends Doc>(ref: string, id: string): Promise<T | null>
|
|
195
|
-
add<T extends Doc>(collection: string, document: T): Promise<T>
|
|
196
|
-
update<T extends Doc>(collection: string, id: string, document: Record<string, any>): Promise<T | null>
|
|
197
|
-
delete<T extends Doc>(collection: string, id: string): Promise<T | null>
|
|
62
|
+
ticker() {
|
|
63
|
+
return interval(1000).pipe(map((i) => `tick-${i}`))
|
|
64
|
+
}
|
|
198
65
|
}
|
|
199
66
|
```
|
|
200
67
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
### LivequeryTransporter
|
|
204
|
-
|
|
205
|
-
A transporter connects the core to a remote backend (REST API, WebSocket, Firebase, etc.). You can provide **multiple** transporters; the core fans out queries and mutations to all of them.
|
|
68
|
+
### 2. Expose the service inside the SharedWorker
|
|
206
69
|
|
|
207
70
|
```ts
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
query: LivequeryQueryParams<T>
|
|
212
|
-
): Observable<Partial<LivequeryQueryResult<T>>>
|
|
213
|
-
|
|
214
|
-
// Called for add / update / delete / custom actions.
|
|
215
|
-
trigger<T>(action: LivequeryAction): Observable<{ data: T; error?: Error }>
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
### LivequeryCore
|
|
71
|
+
// worker.ts
|
|
72
|
+
import { SharedWorkerChannel, WorkerManager } from "@livequery/rpc"
|
|
73
|
+
import { CounterService } from "./CounterService"
|
|
222
74
|
|
|
223
|
-
|
|
75
|
+
const channel = new SharedWorkerChannel()
|
|
76
|
+
const manager = new WorkerManager(channel)
|
|
224
77
|
|
|
225
|
-
|
|
226
|
-
const core = new LivequeryCore({
|
|
227
|
-
storage, // LivequeryStorge implementation
|
|
228
|
-
transporters: { // one or more named transporters
|
|
229
|
-
primary: myTransporter,
|
|
230
|
-
},
|
|
231
|
-
resolver, // ConflictResolverFunction
|
|
232
|
-
})
|
|
78
|
+
manager.exposeService("counter", new CounterService())
|
|
233
79
|
```
|
|
234
80
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
Called for every local mutation. Decides whether to approve the change and what the final merged document should be.
|
|
81
|
+
### 3. Link and use the service on the main thread
|
|
238
82
|
|
|
239
83
|
```ts
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
change: DataChangeEvent<T> // incoming change
|
|
244
|
-
}) => {
|
|
245
|
-
approved: boolean // false → discard the change
|
|
246
|
-
document: T // resolved document to persist
|
|
247
|
-
}
|
|
248
|
-
```
|
|
84
|
+
// main.ts
|
|
85
|
+
import { SharedWorkerChannel, ServiceLinker, type WorkerService } from "@livequery/rpc"
|
|
86
|
+
import type { CounterService } from "./CounterService"
|
|
249
87
|
|
|
250
|
-
|
|
88
|
+
const worker = new SharedWorker(new URL("./worker.ts", import.meta.url), { type: "module" })
|
|
89
|
+
const channel = new SharedWorkerChannel(worker)
|
|
90
|
+
const linker = new ServiceLinker(channel)
|
|
251
91
|
|
|
252
|
-
|
|
253
|
-
const resolver: ConflictResolverFunction = ({ change, old_document }) => ({
|
|
254
|
-
approved: true,
|
|
255
|
-
document: { ...old_document, ...change.data } as typeof old_document,
|
|
256
|
-
})
|
|
257
|
-
```
|
|
92
|
+
const counter = linker.linkService<WorkerService<CounterService>>("counter")
|
|
258
93
|
|
|
259
|
-
|
|
94
|
+
// Await method calls
|
|
95
|
+
const next = await counter.increment(2)
|
|
96
|
+
console.log(next)
|
|
260
97
|
|
|
261
|
-
|
|
98
|
+
// Read BehaviorSubject-backed state from worker
|
|
99
|
+
counter.value.subscribe((v) => console.log("value", v))
|
|
262
100
|
|
|
263
|
-
|
|
101
|
+
// Consume stream responses
|
|
102
|
+
const sub = counter.ticker().subscribe((v) => console.log(v))
|
|
264
103
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
core,
|
|
268
|
-
ref: "posts",
|
|
269
|
-
filters: { "publishedAt:sort": "desc", ":limit": 10, ":page": 1, ":before": "", ":after": "" },
|
|
270
|
-
lazy: true, // true = don't auto-load on initialize(); false = load immediately
|
|
271
|
-
})
|
|
272
|
-
|
|
273
|
-
// Must call initialize() to wire up the core watcher
|
|
274
|
-
posts.initialize()
|
|
104
|
+
// Stop stream
|
|
105
|
+
sub.unsubscribe()
|
|
275
106
|
```
|
|
276
107
|
|
|
277
|
-
|
|
108
|
+
## Core API
|
|
278
109
|
|
|
279
|
-
|
|
280
|
-
|----------|------|-------------|
|
|
281
|
-
| `items` | `BehaviorSubject<LivequeryDocument<DocState<T>>[]>` | Current list of documents |
|
|
282
|
-
| `loading` | `BehaviorSubject<LivequeryLoadingState>` | Loading flags |
|
|
283
|
-
| `filters` | `BehaviorSubject<Partial<LivequeryFilters<T>>>` | Active filters |
|
|
284
|
-
| `paging` | `BehaviorSubject<LivequeryPaging>` | Pagination info |
|
|
285
|
-
| `summary` | `BehaviorSubject<Record<string, any>>` | Aggregation data from transporter |
|
|
286
|
-
| `metadata` | `BehaviorSubject<Record<string, any>>` | Arbitrary metadata from transporter |
|
|
110
|
+
## RpcMessage
|
|
287
111
|
|
|
288
112
|
```ts
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
113
|
+
type RpcMessage = {
|
|
114
|
+
id: number
|
|
115
|
+
request?: {
|
|
116
|
+
service: string
|
|
117
|
+
method: string[]
|
|
118
|
+
args: any[]
|
|
119
|
+
}
|
|
120
|
+
cancel?: boolean
|
|
121
|
+
response?: Partial<{
|
|
122
|
+
data: any
|
|
123
|
+
error: string
|
|
124
|
+
completed: boolean
|
|
125
|
+
}>
|
|
300
126
|
}
|
|
301
127
|
```
|
|
302
128
|
|
|
303
|
-
|
|
129
|
+
## RpcChannel
|
|
304
130
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
Each element of `collection.items.value` is a `LivequeryDocument<DocState<T>>`, which extends `BehaviorSubject<T>`. It provides convenient mutation helpers scoped to that document.
|
|
131
|
+
Abstract message transport.
|
|
308
132
|
|
|
309
133
|
```ts
|
|
310
|
-
class
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
134
|
+
abstract class RpcChannel extends Subject<RpcMessage & {
|
|
135
|
+
respond: (msg: RpcMessage["response"]) => void
|
|
136
|
+
}> {
|
|
137
|
+
abstract send(message: RpcMessage): void
|
|
314
138
|
}
|
|
315
139
|
```
|
|
316
140
|
|
|
317
|
-
|
|
318
|
-
const doc = posts.items.value[0]
|
|
319
|
-
|
|
320
|
-
// Subscribe to individual document changes
|
|
321
|
-
doc.subscribe((post) => console.log("post changed:", post))
|
|
322
|
-
|
|
323
|
-
// Mutate directly on the document
|
|
324
|
-
await doc.update({ title: "Updated title" })
|
|
325
|
-
await doc.del()
|
|
326
|
-
|
|
327
|
-
// Fire a custom action
|
|
328
|
-
doc.trigger("~publish", { scheduledAt: Date.now() }).subscribe()
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
---
|
|
141
|
+
## SharedWorkerChannel
|
|
332
142
|
|
|
333
|
-
|
|
143
|
+
`SharedWorkerChannel` is a concrete `RpcChannel` implementation for both contexts:
|
|
144
|
+
- Worker context: `new SharedWorkerChannel()`
|
|
145
|
+
- Main thread: `new SharedWorkerChannel(sharedWorker)`
|
|
334
146
|
|
|
335
|
-
|
|
147
|
+
It handles:
|
|
148
|
+
- Incoming requests/responses via MessagePort events
|
|
149
|
+
- Respond function wiring
|
|
150
|
+
- Message dispatch with `send`
|
|
336
151
|
|
|
337
|
-
|
|
152
|
+
## WorkerManager
|
|
338
153
|
|
|
339
|
-
|
|
340
|
-
|-----|------|-------------|
|
|
341
|
-
| `"<field>:sort"` | `"asc" \| "desc"` | Sort by a string field |
|
|
342
|
-
| `":limit"` | `number` | Max items per page |
|
|
343
|
-
| `":page"` | `number` | Page number (1-based) |
|
|
344
|
-
| `":before"` | `string` | Cursor for previous-page fetch |
|
|
345
|
-
| `":after"` | `string` | Cursor for next-page fetch |
|
|
346
|
-
|
|
347
|
-
### Field operators
|
|
348
|
-
|
|
349
|
-
| Operator | Applies to | Description |
|
|
350
|
-
|----------|-----------|-------------|
|
|
351
|
-
| `gt` | `number` | Greater than |
|
|
352
|
-
| `gte` | `number` | Greater than or equal |
|
|
353
|
-
| `lt` | `number` | Less than |
|
|
354
|
-
| `lte` | `number` | Less than or equal |
|
|
355
|
-
| `eq-number` | `number` | Strict numeric equality |
|
|
356
|
-
| `in` | `number \| string` | Value is in array |
|
|
357
|
-
| `nin` | `number \| string` | Value is NOT in array |
|
|
358
|
-
| `include` | `number[] \| string[]` | Array field includes value |
|
|
359
|
-
| `boolean` | `boolean` | `"true"`, `"false"`, `"not-true"`, `"not-false"` |
|
|
360
|
-
| `like` | `string` | Case-insensitive substring match |
|
|
361
|
-
| `null` | any | `"null-only"` or `"not-null"` |
|
|
154
|
+
Worker-side router that executes exposed service members.
|
|
362
155
|
|
|
363
156
|
```ts
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
title: string
|
|
368
|
-
archived: boolean
|
|
369
|
-
deletedAt: number | null
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
const filters: LivequeryFilters<Article> = {
|
|
373
|
-
"score:gte": 5,
|
|
374
|
-
"tags:include": "typescript",
|
|
375
|
-
"title:like": "livequery",
|
|
376
|
-
"archived:boolean": "false",
|
|
377
|
-
"deletedAt:null": "null-only",
|
|
378
|
-
"score:sort": "desc",
|
|
379
|
-
":limit": 20,
|
|
380
|
-
":page": 1,
|
|
381
|
-
":before": "",
|
|
382
|
-
":after": "",
|
|
157
|
+
class WorkerManager {
|
|
158
|
+
constructor(channel: RpcChannel)
|
|
159
|
+
exposeService(name: string, service: any): void
|
|
383
160
|
}
|
|
384
161
|
```
|
|
385
162
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
An in-memory `LivequeryStorge` implementation backed by a `Map`. Data is lost on page reload. Useful for testing and offline-first prototypes.
|
|
163
|
+
Behavior:
|
|
164
|
+
- Resolves nested method paths sent by the client
|
|
165
|
+
- Calls functions with args, or returns property values
|
|
166
|
+
- Streams Observable-like results back until completion
|
|
167
|
+
- Supports cancellation through a `cancel` message
|
|
168
|
+
- Adds an internal `____initialize____` method to gather initial values from properties that expose `getValue()`
|
|
393
169
|
|
|
394
|
-
|
|
395
|
-
const storage = new LivequeryMemoryStorage()
|
|
396
|
-
```
|
|
170
|
+
## ServiceLinker
|
|
397
171
|
|
|
398
|
-
|
|
399
|
-
|--------|-----------|-------------|
|
|
400
|
-
| `query` | `(collection, filters?) → Promise<{documents, paging}>` | Filter, sort and paginate documents |
|
|
401
|
-
| `get` | `(collection, id) → Promise<T \| null>` | Fetch a single document by id |
|
|
402
|
-
| `add` | `(collection, document) → Promise<T>` | Upsert a document (insert or replace by id) |
|
|
403
|
-
| `update` | `(collection, id, partial) → Promise<T \| null>` | Merge partial fields into existing document |
|
|
404
|
-
| `delete` | `(collection, id) → Promise<T \| null>` | Remove and return a document |
|
|
405
|
-
| `seed` | `(collection, docs[]) → void` | Bulk-load documents (replaces existing) |
|
|
406
|
-
| `clear` | `(collection?) → void` | Clear one collection or all collections |
|
|
172
|
+
Main-thread client that builds typed proxies for services.
|
|
407
173
|
|
|
408
174
|
```ts
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
storage.clear("todos") // clear one collection
|
|
414
|
-
storage.clear() // clear everything
|
|
175
|
+
class ServiceLinker {
|
|
176
|
+
constructor(channel: RpcChannel)
|
|
177
|
+
linkService<T>(name: string): T
|
|
178
|
+
}
|
|
415
179
|
```
|
|
416
180
|
|
|
417
|
-
|
|
181
|
+
Behavior:
|
|
182
|
+
- Caches proxies by service name
|
|
183
|
+
- Sends RPC requests with incrementing request ids
|
|
184
|
+
- Returns an Observable for each call
|
|
185
|
+
- Returned Observable is Promise-like, so you can use `await`
|
|
186
|
+
- Subscriptions automatically send cancellation when unsubscribed
|
|
187
|
+
- Initializes BehaviorSubject-like remote state via `____initialize____`
|
|
418
188
|
|
|
419
|
-
|
|
189
|
+
## WorkerService<T>
|
|
420
190
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
| `loadMore()` | Append next page using `paging.next.cursor` |
|
|
426
|
-
| `loadPrev()` | Prepend previous page using `paging.prev.cursor` |
|
|
427
|
-
| `loadAround(cursor)` | Load items around a specific cursor (both directions) |
|
|
428
|
-
| `add(payload)` | Optimistically add a new document |
|
|
429
|
-
| `update(id, payload)` | Optimistically update a document |
|
|
430
|
-
| `delete(id)` | Optimistically delete a document |
|
|
431
|
-
| `trigger(action, payload?)` | Fire a custom action (e.g. `"~publish"`) |
|
|
191
|
+
Type helper that maps a service contract into client-consumable types:
|
|
192
|
+
- `BehaviorSubject<U>` stays `BehaviorSubject<U>`
|
|
193
|
+
- `Observable<U>` stays `Observable<U>`
|
|
194
|
+
- Methods become async-compatible call signatures
|
|
432
195
|
|
|
433
196
|
```ts
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
await collection.loadAround("cursor-abc")
|
|
438
|
-
|
|
439
|
-
// Mutate
|
|
440
|
-
await collection.add({ title: "New item", done: false, createdAt: Date.now() })
|
|
441
|
-
await collection.update("doc-id", { done: true })
|
|
442
|
-
await collection.delete("doc-id")
|
|
443
|
-
|
|
444
|
-
// Custom action handled by your transporter
|
|
445
|
-
collection.trigger("~sendEmail", { to: "user@example.com" }).subscribe()
|
|
197
|
+
type WorkerService<T> = {
|
|
198
|
+
[K in keyof T]: ...
|
|
199
|
+
}
|
|
446
200
|
```
|
|
447
201
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
### WorkerRpc
|
|
202
|
+
Use it to get strong typing for linked services.
|
|
451
203
|
|
|
452
|
-
|
|
204
|
+
## StorageBehaviorSubject<T>
|
|
453
205
|
|
|
454
|
-
|
|
206
|
+
`BehaviorSubject` with persistence hooks.
|
|
455
207
|
|
|
456
208
|
```ts
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
class DataService {
|
|
461
|
-
async getUser(id: string) {
|
|
462
|
-
return { id, name: "Alice" }
|
|
463
|
-
}
|
|
209
|
+
type IStorage = {
|
|
210
|
+
getItem: <T>(key: string) => Promise<T | undefined> | T | undefined
|
|
211
|
+
setItem: <T>(key: string, value: T) => void
|
|
464
212
|
}
|
|
465
213
|
|
|
466
|
-
|
|
467
|
-
|
|
214
|
+
class StorageBehaviorSubject<T> extends BehaviorSubject<T> {
|
|
215
|
+
constructor(storage: IStorage, key: string, defaultValue: T)
|
|
216
|
+
next(value: T): void
|
|
217
|
+
}
|
|
468
218
|
```
|
|
469
219
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
import { WorkerRpc } from "@livequery/new"
|
|
475
|
-
|
|
476
|
-
const worker = new SharedWorker(new URL("./worker.ts", import.meta.url), { type: "module" })
|
|
220
|
+
Behavior:
|
|
221
|
+
- Reads initial value from storage
|
|
222
|
+
- Supports sync or async `getItem`
|
|
223
|
+
- Writes on every `next`
|
|
477
224
|
|
|
478
|
-
|
|
479
|
-
const service = WorkerRpc.linkWorkerService<DataService>("DataService", worker)
|
|
225
|
+
Example:
|
|
480
226
|
|
|
481
|
-
|
|
482
|
-
const
|
|
227
|
+
```ts
|
|
228
|
+
const storage = {
|
|
229
|
+
getItem: <T>(key: string) => JSON.parse(localStorage.getItem(key) || "null") as T | undefined,
|
|
230
|
+
setItem: <T>(key: string, value: T) => localStorage.setItem(key, JSON.stringify(value)),
|
|
231
|
+
}
|
|
483
232
|
|
|
484
|
-
|
|
485
|
-
|
|
233
|
+
const theme$ = new StorageBehaviorSubject(storage, "theme", "light")
|
|
234
|
+
theme$.next("dark")
|
|
486
235
|
```
|
|
487
236
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
---
|
|
237
|
+
## LimitConcurrency
|
|
491
238
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
Implement `LivequeryTransporter` to connect to any backend:
|
|
239
|
+
Decorator factory for queuing decorated method calls and executing them through an internal stream.
|
|
495
240
|
|
|
496
241
|
```ts
|
|
497
|
-
|
|
498
|
-
import type {
|
|
499
|
-
LivequeryTransporter, Doc,
|
|
500
|
-
LivequeryQueryParams, LivequeryAction
|
|
501
|
-
} from "@livequery/new"
|
|
502
|
-
|
|
503
|
-
const httpTransporter: LivequeryTransporter = {
|
|
504
|
-
query<T extends Doc>(params: LivequeryQueryParams<T>) {
|
|
505
|
-
return new Observable(subscriber => {
|
|
506
|
-
fetch(`/api/${params.ref}?${new URLSearchParams(params.filters as any)}`)
|
|
507
|
-
.then(r => r.json())
|
|
508
|
-
.then(data => {
|
|
509
|
-
subscriber.next({
|
|
510
|
-
query_id: params.query_id,
|
|
511
|
-
changes: data.items.map((item: T) => ({ id: item.id, type: "added", data: item })),
|
|
512
|
-
paging: data.paging,
|
|
513
|
-
summary: data.summary ?? {},
|
|
514
|
-
metadata: {},
|
|
515
|
-
source: "query",
|
|
516
|
-
})
|
|
517
|
-
subscriber.complete()
|
|
518
|
-
})
|
|
519
|
-
.catch(err => subscriber.error(err))
|
|
520
|
-
})
|
|
521
|
-
},
|
|
522
|
-
|
|
523
|
-
trigger<T>(action: LivequeryAction) {
|
|
524
|
-
return new Observable<{ data: T }>(subscriber => {
|
|
525
|
-
const method = action.action === "delete" ? "DELETE"
|
|
526
|
-
: action.action === "add" ? "POST" : "PATCH"
|
|
527
|
-
fetch(`/api/${action.ref}`, {
|
|
528
|
-
method,
|
|
529
|
-
headers: { "Content-Type": "application/json" },
|
|
530
|
-
body: JSON.stringify(action.payload),
|
|
531
|
-
})
|
|
532
|
-
.then(r => r.json())
|
|
533
|
-
.then(data => { subscriber.next({ data }); subscriber.complete() })
|
|
534
|
-
.catch(err => subscriber.error(err))
|
|
535
|
-
})
|
|
536
|
-
},
|
|
537
|
-
}
|
|
242
|
+
const LimitConcurrency = (limit = 1) => (target, propertyKey, descriptor) => { ... }
|
|
538
243
|
```
|
|
539
244
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
## Writing a Custom Storage Adapter
|
|
543
|
-
|
|
544
|
-
Implement `LivequeryStorge` to persist data in `localStorage`, `IndexedDB`, SQLite, etc.:
|
|
245
|
+
Usage:
|
|
545
246
|
|
|
546
247
|
```ts
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
return JSON.parse(localStorage.getItem(collection) ?? "[]")
|
|
552
|
-
}
|
|
553
|
-
private write<T>(collection: string, docs: T[]) {
|
|
554
|
-
localStorage.setItem(collection, JSON.stringify(docs))
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
async query<T extends Doc>(collection: string, filters?: Record<string, any>) {
|
|
558
|
-
const docs = this.read<T>(collection)
|
|
559
|
-
// apply filters, sort, paginate …
|
|
560
|
-
return { documents: docs, paging: { total: docs.length, current: docs.length } }
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
async get<T extends Doc>(collection: string, id: string) {
|
|
564
|
-
return this.read<T>(collection).find(d => d.id === id) ?? null
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
async add<T extends Doc>(collection: string, document: T) {
|
|
568
|
-
const docs = this.read<T>(collection)
|
|
569
|
-
const i = docs.findIndex(d => d.id === document.id)
|
|
570
|
-
if (i >= 0) docs[i] = document; else docs.push(document)
|
|
571
|
-
this.write(collection, docs)
|
|
572
|
-
return document
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
async update<T extends Doc>(collection: string, id: string, patch: Record<string, any>) {
|
|
576
|
-
const docs = this.read<T>(collection)
|
|
577
|
-
const i = docs.findIndex(d => d.id === id)
|
|
578
|
-
if (i < 0) return null
|
|
579
|
-
docs[i] = { ...docs[i], ...patch }
|
|
580
|
-
this.write(collection, docs)
|
|
581
|
-
return docs[i]
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
async delete<T extends Doc>(collection: string, id: string) {
|
|
585
|
-
const docs = this.read<T>(collection)
|
|
586
|
-
const i = docs.findIndex(d => d.id === id)
|
|
587
|
-
if (i < 0) return null
|
|
588
|
-
const [removed] = docs.splice(i, 1)
|
|
589
|
-
this.write(collection, docs)
|
|
590
|
-
return removed ?? null
|
|
248
|
+
class Api {
|
|
249
|
+
@LimitConcurrency(1)
|
|
250
|
+
async fetchData(id: string) {
|
|
251
|
+
return { id }
|
|
591
252
|
}
|
|
592
253
|
}
|
|
593
254
|
```
|
|
594
255
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
256
|
+
Notes:
|
|
257
|
+
- Works with values, Promises, and Observables
|
|
258
|
+
- Returns an Observable that is also Promise-like
|
|
598
259
|
|
|
599
|
-
|
|
600
|
-
// Base document type — all documents must have an `id`
|
|
601
|
-
type Doc<T = {}> = T & { id: string }
|
|
602
|
-
|
|
603
|
-
// Document state inside a collection (tracks optimistic-update flags)
|
|
604
|
-
type DocState<T extends Doc> = T & {
|
|
605
|
-
_deleting?: boolean
|
|
606
|
-
_updating?: boolean
|
|
607
|
-
_adding?: boolean
|
|
608
|
-
_remotes?: Record<string, string | number>
|
|
609
|
-
_prev?: Partial<T>
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
// Change event emitted by transporters and the core
|
|
613
|
-
type DataChangeEvent<T extends Doc> = {
|
|
614
|
-
id: string
|
|
615
|
-
type: "added" | "updated" | "removed"
|
|
616
|
-
data?: Partial<Omit<T, "id">> | null
|
|
617
|
-
}
|
|
618
|
-
|
|
619
|
-
// Query parameters forwarded to every transporter
|
|
620
|
-
type LivequeryQueryParams<T extends Doc> = {
|
|
621
|
-
ref: string
|
|
622
|
-
query_id: string
|
|
623
|
-
collection_id: string
|
|
624
|
-
filters?: Partial<LivequeryFilters<T>>
|
|
625
|
-
headers?: Record<string, string>
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
// Result streamed back from a transporter query
|
|
629
|
-
type LivequeryQueryResult<T extends Doc> = {
|
|
630
|
-
query_id: string
|
|
631
|
-
changes: DataChangeEvent<T>[]
|
|
632
|
-
summary: Record<string, any>
|
|
633
|
-
paging: LivequeryPaging
|
|
634
|
-
metadata: Record<string, any>
|
|
635
|
-
source: "query" | "action" | "realtime"
|
|
636
|
-
}
|
|
260
|
+
## Cancellation Model
|
|
637
261
|
|
|
638
|
-
|
|
639
|
-
type LivequeryAction = {
|
|
640
|
-
ref: string
|
|
641
|
-
collection_id: string
|
|
642
|
-
action: "add" | "update" | "delete" | `~${string}`
|
|
643
|
-
payload?: Record<string, any>
|
|
644
|
-
headers?: Record<string, string>
|
|
645
|
-
}
|
|
262
|
+
If a client unsubscribes from an in-flight call, `ServiceLinker` sends:
|
|
646
263
|
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
total: number
|
|
650
|
-
current: number
|
|
651
|
-
next?: { count: number; cursor: string }
|
|
652
|
-
prev?: { count: number; cursor: string }
|
|
653
|
-
}
|
|
264
|
+
```ts
|
|
265
|
+
{ id, cancel: true }
|
|
654
266
|
```
|
|
655
267
|
|
|
656
|
-
|
|
268
|
+
`WorkerManager` listens for that id and stops streaming output for matching Observable calls.
|
|
657
269
|
|
|
658
270
|
## Build
|
|
659
271
|
|
|
@@ -661,9 +273,13 @@ type LivequeryPaging = {
|
|
|
661
273
|
bun run build
|
|
662
274
|
```
|
|
663
275
|
|
|
664
|
-
|
|
276
|
+
Additional scripts:
|
|
277
|
+
- `bun run build:watch`
|
|
278
|
+
- `bun run clean`
|
|
665
279
|
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
280
|
+
## Package Info
|
|
281
|
+
|
|
282
|
+
- Name: `@livequery/rpc`
|
|
283
|
+
- ESM output: `dist/index.js`
|
|
284
|
+
- Types: `dist/index.d.ts`
|
|
285
|
+
- Peer runtime dependency: `rxjs`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LimitConcurrency: <T extends (
|
|
1
|
+
export declare const LimitConcurrency: <T extends (...args: any[]) => any>(limit?: number) => (_target: object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
|
|
2
2
|
//# sourceMappingURL=LimitConcurrency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitConcurrency.d.ts","sourceRoot":"","sources":["../src/LimitConcurrency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LimitConcurrency.d.ts","sourceRoot":"","sources":["../src/LimitConcurrency.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,QAAO,MAAU,MAChF,SAAS,MAAM,EAAE,cAAc,MAAM,GAAG,MAAM,EAAE,YAAY,uBAAuB,CAAC,CAAC,CAAC,KAAG,uBAAuB,CAAC,CAAC,CA6CtH,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1990,12 +1990,14 @@ class WorkerManager {
|
|
|
1990
1990
|
}
|
|
1991
1991
|
}
|
|
1992
1992
|
// src/LimitConcurrency.ts
|
|
1993
|
-
var LimitConcurrency = (limit = 1) => (
|
|
1993
|
+
var LimitConcurrency = (limit = 1) => (_target, _propertyKey, descriptor) => {
|
|
1994
1994
|
const originalMethod = descriptor.value;
|
|
1995
|
+
if (!originalMethod)
|
|
1996
|
+
return descriptor;
|
|
1995
1997
|
const sj = new Subject;
|
|
1996
1998
|
sj.pipe(mergeMap(async ({ args, o }) => {
|
|
1997
1999
|
try {
|
|
1998
|
-
const result = await originalMethod.apply(
|
|
2000
|
+
const result = await originalMethod.apply(null, args);
|
|
1999
2001
|
const observable3 = result instanceof Promise ? from(result) : result instanceof Observable ? result : of(result);
|
|
2000
2002
|
await lastValueFrom(observable3.pipe(tap((data) => o.next(data)), catchError((e) => {
|
|
2001
2003
|
o.error(e);
|
|
@@ -2004,23 +2006,26 @@ var LimitConcurrency = (limit = 1) => (target, propertyKey, descriptor) => {
|
|
|
2004
2006
|
} catch (e) {
|
|
2005
2007
|
o.error(e);
|
|
2006
2008
|
}
|
|
2007
|
-
}, 1)).subscribe();
|
|
2008
|
-
const ovf = (...args)
|
|
2009
|
+
}, Math.max(1, limit))).subscribe();
|
|
2010
|
+
const ovf = function(...args) {
|
|
2009
2011
|
const o = new Observable((o2) => {
|
|
2010
2012
|
sj.next({ args, o: o2 });
|
|
2011
2013
|
});
|
|
2012
2014
|
return Object.assign(o, {
|
|
2013
|
-
async then(
|
|
2015
|
+
async then(onfulfilled, onrejected) {
|
|
2014
2016
|
try {
|
|
2015
2017
|
const r = await lastValueFrom(o, { defaultValue: null });
|
|
2016
|
-
resolve(r);
|
|
2018
|
+
return Promise.resolve(onfulfilled ? onfulfilled(r) : r);
|
|
2017
2019
|
} catch (e) {
|
|
2018
|
-
|
|
2020
|
+
if (onrejected)
|
|
2021
|
+
return Promise.resolve(onrejected(e));
|
|
2022
|
+
return Promise.reject(e);
|
|
2019
2023
|
}
|
|
2020
2024
|
}
|
|
2021
2025
|
});
|
|
2022
2026
|
};
|
|
2023
|
-
|
|
2027
|
+
descriptor.value = ovf;
|
|
2028
|
+
return descriptor;
|
|
2024
2029
|
};
|
|
2025
2030
|
// src/StorageBehaviorSubject.ts
|
|
2026
2031
|
class StorageBehaviorSubject extends BehaviorSubject {
|
|
@@ -2049,5 +2054,5 @@ export {
|
|
|
2049
2054
|
LimitConcurrency
|
|
2050
2055
|
};
|
|
2051
2056
|
|
|
2052
|
-
//# debugId=
|
|
2057
|
+
//# debugId=B953FC601546CAEC64756E2164756E21
|
|
2053
2058
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"import { EMPTY, finalize, fromEvent, mergeMap, takeUntil, tap } from \"rxjs\"\nimport { RpcChannel, type RpcMessage } from \"./RpcChannel\";\n\n\n\nexport class SharedWorkerChannel extends RpcChannel {\n\n constructor(private worker?: SharedWorker) {\n super();\n if (typeof window == 'undefined') {\n this.#initBackground()\n } else {\n if (worker) {\n this.#initForegound(worker)\n }\n }\n }\n\n\n #initBackground() {\n const me = globalThis as any as SharedWorkerGlobalScope\n fromEvent<MessageEvent>(me, 'connect').pipe(\n mergeMap(e => {\n const port = e.ports[0]\n if (!port) return EMPTY\n port.start()\n return fromEvent<MessageEvent<RpcMessage>>(port, 'message').pipe(\n takeUntil(fromEvent(port, 'messageerror')),\n tap(msg => {\n const respond = (response: any) => port.postMessage(response)\n this.next({ ...msg.data, respond })\n }),\n finalize(() => {\n console.log(`Worker disconnected, cleaning up linked services`)\n port.close()\n })\n )\n })\n ).subscribe()\n }\n\n #initForegound(worker: SharedWorker) {\n worker.port.start()\n fromEvent<MessageEvent<RpcMessage>>(worker.port as unknown as EventTarget, 'message').pipe(\n takeUntil(fromEvent(worker.port as unknown as EventTarget, 'messageerror')),\n tap(e => {\n const respond = (response: RpcMessage['response']) => {\n const msg: RpcMessage = {\n id: e.data.id,\n response\n }\n worker.port.postMessage(msg)\n }\n this.next({ ...e.data, respond })\n }),\n finalize(() => worker.port.close())\n ).subscribe()\n }\n\n send(message: RpcMessage): void {\n if (!this.worker) return\n this.worker.port.postMessage(message)\n }\n}",
|
|
66
66
|
"import { BehaviorSubject, finalize, firstValueFrom, Observable, ReplaySubject, Subject, tap } from \"rxjs\";\nimport type { RpcChannel } from \"./RpcChannel\";\nimport type { WorkerService } from \"./WorkerService\";\n\ntype ThenableObservable<T> = Observable<T> & PromiseLike<T>\n\nexport class ServiceLinker {\n\n #request_id = 1\n #services = new Map<string, any>()\n #requests = new Map<number, {\n o: Subject<any>\n }>\n\n constructor(private channel: RpcChannel) {\n this.channel.pipe(\n tap(e => {\n if (!e.response) return\n const request = this.#requests.get(e.id)\n if (!request) return\n const { completed, data, error } = e.response\n if (completed || error) this.#requests.delete(e.id)\n data && request.o.next(data)\n completed && request.o.complete(); \n error && request.o.error(new Error(error))\n })\n ).subscribe()\n }\n\n linkService<T>(name: string): WorkerService<T> {\n const cache = this.#services.get(name)\n if (cache) return cache\n\n const behavior_subjects = new Map<string, BehaviorSubject<any>>()\n const ready$ = new BehaviorSubject(false)\n\n const rpc = <T = any>(paths: string[], args: any[]): ThenableObservable<T> => {\n const id = this.#request_id++\n const o = new Subject<any>()\n this.#requests.set(id, { o })\n const observable = o.pipe(\n finalize(() => {\n if (!this.#requests.has(id)) return\n this.#requests.delete(id)\n this.channel.send({\n id,\n cancel: true,\n })\n })\n )\n setTimeout(() => {\n this.channel.send({\n id,\n request: {\n service: name,\n method: paths,\n args,\n }\n })\n })\n return Object.assign(observable, {\n then(onFulfilled?: (value: any) => any, onRejected?: (reason: any) => any) {\n return firstValueFrom(observable, { defaultValue: { data: null } }).then(onFulfilled, onRejected)\n }\n }) as ThenableObservable<any>\n }\n\n const assert = (id: string, value: any = null) => {\n const saved = behavior_subjects.get(id)!\n if (saved) return saved\n const channel = new BehaviorSubject(value)\n behavior_subjects.set(id, channel)\n rpc([id], []).subscribe({\n next(value) {\n channel.next(value)\n },\n })\n return channel\n }\n\n const build = (paths: string[] = []) => {\n const fn = (...args: any[]) => rpc(paths, args)\n return new Proxy(fn, {\n get: (_, prop) => {\n if (prop == 'then' || typeof prop != 'string') {\n return (s: Function) => firstValueFrom(ready$).then(v => s(v))\n }\n if (prop == 'pipe' || prop == 'subscribe' || prop == 'getValue') {\n const id = [...paths].pop() || '#'\n if (prop == 'getValue' || behavior_subjects.has(id)) {\n const channel = assert(id)\n return (...args: any[]) => channel[prop](...args)\n }\n return (...args: any[]) => rpc(paths, []).pipe()[prop](...args)\n }\n return build([...paths, prop])\n },\n has(target, prop) {\n if (prop == 'pipe' || prop == 'subscribe' || prop == 'getValue') {\n return true\n }\n return prop in target\n }\n }) as T\n }\n const service = build() as any\n rpc<Record<string, any>>(['____initialize____'], []).then(states => {\n for (const [key, value] of Object.entries(states)) {\n assert(key, value)\n }\n ready$.next(true)\n })\n this.#services.set(name, service)\n return service\n }\n\n}",
|
|
67
67
|
"import { BehaviorSubject, filter, mergeMap, Subject, takeUntil } from \"rxjs\";\nimport type { RpcChannel, RpcMessage } from \"./RpcChannel\";\n\nfunction isObservableLike(value: unknown): value is { pipe: (...args: any[]) => any } {\n return !!value && typeof value === 'object' && typeof (value as any).pipe === 'function'\n}\n\nexport class WorkerManager {\n\n #services = new BehaviorSubject(new Map<string, any>())\n #stopper$ = new Subject<number>()\n\n async #call<T>(target: any, paths: string[], args: any[]): Promise<T | null> {\n const [first, ...rest] = paths\n if (!first || first == '#') return target\n if (rest.length == 0) {\n const prop = target[first]\n if (typeof prop == 'function') {\n return await prop.apply(target, args)\n } else {\n return prop\n }\n }\n return this.#call<T>(target[first], rest, args)\n }\n\n constructor(private channel: RpcChannel) {\n this.channel.pipe(\n mergeMap(async ({ id, cancel, request, respond }) => {\n if (cancel) {\n this.#stopper$.next(id)\n return\n }\n if (!request) return \n const service = this.#services.getValue().get(request.service)\n if (!service) return respond({ error: `Service ${request.service} not found` })\n try {\n const result = await this.#call<any>(service, request.method, request.args)\n if (isObservableLike(result)) {\n result.pipe(\n takeUntil(this.#stopper$.pipe(\n filter(stop_id => stop_id === id)\n ))\n ).subscribe(\n (data: any) => respond({ data }),\n (err: any) => respond({ error: err?.message ?? String(err), completed: true }),\n () => respond({ completed: true })\n )\n } else {\n const data = await Promise.resolve(result)\n respond({ data, completed: true })\n }\n } catch (err: any) {\n respond({ error: err?.message ?? String(err) })\n }\n })\n ).subscribe()\n }\n\n exposeService(name: string, service: any) {\n const services = this.#services.getValue()\n services.set(name, Object.assign(service, {\n ____initialize____: () => {\n const states = Object.getOwnPropertyNames(service).reduce((p, k) => {\n if (typeof service[k].getValue === 'function') {\n try {\n return {\n ...p,\n [k]: service[k].getValue()\n }\n } catch { }\n } \n return p\n }, {\n '#': typeof service.getValue === 'function' ? service.getValue() : undefined\n } as Record<string, any>)\n return states\n }\n }))\n this.#services.next(services)\n }\n\n\n\n}",
|
|
68
|
-
"import { catchError, EMPTY, finalize,
|
|
68
|
+
"import { catchError, EMPTY, finalize, from, lastValueFrom, mergeMap, Observable, of, Subject, Subscriber, tap } from \"rxjs\"\n\n\n\ntype ThenableObservable<T> = Observable<T> & PromiseLike<T>\n\nexport const LimitConcurrency = <T extends (...args: any[]) => any>(limit: number = 1) =>\n (_target: object, _propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> => {\n const originalMethod = descriptor.value\n if (!originalMethod) return descriptor\n const sj = new Subject<{ args: any, o: Subscriber<any> }>()\n sj.pipe(\n mergeMap(async ({ args, o }) => {\n try {\n const result = await originalMethod.apply(this, args)\n const observable = result instanceof Promise ? from(result) : (result instanceof Observable ? result : of(result))\n await lastValueFrom(observable.pipe(\n tap(data => o.next(data)),\n catchError(e => {\n o.error(e)\n return EMPTY\n }),\n finalize(() => o.complete())\n ), { defaultValue: null })\n } catch (e) {\n o.error(e)\n }\n }, Math.max(1, limit))\n ).subscribe()\n\n const ovf = function (this: unknown, ...args: Parameters<T>): ThenableObservable<any> {\n const o = new Observable(o => {\n sj.next({ args, o })\n })\n return Object.assign(o, {\n async then<TResult1 = any, TResult2 = never>(\n onfulfilled?: ((value: any) => TResult1 | PromiseLike<TResult1>) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n try {\n const r = await lastValueFrom(o, { defaultValue: null })\n return Promise.resolve(onfulfilled ? onfulfilled(r) : (r as TResult1))\n } catch (e) {\n if (onrejected) return Promise.resolve(onrejected(e))\n return Promise.reject(e)\n }\n }\n })\n }\n\n descriptor.value = ovf as unknown as T\n return descriptor\n}",
|
|
69
69
|
"import { BehaviorSubject } from \"rxjs\"\n\nexport type IStorage = {\n getItem: <T>(key: string) => Promise<T | undefined> | T | undefined\n setItem: <T>(key: string, value: T) => void\n}\n\n\n\n\nexport class StorageBehaviorSubject<T> extends BehaviorSubject<T> {\n constructor(private storage: IStorage, private key: string, defaultValue: T) {\n const value = storage.getItem<T>(key)\n super(value instanceof Promise ? defaultValue : value || defaultValue)\n if (value instanceof Promise) {\n value.then(v => this.next(v ?? defaultValue))\n }\n }\n\n override next(value: T) {\n super.next(value)\n this.storage.setItem(this.key, value)\n }\n}\n"
|
|
70
70
|
],
|
|
71
|
-
"mappings": "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",
|
|
72
|
-
"debugId": "
|
|
71
|
+
"mappings": "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",
|
|
72
|
+
"debugId": "B953FC601546CAEC64756E2164756E21",
|
|
73
73
|
"names": []
|
|
74
74
|
}
|