foldkit-remote 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -39
- package/dist/index.d.mts +29 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +57 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -2
package/README.md
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
# `foldkit-remote`
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
Server data in a Foldkit application, kept in the Model instead of in a cache
|
|
4
|
+
beside it. You declare your entities and the fields each screen reads;
|
|
5
|
+
`foldkit-remote` works out what is missing, fetches it in one batched request,
|
|
6
|
+
stores it normalized so two screens share one copy, and gives each screen its
|
|
7
|
+
own slice as a plain value. Reading is pure — a view never starts a fetch.
|
|
8
|
+
|
|
9
|
+
There is no hidden mutable cache. Every new fact — a read result, a page, a
|
|
10
|
+
mutation result, a live event — arrives as a Message and goes through the same
|
|
11
|
+
`update` that moves the rest of the application, so replay, time travel, and
|
|
12
|
+
tests see remote data like any other state.
|
|
13
|
+
|
|
14
|
+
Reach for it when the server owns the data, several screens read overlapping
|
|
15
|
+
slices of it, and you would rather have fetching, caching, pagination,
|
|
16
|
+
optimistic updates, and live patches be one mechanism than five. It is not where
|
|
17
|
+
edits that must survive the process or the network belong — that is
|
|
18
|
+
[`foldkit-durable`](https://github.com/doeixd/foldkit-plus/tree/main/packages/durable)
|
|
19
|
+
and [`foldkit-sync`](https://github.com/doeixd/foldkit-plus/tree/main/packages/sync)
|
|
20
|
+
— and it is not a transport: the wire is Effect RPC (`RemoteRpc`) and the
|
|
21
|
+
application supplies the client and server layers (HTTP, WebSocket, worker,
|
|
22
|
+
in-process). The server half is
|
|
23
|
+
[`foldkit-remote-server`](https://github.com/doeixd/foldkit-plus/tree/main/packages/remote-server);
|
|
24
|
+
[`examples/remote`](https://github.com/doeixd/foldkit-plus/tree/main/examples/remote)
|
|
25
|
+
is the worked end-to-end trace and
|
|
26
|
+
[Revision Plan §8](https://github.com/doeixd/foldkit-plus/blob/main/docs/design/REVISION_PLAN.md#8-remote)
|
|
27
|
+
the design rationale.
|
|
17
28
|
|
|
18
29
|
The package has two faces. The **application API** is the bound domain `Data`:
|
|
19
30
|
`Data.get`, `Data.live`, `Data.query`, `Data.mutate`, `Data.subscriptions`, and
|
|
@@ -23,6 +34,15 @@ the transport seam — stays exported for tooling, SSR, tests, and package
|
|
|
23
34
|
authors, and is documented under [Advanced](#advanced-the-kernel). Ordinary
|
|
24
35
|
application code needs only the first.
|
|
25
36
|
|
|
37
|
+
## Install
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
pnpm add foldkit-remote
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`foldkit` and `effect` are peer dependencies; `foldkit-surface` comes with it.
|
|
44
|
+
The server half is `foldkit-remote-server`.
|
|
45
|
+
|
|
26
46
|
## Quick start
|
|
27
47
|
|
|
28
48
|
One feature, end to end: a project page that reads a project live, lists the
|
|
@@ -74,6 +94,12 @@ import type * as Update from 'foldkit/update'
|
|
|
74
94
|
import { Remote } from 'foldkit-remote'
|
|
75
95
|
import { Surface } from 'foldkit-surface'
|
|
76
96
|
|
|
97
|
+
// Your own routes; this one has a project route carrying the id the page reads.
|
|
98
|
+
const Route = Schema.Union([
|
|
99
|
+
Schema.Struct({ _tag: Schema.Literal('home') }),
|
|
100
|
+
Schema.Struct({ _tag: Schema.Literal('project'), projectId: Schema.String }),
|
|
101
|
+
])
|
|
102
|
+
|
|
77
103
|
const Model = Schema.Struct({ route: Route, remote: Remote.Model })
|
|
78
104
|
type Model = typeof Model.Type
|
|
79
105
|
const Message = defineMessageUnion({
|
|
@@ -86,7 +112,7 @@ type Message = typeof Message.Type
|
|
|
86
112
|
const App = Surface.application({
|
|
87
113
|
Model,
|
|
88
114
|
Message,
|
|
89
|
-
initial: { route:
|
|
115
|
+
initial: { route: { _tag: 'home' }, remote: Remote.initial },
|
|
90
116
|
update, // step 5: a function declaration, so it may follow Data
|
|
91
117
|
})
|
|
92
118
|
|
|
@@ -122,16 +148,22 @@ The Surface's Model is `{ project: RemoteData<ProjectSummary>; projects:
|
|
|
122
148
|
RemoteData<Page<ProjectSummary>> }`, read purely from the Model, no I/O. Every
|
|
123
149
|
remote value is a `RemoteData`:
|
|
124
150
|
|
|
125
|
-
- `Initial` —
|
|
151
|
+
- `Initial` — a selected field is not present, and **nothing is fetching it**,
|
|
152
|
+
- `Loading` — not present, and a read is in flight,
|
|
126
153
|
- `Ready` — present,
|
|
127
154
|
- `Refreshing` — present, and being refetched (the value stays visible),
|
|
128
155
|
- `Failed` — the stored value did not decode against the selection,
|
|
129
156
|
- `NotFound` — the entity is a tombstone.
|
|
130
157
|
|
|
131
|
-
`
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
158
|
+
`Loading` is the absent-value twin of `Refreshing`: both mean a read is in
|
|
159
|
+
flight. The distinction from `Initial` is worth rendering differently, because
|
|
160
|
+
nothing fetches a projection no active Surface observes. Such a projection reads
|
|
161
|
+
`Initial` forever, and showing a spinner for it hides the wiring mistake, while
|
|
162
|
+
`Loading` is the state where waiting is the right thing to do.
|
|
163
|
+
|
|
164
|
+
`RemoteData.match` is exhaustive — omitting a case is a compile error. `Data.get` reads once and refreshes by policy; `Data.live` also
|
|
165
|
+
follows the entity's changes; `Data.query` reads a connection as a `Page` of
|
|
166
|
+
selected items, `Initial` until the page and every item's fields are present.
|
|
135
167
|
|
|
136
168
|
### 4. Fetch, subscribe, and retain from the active Surfaces
|
|
137
169
|
|
|
@@ -200,8 +232,8 @@ const clientLayer = Remote.clientLayer(rpcClient) // an Effect RPC client for Re
|
|
|
200
232
|
`Remote.clientLayer` adapts an Effect RPC client for `RemoteRpc` to the
|
|
201
233
|
`RemoteClient` service the subscriptions and Commands run through, and coalesces
|
|
202
234
|
its reads and queries. The server side is
|
|
203
|
-
[`foldkit-remote-server`](
|
|
204
|
-
[`foldkit-remote-drizzle`](
|
|
235
|
+
[`foldkit-remote-server`](https://github.com/doeixd/foldkit-plus/tree/main/packages/remote-server) with sources compiled by
|
|
236
|
+
[`foldkit-remote-drizzle`](https://github.com/doeixd/foldkit-plus/tree/main/packages/remote-drizzle) or written by hand.
|
|
205
237
|
|
|
206
238
|
## Reading
|
|
207
239
|
|
|
@@ -229,6 +261,8 @@ returns the Model with the results reduced in, for SSR, route or hover
|
|
|
229
261
|
prefetch, and tests. It never runs during render.
|
|
230
262
|
|
|
231
263
|
```ts
|
|
264
|
+
import { Effect } from 'effect'
|
|
265
|
+
|
|
232
266
|
const loaded = await Effect.runPromise(
|
|
233
267
|
Data.prefetch(model, ProjectPage.projection({ projectId }), {
|
|
234
268
|
policy: RemotePolicy.staleWhileRevalidate({ maxAge: 30_000 }),
|
|
@@ -270,6 +304,8 @@ the union of their fields.
|
|
|
270
304
|
## Mutations
|
|
271
305
|
|
|
272
306
|
```ts
|
|
307
|
+
import { ConnectionChange } from 'foldkit-remote'
|
|
308
|
+
|
|
273
309
|
const { model: started, requestId, tempId, command } = Data.mutate(model, AddComment, input, {
|
|
274
310
|
optimistic: ({ tempId }) => [
|
|
275
311
|
Comment.patch(tempId, { id: tempId, body: input.body }),
|
|
@@ -326,11 +362,13 @@ optimistic layers, the mutation ledger, gaps, and retention roots belong to the
|
|
|
326
362
|
session and never appear in one.
|
|
327
363
|
|
|
328
364
|
```ts
|
|
329
|
-
|
|
330
|
-
|
|
365
|
+
import { emptyStore, RemotePersistence } from 'foldkit-remote'
|
|
366
|
+
|
|
367
|
+
// SSR: the server prefetches, dehydrates into the page, the client hydrates.
|
|
368
|
+
const snapshot = RemotePersistence.dehydrate(Data.storeOf(loaded), { scope: userId })
|
|
331
369
|
Data.reduce(model, {
|
|
332
370
|
_tag: 'Hydrated',
|
|
333
|
-
entities: RemotePersistence.hydrate(
|
|
371
|
+
entities: RemotePersistence.hydrate(snapshot, { scope: userId }) ?? emptyStore,
|
|
334
372
|
merge: 'preserve-existing',
|
|
335
373
|
})
|
|
336
374
|
|
|
@@ -355,10 +393,10 @@ the same as once.
|
|
|
355
393
|
|
|
356
394
|
`Data.inspect(model)` returns a serializable summary of the cache — entities
|
|
357
395
|
with their present/stale fields, connection keys, live streams, gaps, and the
|
|
358
|
-
mutation ledger — and `Remote.inspectEntity(
|
|
359
|
-
are pure, so DevTools never reach into the private layout.
|
|
360
|
-
projection)` is the plan the read entry would run, and
|
|
361
|
-
the queries; both are plain data.
|
|
396
|
+
mutation ledger — and `Remote.inspectEntity(remote, key)` returns one entity of
|
|
397
|
+
the store slice. Both are pure, so DevTools never reach into the private layout.
|
|
398
|
+
`Data.plan(model, projection)` is the plan the read entry would run, and
|
|
399
|
+
`Remote.planQueries` the queries; both are plain data.
|
|
362
400
|
|
|
363
401
|
## Advanced: the kernel
|
|
364
402
|
|
|
@@ -402,8 +440,9 @@ returns the new store.
|
|
|
402
440
|
|
|
403
441
|
### The reducer and its Messages
|
|
404
442
|
|
|
405
|
-
`
|
|
406
|
-
pure reducer over
|
|
443
|
+
`updateRemote(remote, message)` — `Data.update` on a bound domain, `Data.reduce`
|
|
444
|
+
on the application Model — is the one pure reducer over
|
|
445
|
+
`ReadReceived`/`ReadFailed`/`RefreshStarted`,
|
|
407
446
|
`MutationStarted`/`Succeeded`/`Failed`, `LiveReceived`/`GapCleared`,
|
|
408
447
|
`ConnectionMerged`/`Invalidated`/`Refreshed`/`QueryFailed`,
|
|
409
448
|
`RetentionChanged`, and `Hydrated`. `Remote.messages` is the case record for
|
|
@@ -417,10 +456,10 @@ store write a `ReadReceived` performs, for a caller that manages its own store.
|
|
|
417
456
|
with fixed params and a `toMessage` that wraps the `RemoteMessage` in an
|
|
418
457
|
application union that does not spread `Remote.messages`:
|
|
419
458
|
|
|
420
|
-
```
|
|
421
|
-
Remote.observe(bound, surface, params, toMessage?, options?)
|
|
422
|
-
Remote.live(bound, surface, params, toMessage?, options?)
|
|
423
|
-
Remote.retain(projections, toMessage?, { connections?, grace? })
|
|
459
|
+
```text
|
|
460
|
+
Remote.observe(bound, surface, params, toMessage?, options?) plan + read + queries
|
|
461
|
+
Remote.live(bound, surface, params, toMessage?, options?) the live stream, from the Model's cursor
|
|
462
|
+
Remote.retain(projections, toMessage?, { connections?, grace? }) roots → RetentionChanged
|
|
424
463
|
```
|
|
425
464
|
|
|
426
465
|
The read entry's dependencies are the plan (`{ requirements, queries }`); it
|
|
@@ -434,7 +473,7 @@ second Message could be lost to the restart. The retain entry's dependencies
|
|
|
434
473
|
are the roots (the projections' requirements, their connections with what
|
|
435
474
|
each page selects of its items, plus any `connections` listed by identity); it
|
|
436
475
|
emits `RetentionChanged` once the roots have been stable for `grace`, and
|
|
437
|
-
|
|
476
|
+
the reducer applies the pure `gc(state, roots)`: a root entity, the targets
|
|
438
477
|
its retained fields refer to, the targets a nested relation selects, a retained
|
|
439
478
|
connection's edges and what its `select` reaches through them, and anything a
|
|
440
479
|
pending request touches survive; everything else is dropped, settled overlays
|
|
@@ -451,9 +490,10 @@ window), so `first(25)` and `after(cursor).first(25)` merge into one
|
|
|
451
490
|
connection.
|
|
452
491
|
|
|
453
492
|
```ts
|
|
493
|
+
// Inside an `Effect.gen`, with `RemoteClient` provided.
|
|
454
494
|
const ref = Query.first(25)(ProjectsByOwner.ref({ ownerId }))
|
|
455
495
|
const page = yield* Remote.query(ref) // Effect<QueryResult, RemoteQueryError, RemoteClient>
|
|
456
|
-
|
|
496
|
+
updateRemote(remote, Remote.queryMessage(ref, page)) // ConnectionMerged
|
|
457
497
|
Remote.visibleItems(remote, ref) // edges a view shows: overlays placed, removals and tombstones hidden
|
|
458
498
|
```
|
|
459
499
|
|
|
@@ -471,7 +511,7 @@ keeps showing its items; a `ConnectionMerged` with `refreshes: true`,
|
|
|
471
511
|
the one-step imperative form (start, run, settle) for SSR and tests.
|
|
472
512
|
`Remote.mutate(mutation, input, requestId)` is the call itself: it decodes the
|
|
473
513
|
typed `Output` and returns the result's normalized `entities` and confirmed
|
|
474
|
-
`connections`, for a caller that reduces them through `
|
|
514
|
+
`connections`, for a caller that reduces them through `updateRemote`. A
|
|
475
515
|
`MutationSucceeded` reconciles at most once per `requestId`; an unknown or
|
|
476
516
|
already-applied result is a no-op.
|
|
477
517
|
|
|
@@ -510,7 +550,7 @@ beyond "issued concurrently".
|
|
|
510
550
|
`query`, `next`, `previous`, `fetch`, `subscriptions`, `plan`, `storeOf`,
|
|
511
551
|
`prefetch`, `mutate`, `reduce`, and `inspect`, each rejecting a descriptor
|
|
512
552
|
the domain never declared at compile time (a branded error naming it) and at
|
|
513
|
-
runtime. `
|
|
553
|
+
runtime. `updateRemote` is the single reducer over reads, mutation results,
|
|
514
554
|
live events, connections, and optimistic layers.
|
|
515
555
|
- **Mutation reconciliation.** Idempotent per `requestId`, with a bounded
|
|
516
556
|
settled-request ledger.
|
|
@@ -562,3 +602,12 @@ beyond "issued concurrently".
|
|
|
562
602
|
- `RemoteData` is a closed union.
|
|
563
603
|
- A selection picks at least one field: `Selection.make(User, {})` throws,
|
|
564
604
|
since it would require nothing and read `Ready` for any id.
|
|
605
|
+
|
|
606
|
+
## See also
|
|
607
|
+
|
|
608
|
+
- [Server-derived state](https://github.com/doeixd/foldkit-plus/blob/main/docs/remote.md) — the mental model, and
|
|
609
|
+
when to reach for something else.
|
|
610
|
+
- [`foldkit-remote-server`](https://github.com/doeixd/foldkit-plus/tree/main/packages/remote-server) — the server half; [`foldkit-remote-drizzle`](https://github.com/doeixd/foldkit-plus/tree/main/packages/remote-drizzle) compiles its
|
|
611
|
+
selections and queries to SQL.
|
|
612
|
+
- [`examples/remote`](https://github.com/doeixd/foldkit-plus/tree/main/examples/remote) — a worked plan, prefetch, render, mutate, retain trace;
|
|
613
|
+
[`examples/kitchen-sink`](https://github.com/doeixd/foldkit-plus/tree/main/examples/kitchen-sink) runs the same path over the real server packages.
|
package/dist/index.d.mts
CHANGED
|
@@ -977,8 +977,8 @@ export declare const RemoteData: {
|
|
|
977
977
|
//#endregion
|
|
978
978
|
//#region src/model.d.ts
|
|
979
979
|
/**
|
|
980
|
-
* The normalized cache as a Foldkit Submodel. `Remote.
|
|
981
|
-
* an `update` for this shape; `
|
|
980
|
+
* The normalized cache as a Foldkit Submodel. `Remote.define` returns a schema
|
|
981
|
+
* and an `update` for this shape; `updateRemote` reconciles every producer.
|
|
982
982
|
*/
|
|
983
983
|
export interface RemoteModel {
|
|
984
984
|
/** Entity values, presence, staleness, tombstones, and applied windows. */
|
|
@@ -993,10 +993,17 @@ export interface RemoteModel {
|
|
|
993
993
|
readonly mutations: MutationState;
|
|
994
994
|
/** Streams whose live cursor fell behind; the caller should resync or refetch. */
|
|
995
995
|
readonly gaps: ReadonlySet<string>;
|
|
996
|
+
/**
|
|
997
|
+
* The `entity\0id\0field` marks a read is currently fetching. A field absent
|
|
998
|
+
* from the store reads as `Loading` while its mark is here and `Initial`
|
|
999
|
+
* otherwise, which is what separates "being fetched" from "nothing is
|
|
1000
|
+
* fetching this".
|
|
1001
|
+
*/
|
|
1002
|
+
readonly loading: ReadonlySet<string>;
|
|
996
1003
|
}
|
|
997
1004
|
export declare const initialRemoteModel: RemoteModel;
|
|
998
1005
|
export declare const remoteModelSchema: () => Schema.Schema<RemoteModel>;
|
|
999
|
-
/** The submodel's Messages; each reduces to `RemoteModel` through `
|
|
1006
|
+
/** The submodel's Messages; each reduces to `RemoteModel` through `updateRemote`. */
|
|
1000
1007
|
export type RemoteMessage = {
|
|
1001
1008
|
readonly _tag: 'ReadReceived';
|
|
1002
1009
|
readonly requests: readonly Requirement$1[];
|
|
@@ -1012,6 +1019,11 @@ export type RemoteMessage = {
|
|
|
1012
1019
|
readonly _tag: 'RefreshStarted';
|
|
1013
1020
|
readonly requests: readonly Requirement$1[];
|
|
1014
1021
|
} |
|
|
1022
|
+
/** A read began; the fields it asks for that the store lacks read as `Loading`. */
|
|
1023
|
+
{
|
|
1024
|
+
readonly _tag: 'ReadStarted';
|
|
1025
|
+
readonly requests: readonly Requirement$1[];
|
|
1026
|
+
} |
|
|
1015
1027
|
/** The active Surfaces' roots changed; everything they do not reach is collected. */
|
|
1016
1028
|
{
|
|
1017
1029
|
readonly _tag: 'RetentionChanged';
|
|
@@ -1099,6 +1111,9 @@ export declare const remoteMessageCases: {
|
|
|
1099
1111
|
RefreshStarted: {
|
|
1100
1112
|
requests: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
1101
1113
|
};
|
|
1114
|
+
ReadStarted: {
|
|
1115
|
+
requests: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
1116
|
+
};
|
|
1102
1117
|
RetentionChanged: {
|
|
1103
1118
|
roots: Schema.Struct<{
|
|
1104
1119
|
readonly requirements: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
@@ -1179,6 +1194,12 @@ export declare const isRemoteMessage: <M extends {
|
|
|
1179
1194
|
readonly _tag: RemoteMessageTag;
|
|
1180
1195
|
}>;
|
|
1181
1196
|
export declare const remoteMessageSchema: Schema.Schema<RemoteMessage>;
|
|
1197
|
+
/**
|
|
1198
|
+
* Whether a read is fetching any of `fields` for this entity. Consulted only
|
|
1199
|
+
* when the store lacks the value, which is what separates `Loading` from
|
|
1200
|
+
* `Initial`.
|
|
1201
|
+
*/
|
|
1202
|
+
export declare const isLoading: (model: RemoteModel, entity: string, id: string, fields: ReadonlyArray<string>) => boolean;
|
|
1182
1203
|
/**
|
|
1183
1204
|
* The pure reducer all four producers share. A live event that arrives ahead of
|
|
1184
1205
|
* its cursor is a gap: it is not applied, and the stream is recorded so the host
|
|
@@ -1656,7 +1677,7 @@ export interface RemoteDomain<AppModel, Store extends RemoteModel, Entities exte
|
|
|
1656
1677
|
* mutation sequence unless `options.requestId` is given.
|
|
1657
1678
|
*/
|
|
1658
1679
|
mutate<M extends MutationDescriptor<any, any, any>>(model: AppModel, mutation: M & Registered<M['name'], MutationName<Mutations[number]>, 'Mutation'>, input: MutationInput<M>, options?: DomainMutateOptions): MutationStarted<AppModel>;
|
|
1659
|
-
/** `
|
|
1680
|
+
/** `updateRemote` on the bound slice: reduces one of Remote's Messages, as `RemoteMessage` or as the application's union constructs it. */
|
|
1660
1681
|
reduce(model: AppModel, message: RemoteMessage | RemoteMessageInput): AppModel;
|
|
1661
1682
|
/** `Remote.inspect` of the bound slice. */
|
|
1662
1683
|
inspect(model: AppModel): RemoteInspection;
|
|
@@ -1758,6 +1779,9 @@ export declare const Remote: {
|
|
|
1758
1779
|
RefreshStarted: {
|
|
1759
1780
|
requests: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
1760
1781
|
};
|
|
1782
|
+
ReadStarted: {
|
|
1783
|
+
requests: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
1784
|
+
};
|
|
1761
1785
|
RetentionChanged: {
|
|
1762
1786
|
roots: Schema.Struct<{
|
|
1763
1787
|
readonly requirements: Schema.$Array<Schema.Codec<Requirement$1, Requirement$1, never, never>>;
|
|
@@ -1951,7 +1975,7 @@ export declare const Remote: {
|
|
|
1951
1975
|
/**
|
|
1952
1976
|
* Runs a mutation through `RemoteClient`, decoding its typed Output and
|
|
1953
1977
|
* returning the result's normalized patches so the caller can reconcile them
|
|
1954
|
-
* through `
|
|
1978
|
+
* through `updateRemote`'s `MutationSucceeded` (or `Remote.mutateInto`).
|
|
1955
1979
|
*/
|
|
1956
1980
|
mutate: <Name extends string, Input, Output>(mutation: MutationDescriptor<Name, Input, Output>, input: Input, requestId: string) => Effect.Effect<{
|
|
1957
1981
|
output: Output;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/connection.ts","../src/store.ts","../src/mutation.ts","../src/optimistic.ts","../src/query.ts","../src/live.ts","../src/retain.ts","../src/persistence.ts","../src/wire.ts","../src/remoteData.ts","../src/model.ts","../src/coalesce.ts","../src/client.ts","../src/relation.ts","../src/selection.ts","../src/entity.ts","../src/inspect.ts","../src/plan.ts","../src/policy.ts","../src/index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/connection.ts","../src/store.ts","../src/mutation.ts","../src/optimistic.ts","../src/query.ts","../src/live.ts","../src/retain.ts","../src/persistence.ts","../src/wire.ts","../src/remoteData.ts","../src/model.ts","../src/coalesce.ts","../src/client.ts","../src/relation.ts","../src/selection.ts","../src/entity.ts","../src/inspect.ts","../src/plan.ts","../src/policy.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1641,7 +1641,8 @@ const initialRemoteModel = {
|
|
|
1641
1641
|
optimistic: emptyOptimistic,
|
|
1642
1642
|
live: {},
|
|
1643
1643
|
mutations: emptyMutationState,
|
|
1644
|
-
gaps: /* @__PURE__ */ new Set()
|
|
1644
|
+
gaps: /* @__PURE__ */ new Set(),
|
|
1645
|
+
loading: /* @__PURE__ */ new Set()
|
|
1645
1646
|
};
|
|
1646
1647
|
/** The entity store and the mutation ledger are runtime values, not wire shapes. */
|
|
1647
1648
|
const runtimeSchema = Schema.Unknown;
|
|
@@ -1651,7 +1652,8 @@ const remoteModelSchema = () => Schema.Struct({
|
|
|
1651
1652
|
optimistic: runtimeSchema,
|
|
1652
1653
|
live: Schema.Record(Schema.String, runtimeSchema),
|
|
1653
1654
|
mutations: runtimeSchema,
|
|
1654
|
-
gaps: runtimeSchema
|
|
1655
|
+
gaps: runtimeSchema,
|
|
1656
|
+
loading: runtimeSchema
|
|
1655
1657
|
});
|
|
1656
1658
|
const retentionRootsSchema = Schema.Struct({
|
|
1657
1659
|
requirements: Schema.Array(ReadRequest),
|
|
@@ -1675,6 +1677,7 @@ const remoteMessageCases = {
|
|
|
1675
1677
|
error: remoteErrorSchema
|
|
1676
1678
|
},
|
|
1677
1679
|
RefreshStarted: { requests: Schema.Array(ReadRequest) },
|
|
1680
|
+
ReadStarted: { requests: Schema.Array(ReadRequest) },
|
|
1678
1681
|
RetentionChanged: { roots: retentionRootsSchema },
|
|
1679
1682
|
Hydrated: {
|
|
1680
1683
|
entities: runtimeSchema,
|
|
@@ -1722,6 +1725,39 @@ const remoteMessageSchema = Schema.Union(Object.entries(remoteMessageCases).map(
|
|
|
1722
1725
|
...fields
|
|
1723
1726
|
})));
|
|
1724
1727
|
const marksOf = (requests) => requests.map((request) => [entityKey(request.entity, request.id), request.fields]);
|
|
1728
|
+
/**
|
|
1729
|
+
* One mark per requested field. A read is identified by what it asks for, not by
|
|
1730
|
+
* a request id: two reads asking for one field share its mark, so the first
|
|
1731
|
+
* answer clears it. Over-clearing shows `Initial` rather than a spinner, which
|
|
1732
|
+
* is the safer way to be wrong.
|
|
1733
|
+
*/
|
|
1734
|
+
const loadingMarks = function* (requests) {
|
|
1735
|
+
for (const request of requests) {
|
|
1736
|
+
const key = entityKey(request.entity, request.id);
|
|
1737
|
+
for (const field of request.fields) yield `${key}\u0000${field}`;
|
|
1738
|
+
}
|
|
1739
|
+
};
|
|
1740
|
+
const withLoading = (loading, requests) => {
|
|
1741
|
+
const next = new Set(loading);
|
|
1742
|
+
for (const mark of loadingMarks(requests)) next.add(mark);
|
|
1743
|
+
return next;
|
|
1744
|
+
};
|
|
1745
|
+
const withoutLoading = (loading, requests) => {
|
|
1746
|
+
if (loading.size === 0) return loading;
|
|
1747
|
+
const next = new Set(loading);
|
|
1748
|
+
for (const mark of loadingMarks(requests)) next.delete(mark);
|
|
1749
|
+
return next;
|
|
1750
|
+
};
|
|
1751
|
+
/**
|
|
1752
|
+
* Whether a read is fetching any of `fields` for this entity. Consulted only
|
|
1753
|
+
* when the store lacks the value, which is what separates `Loading` from
|
|
1754
|
+
* `Initial`.
|
|
1755
|
+
*/
|
|
1756
|
+
const isLoading = (model, entity, id, fields) => {
|
|
1757
|
+
if (model.loading.size === 0) return false;
|
|
1758
|
+
const key = entityKey(entity, id);
|
|
1759
|
+
return fields.some((field) => model.loading.has(`${key}\u0000${field}`));
|
|
1760
|
+
};
|
|
1725
1761
|
const setConnectionStale = (connections, connection, stale) => {
|
|
1726
1762
|
const current = connections[connection] ?? emptyConnection;
|
|
1727
1763
|
return {
|
|
@@ -1749,11 +1785,13 @@ const updateRemote = (model, message) => {
|
|
|
1749
1785
|
switch (message._tag) {
|
|
1750
1786
|
case "ReadReceived": return {
|
|
1751
1787
|
...model,
|
|
1752
|
-
entities: writeRead(model.entities, message.requests, message.result, message.now)
|
|
1788
|
+
entities: writeRead(model.entities, message.requests, message.result, message.now),
|
|
1789
|
+
loading: withoutLoading(model.loading, message.requests)
|
|
1753
1790
|
};
|
|
1754
1791
|
case "ReadFailed": return {
|
|
1755
1792
|
...model,
|
|
1756
|
-
entities: setStale(model.entities, marksOf(message.requests), false)
|
|
1793
|
+
entities: setStale(model.entities, marksOf(message.requests), false),
|
|
1794
|
+
loading: withoutLoading(model.loading, message.requests)
|
|
1757
1795
|
};
|
|
1758
1796
|
case "RetentionChanged": return {
|
|
1759
1797
|
...model,
|
|
@@ -1767,6 +1805,10 @@ const updateRemote = (model, message) => {
|
|
|
1767
1805
|
...model,
|
|
1768
1806
|
entities: setStale(model.entities, marksOf(message.requests), true)
|
|
1769
1807
|
};
|
|
1808
|
+
case "ReadStarted": return {
|
|
1809
|
+
...model,
|
|
1810
|
+
loading: withLoading(model.loading, message.requests)
|
|
1811
|
+
};
|
|
1770
1812
|
case "MutationStarted": return {
|
|
1771
1813
|
...model,
|
|
1772
1814
|
mutations: beginMutation(model.mutations, message.requestId),
|
|
@@ -2405,10 +2447,13 @@ const observeEntry = (bound, askedOf, toMessage, options) => {
|
|
|
2405
2447
|
}))
|
|
2406
2448
|
};
|
|
2407
2449
|
},
|
|
2408
|
-
dependenciesToStream: ({ requirements, queries }) => Stream.concat(
|
|
2450
|
+
dependenciesToStream: ({ requirements, queries }) => Stream.concat(requirements.length === 0 ? Stream.empty : Stream.fromIterable([toMessage({
|
|
2451
|
+
_tag: "ReadStarted",
|
|
2452
|
+
requests: requirements
|
|
2453
|
+
}), ...RemotePolicy.refreshes(policy) ? [toMessage({
|
|
2409
2454
|
_tag: "RefreshStarted",
|
|
2410
2455
|
requests: requirements
|
|
2411
|
-
})
|
|
2456
|
+
})] : []]), Stream.mergeAll([...requirements.length === 0 ? [] : [Stream.fromEffect(read(requirements))], ...queries.map((query) => Stream.fromEffect(run(query)))], { concurrency: "unbounded" }))
|
|
2412
2457
|
};
|
|
2413
2458
|
};
|
|
2414
2459
|
/** The live entry: subscribes to `requirementsOf(model)` from the Model's resume cursor. */
|
|
@@ -2512,10 +2557,10 @@ const Remote = {
|
|
|
2512
2557
|
read: (root) => {
|
|
2513
2558
|
const store = storeOf(bound, root);
|
|
2514
2559
|
const key = entityKey(selection.entity, id);
|
|
2515
|
-
|
|
2560
|
+
const present = memoRead(store, store, `${key}\u0000${stableStringify(relation)}`, () => {
|
|
2516
2561
|
if (isTombstone(store, key)) return { _tag: "NotFound" };
|
|
2517
2562
|
const assembled = assemble(store, key, relation);
|
|
2518
|
-
if (assembled === void 0) return
|
|
2563
|
+
if (assembled === void 0) return void 0;
|
|
2519
2564
|
const decoded = Schema.decodeUnknownResult(selection.schema)(assembled.values);
|
|
2520
2565
|
return Result.isFailure(decoded) ? {
|
|
2521
2566
|
_tag: "Failed",
|
|
@@ -2531,6 +2576,8 @@ const Remote = {
|
|
|
2531
2576
|
value: decoded.success
|
|
2532
2577
|
};
|
|
2533
2578
|
});
|
|
2579
|
+
if (present !== void 0) return present;
|
|
2580
|
+
return isLoading(bound.store.get(root), selection.entity, id, relation.fields) ? { _tag: "Loading" } : { _tag: "Initial" };
|
|
2534
2581
|
}
|
|
2535
2582
|
});
|
|
2536
2583
|
},
|
|
@@ -2648,7 +2695,7 @@ const Remote = {
|
|
|
2648
2695
|
/**
|
|
2649
2696
|
* Runs a mutation through `RemoteClient`, decoding its typed Output and
|
|
2650
2697
|
* returning the result's normalized patches so the caller can reconcile them
|
|
2651
|
-
* through `
|
|
2698
|
+
* through `updateRemote`'s `MutationSucceeded` (or `Remote.mutateInto`).
|
|
2652
2699
|
*/
|
|
2653
2700
|
mutate: mutateRemote,
|
|
2654
2701
|
/**
|
|
@@ -2914,6 +2961,6 @@ const pageSize = (window, key) => {
|
|
|
2914
2961
|
return size === void 0 ? {} : { [key]: size };
|
|
2915
2962
|
};
|
|
2916
2963
|
//#endregion
|
|
2917
|
-
export { ConnectionChange, ConnectionChangeSchema, Entity, Live, LiveChange, LiveEdge, LiveRequirement, MAX_FIELDS_PER_REQUEST, MAX_RELATION_DEPTH, Mutate, Mutation, MutationRequest, MutationResult, NormalizedEntity, PageSize, Query, QueryEdge, QueryRequest, QueryResult, QueryRpc, REMOTE_CACHE_VERSION, REMOTE_PROTOCOL_VERSION, Read, ReadBatch, ReadBatchResult, ReadRequest, RelationAnnotation, RelationEntityAnnotation, RelationRequest, Remote, RemoteClient, RemoteData, RemoteLiveError, RemoteMutationError, RemotePersistence, RemotePolicy, RemoteProtocolError, RemoteQueryError, RemoteReadError, RemoteRpc, Selection, WindowSchema, WireBoundary, addLayer, addOverlay, applyConnectionEvent, applyEntityEvent, assemble, beginMutation, beginOptimistic, classifyLive, clearStale, coalesceQueries, coalesceReads, coalescedLayer, connectionChangeOf, connectionIdentity, cursor, edge, emptyConnection, emptyLiveState, emptyMutationState, emptyOptimistic, emptyStore, entityKey, entry, failMutation, gc, hasField, hasNext, hasPrevious, initialRemoteModel, inspectEntity, inspectRemote, invalidateConnection, isFieldStale, isGapped, isRefPage, isRemoteMessage, isStale, isTombstone, items, liveEventOf, liveHasNext, liveHasPrevious, markStale, merge, missingFields, mutateRemote, pageSchema, plan, pruneOverlays, reachable, readField, reconcileMutation, refParts, refreshConnection, refsIn, relationOf, relationShape, remoteDataSchema, remoteError, remoteErrorSchema, remoteMessageCases, remoteMessageSchema, remoteModelSchema, remove, removeLayer, removeOverlay, requirementKey, retentionRootsSchema, schemaOf, segment, setStale, settleFailure, settleSuccess, shouldWake, stableStringify, targetsOf, terminal, tombstone, unknown, updateRemote, visibleItems, visibleStore, windowKey, writeEntities, writeEntity, writeRead };
|
|
2964
|
+
export { ConnectionChange, ConnectionChangeSchema, Entity, Live, LiveChange, LiveEdge, LiveRequirement, MAX_FIELDS_PER_REQUEST, MAX_RELATION_DEPTH, Mutate, Mutation, MutationRequest, MutationResult, NormalizedEntity, PageSize, Query, QueryEdge, QueryRequest, QueryResult, QueryRpc, REMOTE_CACHE_VERSION, REMOTE_PROTOCOL_VERSION, Read, ReadBatch, ReadBatchResult, ReadRequest, RelationAnnotation, RelationEntityAnnotation, RelationRequest, Remote, RemoteClient, RemoteData, RemoteLiveError, RemoteMutationError, RemotePersistence, RemotePolicy, RemoteProtocolError, RemoteQueryError, RemoteReadError, RemoteRpc, Selection, WindowSchema, WireBoundary, addLayer, addOverlay, applyConnectionEvent, applyEntityEvent, assemble, beginMutation, beginOptimistic, classifyLive, clearStale, coalesceQueries, coalesceReads, coalescedLayer, connectionChangeOf, connectionIdentity, cursor, edge, emptyConnection, emptyLiveState, emptyMutationState, emptyOptimistic, emptyStore, entityKey, entry, failMutation, gc, hasField, hasNext, hasPrevious, initialRemoteModel, inspectEntity, inspectRemote, invalidateConnection, isFieldStale, isGapped, isLoading, isRefPage, isRemoteMessage, isStale, isTombstone, items, liveEventOf, liveHasNext, liveHasPrevious, markStale, merge, missingFields, mutateRemote, pageSchema, plan, pruneOverlays, reachable, readField, reconcileMutation, refParts, refreshConnection, refsIn, relationOf, relationShape, remoteDataSchema, remoteError, remoteErrorSchema, remoteMessageCases, remoteMessageSchema, remoteModelSchema, remove, removeLayer, removeOverlay, requirementKey, retentionRootsSchema, schemaOf, segment, setStale, settleFailure, settleSuccess, shouldWake, stableStringify, targetsOf, terminal, tombstone, unknown, updateRemote, visibleItems, visibleStore, windowKey, writeEntities, writeEntity, writeRead };
|
|
2918
2965
|
|
|
2919
2966
|
//# sourceMappingURL=index.mjs.map
|