effectable 1.1.1-canary.1 → 1.2.0-canary.10
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 +10 -0
- package/build/component/GraphRuntime.d.ts +147 -14
- package/build/component/GraphRuntime.d.ts.map +1 -1
- package/build/component/GraphRuntime.js +567 -136
- package/build/component/GraphRuntime.js.map +1 -1
- package/build/component/types.d.ts +12 -0
- package/build/component/types.d.ts.map +1 -1
- package/build/component/types.js +13 -1
- package/build/component/types.js.map +1 -1
- package/build/connect/connect.d.ts +31 -0
- package/build/connect/connect.d.ts.map +1 -1
- package/build/connect/connect.js +607 -68
- package/build/connect/connect.js.map +1 -1
- package/build/connect/index.d.ts +1 -1
- package/build/connect/index.d.ts.map +1 -1
- package/build/connect/index.js +2 -1
- package/build/connect/index.js.map +1 -1
- package/build/runtime/BusDecorators.d.ts +3 -0
- package/build/runtime/BusDecorators.d.ts.map +1 -1
- package/build/runtime/BusDecorators.js +3 -0
- package/build/runtime/BusDecorators.js.map +1 -1
- package/build/runtime/EventBus.d.ts +12 -0
- package/build/runtime/EventBus.d.ts.map +1 -1
- package/build/runtime/EventBus.js +12 -0
- package/build/runtime/EventBus.js.map +1 -1
- package/build/runtime/HandleRegistry.d.ts +14 -1
- package/build/runtime/HandleRegistry.d.ts.map +1 -1
- package/build/runtime/HandleRegistry.js +21 -2
- package/build/runtime/HandleRegistry.js.map +1 -1
- package/build/store/createStore.d.ts.map +1 -1
- package/build/store/createStore.js +39 -5
- package/build/store/createStore.js.map +1 -1
- package/build/store/middleware.d.ts +4 -0
- package/build/store/middleware.d.ts.map +1 -1
- package/build/store/middleware.js +33 -8
- package/build/store/middleware.js.map +1 -1
- package/build/store/selector.d.ts.map +1 -1
- package/build/store/selector.js +9 -1
- package/build/store/selector.js.map +1 -1
- package/build/store/semanticStateTree.d.ts.map +1 -1
- package/build/store/semanticStateTree.js +5 -1
- package/build/store/semanticStateTree.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -88,6 +88,16 @@ Rules:
|
|
|
88
88
|
- Data-plane components use direct refs and pre-resolved handles for the fast path.
|
|
89
89
|
- `GraphRuntime` manages lifecycle; it is not meant to run on every high-frequency tick.
|
|
90
90
|
|
|
91
|
+
## Fail-safe & correctness contracts
|
|
92
|
+
|
|
93
|
+
Capabilities already enforced by the runtime (documented here as the product contract):
|
|
94
|
+
|
|
95
|
+
- **GraphRuntime fail-safe** — unrecoverable reconcile / dirty-flush errors fail-stop the runtime (`FAILED`); later `reconcile` rejects; teardown is children→parent. A throwing `onAutoReconcileError` observer cannot skip fail-stop. Dirty flush waits for `ACTIVE` + idle queue; `setState` during materialization is buffered.
|
|
96
|
+
- **connect remount / class fields** — same-instance remount re-runs store wiring (flags, mount generation, stale mapped props, context store re-resolve). Class-field `onMount` / `onUnmount` do not shadow connect subscribe/unsubscribe. Stale async `onMount` after remount is ignored.
|
|
97
|
+
- **Middleware construction** — `applyMiddleware` (wrap and enhancer) throws if `dispatch` runs while middleware factories are still constructing (Redux-compatible invariant).
|
|
98
|
+
- **EventBus delivery** — `publish` snapshots typed and any-handlers before invoke; `@OnEvent` fan-out registers every distinct method for a type.
|
|
99
|
+
- **Bootstrap liveness** — `handle.isRunning()` is `false` after GraphRuntime fail-stop; `reconcile` is a no-op when inactive.
|
|
100
|
+
|
|
91
101
|
## Store
|
|
92
102
|
|
|
93
103
|
See [src/store/README.md](src/store/README.md): creating a store, selectors, middleware, `state$`, `select()`.
|
|
@@ -10,8 +10,17 @@
|
|
|
10
10
|
* - Inject contexts (@UseContext) and bind refs on mount.
|
|
11
11
|
* - Pass updated props into existing instances during reconcile.
|
|
12
12
|
* - Serialize all graph operations through a single operation queue.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
*
|
|
14
|
+
* Fail-safe contracts (public behavior):
|
|
15
|
+
* - Unrecoverable reconcile / dirty-flush errors **fail-stop**: mark runtime FAILED, tear the
|
|
16
|
+
* tree down children→parent, reject later `reconcile`. `onAutoReconcileError` is best-effort
|
|
17
|
+
* observability — a throwing observer cannot skip fail-stop.
|
|
18
|
+
* - Dirty flush runs only while ACTIVE and the operation queue is idle; `setState` during child
|
|
19
|
+
* materialization is buffered and applied after the mount/reconcile pass.
|
|
20
|
+
* - UPDATE `commitRef` runs only after successful compose + child reconcile; compose/key
|
|
21
|
+
* validation failure rolls back the fiber (including premount hooks) without leaving phantoms.
|
|
22
|
+
* - Failed cleanup is children-first and does not invoke a phantom parent `onUnmount`.
|
|
23
|
+
* - Orphan DELETE finalize is best-effort so survivors are not fail-stopped for cleanup noise.
|
|
15
24
|
*
|
|
16
25
|
* Current limitations:
|
|
17
26
|
* - Work loop is synchronous (no priority lanes — next increment).
|
|
@@ -45,6 +54,9 @@ type RuntimeState = (typeof RUNTIME_STATE)[keyof typeof RUNTIME_STATE];
|
|
|
45
54
|
/**
|
|
46
55
|
* Runtime engine for a declarative component tree.
|
|
47
56
|
*
|
|
57
|
+
* After fail-stop the instance is terminal (`FAILED`): further `reconcile` rejects;
|
|
58
|
+
* `unmount` remains safe. See the module overview for the fail-safe contracts.
|
|
59
|
+
*
|
|
48
60
|
* Usage:
|
|
49
61
|
* ```typescript
|
|
50
62
|
* const runtime = await GraphRuntime.mount(h(AppRoot));
|
|
@@ -135,6 +147,12 @@ export declare class GraphRuntime {
|
|
|
135
147
|
* unmount() must await this before concluding teardown is finished.
|
|
136
148
|
*/
|
|
137
149
|
private pendingTeardown;
|
|
150
|
+
/**
|
|
151
|
+
* Imperative ref values bound for owners that expose `@UseImperativeHandle` methods.
|
|
152
|
+
* `commitRef` assigns a limited handle (not the Component instance) into `ref.current`;
|
|
153
|
+
* identity-safe clear must still recognize that handle as owned by the instance.
|
|
154
|
+
*/
|
|
155
|
+
private readonly imperativeRefByOwner;
|
|
138
156
|
/**
|
|
139
157
|
* Instances are created only via {@link GraphRuntime.mount}; direct `new GraphRuntime()` is unavailable externally.
|
|
140
158
|
*/
|
|
@@ -172,9 +190,20 @@ export declare class GraphRuntime {
|
|
|
172
190
|
*/
|
|
173
191
|
private disposeEffectableRuntimeBusWiring;
|
|
174
192
|
/**
|
|
175
|
-
*
|
|
193
|
+
* Builds the value assigned to `ref.current` for a mounted instance.
|
|
194
|
+
*
|
|
195
|
+
* When the constructor declares `@UseImperativeHandle` methods, only those methods
|
|
196
|
+
* are exposed (bound to the instance) — matching the refs.ts / CONCEPT contract.
|
|
197
|
+
* Without an allowlist, the full instance is assigned (legacy escape hatch).
|
|
198
|
+
*
|
|
199
|
+
* @param {Component<unknown, unknown>} instance - mounted component instance
|
|
200
|
+
* @returns {unknown} instance or limited imperative handle object
|
|
201
|
+
*/
|
|
202
|
+
private resolveRefCurrentValue;
|
|
203
|
+
/**
|
|
204
|
+
* Identity-safe ref clearing: clears ref.current only if it still points to the expected owner
|
|
205
|
+
* (full instance) or the limited imperative handle previously bound for that owner.
|
|
176
206
|
* Prevents an old rollback from clearing a ref that a newer materialization already reused.
|
|
177
|
-
* No cast required (Component | null → unknown | null is assignable).
|
|
178
207
|
*
|
|
179
208
|
* @param {RefObject<unknown>} ref - ref object
|
|
180
209
|
* @param {Component<unknown, unknown>} expectedOwner - expected current owner
|
|
@@ -187,12 +216,10 @@ export declare class GraphRuntime {
|
|
|
187
216
|
*
|
|
188
217
|
* Rules:
|
|
189
218
|
* - Clear previousRef only if it still points to expectedPreviousOwner (identity-safe).
|
|
190
|
-
* - Bind nextRef to instance
|
|
219
|
+
* - Bind nextRef to the instance, or to a limited `@UseImperativeHandle` surface when declared.
|
|
191
220
|
* - previousRef and nextRef can be the same object (ref reuse) or different (ref swap).
|
|
192
221
|
* - Do not let an old disposer clear a newer owner.
|
|
193
222
|
*
|
|
194
|
-
* No casts: Component | null → unknown | null is assignable (widening).
|
|
195
|
-
*
|
|
196
223
|
* @param {RefObject<unknown> | undefined} previousRef - ref to clear (can be undefined if no previous ref)
|
|
197
224
|
* @param {Component<unknown, unknown> | null} expectedPreviousOwner - expected owner of previousRef (null if unknown)
|
|
198
225
|
* @param {RefObject<unknown> | undefined} nextRef - ref to bind to instance (can be undefined if removing ref)
|
|
@@ -216,11 +243,16 @@ export declare class GraphRuntime {
|
|
|
216
243
|
* Transactional rollback for failed fiber materialization.
|
|
217
244
|
* Releases acquired resources in reverse acquisition order:
|
|
218
245
|
* 1. disable scheduler hook
|
|
219
|
-
* 2.
|
|
220
|
-
* 3.
|
|
221
|
-
* 4.
|
|
222
|
-
* 5.
|
|
246
|
+
* 2. destroy mounted children in compose order (same as {@link destroyFiber})
|
|
247
|
+
* 3. run failed-startup cleanup (parent onUnmount when startup ran)
|
|
248
|
+
* 4. dispose runtime bus registrations
|
|
249
|
+
* 5. clear bound ref (identity-safe)
|
|
223
250
|
* 6. unlink the partial fiber
|
|
251
|
+
*
|
|
252
|
+
* Children must be destroyed before parent bus dispose / ref clear / onUnmount so
|
|
253
|
+
* child onUnmount still sees a live parent ref and parent @On* subscriptions
|
|
254
|
+
* (matches {@link destroyFiber} / {@link runFiberFailedCleanup}).
|
|
255
|
+
*
|
|
224
256
|
* Cleanup is best-effort: one failure does not skip remaining steps.
|
|
225
257
|
* Preserves the original materialization error; cleanup errors are attached.
|
|
226
258
|
* Rollback is idempotent.
|
|
@@ -234,7 +266,7 @@ export declare class GraphRuntime {
|
|
|
234
266
|
* Async continuation of rollback child destruction after one child's destroy returned a Promise.
|
|
235
267
|
*
|
|
236
268
|
* @param {RuntimeFiber<unknown>[]} children - mounted children
|
|
237
|
-
* @param {number}
|
|
269
|
+
* @param {number} pendingIdx - index of the child whose destroy is pending
|
|
238
270
|
* @param {Promise<void>} pending - Promise from destroying the previous child
|
|
239
271
|
* @param {Error} primaryError - original materialization error
|
|
240
272
|
* @param {Error[]} cleanupErrors - accumulated cleanup errors
|
|
@@ -245,7 +277,8 @@ export declare class GraphRuntime {
|
|
|
245
277
|
private continueRollbackDestroyAsync;
|
|
246
278
|
/**
|
|
247
279
|
* After rollback destroyed children: run parent failed-cleanup only when startup
|
|
248
|
-
* actually ran (`status !== 'registered'`), then
|
|
280
|
+
* actually ran (`status !== 'registered'`), then dispose parent bus + clear parent
|
|
281
|
+
* ref (after children / onUnmount), then attach cleanup errors and rethrow.
|
|
249
282
|
*
|
|
250
283
|
* @param {RuntimeFiber<unknown>} fiber - parent fiber being rolled back
|
|
251
284
|
* @param {Component<unknown, unknown> | null} instance - parent instance
|
|
@@ -254,6 +287,15 @@ export declare class GraphRuntime {
|
|
|
254
287
|
* @returns {void | Promise<void>} always rejects via {@link finalizeRollback}
|
|
255
288
|
*/
|
|
256
289
|
private finishRollbackParentCleanup;
|
|
290
|
+
/**
|
|
291
|
+
* Best-effort parent bus dispose + identity-safe ref clear after children (and
|
|
292
|
+
* parent onUnmount when applicable) have finished during materialize rollback.
|
|
293
|
+
*
|
|
294
|
+
* @param {RuntimeFiber<unknown>} fiber - parent fiber being rolled back
|
|
295
|
+
* @param {Error[]} cleanupErrors - accumulated cleanup errors
|
|
296
|
+
* @returns {void}
|
|
297
|
+
*/
|
|
298
|
+
private disposeRollbackParentResources;
|
|
257
299
|
/**
|
|
258
300
|
* Attaches cleanup errors to the primary error and rethrows.
|
|
259
301
|
*
|
|
@@ -449,6 +491,79 @@ export declare class GraphRuntime {
|
|
|
449
491
|
* @returns {FiberInspectNode} node snapshot
|
|
450
492
|
*/
|
|
451
493
|
private toFiberInspectNode;
|
|
494
|
+
/**
|
|
495
|
+
* Runs deferred {@link LifecycleEngine.runStartup} for a fiber subtree in
|
|
496
|
+
* children→parent order (siblings in compose order).
|
|
497
|
+
*
|
|
498
|
+
* Call only after the subtree (and any later siblings that must observe
|
|
499
|
+
* publishes) have completed bus wiring. Idempotent for fibers that already
|
|
500
|
+
* started.
|
|
501
|
+
*
|
|
502
|
+
* @param {RuntimeFiber<unknown>} fiber - subtree root
|
|
503
|
+
* @returns {void | Promise<void>}
|
|
504
|
+
*/
|
|
505
|
+
private flushDeferredLifecycleTree;
|
|
506
|
+
/**
|
|
507
|
+
* Async continuation of {@link flushDeferredLifecycleTree} after a child flush returns a Promise.
|
|
508
|
+
*
|
|
509
|
+
* @param {RuntimeFiber<unknown>} fiber - subtree root
|
|
510
|
+
* @param {RuntimeFiber<unknown>[]} children - child fibers
|
|
511
|
+
* @param {number} pendingIdx - index of the pending child
|
|
512
|
+
* @param {PromiseLike<void>} pending - pending child flush
|
|
513
|
+
* @returns {Promise<void>}
|
|
514
|
+
*/
|
|
515
|
+
private continueFlushDeferredLifecycleAsync;
|
|
516
|
+
/**
|
|
517
|
+
* Runs startup + update-hook injection when {@link FiberConstructionJournal.lifecycleDeferred}
|
|
518
|
+
* is set; no-op otherwise.
|
|
519
|
+
*
|
|
520
|
+
* @param {RuntimeFiber<unknown>} fiber - fiber to start
|
|
521
|
+
* @returns {void | Promise<void>}
|
|
522
|
+
*/
|
|
523
|
+
private runDeferredLifecycleIfNeeded;
|
|
524
|
+
/**
|
|
525
|
+
* Async path for {@link runDeferredLifecycleIfNeeded} when startup returns a Promise.
|
|
526
|
+
*
|
|
527
|
+
* @param {RuntimeFiber<unknown>} fiber - fiber being started
|
|
528
|
+
* @param {PromiseLike<import('./lifecycle').LifecycleTransitionResult>} pendingStartup - pending startup
|
|
529
|
+
* @returns {Promise<void>}
|
|
530
|
+
*/
|
|
531
|
+
private finalizeDeferredLifecycleAsync;
|
|
532
|
+
/**
|
|
533
|
+
* After bus wiring: either defer lifecycle (sibling/parent batching) or flush
|
|
534
|
+
* deferred children and run this fiber's startup.
|
|
535
|
+
*
|
|
536
|
+
* @template P node props type
|
|
537
|
+
* @param {RuntimeFiber<P>} fiber - fiber that just finished wiring
|
|
538
|
+
* @param {Component<unknown, P>} instance - component instance
|
|
539
|
+
* @param {LifecycleEngine} engine - lifecycle engine
|
|
540
|
+
* @param {boolean} deferLifecycle - when true, skip startup until a parent flush
|
|
541
|
+
* @returns {RuntimeFiber<P> | Promise<RuntimeFiber<P>>}
|
|
542
|
+
*/
|
|
543
|
+
private completeMaterializeAfterWiring;
|
|
544
|
+
/**
|
|
545
|
+
* Async continuation after a deferred child flush during materialize completion.
|
|
546
|
+
*
|
|
547
|
+
* @template P node props type
|
|
548
|
+
* @param {RuntimeFiber<P>} fiber - parent fiber
|
|
549
|
+
* @param {Component<unknown, P>} instance - parent instance
|
|
550
|
+
* @param {LifecycleEngine} engine - parent engine
|
|
551
|
+
* @param {RuntimeFiber<unknown>[]} children - child fibers
|
|
552
|
+
* @param {number} pendingIdx - pending child index
|
|
553
|
+
* @param {PromiseLike<void>} pending - pending flush
|
|
554
|
+
* @returns {Promise<RuntimeFiber<P>>}
|
|
555
|
+
*/
|
|
556
|
+
private continueCompleteMaterializeAfterWiringAsync;
|
|
557
|
+
/**
|
|
558
|
+
* Runs startup for a fiber that is completing materialize (not deferred).
|
|
559
|
+
*
|
|
560
|
+
* @template P node props type
|
|
561
|
+
* @param {RuntimeFiber<P>} fiber - fiber
|
|
562
|
+
* @param {Component<unknown, P>} instance - instance
|
|
563
|
+
* @param {LifecycleEngine} engine - engine
|
|
564
|
+
* @returns {RuntimeFiber<P> | Promise<RuntimeFiber<P>>}
|
|
565
|
+
*/
|
|
566
|
+
private runMaterializeStartup;
|
|
452
567
|
/**
|
|
453
568
|
* Creates a RuntimeFiber for a virtual node: instantiates the component,
|
|
454
569
|
* injects contexts, builds the child scope (for ContextProvider),
|
|
@@ -461,12 +576,14 @@ export declare class GraphRuntime {
|
|
|
461
576
|
* @param {VirtualServiceNode<P>} vnode - virtual node
|
|
462
577
|
* @param {RuntimeFiber | null} parentFiber - parent fiber
|
|
463
578
|
* @param {ContextScope} parentScope - parent scope
|
|
579
|
+
* @param {boolean} [deferLifecycle=false] - when true, wire buses but defer onMount
|
|
580
|
+
* until {@link flushDeferredLifecycleTree} (used for sibling batching)
|
|
464
581
|
* @returns {RuntimeFiber<P> | Promise<RuntimeFiber<P>>}
|
|
465
582
|
*/
|
|
466
583
|
private materialize;
|
|
467
584
|
/**
|
|
468
585
|
* Async continuation of {@link materialize} after a child returned a Promise.
|
|
469
|
-
* Finishes remaining child fibers with `await`, then
|
|
586
|
+
* Finishes remaining child fibers with `await`, then completes wiring / lifecycle.
|
|
470
587
|
*
|
|
471
588
|
* @param {RuntimeFiber<P>} fiber - current fiber
|
|
472
589
|
* @param {Component<unknown, P>} instance - component instance
|
|
@@ -476,6 +593,7 @@ export declare class GraphRuntime {
|
|
|
476
593
|
* @param {ContextScope} childScope - scope for child nodes
|
|
477
594
|
* @param {Promise<RuntimeFiber<unknown>>} pending - Promise for the current child
|
|
478
595
|
* @param {number} pendingIdx - index of the current child
|
|
596
|
+
* @param {boolean} deferLifecycle - parent defer flag from {@link materialize}
|
|
479
597
|
* @returns {Promise<RuntimeFiber<P>>}
|
|
480
598
|
*/
|
|
481
599
|
private continueMaterializeAsync;
|
|
@@ -498,6 +616,9 @@ export declare class GraphRuntime {
|
|
|
498
616
|
* @param {VirtualServiceNode<P>} nextVnode - new virtual node
|
|
499
617
|
* @param {RuntimeFiber | null} parentFiber - parent fiber
|
|
500
618
|
* @param {ContextScope} parentScope - parent scope
|
|
619
|
+
* @param {boolean} [deferLifecycle=false] - when true, REPLACE materialize wires buses but
|
|
620
|
+
* defers onMount until the sibling batch flush in {@link reconcileChildren} (same contract
|
|
621
|
+
* as PLACE). Root reconcile must leave this false — nothing else flushes the root.
|
|
501
622
|
* @returns {Promise<RuntimeFiber<P>>}
|
|
502
623
|
*/
|
|
503
624
|
private reconcileFiber;
|
|
@@ -523,6 +644,18 @@ export declare class GraphRuntime {
|
|
|
523
644
|
* @returns {void | Promise<void>}
|
|
524
645
|
*/
|
|
525
646
|
private runFiberFailedCleanup;
|
|
647
|
+
/**
|
|
648
|
+
* Destroys PLACE/REPLACE fibers in `nextChildren` that are not identity-in `currentChildren`.
|
|
649
|
+
* Used when child reconcile succeeded but a later step (e.g. ref commit in
|
|
650
|
+
* {@link applyFiberUpdate}) throws — those new fibers are not linked onto the parent
|
|
651
|
+
* yet, so fail-stop teardown of `currentRoot` cannot reach them.
|
|
652
|
+
*
|
|
653
|
+
* @param {RuntimeFiber<unknown>[]} currentChildren - parent children before apply
|
|
654
|
+
* @param {RuntimeFiber<unknown>[]} nextChildren - reconciled next children
|
|
655
|
+
* @param {unknown} primaryError - error to attach rollback failures onto
|
|
656
|
+
* @returns {void | Promise<void>}
|
|
657
|
+
*/
|
|
658
|
+
private destroyOrphanedPlacedChildren;
|
|
526
659
|
/**
|
|
527
660
|
* Applies the reconcile result to the current fiber in-place.
|
|
528
661
|
* In-place mutation instead of spread: 0 heap allocations on UPDATE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../src/component/GraphRuntime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../src/component/GraphRuntime.ts"],"names":[],"mappings":"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"}
|