foldkit 0.165.0 → 0.166.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.
Files changed (34) hide show
  1. package/README.md +2 -1
  2. package/dist/devTools/serialize.d.ts +8 -4
  3. package/dist/devTools/serialize.d.ts.map +1 -1
  4. package/dist/devTools/serialize.js +12 -8
  5. package/dist/experimental/index.d.ts +1 -0
  6. package/dist/experimental/index.d.ts.map +1 -1
  7. package/dist/experimental/index.js +1 -0
  8. package/dist/experimental/query/define.d.ts +15 -0
  9. package/dist/experimental/query/define.d.ts.map +1 -0
  10. package/dist/experimental/query/define.js +10 -0
  11. package/dist/experimental/query/index.d.ts +4 -0
  12. package/dist/experimental/query/index.d.ts.map +1 -0
  13. package/dist/experimental/query/index.js +1 -0
  14. package/dist/experimental/query/internal.d.ts +57 -0
  15. package/dist/experimental/query/internal.d.ts.map +1 -0
  16. package/dist/experimental/query/internal.js +25 -0
  17. package/dist/experimental/query/keyedQuery.d.ts +89 -0
  18. package/dist/experimental/query/keyedQuery.d.ts.map +1 -0
  19. package/dist/experimental/query/keyedQuery.js +144 -0
  20. package/dist/experimental/query/public.d.ts +4 -0
  21. package/dist/experimental/query/public.d.ts.map +1 -0
  22. package/dist/experimental/query/public.js +1 -0
  23. package/dist/experimental/query/query.d.ts +78 -0
  24. package/dist/experimental/query/query.d.ts.map +1 -0
  25. package/dist/experimental/query/query.js +102 -0
  26. package/dist/managedResource/managedResource.d.ts +7 -7
  27. package/dist/managedResource/managedResource.d.ts.map +1 -1
  28. package/dist/managedResource/managedResource.js +7 -7
  29. package/dist/runtime/devToolsConfig.d.ts +2 -0
  30. package/dist/runtime/devToolsConfig.d.ts.map +1 -1
  31. package/dist/subscription/subscription.d.ts +33 -72
  32. package/dist/subscription/subscription.d.ts.map +1 -1
  33. package/dist/subscription/subscription.js +31 -61
  34. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/experimental/query/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { Effect, Number, Schema, pipe } from 'effect';
2
+ import * as AsyncData from '../../asyncData/index.js';
3
+ import * as Command from '../../command/index.js';
4
+ import { defineMessageUnion } from '../../message/index.js';
5
+ import { modifyFields } from '../../struct/index.js';
6
+ import * as Update from '../../update/index.js';
7
+ import { applyTransition, isParentFieldConfig, parentFieldToLens, runExecute, } from './internal.js';
8
+ const makeQueryMessage = (data, error) => defineMessageUnion({
9
+ CompletedFetch: {
10
+ generation: Schema.Number,
11
+ result: Schema.Result(data, error),
12
+ },
13
+ });
14
+ /** Builds the Model Schema for a Query. */
15
+ export const makeQueryModel = (data, error) => Schema.Struct({
16
+ data: AsyncData.Schema(data, error).schema,
17
+ generation: Schema.Number,
18
+ });
19
+ export function defineQuery(config) {
20
+ const Model = makeQueryModel(config.data, config.error);
21
+ const Message = makeQueryMessage(config.data, config.error);
22
+ const Fetch = Command.define(`Fetch${config.name}`, {
23
+ args: { generation: Schema.Number },
24
+ messages: [Message.CompletedFetch],
25
+ execute: ({ generation }) => pipe(config.execute, Effect.result, Effect.map(result => Message.CompletedFetch({ generation, result }))),
26
+ });
27
+ const store = {
28
+ read: model => model.data,
29
+ start: (model, _args, data) => {
30
+ const nextGeneration = Number.increment(model.generation);
31
+ return {
32
+ model: modifyFields(model, {
33
+ data: () => data,
34
+ generation: () => nextGeneration,
35
+ }),
36
+ generation: nextGeneration,
37
+ };
38
+ },
39
+ fetch: (_args, generation) => Fetch({ generation }),
40
+ };
41
+ const init = () => Model.make({ data: AsyncData.Idle(), generation: 0 });
42
+ const reset = (model) => ({
43
+ model: modifyFields(model, { data: () => AsyncData.Idle() }),
44
+ });
45
+ const read = (model) => model.data;
46
+ const revalidate = (model) => applyTransition(store, model, undefined, AsyncData.revalidate);
47
+ const revalidateOrLoad = (model) => applyTransition(store, model, undefined, AsyncData.revalidateOrLoad);
48
+ const loadIfMissing = (model) => applyTransition(store, model, undefined, AsyncData.loadIfMissing);
49
+ const update = (model, message) => Message.match(message, {
50
+ CompletedFetch({ generation, result }) {
51
+ const data = read(model);
52
+ if (!AsyncData.isPending(data) || generation !== model.generation) {
53
+ return { model };
54
+ }
55
+ return {
56
+ model: modifyFields(model, {
57
+ data: () => AsyncData.settle(data, result),
58
+ }),
59
+ };
60
+ },
61
+ });
62
+ const liftFromLens = (lens) => ({
63
+ fold: Update.foldChild({ update, ...lens }),
64
+ reset: Update.foldChildStep({
65
+ update: reset,
66
+ ...lens,
67
+ }),
68
+ revalidate: Update.foldChildStep({
69
+ update: revalidate,
70
+ ...lens,
71
+ }),
72
+ revalidateOrLoad: Update.foldChildStep({
73
+ update: revalidateOrLoad,
74
+ ...lens,
75
+ }),
76
+ loadIfMissing: Update.foldChildStep({
77
+ update: loadIfMissing,
78
+ ...lens,
79
+ }),
80
+ });
81
+ function lift(config) {
82
+ if (isParentFieldConfig(config)) {
83
+ return liftFromLens(parentFieldToLens(config));
84
+ }
85
+ return liftFromLens(config);
86
+ }
87
+ const run = runExecute(config.execute);
88
+ return {
89
+ Model,
90
+ Message,
91
+ Fetch,
92
+ init,
93
+ reset,
94
+ read,
95
+ update,
96
+ revalidate,
97
+ revalidateOrLoad,
98
+ loadIfMissing,
99
+ lift,
100
+ run,
101
+ };
102
+ }
@@ -213,15 +213,15 @@ type ChildMessageOf<Resources> = Resources[keyof Resources] extends Entry<any, i
213
213
  * context, applying a Model accessor and a Message wrapper uniformly to every
214
214
  * entry. Per-entry requirements schemas and resource services are preserved.
215
215
  *
216
- * Unlike `Subscription.lift`, `toChildModel` returns an `Option`: a managed
217
- * resource already speaks in `Option` (`modelToMaybeRequirements` returns
218
- * `Option.none()` to release), and a child Submodel that owns a managed
219
- * resource is itself something that mounts and unmounts. A missing child is
220
- * just another `None` and flows through the same acquire/release channel, so
221
- * each lifted entry's requirements must be `Schema.Option`-wrapped.
216
+ * `read` returns `Some(childModel)` while the child exists and `None` while
217
+ * it is absent.
218
+ * An absent child releases its resources without reading their requirements.
219
+ * Use `Option.some` for a child that is always present. Each child's
220
+ * requirements must be `Schema.Option`-wrapped so child absence and the
221
+ * child's own release condition follow the same acquire/release lifecycle.
222
222
  */
223
223
  export declare const lift: <Resources extends Record<string, Entry<any, any, Option.Option<any>, any, any>>>(resources: Resources) => <ParentModel, ParentMessage>(config: {
224
- readonly toChildModel: (parentModel: ParentModel) => Option.Option<ChildModelOf<Resources>>;
224
+ readonly read: (parentModel: ParentModel) => Option.Option<ChildModelOf<Resources>>;
225
225
  readonly toParentMessage: (message: ChildMessageOf<Resources>) => ParentMessage;
226
226
  }) => { readonly [Key in keyof Resources]: Resources[Key] extends Entry<any, any, infer Requirements, infer Value, infer Service, infer OnAcquired extends (...args: ReadonlyArray<any>) => any> ? Entry<ParentModel, ParentMessage, Requirements, Value, Service, (...args: Parameters<OnAcquired>) => ParentMessage> : never; };
227
227
  type RuntimeKey<Key> = Key extends string ? Key : Key extends number ? `${Key}` : never;
@@ -1 +1 @@
1
- {"version":3,"file":"managedResource.d.ts","sourceRoot":"","sources":["../../src/managedResource/managedResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managedResource.d.ts","sourceRoot":"","sources":["../../src/managedResource/managedResource.ts"],"names":[],"mappings":"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"}
@@ -125,19 +125,19 @@ export const make = () =>
125
125
  * context, applying a Model accessor and a Message wrapper uniformly to every
126
126
  * entry. Per-entry requirements schemas and resource services are preserved.
127
127
  *
128
- * Unlike `Subscription.lift`, `toChildModel` returns an `Option`: a managed
129
- * resource already speaks in `Option` (`modelToMaybeRequirements` returns
130
- * `Option.none()` to release), and a child Submodel that owns a managed
131
- * resource is itself something that mounts and unmounts. A missing child is
132
- * just another `None` and flows through the same acquire/release channel, so
133
- * each lifted entry's requirements must be `Schema.Option`-wrapped.
128
+ * `read` returns `Some(childModel)` while the child exists and `None` while
129
+ * it is absent.
130
+ * An absent child releases its resources without reading their requirements.
131
+ * Use `Option.some` for a child that is always present. Each child's
132
+ * requirements must be `Schema.Option`-wrapped so child absence and the
133
+ * child's own release condition follow the same acquire/release lifecycle.
134
134
  */
135
135
  export const lift = (resources) => (config) =>
136
136
  /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
137
137
  Record.map(resources, resource => ({
138
138
  schema: resource.schema,
139
139
  resource: resource.resource,
140
- modelToMaybeRequirements: (parentModel) => Option.flatMap(config.toChildModel(parentModel), resource.modelToMaybeRequirements),
140
+ modelToMaybeRequirements: (parentModel) => Option.flatMap(config.read(parentModel), resource.modelToMaybeRequirements),
141
141
  acquire: resource.acquire,
142
142
  release: resource.release,
143
143
  onAcquired: (value) => config.toParentMessage(resource.onAcquired(value)),
@@ -41,6 +41,8 @@ export type DevToolsOverlay = (store: DevToolsStore, position: DevToolsPosition,
41
41
  * - `excludeFromHistory`: Message `_tag` values whose dispatches should not be recorded in DevTools history. The Messages still drive `update` and the runtime as usual; they just don't appear in the history panel and don't pay the per-Message diff cost. Use for high-frequency Messages (animation frames, pointer moves, scroll events) that would flood history without adding insight.
42
42
  * - `maxEntries`: Maximum number of recorded Messages retained in history before the oldest is evicted. Defaults to 100. Clamped to the range 20-500: smaller values keep the panel snappy under high message rates, larger values give you more scroll-back. Each retained entry stores a full Model snapshot, so memory cost scales linearly with both `maxEntries` and your Model size.
43
43
  * - `keyframeInterval`: Number of recorded Messages between full Model snapshots. Defaults to 31. Time-travel to an index replays `update` forward from the nearest earlier keyframe, so this is a memory/time tradeoff: smaller values store more snapshots (more memory) but make each jump cheaper, down to `1` where every jump is a constant-time snapshot lookup with no replay. Reach for a denser interval when the app has a heavy `update` and time-travel jumps feel sluggish. Clamped to a minimum of 1. Forced to 1 automatically when `excludeFromHistory` is active, since excluded Messages are never replayed.
44
+ *
45
+ * DevTools records Models, Message payloads, Command args, and Mount args. A connected DevTools MCP agent can read that data. Keep secrets out of browser state where possible and use Effect `Redacted` for sensitive values the browser must temporarily hold. `excludeFromHistory` does not hide changes that enter the Model, and omitting `Message` disables agent dispatch without disabling inspection.
44
46
  */
45
47
  export type DevToolsConfig = false | Readonly<{
46
48
  show?: Visibility;
@@ -1 +1 @@
1
- {"version":3,"file":"devToolsConfig.d.ts","sourceRoot":"","sources":["../../src/runtime/devToolsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,iBAAiB,CAAA;AAE5D,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,SAAS,CAAA;AAEb;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,CAAA;AAEnD;;;;gFAIgF;AAChF,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,QAAQ,CAAC;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC,CAAA;AAErE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,QAAQ,CAAC;IACP,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;CACnD,CAAC,CAAA;AAIN,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,YACtB,eAAe,GAAG,SAAS,KACnC,IAEF,CAAA;AAiBD;+BAC+B;AAC/B,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;CAC7C,CAAC,CAAA;AAEF;;;gDAGgD;AAChD,eAAO,MAAM,qBAAqB,aACtB,cAAc,GAAG,SAAS,KACnC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAmBtC,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,aAC9B,cAAc,GAAG,SAAS,KACnC,WAAW,CAAC,MAAM,CASlB,CAAA;AAEH,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,aAC1B,cAAc,GAAG,SAAS,KACnC,MAAM,GAAG,SAaT,CAAA;AAEH,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,aAChC,cAAc,GAAG,SAAS,KACnC,MAAM,GAAG,SAUT,CAAA"}
1
+ {"version":3,"file":"devToolsConfig.d.ts","sourceRoot":"","sources":["../../src/runtime/devToolsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,iBAAiB,CAAA;AAE5D,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,SAAS,CAAA;AAEb;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,CAAA;AAEnD;;;;gFAIgF;AAChF,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,QAAQ,CAAC;IAAE,WAAW,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC,CAAA;AAErE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;AAE5C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,QAAQ,CAAC;IACP,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;CACnD,CAAC,CAAA;AAIN,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,YACtB,eAAe,GAAG,SAAS,KACnC,IAEF,CAAA;AAiBD;+BAC+B;AAC/B,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;CAC7C,CAAC,CAAA;AAEF;;;gDAGgD;AAChD,eAAO,MAAM,qBAAqB,aACtB,cAAc,GAAG,SAAS,KACnC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAmBtC,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,aAC9B,cAAc,GAAG,SAAS,KACnC,WAAW,CAAC,MAAM,CASlB,CAAA;AAEH,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,aAC1B,cAAc,GAAG,SAAS,KACnC,MAAM,GAAG,SAaT,CAAA;AAEH,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,aAChC,cAAc,GAAG,SAAS,KACnC,MAAM,GAAG,SAUT,CAAA"}
@@ -194,83 +194,47 @@ export declare const persistent: <Message, Services = never>(stream: Stream.Stre
194
194
  type ChildModelOf<ChildSubscriptions> = ChildSubscriptions[keyof ChildSubscriptions] extends Subscription<infer ChildModel, any, any, any> ? ChildModel : never;
195
195
  type ChildMessageOf<ChildSubscriptions> = ChildSubscriptions[keyof ChildSubscriptions] extends Subscription<any, infer ChildMessage, any, any> ? ChildMessage : never;
196
196
  /**
197
- * The dependencies of a Subscription lifted through a parent's `when` gate:
198
- * the child entry's own dependencies under `maybeDependencies`, and `None`
199
- * for as long as the parent holds the gate closed.
200
- *
201
- * A closed gate is a real teardown rather than a paused Stream. The entry's
202
- * Stream is torn down, and the child's `modelToDependencies` does not run
203
- * again until the parent reopens the gate, so child state that changes behind
204
- * a closed gate causes no restarts.
197
+ * The dependencies of a lifted Subscription. `maybeDependencies` holds the
198
+ * child's dependencies while `read` returns `Some` and its `when` gate is
199
+ * open. Otherwise it holds `None`, which tears down the entry's Stream and
200
+ * skips the child's `modelToDependencies`.
205
201
  */
206
202
  export type GatedDependencies<Dependencies> = Readonly<{
207
203
  maybeDependencies: Option.Option<Dependencies>;
208
204
  }>;
209
205
  type WhenPredicate<ParentModel> = (parentModel: ParentModel) => boolean;
210
206
  /**
211
- * The per-entry form of a lift's `when`: a partial map from entry name to
212
- * gate. Entries the map names are gated, and entries it omits are lifted
213
- * ungated.
207
+ * Additional parent conditions for named entries in a lift's `when` map.
208
+ * Entries omitted from the map run whenever `read` returns a child Model.
214
209
  */
215
210
  export type EntryGates<ParentModel, Subscriptions> = Readonly<Partial<Record<keyof Subscriptions, WhenPredicate<ParentModel>>>>;
216
211
  type LiftConfig<ParentModel, ParentMessage, Subscriptions> = Readonly<{
217
- toChildModel: (parentModel: ParentModel) => ChildModelOf<Subscriptions>;
212
+ read: (parentModel: ParentModel) => Option.Option<ChildModelOf<Subscriptions>>;
218
213
  toParentMessage: (message: ChildMessageOf<Subscriptions>) => ParentMessage;
219
- }>;
220
- type GatedLiftConfig<ParentModel, ParentMessage, Subscriptions> = LiftConfig<ParentModel, ParentMessage, Subscriptions> & Readonly<{
221
- when: WhenPredicate<ParentModel>;
222
- }>;
223
- type PerEntryGatedLiftConfig<ParentModel, ParentMessage, Subscriptions, Gates> = LiftConfig<ParentModel, ParentMessage, Subscriptions> & Readonly<{
224
- when: Gates;
214
+ when?: WhenPredicate<ParentModel> | EntryGates<ParentModel, Subscriptions>;
225
215
  }>;
226
216
  type LiftedSubscriptions<ParentModel, ParentMessage, Subscriptions> = {
227
- readonly [K in keyof Subscriptions]: Subscriptions[K] extends Subscription<any, any, infer Dependencies, infer Services> ? Subscription<ParentModel, ParentMessage, Dependencies, Services> : never;
228
- };
229
- type GatedLiftedSubscriptions<ParentModel, ParentMessage, Subscriptions> = {
230
217
  readonly [K in keyof Subscriptions]: Subscriptions[K] extends Subscription<any, any, infer Dependencies, infer Services> ? Subscription<ParentModel, ParentMessage, GatedDependencies<Dependencies>, Services> : never;
231
218
  };
232
219
  /**
233
- * The lifted record for a per-entry `when`. An entry the gate map names
234
- * carries {@link GatedDependencies}; an entry it omits keeps the child's own
235
- * dependencies. When the gate map's own type is not precise enough to say
236
- * which is which, because the call passed explicit `ParentModel` and
237
- * `ParentMessage` type arguments and so suppressed inference on it, the entry
238
- * carries both possibilities.
239
- */
240
- type PerEntryGatedLiftedSubscriptions<ParentModel, ParentMessage, Subscriptions, Gates> = {
241
- readonly [K in keyof Subscriptions]: Subscriptions[K] extends Subscription<any, any, infer Dependencies, infer Services> ? K extends keyof Gates ? undefined extends Gates[K] ? Subscription<ParentModel, ParentMessage, Dependencies | GatedDependencies<Dependencies>, Services> : Subscription<ParentModel, ParentMessage, GatedDependencies<Dependencies>, Services> : Subscription<ParentModel, ParentMessage, Dependencies, Services> : never;
242
- };
243
- /**
244
- * Lifts a record of child Subscriptions into a parent's Model and Message
245
- * context, applying a Model accessor and a Message wrapper uniformly to
246
- * every entry. Per-entry dependency types, schemas, and `keepAliveEquivalence`
247
- * settings are preserved; each lifted entry's variant (with or without
248
- * `readDependencies`) matches its source entry's.
220
+ * Lifts child Subscriptions into a parent's Model and Message context.
221
+ * `read` returns `Some(childModel)` while the child exists and `None` while
222
+ * it is absent, matching `Update.foldChild` and `ManagedResource.lift`.
223
+ * An absent child tears down every entry's Stream without reading the
224
+ * child's dependencies. Use `Option.some` for a child that is always present.
249
225
  *
250
- * The optional `when` is the parent's own gate. The parent writes it here on
251
- * its `lift` call and answers it from the parent Model, which is what makes
252
- * it useful: it carries the half of a condition the child cannot see, such as
253
- * the route a page Submodel sits behind. The child neither declares nor sees
254
- * the gate, and keeps holding its own half in `modelToDependencies`. A gated
255
- * entry runs only while its gate returns `true`, and a closed gate tears it
256
- * down.
226
+ * The optional `when` adds conditions from the parent Model. One predicate
227
+ * gates every entry; an {@link EntryGates} map adds a gate only to its named
228
+ * entries. An entry runs only while its gate is open and `read` returns
229
+ * `Some`. A closed gate skips `read` as well as the child's dependency
230
+ * projection. Entries omitted from a gate map still stop when the child
231
+ * is absent.
257
232
  *
258
- * `when` takes either shape:
259
- *
260
- * - One predicate gates every entry in the record, for the common case where
261
- * the whole child answers to one parent condition.
262
- * - An {@link EntryGates} map gates entries by name, for a child whose
263
- * Subscriptions answer to different parent conditions. Entries the map
264
- * omits are lifted ungated. A child never has to organize its records
265
- * around its parent's gating.
266
- *
267
- * Gating rewrites a gated entry's dependencies to {@link GatedDependencies},
268
- * so its `readDependencies` returns the last dependencies seen through an
269
- * open gate. Ungated entries keep the child's dependencies untouched. Passing
270
- * `ParentModel` and `ParentMessage` explicitly suppresses inference on the
271
- * gate map, which leaves each named entry's dependencies as either shape; let
272
- * both infer from an annotated `toChildModel` when you want the exact per
273
- * entry types.
233
+ * Every lifted entry wraps its dependencies in {@link GatedDependencies}.
234
+ * The child's dependency Schema, service requirements, and
235
+ * `keepAliveEquivalence` are preserved inside that wrapper. A running child
236
+ * Stream's `readDependencies` receives current child dependencies while
237
+ * active, with its starting dependencies as a fallback during teardown.
274
238
  *
275
239
  * @example
276
240
  * ```ts
@@ -278,23 +242,20 @@ type PerEntryGatedLiftedSubscriptions<ParentModel, ParentMessage, Subscriptions,
278
242
  * Model,
279
243
  * Message
280
244
  * >({
281
- * toChildModel: model => model.home,
282
- * toParentMessage: message => GotHomeMessage({ message }),
283
- * when: ({ route }) => route._tag === 'Home',
245
+ * read: model => model.maybeHome,
246
+ * toParentMessage: message => Message.GotHomeMessage({ message }),
284
247
  * })
285
248
  *
286
- * const roomSubscriptions = Subscription.lift(Room.subscriptions)({
287
- * toChildModel: (model: Model) => model.room,
288
- * toParentMessage: (message: Room.Message): Message =>
289
- * GotRoomMessage({ message }),
249
+ * const roomSubscriptions = Subscription.lift(Room.subscriptions)<
250
+ * Model,
251
+ * Message
252
+ * >({
253
+ * read: model => Option.some(model.room),
254
+ * toParentMessage: message => Message.GotRoomMessage({ message }),
290
255
  * when: { roomKeyboard: ({ route }) => route._tag === 'Room' },
291
256
  * })
292
257
  * ```
293
258
  */
294
- export declare const lift: <Subscriptions extends Readonly<Record<string, Subscription<any, any, any, any>>>>(subscriptions: Subscriptions) => {
295
- <ParentModel, ParentMessage>(config: GatedLiftConfig<ParentModel, ParentMessage, Subscriptions>): GatedLiftedSubscriptions<ParentModel, ParentMessage, Subscriptions>;
296
- <ParentModel, ParentMessage, Gates extends EntryGates<ParentModel, Subscriptions> = EntryGates<ParentModel, Subscriptions>>(config: PerEntryGatedLiftConfig<ParentModel, ParentMessage, Subscriptions, Gates>): PerEntryGatedLiftedSubscriptions<ParentModel, ParentMessage, Subscriptions, Gates>;
297
- <ParentModel, ParentMessage>(config: LiftConfig<ParentModel, ParentMessage, Subscriptions>): LiftedSubscriptions<ParentModel, ParentMessage, Subscriptions>;
298
- };
259
+ export declare const lift: <Subscriptions extends Readonly<Record<string, Subscription<any, any, any, any>>>>(subscriptions: Subscriptions) => <ParentModel, ParentMessage>(config: LiftConfig<ParentModel, ParentMessage, Subscriptions>) => LiftedSubscriptions<ParentModel, ParentMessage, Subscriptions>;
299
260
  export {};
300
261
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/subscription/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/subscription/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAEhB,MAAM,EAEN,MAAM,EACN,MAAM,EAEP,MAAM,QAAQ,CAAA;AAEf,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAA;CAC/B,CAAA;AAED,KAAK,kBAAkB,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;CACtC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAA;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAA;IACrC,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,YAAY,EAAE,YAAY,KACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI;IAChE,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAA;IAC5D,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IACpE,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,YAAY,KACjC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,GAAG,KAAK,IACrD,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,GAC7D,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,YAAY,CACtB,KAAK,EACL,OAAO,EACP,YAAY,EACZ,QAAQ,GAAG,KAAK,IACd,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAA;AAErE,sEAAsE;AACtE,MAAM,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,IAAI,QAAQ,CACpE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAC5D,CAAA;AAED;;;GAGG;AACH,KAAK,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI;IAC5E,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAA;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAA;IACrC,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,YAAY,EAAE,YAAY,KACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED;;;GAGG;AACH,KAAK,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI;IACzE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAA;IAC5D,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IACpE,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,YAAY,KACjC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,CACnD,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,SAAS,SACL,8BAA8B,CAC5B,KAAK,EACL,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,QAAQ,CACT,GACD,2BAA2B,CACzB,KAAK,EACL,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,QAAQ,CACT,EAEL,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,KACjB,SAAS,SAAS;IACrB,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;CAC5D,GACG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GACxE,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI,GACd,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,QAE/B,OAAO,SAAS,QAAQ,CACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CACrD,SAEM,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,OAAO,KAChE,EACD,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAY9D,CAAA;AAEH,KAAK,gBAAgB,GAAG,QAAQ,CAC9B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACjD,CAAA;AAGD,KAAK,oBAAoB,GAAG,SAAS;IACnC,gBAAgB;IAChB,GAAG,aAAa,CAAC,gBAAgB,CAAC;CACnC,CAAA;AAED,KAAK,eAAe,CAAC,mBAAmB,IAAI,mBAAmB,SAAS,OAAO,GAC3E,mBAAmB,CAAC,MAAM,mBAAmB,CAAC,GAC9C,KAAK,CAAA;AAET,KAAK,SAAS,CAAC,OAAO,SAAS,oBAAoB,IAAI,eAAe,CACpE,OAAO,CAAC,MAAM,CAAC,CAChB,CAAA;AAID,KAAK,YAAY,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS;IAC/C,YAAY,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACzC,GACG,OAAO,SAAS,KAAK,GACnB,KAAK,GACL,KAAK,GACP,KAAK,CAAA;AAET,KAAK,cAAc,CAAC,QAAQ,IAC1B,QAAQ,SAAS,YAAY,CAAC,GAAG,EAAE,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAE/E,KAAK,eAAe,CAAC,QAAQ,IAC3B,QAAQ,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GACxD,QAAQ,GACR,KAAK,CAAA;AAEX,KAAK,SAAS,CAAC,OAAO,SAAS,oBAAoB,IAAI,cAAc,CACnE,SAAS,CAAC,OAAO,CAAC,CACnB,CAAA;AAED,KAAK,UAAU,CAAC,OAAO,SAAS,oBAAoB,IAAI,eAAe,CACrE,SAAS,CAAC,OAAO,CAAC,CACnB,CAAA;AAID,KAAK,cAAc,CAAC,OAAO,SAAS,aAAa,CAAC,gBAAgB,CAAC,IACjE,OAAO,SAAS,SAAS;IACvB,MAAM,IAAI,SAAS,gBAAgB;IACnC,GAAG,MAAM,IAAI,SAAS,aAAa,CAAC,gBAAgB,CAAC;CACtD,GACG,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACnD,cAAc,CAAC,IAAI,CAAC,GACpB,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GACrC,KAAK,CAAA;AAEX,KAAK,uBAAuB,CAAC,OAAO,SAAS,oBAAoB,IAAI;IACnE,QAAQ,EAAE,KAAK,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAC/C,aAAa,CACX,cAAc,CAAC,OAAO,CAAC,EACvB,SAAS,CAAC,OAAO,CAAC,EAClB,UAAU,CAAC,OAAO,CAAC,CACpB;CACJ,CAAA;AAED,KAAK,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,MAAM,GACrC,GAAG,GACH,GAAG,SAAS,MAAM,GAChB,GAAG,GAAG,EAAE,GACR,KAAK,CAAA;AAEX,KAAK,cAAc,CAAC,UAAU,IAAI;IAChC,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;CACvE,CAAA;AAED,KAAK,kBAAkB,CAAC,OAAO,SAAS,aAAa,CAAC,OAAO,CAAC,IAC5D,OAAO,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAChD,cAAc,CAAC,IAAI,CAAC,GAClB,CAAC,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GACvE,EAAE,CAAA;AAwBR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,KAAK,CACpC,GAAG,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAC/D,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC,OAAO,SAAS,oBAAoB,EACnC,GAAG,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAC3C,kBAAkB,CAAC,OAAO,CAAC,CAAA;CAWvB,CAAA;AAET;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,EAAE,QAAQ,GAAG,KAAK,UAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAC9C,qBAAqB,CACtB,OAAO,EACP,OAAO,EACP,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,QAAQ,CAKR,CAAA;AAEF,KAAK,YAAY,CAAC,kBAAkB,IAClC,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,SAAS,YAAY,CAC/D,MAAM,UAAU,EAChB,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,UAAU,GACV,KAAK,CAAA;AAEX,KAAK,cAAc,CAAC,kBAAkB,IACpC,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,SAAS,YAAY,CAC/D,GAAG,EACH,MAAM,YAAY,EAClB,GAAG,EACH,GAAG,CACJ,GACG,YAAY,GACZ,KAAK,CAAA;AAEX;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,IAAI,QAAQ,CAAC;IACrD,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;CAC/C,CAAC,CAAA;AAEF,KAAK,aAAa,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,WAAW,EAAE,aAAa,IAAI,QAAQ,CAC3D,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CACjE,CAAA;AAED,KAAK,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,IAAI,QAAQ,CAAC;IACpE,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9E,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,aAAa,CAAA;IAC1E,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;CAC3E,CAAC,CAAA;AAEF,KAAK,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,IAAI;IACpE,QAAQ,EAAE,CAAC,IAAI,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,YAAY,CACxE,GAAG,EACH,GAAG,EACH,MAAM,YAAY,EAClB,MAAM,QAAQ,CACf,GACG,YAAY,CACV,WAAW,EACX,aAAa,EACb,iBAAiB,CAAC,YAAY,CAAC,EAC/B,QAAQ,CACT,GACD,KAAK;CACV,CAAA;AAqGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,IAAI,GAEb,aAAa,SAAS,QAAQ,CAC5B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACjD,iBAEc,aAAa,MAE7B,WAAW,EAAE,aAAa,UACjB,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,KAC5D,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAItD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Array, Option, Record, Schema, Stream, pipe, } from 'effect';
1
+ import { Array, Function, Option, Record, Schema, Stream, pipe, } from 'effect';
2
2
  /**
3
3
  * Declares a Subscriptions record. The Model, Message, and optional Services
4
4
  * generics are provided up front; the entries record follows, built from
@@ -108,38 +108,22 @@ export const persistent = (stream) => ({
108
108
  });
109
109
  const toEntryWhen = (when, key) => {
110
110
  if (when === undefined) {
111
- return Option.none();
111
+ return Function.constTrue;
112
112
  }
113
113
  else if (typeof when === 'function') {
114
- return Option.some(when);
114
+ return when;
115
115
  }
116
116
  else {
117
- return pipe(Record.get(when, key), Option.flatMap(Option.fromNullishOr));
117
+ return pipe(Record.get(when, key), Option.flatMap(Option.fromNullishOr), Option.getOrElse(() => Function.constTrue));
118
118
  }
119
119
  };
120
120
  const toParentStream = (config, stream) => Stream.map(stream, config.toParentMessage);
121
- const toLiftedEntry = (subscription, config) => {
122
- const modelToDependencies = (parentModel) => subscription.modelToDependencies(config.toChildModel(parentModel));
123
- if (subscription.keepAliveEquivalence !== undefined) {
124
- return {
125
- dependenciesSchema: subscription.dependenciesSchema,
126
- modelToDependencies,
127
- keepAliveEquivalence: subscription.keepAliveEquivalence,
128
- dependenciesToStream: (dependencies, readDependencies) => toParentStream(config, subscription.dependenciesToStream(dependencies, readDependencies)),
129
- };
130
- }
131
- return {
132
- dependenciesSchema: subscription.dependenciesSchema,
133
- modelToDependencies,
134
- dependenciesToStream: (dependencies) => toParentStream(config, subscription.dependenciesToStream(dependencies)),
135
- };
136
- };
137
- const toGatedEntry = (subscription, config, when) => {
121
+ const toLiftedEntry = (subscription, config, when) => {
138
122
  const dependenciesSchema = Schema.Struct({
139
123
  maybeDependencies: Schema.Option(subscription.dependenciesSchema),
140
124
  });
141
125
  const modelToDependencies = (parentModel) => ({
142
- maybeDependencies: pipe(parentModel, Option.liftPredicate(when), Option.map(config.toChildModel), Option.map(subscription.modelToDependencies)),
126
+ maybeDependencies: pipe(parentModel, Option.liftPredicate(when), Option.flatMap(config.read), Option.map(subscription.modelToDependencies)),
143
127
  });
144
128
  if (subscription.keepAliveEquivalence !== undefined) {
145
129
  const maybeKeepAliveEquivalence = Option.makeEquivalence(subscription.keepAliveEquivalence);
@@ -163,36 +147,24 @@ const toGatedEntry = (subscription, config, when) => {
163
147
  };
164
148
  };
165
149
  /**
166
- * Lifts a record of child Subscriptions into a parent's Model and Message
167
- * context, applying a Model accessor and a Message wrapper uniformly to
168
- * every entry. Per-entry dependency types, schemas, and `keepAliveEquivalence`
169
- * settings are preserved; each lifted entry's variant (with or without
170
- * `readDependencies`) matches its source entry's.
171
- *
172
- * The optional `when` is the parent's own gate. The parent writes it here on
173
- * its `lift` call and answers it from the parent Model, which is what makes
174
- * it useful: it carries the half of a condition the child cannot see, such as
175
- * the route a page Submodel sits behind. The child neither declares nor sees
176
- * the gate, and keeps holding its own half in `modelToDependencies`. A gated
177
- * entry runs only while its gate returns `true`, and a closed gate tears it
178
- * down.
179
- *
180
- * `when` takes either shape:
150
+ * Lifts child Subscriptions into a parent's Model and Message context.
151
+ * `read` returns `Some(childModel)` while the child exists and `None` while
152
+ * it is absent, matching `Update.foldChild` and `ManagedResource.lift`.
153
+ * An absent child tears down every entry's Stream without reading the
154
+ * child's dependencies. Use `Option.some` for a child that is always present.
181
155
  *
182
- * - One predicate gates every entry in the record, for the common case where
183
- * the whole child answers to one parent condition.
184
- * - An {@link EntryGates} map gates entries by name, for a child whose
185
- * Subscriptions answer to different parent conditions. Entries the map
186
- * omits are lifted ungated. A child never has to organize its records
187
- * around its parent's gating.
156
+ * The optional `when` adds conditions from the parent Model. One predicate
157
+ * gates every entry; an {@link EntryGates} map adds a gate only to its named
158
+ * entries. An entry runs only while its gate is open and `read` returns
159
+ * `Some`. A closed gate skips `read` as well as the child's dependency
160
+ * projection. Entries omitted from a gate map still stop when the child
161
+ * is absent.
188
162
  *
189
- * Gating rewrites a gated entry's dependencies to {@link GatedDependencies},
190
- * so its `readDependencies` returns the last dependencies seen through an
191
- * open gate. Ungated entries keep the child's dependencies untouched. Passing
192
- * `ParentModel` and `ParentMessage` explicitly suppresses inference on the
193
- * gate map, which leaves each named entry's dependencies as either shape; let
194
- * both infer from an annotated `toChildModel` when you want the exact per
195
- * entry types.
163
+ * Every lifted entry wraps its dependencies in {@link GatedDependencies}.
164
+ * The child's dependency Schema, service requirements, and
165
+ * `keepAliveEquivalence` are preserved inside that wrapper. A running child
166
+ * Stream's `readDependencies` receives current child dependencies while
167
+ * active, with its starting dependencies as a fallback during teardown.
196
168
  *
197
169
  * @example
198
170
  * ```ts
@@ -200,22 +172,20 @@ const toGatedEntry = (subscription, config, when) => {
200
172
  * Model,
201
173
  * Message
202
174
  * >({
203
- * toChildModel: model => model.home,
204
- * toParentMessage: message => GotHomeMessage({ message }),
205
- * when: ({ route }) => route._tag === 'Home',
175
+ * read: model => model.maybeHome,
176
+ * toParentMessage: message => Message.GotHomeMessage({ message }),
206
177
  * })
207
178
  *
208
- * const roomSubscriptions = Subscription.lift(Room.subscriptions)({
209
- * toChildModel: (model: Model) => model.room,
210
- * toParentMessage: (message: Room.Message): Message =>
211
- * GotRoomMessage({ message }),
179
+ * const roomSubscriptions = Subscription.lift(Room.subscriptions)<
180
+ * Model,
181
+ * Message
182
+ * >({
183
+ * read: model => Option.some(model.room),
184
+ * toParentMessage: message => Message.GotRoomMessage({ message }),
212
185
  * when: { roomKeyboard: ({ route }) => route._tag === 'Room' },
213
186
  * })
214
187
  * ```
215
188
  */
216
189
  export const lift = (subscriptions) => (config) =>
217
190
  /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
218
- Record.map(subscriptions, (subscription, key) => Option.match(toEntryWhen(config.when, key), {
219
- onNone: () => toLiftedEntry(subscription, config),
220
- onSome: entryWhen => toGatedEntry(subscription, config, entryWhen),
221
- }));
191
+ Record.map(subscriptions, (subscription, key) => toLiftedEntry(subscription, config, toEntryWhen(config.when, key)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldkit",
3
- "version": "0.165.0",
3
+ "version": "0.166.0",
4
4
  "description": "A TypeScript frontend framework, built on Effect and architected like Elm",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -47,6 +47,10 @@
47
47
  "types": "./dist/experimental/machine/public.d.ts",
48
48
  "import": "./dist/experimental/machine/public.js"
49
49
  },
50
+ "./experimental/query": {
51
+ "types": "./dist/experimental/query/public.d.ts",
52
+ "import": "./dist/experimental/query/public.js"
53
+ },
50
54
  "./experimental/server": {
51
55
  "types": "./dist/experimental/server/public.d.ts",
52
56
  "import": "./dist/experimental/server/public.js"