@livequery/rpc 2.0.68 → 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 CHANGED
@@ -1,659 +1,271 @@
1
- # @livequery/new
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
- ## Architecture
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
- **Data flow for a mutation (add / update / delete):**
53
- 1. `LivequeryCollection.add/update/delete` calls `LivequeryCore.trigger`.
54
- 2. The core applies the change to storage immediately (optimistic update).
55
- 3. The change is broadcast to all live collections watching the same `ref`.
56
- 4. The core then calls every configured transporter to sync the change remotely.
57
-
58
- **Data flow for a query:**
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/new rxjs
16
+ npm install @livequery/rpc rxjs
70
17
  # or
71
- bun add @livequery/new rxjs
18
+ bun add @livequery/rpc rxjs
72
19
  ```
73
20
 
74
- ---
75
-
76
- ## Quick Start
21
+ ## Exports
77
22
 
78
23
  ```ts
79
- import {
80
- LivequeryCollection,
81
- LivequeryCore,
82
- LivequeryMemoryStorage,
83
- type Doc,
84
- type LivequeryTransporter,
85
- } from "@livequery/new"
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
- ```ts
154
- type Doc<T = {}> = T & {
155
- id: string
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
- Your types extend this base:
160
-
161
- ```ts
162
- type Post = Doc & {
163
- title: string
164
- body: string
165
- publishedAt: number
166
- }
167
- ```
43
+ ## Quick Start
168
44
 
169
- When a document is held inside a `LivequeryCollection`, it is wrapped in `DocState<T>` which adds optimistic-update tracking fields:
45
+ ### 1. Define a service contract
170
46
 
171
47
  ```ts
172
- type DocState<T extends Doc> = T & {
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
- ### LivequeryStorge
53
+ increment(by = 1) {
54
+ this.value.next(this.value.getValue() + by)
55
+ return this.value.getValue()
56
+ }
184
57
 
185
- `LivequeryStorge` is the interface for local persistence. The library ships with `LivequeryMemoryStorage`. You can create adapters for `localStorage`, `IndexedDB`, SQLite, etc.
58
+ getCurrent() {
59
+ return this.value.getValue()
60
+ }
186
61
 
187
- ```ts
188
- type LivequeryStorge = {
189
- query<T extends Doc>(
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
- type LivequeryTransporter = {
209
- // Called for every query. Returns an Observable so the remote can stream results.
210
- query<T extends Doc>(
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
- The central coordinator. Instantiate once and share across your app.
75
+ const channel = new SharedWorkerChannel()
76
+ const manager = new WorkerManager(channel)
224
77
 
225
- ```ts
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
- #### Conflict resolver
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
- type ConflictResolverFunction = <T extends Doc>(e: {
241
- from: Record<string, string | number | boolean> // remote version cursors (_remotes)
242
- old_document: T // current local document
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
- Simple last-write-wins example:
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
- ```ts
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
- ### LivequeryCollection
98
+ // Read BehaviorSubject-backed state from worker
99
+ counter.value.subscribe((v) => console.log("value", v))
262
100
 
263
- `LivequeryCollection<T>` holds reactive state for one collection path (`ref`). Its state is exposed as a set of `BehaviorSubject` properties.
101
+ // Consume stream responses
102
+ const sub = counter.ticker().subscribe((v) => console.log(v))
264
103
 
265
- ```ts
266
- const posts = new LivequeryCollection<Post>({
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
- #### Reactive state properties
108
+ ## Core API
278
109
 
279
- | Property | Type | Description |
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
- posts.items.subscribe((docs) => console.log(docs.map(d => d.value)))
290
- posts.loading.subscribe(({ all, next, prev }) => console.log({ all, next, prev }))
291
- ```
292
-
293
- `LivequeryLoadingState`:
294
-
295
- ```ts
296
- type LivequeryLoadingState = {
297
- all: boolean // initial query in progress
298
- next: boolean // loading next page
299
- prev: boolean // loading previous page
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
- ### LivequeryDocument
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 LivequeryDocument<T extends Doc> extends BehaviorSubject<T> {
311
- update(data: Partial<T>): Promise<void>
312
- del(): Promise<void>
313
- trigger<R>(action: LivequeryActionType, payload: Record<string, any>): Observable<{ data: R; error?: Error }>
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
- ```ts
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
- ## Query Filters
143
+ `SharedWorkerChannel` is a concrete `RpcChannel` implementation for both contexts:
144
+ - Worker context: `new SharedWorkerChannel()`
145
+ - Main thread: `new SharedWorkerChannel(sharedWorker)`
334
146
 
335
- Filters are fully type-safe. The TypeScript compiler will only allow valid field paths and operators for your document type.
147
+ It handles:
148
+ - Incoming requests/responses via MessagePort events
149
+ - Respond function wiring
150
+ - Message dispatch with `send`
336
151
 
337
- ### Pagination / sorting
152
+ ## WorkerManager
338
153
 
339
- | Key | Type | Description |
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
- type Article = Doc & {
365
- score: number
366
- tags: string[]
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
- ## API Reference
389
-
390
- ### LivequeryMemoryStorage
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
- ```ts
395
- const storage = new LivequeryMemoryStorage()
396
- ```
170
+ ## ServiceLinker
397
171
 
398
- | Method | Signature | Description |
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
- storage.seed<Todo>("todos", [
410
- { id: "1", title: "Write docs", done: false, createdAt: Date.now() }
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
- ### LivequeryCollection methods
189
+ ## WorkerService<T>
420
190
 
421
- | Method | Description |
422
- |--------|-------------|
423
- | `initialize()` | Wire up the core watcher and optionally auto-load (required before use) |
424
- | `query(filters)` | Execute a fresh query replacing current items |
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
- // Paginate
435
- await collection.loadMore()
436
- await collection.loadPrev()
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
- `WorkerRpc` is a utility for calling services across a `SharedWorker` boundary using an Observable / Promise-compatible API.
204
+ ## StorageBehaviorSubject<T>
453
205
 
454
- #### Expose a service inside a SharedWorker
206
+ `BehaviorSubject` with persistence hooks.
455
207
 
456
208
  ```ts
457
- // worker.ts
458
- import { WorkerRpc } from "@livequery/new"
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
- const rpc = new WorkerRpc()
467
- rpc.exposeWorkerService(new DataService())
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
- #### Consume the service in the main thread
471
-
472
- ```ts
473
- // main.ts
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
- // Returns a typed proxy
479
- const service = WorkerRpc.linkWorkerService<DataService>("DataService", worker)
225
+ Example:
480
226
 
481
- // Call as a Promise
482
- const user = await service.getUser("123")
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
- // Or subscribe as an Observable (for streaming methods)
485
- service.getUser("123").subscribe((user) => console.log(user))
233
+ const theme$ = new StorageBehaviorSubject(storage, "theme", "light")
234
+ theme$.next("dark")
486
235
  ```
487
236
 
488
- The proxy is transparent — if the underlying method returns an `Observable`, the proxy streams values back; if it returns a `Promise` or plain value, it resolves once.
489
-
490
- ---
237
+ ## LimitConcurrency
491
238
 
492
- ## Writing a Custom Transporter
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
- import { Observable } from "rxjs"
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
- import type { LivequeryStorge, Doc, LivequeryPaging } from "@livequery/new"
548
-
549
- class LocalStorageAdapter implements LivequeryStorge {
550
- private read<T>(collection: string): T[] {
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
- ## Types Reference
256
+ Notes:
257
+ - Works with values, Promises, and Observables
258
+ - Returns an Observable that is also Promise-like
598
259
 
599
- ```ts
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
- // Action sent to every transporter for mutations
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
- // Pagination info
648
- type LivequeryPaging = {
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
- Output is placed in `dist/` as ESM with TypeScript declarations (browser target).
276
+ Additional scripts:
277
+ - `bun run build:watch`
278
+ - `bun run clean`
665
279
 
666
- ```bash
667
- bun run build:watch # watch mode (JS only, no type declarations)
668
- bun run clean # remove dist/
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 ((...args: any) => any)>(limit?: number) => (target: any, propertyKey: string, descriptor: any) => any;
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":"AAIA,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE,QAAO,MAAU,MAAM,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAW,GAAG,KAsCzH,GACjB,CAAA"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SharedWorkerChannel.d.ts","sourceRoot":"","sources":["../src/SharedWorkerChannel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAI3D,qBAAa,mBAAoB,SAAQ,UAAU;;IAEnC,OAAO,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,EAAE,YAAY,YAAA;IAqDzC,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;CAIlC"}
1
+ {"version":3,"file":"SharedWorkerChannel.d.ts","sourceRoot":"","sources":["../src/SharedWorkerChannel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAI3D,qBAAa,mBAAoB,SAAQ,UAAU;;IAEnC,OAAO,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,EAAE,YAAY,YAAA;IAoDzC,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;CAIlC"}
package/dist/index.js CHANGED
@@ -1797,7 +1797,6 @@ class SharedWorkerChannel extends RpcChannel {
1797
1797
  worker.port.start();
1798
1798
  fromEvent(worker.port, "message").pipe(takeUntil(fromEvent(worker.port, "messageerror")), tap((e) => {
1799
1799
  const respond = (response) => {
1800
- console.log(`Responding to worker with`, { response });
1801
1800
  const msg = {
1802
1801
  id: e.data.id,
1803
1802
  response
@@ -1991,12 +1990,14 @@ class WorkerManager {
1991
1990
  }
1992
1991
  }
1993
1992
  // src/LimitConcurrency.ts
1994
- var LimitConcurrency = (limit = 1) => (target, propertyKey, descriptor) => {
1993
+ var LimitConcurrency = (limit = 1) => (_target, _propertyKey, descriptor) => {
1995
1994
  const originalMethod = descriptor.value;
1995
+ if (!originalMethod)
1996
+ return descriptor;
1996
1997
  const sj = new Subject;
1997
1998
  sj.pipe(mergeMap(async ({ args, o }) => {
1998
1999
  try {
1999
- const result = await originalMethod.apply(target, args);
2000
+ const result = await originalMethod.apply(null, args);
2000
2001
  const observable3 = result instanceof Promise ? from(result) : result instanceof Observable ? result : of(result);
2001
2002
  await lastValueFrom(observable3.pipe(tap((data) => o.next(data)), catchError((e) => {
2002
2003
  o.error(e);
@@ -2005,23 +2006,26 @@ var LimitConcurrency = (limit = 1) => (target, propertyKey, descriptor) => {
2005
2006
  } catch (e) {
2006
2007
  o.error(e);
2007
2008
  }
2008
- }, 1)).subscribe();
2009
- const ovf = (...args) => {
2009
+ }, Math.max(1, limit))).subscribe();
2010
+ const ovf = function(...args) {
2010
2011
  const o = new Observable((o2) => {
2011
2012
  sj.next({ args, o: o2 });
2012
2013
  });
2013
2014
  return Object.assign(o, {
2014
- async then(resolve, reject) {
2015
+ async then(onfulfilled, onrejected) {
2015
2016
  try {
2016
2017
  const r = await lastValueFrom(o, { defaultValue: null });
2017
- resolve(r);
2018
+ return Promise.resolve(onfulfilled ? onfulfilled(r) : r);
2018
2019
  } catch (e) {
2019
- reject(e);
2020
+ if (onrejected)
2021
+ return Promise.resolve(onrejected(e));
2022
+ return Promise.reject(e);
2020
2023
  }
2021
2024
  }
2022
2025
  });
2023
2026
  };
2024
- return ovf;
2027
+ descriptor.value = ovf;
2028
+ return descriptor;
2025
2029
  };
2026
2030
  // src/StorageBehaviorSubject.ts
2027
2031
  class StorageBehaviorSubject extends BehaviorSubject {
@@ -2050,5 +2054,5 @@ export {
2050
2054
  LimitConcurrency
2051
2055
  };
2052
2056
 
2053
- //# debugId=CF5815CC057E2D6964756E2164756E21
2057
+ //# debugId=B953FC601546CAEC64756E2164756E21
2054
2058
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -62,13 +62,13 @@
62
62
  "import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate(function (source, subscriber) {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, function () { return subscriber.complete(); }, noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=takeUntil.js.map",
63
63
  "import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map",
64
64
  "import { Subject } from \"rxjs\"\n\n\nexport type RpcMessage = {\n id: number\n request?: {\n service: string\n method: string[]\n args: any[]\n }\n cancel?: boolean\n response?: Partial<{\n data: any\n error: string\n completed: boolean\n }>\n}\n\n\nexport abstract class RpcChannel extends Subject<RpcMessage & { respond: (msg: RpcMessage['response']) => void }> {\n abstract send(message: RpcMessage): void\n}",
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 console.log(`Responding to worker with`, { 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}",
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, firstValueFrom, from, lastValueFrom, mergeMap, Observable, of, Subject, Subscriber, tap } from \"rxjs\"\n\n\n\nexport const LimitConcurrency = <T extends ((...args: any) => any)>(limit: number = 1) => (target: any, propertyKey: string, descriptor:any ) => {\n const originalMethod = descriptor.value as T\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(target, 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 }, 1)\n ).subscribe()\n\n const ovf = (...args: any[]) => {\n const o = new Observable(o => {\n sj.next({ args, o })\n })\n return Object.assign(o, {\n async then(resolve: (value: any) => void, reject: (reason?: any) => void) {\n try {\n const r = await lastValueFrom(o, { defaultValue: null })\n resolve(r)\n } catch (e) {\n reject(e)\n }\n }\n })\n }\n\n return ovf as any \n}",
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": "CF5815CC057E2D6964756E2164756E21",
71
+ "mappings": "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",
72
+ "debugId": "B953FC601546CAEC64756E2164756E21",
73
73
  "names": []
74
74
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livequery/rpc",
3
- "version": "2.0.68",
3
+ "version": "2.0.70",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",