foldkit-remote 0.2.0 → 0.3.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 +782 -447
- package/dist/index.d.mts +225 -114
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +253 -73
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
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/query.ts","../src/requirement.ts","../src/optimistic.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
|
@@ -1,7 +1,110 @@
|
|
|
1
1
|
import { Context, Deferred, Duration, Effect, Layer, Option, Request, RequestResolver, Result, Schema, SchemaGetter, Stream } from "effect";
|
|
2
|
-
import {
|
|
2
|
+
import { Metadata } from "foldkit-surface";
|
|
3
3
|
import { Rpc, RpcGroup } from "effect/unstable/rpc";
|
|
4
4
|
import { KeyValueStore } from "effect/unstable/persistence";
|
|
5
|
+
//#region src/requirement.ts
|
|
6
|
+
/**
|
|
7
|
+
* What a Remote Projection needs from the server: entity slices and query
|
|
8
|
+
* connections. They ride on `Projection.metadata` under Remote's own keys, so
|
|
9
|
+
* Surface composes them without knowing their shape.
|
|
10
|
+
*/
|
|
11
|
+
const windowKey$1 = (window) => JSON.stringify([
|
|
12
|
+
window.first ?? null,
|
|
13
|
+
window.last ?? null,
|
|
14
|
+
window.after ?? null,
|
|
15
|
+
window.before ?? null
|
|
16
|
+
]);
|
|
17
|
+
/**
|
|
18
|
+
* Merges connection requirements for the same connection and window into one,
|
|
19
|
+
* unioning what they select of each item; the first keeps its other properties.
|
|
20
|
+
*/
|
|
21
|
+
function mergeConnections(connections) {
|
|
22
|
+
const merged = /* @__PURE__ */ new Map();
|
|
23
|
+
for (const connection of connections) {
|
|
24
|
+
const key = `${connection.identity}\u0000${windowKey$1(connection.window)}`;
|
|
25
|
+
const current = merged.get(key);
|
|
26
|
+
merged.set(key, current === void 0 ? connection : {
|
|
27
|
+
...current,
|
|
28
|
+
select: mergeRelation(current.select, connection.select)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return [...merged.values()];
|
|
32
|
+
}
|
|
33
|
+
/** Unions two relation slices for the same target: fields, windows, and nested relations. */
|
|
34
|
+
function mergeRelation(current, next) {
|
|
35
|
+
const fields = [...current.fields];
|
|
36
|
+
const seen = new Set(fields);
|
|
37
|
+
for (const field of next.fields) {
|
|
38
|
+
if (seen.has(field)) continue;
|
|
39
|
+
seen.add(field);
|
|
40
|
+
fields.push(field);
|
|
41
|
+
}
|
|
42
|
+
const windows = {
|
|
43
|
+
...current.windows,
|
|
44
|
+
...next.windows
|
|
45
|
+
};
|
|
46
|
+
const relations = mergeRelations(current.relations, next.relations);
|
|
47
|
+
return {
|
|
48
|
+
entity: current.entity,
|
|
49
|
+
fields,
|
|
50
|
+
...Object.keys(windows).length === 0 ? {} : { windows },
|
|
51
|
+
...relations === void 0 ? {} : { relations }
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Unions two relation maps field by field; a field in both merges recursively. */
|
|
55
|
+
function mergeRelations(current, next) {
|
|
56
|
+
if (current === void 0) return next;
|
|
57
|
+
if (next === void 0) return current;
|
|
58
|
+
const merged = { ...current };
|
|
59
|
+
for (const [field, relation] of Object.entries(next)) {
|
|
60
|
+
const existing = merged[field];
|
|
61
|
+
merged[field] = existing === void 0 ? relation : mergeRelation(existing, relation);
|
|
62
|
+
}
|
|
63
|
+
return merged;
|
|
64
|
+
}
|
|
65
|
+
/** Unions requirements for the same entity + id, dropping duplicate fields. */
|
|
66
|
+
function mergeRequirements(requirements) {
|
|
67
|
+
const grouped = /* @__PURE__ */ new Map();
|
|
68
|
+
for (const requirement of requirements) {
|
|
69
|
+
const key = `${requirement.entity}\u0000${requirement.id}`;
|
|
70
|
+
const group = grouped.get(key);
|
|
71
|
+
const live = group?.live === true || requirement.live === true;
|
|
72
|
+
grouped.set(key, {
|
|
73
|
+
...mergeRelation(group ?? {
|
|
74
|
+
entity: requirement.entity,
|
|
75
|
+
fields: []
|
|
76
|
+
}, requirement),
|
|
77
|
+
id: requirement.id,
|
|
78
|
+
...live ? { live } : {}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return [...grouped.values()];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Requirement helpers, for the packages that plan and serve requirements.
|
|
85
|
+
* `merge` unions same-entity+id requirements; `mergeRelation` unions two
|
|
86
|
+
* slices of one target (fields, windows, nested relations).
|
|
87
|
+
*/
|
|
88
|
+
const Requirement = {
|
|
89
|
+
merge: mergeRequirements,
|
|
90
|
+
mergeRelation,
|
|
91
|
+
mergeConnections
|
|
92
|
+
};
|
|
93
|
+
/** Remote's entity requirements on a Projection, unioned per entity and id as nodes compose. */
|
|
94
|
+
const RemoteRequirements = Metadata.key("remote", {
|
|
95
|
+
merge: mergeRequirements,
|
|
96
|
+
summarize: (requirement) => `${requirement.entity}:${requirement.id}`
|
|
97
|
+
});
|
|
98
|
+
/** Remote's query connections on a Projection, unioned per connection and window. */
|
|
99
|
+
const RemoteConnections = Metadata.key("remote.connection", {
|
|
100
|
+
merge: mergeConnections,
|
|
101
|
+
summarize: (connection) => connection.identity.split("\0").join(" ")
|
|
102
|
+
});
|
|
103
|
+
/** The entity requirements a Projection carries. */
|
|
104
|
+
const requirementsOf = (projection) => RemoteRequirements.get(projection.metadata);
|
|
105
|
+
/** The query connections a Projection carries. */
|
|
106
|
+
const connectionsOf = (projection) => RemoteConnections.get(projection.metadata);
|
|
107
|
+
//#endregion
|
|
5
108
|
//#region src/store.ts
|
|
6
109
|
/**
|
|
7
110
|
* The pure entity store: values, per-field presence, staleness, and tombstones.
|
|
@@ -80,6 +183,7 @@ const setStale = (store, marks, stale) => {
|
|
|
80
183
|
for (const field of fields) if (stale) {
|
|
81
184
|
if (previous.present.has(field)) staleFields.add(field);
|
|
82
185
|
} else staleFields.delete(field);
|
|
186
|
+
if (staleFields.size === previous.stale.size) continue;
|
|
83
187
|
next ??= { ...store };
|
|
84
188
|
next[key] = {
|
|
85
189
|
...previous,
|
|
@@ -1463,14 +1567,10 @@ const parseEntry = (value) => {
|
|
|
1463
1567
|
};
|
|
1464
1568
|
};
|
|
1465
1569
|
const deserializeStore = (serialized) => Object.fromEntries(Object.entries(serialized.entities).map(([key, entry]) => [key, parseEntry(entry)]));
|
|
1466
|
-
|
|
1467
|
-
* The snapshot text, or `undefined` when it would exceed `maxBytes`. Only the
|
|
1468
|
-
* entity store goes in; pass `model.entities`, never the whole `RemoteModel`.
|
|
1469
|
-
*/
|
|
1470
|
-
const dehydrate = (store, options = {}) => {
|
|
1570
|
+
function dehydrate(store, options = {}) {
|
|
1471
1571
|
const text = stableStringify(serializeStore(store, options.scope));
|
|
1472
1572
|
return exceeds(text, options.maxBytes) ? void 0 : text;
|
|
1473
|
-
}
|
|
1573
|
+
}
|
|
1474
1574
|
/**
|
|
1475
1575
|
* Whether the UTF-8 size of `text` exceeds `maxBytes`. A character is one to
|
|
1476
1576
|
* three bytes, so most texts are decided from their length alone; only the
|
|
@@ -1642,7 +1742,11 @@ const initialRemoteModel = {
|
|
|
1642
1742
|
live: {},
|
|
1643
1743
|
mutations: emptyMutationState,
|
|
1644
1744
|
gaps: /* @__PURE__ */ new Set(),
|
|
1645
|
-
loading: /* @__PURE__ */ new Set()
|
|
1745
|
+
loading: /* @__PURE__ */ new Set(),
|
|
1746
|
+
refresh: {
|
|
1747
|
+
requested: 0,
|
|
1748
|
+
started: 0
|
|
1749
|
+
}
|
|
1646
1750
|
};
|
|
1647
1751
|
/** The entity store and the mutation ledger are runtime values, not wire shapes. */
|
|
1648
1752
|
const runtimeSchema = Schema.Unknown;
|
|
@@ -1653,7 +1757,11 @@ const remoteModelSchema = () => Schema.Struct({
|
|
|
1653
1757
|
live: Schema.Record(Schema.String, runtimeSchema),
|
|
1654
1758
|
mutations: runtimeSchema,
|
|
1655
1759
|
gaps: runtimeSchema,
|
|
1656
|
-
loading: runtimeSchema
|
|
1760
|
+
loading: runtimeSchema,
|
|
1761
|
+
refresh: Schema.Struct({
|
|
1762
|
+
requested: Schema.Number,
|
|
1763
|
+
started: Schema.Number
|
|
1764
|
+
})
|
|
1657
1765
|
});
|
|
1658
1766
|
const retentionRootsSchema = Schema.Struct({
|
|
1659
1767
|
requirements: Schema.Array(ReadRequest),
|
|
@@ -1677,7 +1785,10 @@ const remoteMessageCases = {
|
|
|
1677
1785
|
error: remoteErrorSchema
|
|
1678
1786
|
},
|
|
1679
1787
|
RefreshStarted: { requests: Schema.Array(ReadRequest) },
|
|
1680
|
-
ReadStarted: {
|
|
1788
|
+
ReadStarted: {
|
|
1789
|
+
requests: Schema.Array(ReadRequest),
|
|
1790
|
+
refresh: Schema.optional(Schema.Number)
|
|
1791
|
+
},
|
|
1681
1792
|
RetentionChanged: { roots: retentionRootsSchema },
|
|
1682
1793
|
Hydrated: {
|
|
1683
1794
|
entities: runtimeSchema,
|
|
@@ -1801,14 +1912,24 @@ const updateRemote = (model, message) => {
|
|
|
1801
1912
|
...model,
|
|
1802
1913
|
entities: RemotePersistence.mergeStores(model.entities, message.entities, message.merge)
|
|
1803
1914
|
};
|
|
1804
|
-
case "RefreshStarted":
|
|
1805
|
-
|
|
1806
|
-
entities
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1915
|
+
case "RefreshStarted": {
|
|
1916
|
+
const entities = setStale(model.entities, marksOf(message.requests), true);
|
|
1917
|
+
return entities === model.entities ? model : {
|
|
1918
|
+
...model,
|
|
1919
|
+
entities
|
|
1920
|
+
};
|
|
1921
|
+
}
|
|
1922
|
+
case "ReadStarted": {
|
|
1923
|
+
const started = Math.max(model.refresh.started, message.refresh ?? 0);
|
|
1924
|
+
return {
|
|
1925
|
+
...model,
|
|
1926
|
+
loading: withLoading(model.loading, message.requests),
|
|
1927
|
+
refresh: started === model.refresh.started ? model.refresh : {
|
|
1928
|
+
...model.refresh,
|
|
1929
|
+
started
|
|
1930
|
+
}
|
|
1931
|
+
};
|
|
1932
|
+
}
|
|
1812
1933
|
case "MutationStarted": return {
|
|
1813
1934
|
...model,
|
|
1814
1935
|
mutations: beginMutation(model.mutations, message.requestId),
|
|
@@ -1854,7 +1975,8 @@ const updateRemote = (model, message) => {
|
|
|
1854
1975
|
case "GapCleared": return clearGap(model, message.stream);
|
|
1855
1976
|
case "ConnectionMerged": {
|
|
1856
1977
|
const current = model.connections[message.connection] ?? emptyConnection;
|
|
1857
|
-
const
|
|
1978
|
+
const replaces = message.refreshes === true && current.stale;
|
|
1979
|
+
const merged = merge(replaces ? emptyConnection : current, message.page);
|
|
1858
1980
|
return {
|
|
1859
1981
|
...model,
|
|
1860
1982
|
connections: {
|
|
@@ -1867,10 +1989,12 @@ const updateRemote = (model, message) => {
|
|
|
1867
1989
|
optimistic: pruneOverlays(model.optimistic, message.connection, new Set(message.page.edges.map((edge) => edge.key)), model.mutations.pending)
|
|
1868
1990
|
};
|
|
1869
1991
|
}
|
|
1870
|
-
case "ConnectionInvalidated":
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1992
|
+
case "ConnectionInvalidated":
|
|
1993
|
+
if (model.connections[message.connection]?.stale === true) return model;
|
|
1994
|
+
return {
|
|
1995
|
+
...model,
|
|
1996
|
+
connections: setConnectionStale(model.connections, message.connection, true)
|
|
1997
|
+
};
|
|
1874
1998
|
case "QueryFailed": return message.connection in model.connections ? {
|
|
1875
1999
|
...model,
|
|
1876
2000
|
connections: setConnectionStale(model.connections, message.connection, false)
|
|
@@ -2288,7 +2412,7 @@ const bindRemote = (definition, store) => ({
|
|
|
2288
2412
|
owns: store.dependency.length === 0 ? [] : [store.dependency],
|
|
2289
2413
|
observes: store.dependency.length === 0 ? [] : [store.dependency],
|
|
2290
2414
|
messages: [],
|
|
2291
|
-
|
|
2415
|
+
metadata: []
|
|
2292
2416
|
}
|
|
2293
2417
|
});
|
|
2294
2418
|
/** The runtime half of `Registered`: a descriptor the domain never declared is an error naming both. */
|
|
@@ -2299,7 +2423,10 @@ const nothingAsked = {
|
|
|
2299
2423
|
requirements: [],
|
|
2300
2424
|
connections: []
|
|
2301
2425
|
};
|
|
2302
|
-
const askedOf = (projection) => projection === void 0 ? nothingAsked :
|
|
2426
|
+
const askedOf = (projection) => projection === void 0 ? nothingAsked : {
|
|
2427
|
+
requirements: requirementsOf(projection),
|
|
2428
|
+
connections: connectionsOf(projection)
|
|
2429
|
+
};
|
|
2303
2430
|
/**
|
|
2304
2431
|
* Plans what a projection asks against the Model. A connection the Model holds
|
|
2305
2432
|
* fresh contributes its visible items' selected fields to the entity plan; one
|
|
@@ -2375,7 +2502,7 @@ const pageMessage = (connection, result, refreshes = false) => ({
|
|
|
2375
2502
|
const rootsOf = (projections, options) => {
|
|
2376
2503
|
const connections = /* @__PURE__ */ new Map();
|
|
2377
2504
|
for (const identity of (options.connections ?? []).map(connectionIdentity)) connections.set(identity, { identity });
|
|
2378
|
-
for (const { identity, select } of projections.flatMap(
|
|
2505
|
+
for (const { identity, select } of projections.flatMap(connectionsOf)) {
|
|
2379
2506
|
const current = connections.get(identity)?.select;
|
|
2380
2507
|
connections.set(identity, {
|
|
2381
2508
|
identity,
|
|
@@ -2383,10 +2510,39 @@ const rootsOf = (projections, options) => {
|
|
|
2383
2510
|
});
|
|
2384
2511
|
}
|
|
2385
2512
|
return {
|
|
2386
|
-
requirements: Requirement.merge(projections.flatMap(
|
|
2513
|
+
requirements: Requirement.merge(projections.flatMap(requirementsOf)),
|
|
2387
2514
|
connections: [...connections.values()].sort((a, b) => a.identity < b.identity ? -1 : 1)
|
|
2388
2515
|
};
|
|
2389
2516
|
};
|
|
2517
|
+
/** Reads requirements and reports the Message that settles them. Never fails. */
|
|
2518
|
+
const readMessage = (requirements, now) => Effect.gen(function* () {
|
|
2519
|
+
const client = yield* RemoteClient;
|
|
2520
|
+
const at = now();
|
|
2521
|
+
const result = yield* Effect.result(client.read({
|
|
2522
|
+
version: 3,
|
|
2523
|
+
requests: requirements
|
|
2524
|
+
}));
|
|
2525
|
+
return Result.isFailure(result) ? {
|
|
2526
|
+
_tag: "ReadFailed",
|
|
2527
|
+
requests: requirements,
|
|
2528
|
+
error: remoteError(result.failure)
|
|
2529
|
+
} : {
|
|
2530
|
+
_tag: "ReadReceived",
|
|
2531
|
+
requests: requirements,
|
|
2532
|
+
result: result.success,
|
|
2533
|
+
now: at
|
|
2534
|
+
};
|
|
2535
|
+
});
|
|
2536
|
+
/** Runs a query and reports the page that refreshes its connection, or the failure. Never fails. */
|
|
2537
|
+
const queryMessage = (query) => Effect.gen(function* () {
|
|
2538
|
+
const client = yield* RemoteClient;
|
|
2539
|
+
const result = yield* Effect.result(queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request))));
|
|
2540
|
+
return Result.isFailure(result) ? {
|
|
2541
|
+
_tag: "QueryFailed",
|
|
2542
|
+
connection: query.identity,
|
|
2543
|
+
error: remoteError(result.failure)
|
|
2544
|
+
} : pageMessage(query.identity, result.success, true);
|
|
2545
|
+
});
|
|
2390
2546
|
/** A query the read entry runs, as its dependencies carry it: plain data Foldkit compares. */
|
|
2391
2547
|
const PlannedQuery = Schema.Struct({
|
|
2392
2548
|
identity: Schema.String,
|
|
@@ -2404,41 +2560,19 @@ const PlannedQuery = Schema.Struct({
|
|
|
2404
2560
|
*/
|
|
2405
2561
|
const observeEntry = (bound, askedOf, toMessage, options) => {
|
|
2406
2562
|
const { policy = RemotePolicy.cacheFirst, now = Date.now } = options;
|
|
2407
|
-
const read = (requirements) => Effect.
|
|
2408
|
-
|
|
2409
|
-
const at = now();
|
|
2410
|
-
const result = yield* Effect.result(client.read({
|
|
2411
|
-
version: 3,
|
|
2412
|
-
requests: requirements
|
|
2413
|
-
}));
|
|
2414
|
-
return Result.isFailure(result) ? toMessage({
|
|
2415
|
-
_tag: "ReadFailed",
|
|
2416
|
-
requests: requirements,
|
|
2417
|
-
error: remoteError(result.failure)
|
|
2418
|
-
}) : toMessage({
|
|
2419
|
-
_tag: "ReadReceived",
|
|
2420
|
-
requests: requirements,
|
|
2421
|
-
result: result.success,
|
|
2422
|
-
now: at
|
|
2423
|
-
});
|
|
2424
|
-
});
|
|
2425
|
-
const run = (query) => Effect.gen(function* () {
|
|
2426
|
-
const client = yield* RemoteClient;
|
|
2427
|
-
const result = yield* Effect.result(queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request))));
|
|
2428
|
-
return Result.isFailure(result) ? toMessage({
|
|
2429
|
-
_tag: "QueryFailed",
|
|
2430
|
-
connection: query.identity,
|
|
2431
|
-
error: remoteError(result.failure)
|
|
2432
|
-
}) : toMessage(pageMessage(query.identity, result.success, true));
|
|
2433
|
-
});
|
|
2563
|
+
const read = (requirements) => Effect.map(readMessage(requirements, now), toMessage);
|
|
2564
|
+
const run = (query) => Effect.map(queryMessage(query), toMessage);
|
|
2434
2565
|
return {
|
|
2435
2566
|
dependenciesSchema: Schema.Struct({
|
|
2436
2567
|
requirements: Schema.Array(ReadRequest),
|
|
2437
|
-
queries: Schema.Array(PlannedQuery)
|
|
2568
|
+
queries: Schema.Array(PlannedQuery),
|
|
2569
|
+
refresh: Schema.Number
|
|
2438
2570
|
}),
|
|
2439
2571
|
modelToDependencies: (model) => {
|
|
2440
|
-
const
|
|
2572
|
+
const remote = bound.store.get(model);
|
|
2573
|
+
const planned = planAsked(remote, askedOf(model), RemotePolicy.toPlan(policy, now()));
|
|
2441
2574
|
return {
|
|
2575
|
+
refresh: remote.refresh.requested,
|
|
2442
2576
|
requirements: planned.requirements,
|
|
2443
2577
|
queries: planned.queries.map(({ identity, window, select }) => ({
|
|
2444
2578
|
identity,
|
|
@@ -2447,9 +2581,10 @@ const observeEntry = (bound, askedOf, toMessage, options) => {
|
|
|
2447
2581
|
}))
|
|
2448
2582
|
};
|
|
2449
2583
|
},
|
|
2450
|
-
dependenciesToStream: ({ requirements, queries }) => Stream.concat(requirements.length === 0 ? Stream.empty : Stream.fromIterable([toMessage({
|
|
2584
|
+
dependenciesToStream: ({ requirements, queries, refresh }) => Stream.concat(requirements.length === 0 ? Stream.empty : Stream.fromIterable([toMessage({
|
|
2451
2585
|
_tag: "ReadStarted",
|
|
2452
|
-
requests: requirements
|
|
2586
|
+
requests: requirements,
|
|
2587
|
+
refresh
|
|
2453
2588
|
}), ...RemotePolicy.refreshes(policy) ? [toMessage({
|
|
2454
2589
|
_tag: "RefreshStarted",
|
|
2455
2590
|
requests: requirements
|
|
@@ -2549,11 +2684,10 @@ const Remote = {
|
|
|
2549
2684
|
return (id) => ({
|
|
2550
2685
|
Model: remoteDataSchema(selection.schema),
|
|
2551
2686
|
dependencies: [],
|
|
2552
|
-
|
|
2687
|
+
metadata: RemoteRequirements.of({
|
|
2553
2688
|
...relation,
|
|
2554
2689
|
id
|
|
2555
|
-
}
|
|
2556
|
-
connections: [],
|
|
2690
|
+
}),
|
|
2557
2691
|
read: (root) => {
|
|
2558
2692
|
const store = storeOf(bound, root);
|
|
2559
2693
|
const key = entityKey(selection.entity, id);
|
|
@@ -2586,12 +2720,12 @@ const Remote = {
|
|
|
2586
2720
|
* remote store does not satisfy, under `options` (freshness, force). A
|
|
2587
2721
|
* Surface's projection is `surface.projection(params)`.
|
|
2588
2722
|
*/
|
|
2589
|
-
plan: (bound, model, projection, options) => planAsked(bound.store.get(model), projection, options ?? {}).requirements,
|
|
2723
|
+
plan: (bound, model, projection, options) => planAsked(bound.store.get(model), askedOf(projection), options ?? {}).requirements,
|
|
2590
2724
|
/**
|
|
2591
2725
|
* The queries a projection needs run before its connections read: those the
|
|
2592
2726
|
* Model does not hold, or holds stale (every one under `force`).
|
|
2593
2727
|
*/
|
|
2594
|
-
planQueries: (bound, model, projection, options) => planAsked(bound.store.get(model), projection, options ?? {}).queries.flatMap((query) => query.ref === void 0 ? [] : [query.ref]),
|
|
2728
|
+
planQueries: (bound, model, projection, options) => planAsked(bound.store.get(model), askedOf(projection), options ?? {}).queries.flatMap((query) => query.ref === void 0 ? [] : [query.ref]),
|
|
2595
2729
|
/**
|
|
2596
2730
|
* The store reads see: the base store under the pending optimistic layers.
|
|
2597
2731
|
* One store is shared by every read and plan of a Model whose remote state
|
|
@@ -2608,7 +2742,7 @@ const Remote = {
|
|
|
2608
2742
|
const store = storeOf(bound, model);
|
|
2609
2743
|
const { policy = RemotePolicy.cacheFirst, now = Date.now } = options;
|
|
2610
2744
|
const at = now();
|
|
2611
|
-
const missing = plan(store, projection
|
|
2745
|
+
const missing = plan(store, requirementsOf(projection), RemotePolicy.toPlan(policy, at));
|
|
2612
2746
|
if (missing.length === 0) return store;
|
|
2613
2747
|
yield* Effect.annotateCurrentSpan("requirementCount", missing.length);
|
|
2614
2748
|
const result = yield* (yield* RemoteClient).read({
|
|
@@ -2618,6 +2752,52 @@ const Remote = {
|
|
|
2618
2752
|
return writeRead(store, missing, result, at);
|
|
2619
2753
|
}),
|
|
2620
2754
|
/**
|
|
2755
|
+
* Marks what a projection, or a Surface without params, requires as due again.
|
|
2756
|
+
* Called from `update`: every selected field the store holds reads `Refreshing`,
|
|
2757
|
+
* and every loaded query connection is invalidated. Nothing is fetched here.
|
|
2758
|
+
* The read entries `Data.subscriptions` derives refetch it, because a stale
|
|
2759
|
+
* field or connection is planned again under every policy, so a refresh never
|
|
2760
|
+
* sends a request beside the entry already observing the same data.
|
|
2761
|
+
*
|
|
2762
|
+
* A refreshed connection's page replaces its pages, so items the server removed
|
|
2763
|
+
* or reordered follow it; pages loaded past the first are dropped and paged
|
|
2764
|
+
* again with `next`/`previous`. The read entries restart, so a read or query
|
|
2765
|
+
* sent before the refresh is not applied after it.
|
|
2766
|
+
*
|
|
2767
|
+
* The projection must be observed, which it is while it is on screen. Live
|
|
2768
|
+
* subscriptions are left as they are. For data nothing observes (SSR, tests),
|
|
2769
|
+
* use `Remote.prefetch` with `RemotePolicy.networkOnly`. Refreshing what is
|
|
2770
|
+
* already being refreshed returns the same Model.
|
|
2771
|
+
*/
|
|
2772
|
+
refresh: (bound, model, target) => {
|
|
2773
|
+
const projection = "read" in target ? target : target.projection(void 0);
|
|
2774
|
+
const remote = bound.store.get(model);
|
|
2775
|
+
const asked = askedOf(projection);
|
|
2776
|
+
const connections = Requirement.mergeConnections(asked.connections);
|
|
2777
|
+
const items = connections.flatMap((connection) => {
|
|
2778
|
+
const known = remote.connections[connection.identity];
|
|
2779
|
+
return known === void 0 ? [] : itemsOf(visibleItems(known, connection.identity, remote.optimistic.overlays, remote.entities).map((edge) => edge.ref), connection.select);
|
|
2780
|
+
});
|
|
2781
|
+
const requirements = plan(visibleStoreOf(remote.entities, remote.optimistic), [...asked.requirements, ...items], { force: true });
|
|
2782
|
+
const marked = [...requirements.length === 0 ? [] : [{
|
|
2783
|
+
_tag: "RefreshStarted",
|
|
2784
|
+
requests: requirements
|
|
2785
|
+
}], ...connections.filter((connection) => remote.connections[connection.identity] !== void 0).map((connection) => ({
|
|
2786
|
+
_tag: "ConnectionInvalidated",
|
|
2787
|
+
connection: connection.identity
|
|
2788
|
+
}))].reduce(updateRemote, remote);
|
|
2789
|
+
const inFlight = remote.refresh.started === remote.refresh.requested && requirements.some((requirement) => requirement.fields.some((field) => remote.entities[entityKey(requirement.entity, requirement.id)]?.stale.has(field) === true));
|
|
2790
|
+
if (marked === remote && !inFlight) return model;
|
|
2791
|
+
const refresh = {
|
|
2792
|
+
...marked.refresh,
|
|
2793
|
+
requested: marked.refresh.requested + 1
|
|
2794
|
+
};
|
|
2795
|
+
return bound.store.set(model, {
|
|
2796
|
+
...marked,
|
|
2797
|
+
refresh
|
|
2798
|
+
});
|
|
2799
|
+
},
|
|
2800
|
+
/**
|
|
2621
2801
|
* Writes a read result into the store, recording each field's applied window.
|
|
2622
2802
|
* `requests` are the planned requirements the result answers.
|
|
2623
2803
|
*/
|
|
@@ -2731,14 +2911,14 @@ const Remote = {
|
|
|
2731
2911
|
* emits `RefreshStarted`, so the fields being refetched read as `Refreshing`
|
|
2732
2912
|
* while the request is pending.
|
|
2733
2913
|
*/
|
|
2734
|
-
observe: (bound, surface, params, toMessage = identityMessage, options = {}) => observeEntry(bound, () => surface.projection(params), toMessage, options),
|
|
2914
|
+
observe: (bound, surface, params, toMessage = identityMessage, options = {}) => observeEntry(bound, () => askedOf(surface.projection(params)), toMessage, options),
|
|
2735
2915
|
/**
|
|
2736
2916
|
* A Foldkit Subscription entry that consumes the live stream for a Surface's
|
|
2737
2917
|
* requirements, emitting a `LiveReceived` per event and a `ReadFailed` when
|
|
2738
2918
|
* the stream breaks (including `ResumeUnavailable`). The resume cursor is read
|
|
2739
2919
|
* from `RemoteModel.live`, so the application tracks no cursor of its own.
|
|
2740
2920
|
*/
|
|
2741
|
-
live: (bound, surface, params, toMessage = identityMessage, options = {}) => liveEntry(bound, () => surface.projection(params)
|
|
2921
|
+
live: (bound, surface, params, toMessage = identityMessage, options = {}) => liveEntry(bound, () => requirementsOf(surface.projection(params)), toMessage, options)
|
|
2742
2922
|
};
|
|
2743
2923
|
/** The bound domain: the descriptor, the binding, and the operations over them. */
|
|
2744
2924
|
const bindDomain = (definition, store) => {
|
|
@@ -2752,10 +2932,10 @@ const bindDomain = (definition, store) => {
|
|
|
2752
2932
|
const projection = Remote.select(bound, selection)(id);
|
|
2753
2933
|
return {
|
|
2754
2934
|
...projection,
|
|
2755
|
-
|
|
2935
|
+
metadata: RemoteRequirements.of(...requirementsOf(projection).map((requirement) => ({
|
|
2756
2936
|
...requirement,
|
|
2757
2937
|
live: true
|
|
2758
|
-
}))
|
|
2938
|
+
})))
|
|
2759
2939
|
};
|
|
2760
2940
|
},
|
|
2761
2941
|
subscriptions: (active, options = {}) => {
|
|
@@ -2789,11 +2969,11 @@ const bindDomain = (definition, store) => {
|
|
|
2789
2969
|
const client = yield* RemoteClient;
|
|
2790
2970
|
const planOptions = RemotePolicy.toPlan(policy, now());
|
|
2791
2971
|
let current = model;
|
|
2792
|
-
for (const query of planAsked(store.get(current), projection, planOptions).queries) {
|
|
2972
|
+
for (const query of planAsked(store.get(current), askedOf(projection), planOptions).queries) {
|
|
2793
2973
|
const page = yield* queryRequestOf(query).pipe(Effect.flatMap((request) => client.query(request)));
|
|
2794
2974
|
current = reduce(current, pageMessage(query.identity, page, true));
|
|
2795
2975
|
}
|
|
2796
|
-
const requirements = planAsked(store.get(current), projection, planOptions).requirements;
|
|
2976
|
+
const requirements = planAsked(store.get(current), askedOf(projection), planOptions).requirements;
|
|
2797
2977
|
if (requirements.length === 0) return current;
|
|
2798
2978
|
const at = now();
|
|
2799
2979
|
const result = yield* client.read({
|
|
@@ -2829,8 +3009,7 @@ const bindDomain = (definition, store) => {
|
|
|
2829
3009
|
return {
|
|
2830
3010
|
Model: remoteDataSchema(pageSchema(select.schema)),
|
|
2831
3011
|
dependencies: [],
|
|
2832
|
-
|
|
2833
|
-
connections: [requirement],
|
|
3012
|
+
metadata: RemoteConnections.of(requirement),
|
|
2834
3013
|
ref,
|
|
2835
3014
|
read: (root) => {
|
|
2836
3015
|
const remote = store.get(root);
|
|
@@ -2892,6 +3071,7 @@ const bindDomain = (definition, store) => {
|
|
|
2892
3071
|
}
|
|
2893
3072
|
} : void 0;
|
|
2894
3073
|
},
|
|
3074
|
+
refresh: (model, target) => Remote.refresh(bound, model, target),
|
|
2895
3075
|
fetch: (ref) => ({
|
|
2896
3076
|
name: `Remote.query(${ref.query})`,
|
|
2897
3077
|
args: {
|
|
@@ -2961,6 +3141,6 @@ const pageSize = (window, key) => {
|
|
|
2961
3141
|
return size === void 0 ? {} : { [key]: size };
|
|
2962
3142
|
};
|
|
2963
3143
|
//#endregion
|
|
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 };
|
|
3144
|
+
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, RemoteConnections, RemoteData, RemoteLiveError, RemoteMutationError, RemotePersistence, RemotePolicy, RemoteProtocolError, RemoteQueryError, RemoteReadError, RemoteRequirements, RemoteRpc, Requirement, Selection, WindowSchema, WireBoundary, addLayer, addOverlay, applyConnectionEvent, applyEntityEvent, assemble, beginMutation, beginOptimistic, classifyLive, clearStale, coalesceQueries, coalesceReads, coalescedLayer, connectionChangeOf, connectionIdentity, connectionsOf, 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, requirementsOf, retentionRootsSchema, schemaOf, segment, setStale, settleFailure, settleSuccess, shouldWake, stableStringify, targetsOf, terminal, tombstone, unknown, updateRemote, visibleItems, visibleStore, windowKey, writeEntities, writeEntity, writeRead };
|
|
2965
3145
|
|
|
2966
3146
|
//# sourceMappingURL=index.mjs.map
|