effectable 0.1.0 → 1.0.0-canary.2
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 +22 -4
- package/build/bootstrap/bootstrap.d.ts.map +1 -1
- package/build/bootstrap/bootstrap.js +12 -6
- package/build/bootstrap/bootstrap.js.map +1 -1
- package/build/bootstrap/types.d.ts +7 -1
- package/build/bootstrap/types.d.ts.map +1 -1
- package/build/component/GraphRuntime.d.ts +226 -18
- package/build/component/GraphRuntime.d.ts.map +1 -1
- package/build/component/GraphRuntime.js +944 -211
- package/build/component/GraphRuntime.js.map +1 -1
- package/build/component/context.d.ts +3 -11
- package/build/component/context.d.ts.map +1 -1
- package/build/component/context.js +24 -23
- package/build/component/context.js.map +1 -1
- package/build/component/h.d.ts +14 -6
- package/build/component/h.d.ts.map +1 -1
- package/build/component/h.js +19 -1
- package/build/component/h.js.map +1 -1
- package/build/component/refs.d.ts +7 -5
- package/build/component/refs.d.ts.map +1 -1
- package/build/component/refs.js +45 -22
- package/build/component/refs.js.map +1 -1
- package/build/component/types.d.ts +16 -5
- package/build/component/types.d.ts.map +1 -1
- package/build/component/types.js.map +1 -1
- package/build/connect/connect.d.ts.map +1 -1
- package/build/connect/connect.js +3 -12
- package/build/connect/connect.js.map +1 -1
- package/build/connect/types.d.ts +2 -2
- package/build/connect/types.d.ts.map +1 -1
- package/build/runtime/BusDecorators.d.ts +6 -0
- package/build/runtime/BusDecorators.d.ts.map +1 -1
- package/build/runtime/BusDecorators.js +117 -56
- package/build/runtime/BusDecorators.js.map +1 -1
- package/build/runtime/CommandBus.d.ts +1 -1
- package/build/runtime/CommandBus.d.ts.map +1 -1
- package/build/runtime/CommandBus.js +6 -3
- package/build/runtime/CommandBus.js.map +1 -1
- package/build/runtime/HandleRegistry.d.ts +2 -1
- package/build/runtime/HandleRegistry.d.ts.map +1 -1
- package/build/runtime/HandleRegistry.js +38 -7
- package/build/runtime/HandleRegistry.js.map +1 -1
- package/build/runtime/QueryBus.d.ts +1 -1
- package/build/runtime/QueryBus.d.ts.map +1 -1
- package/build/runtime/QueryBus.js +6 -3
- package/build/runtime/QueryBus.js.map +1 -1
- package/build/store/createStore.d.ts +2 -2
- package/build/store/createStore.d.ts.map +1 -1
- package/build/store/createStore.js +31 -4
- package/build/store/createStore.js.map +1 -1
- package/build/store/middleware.d.ts +16 -1
- package/build/store/middleware.d.ts.map +1 -1
- package/build/store/middleware.js +16 -15
- package/build/store/middleware.js.map +1 -1
- package/build/store/types.d.ts +11 -4
- package/build/store/types.d.ts.map +1 -1
- package/build/store/types.js.map +1 -1
- package/package.json +20 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/component/refs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/component/refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,10 @@ export interface Disposable {
|
|
|
53
53
|
/**
|
|
54
54
|
* Typed ref object for accessing a component instance from a parent.
|
|
55
55
|
* Filled by GraphRuntime when the node mounts.
|
|
56
|
+
*
|
|
57
|
+
* Covariant in practice (writable data property). Do not add `in out T` — that would
|
|
58
|
+
* reject `RefObject<Child>` at every `h(..., childRef)` unless `h` is generic in the
|
|
59
|
+
* same change; we are not branding {@link RefObject}.
|
|
56
60
|
*/
|
|
57
61
|
export interface RefObject<T> {
|
|
58
62
|
/** Current component instance (null before mount or after unmount). */
|
|
@@ -60,8 +64,12 @@ export interface RefObject<T> {
|
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* Typed component constructor.
|
|
67
|
+
*
|
|
68
|
+
* Optional second type parameter `C` carries the instance type (for `h()` ref checking).
|
|
69
|
+
* Default keeps `ComponentConstructor<P>` meaning `new (props: P) => Component<unknown, P>`
|
|
70
|
+
* so GraphRuntime / mount signatures stay unchanged.
|
|
63
71
|
*/
|
|
64
|
-
export type ComponentConstructor<P = unknown> = new (props: P) =>
|
|
72
|
+
export type ComponentConstructor<P = unknown, C extends Component<unknown, P> = Component<unknown, P>> = new (props: P) => C;
|
|
65
73
|
/**
|
|
66
74
|
* Virtual service-tree node — a declarative component description for GraphRuntime.
|
|
67
75
|
* Created by h() and never contains side effects.
|
|
@@ -142,8 +150,9 @@ export type FiberInspectNode = {
|
|
|
142
150
|
};
|
|
143
151
|
/**
|
|
144
152
|
* Fiber — the reconciler work unit.
|
|
145
|
-
* Each virtual tree node has a corresponding fiber in the current
|
|
146
|
-
*
|
|
153
|
+
* Each virtual tree node has a corresponding fiber in the current (live) graph.
|
|
154
|
+
* GraphRuntime reconciles in place: it mutates this fiber and its children.
|
|
155
|
+
* There is no isolated work-in-progress (WIP) tree.
|
|
147
156
|
*/
|
|
148
157
|
export interface Fiber<P = unknown> {
|
|
149
158
|
/** Virtual node this fiber was created from. */
|
|
@@ -157,8 +166,10 @@ export interface Fiber<P = unknown> {
|
|
|
157
166
|
/** Parent fiber (null for the root). */
|
|
158
167
|
parentFiber: Fiber | null;
|
|
159
168
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
169
|
+
* Unused leftover on the public {@link Fiber} shape. Always `null` at runtime:
|
|
170
|
+
* GraphRuntime creates every fiber with `alternate: null` and never pairs
|
|
171
|
+
* current/WIP trees through this field. Kept so the public type stays unchanged;
|
|
172
|
+
* do not treat it as a work-in-progress pointer.
|
|
162
173
|
*/
|
|
163
174
|
alternate: Fiber | null;
|
|
164
175
|
/** Pending props for a node update (null — no pending update). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,OAAO,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,yDAAyD;IACzD,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,eAA8C,CAAC;AAElF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,eAA4C,CAAC;AAE9E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B;AAMD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiBH;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAElF;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiBH;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAElF;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AA+F9E;;;GAGG;AACU,QAAA,gBAAgB,GAAG;IAC9B,wBAAwB;IACxB,KAAK,EAAE,OAAO;IACd,6BAA6B;IAC7B,MAAM,EAAE,QAAQ;IAChB,6BAA6B;IAC7B,MAAM,EAAE,QAAQ;CACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAU5C,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAGlB,cAAc,EACd,oBAAoB,EAErB,MAAM,SAAS,CAAC;AA0iBjB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAC5E,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EACtE,mCAAmC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EACnG,2BAA2B,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,GAAG,IAAI,EACjF,YAAY,CAAC,EAAE,cAAc,GAC5B,CAAC,CAAC,SAAS,oBAAoB,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CA2BvD"}
|
package/build/connect/connect.js
CHANGED
|
@@ -83,11 +83,8 @@ function getMappedPropsRecord(mapped) {
|
|
|
83
83
|
/**
|
|
84
84
|
* Converts mapDispatchToProps (function or action creators object) into a flat object for merge into props.
|
|
85
85
|
*
|
|
86
|
-
* Function as third argument:
|
|
87
|
-
*
|
|
88
|
-
* Full form `(dispatch, props) => …` — when `function.length >= 2`, both arguments are passed.
|
|
89
|
-
* Do not use a default value on the second parameter if it is needed in the body — then
|
|
90
|
-
* `function.length` will be 1 and `props` will not reach the callback.
|
|
86
|
+
* Function as third argument: always called as `fn(dispatch, props)`.
|
|
87
|
+
* Extra arguments are ignored by JS functions that do not use them.
|
|
91
88
|
*
|
|
92
89
|
* @template S store state type
|
|
93
90
|
* @template P instance props type
|
|
@@ -103,13 +100,7 @@ function resolveMapDispatchProps(store, mapDispatch, props) {
|
|
|
103
100
|
}
|
|
104
101
|
if (typeof mapDispatch === 'function') {
|
|
105
102
|
const fn = mapDispatch;
|
|
106
|
-
|
|
107
|
-
if (fn.length >= 2) {
|
|
108
|
-
out = fn(store.dispatch, props);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
out = fn(store.dispatch);
|
|
112
|
-
}
|
|
103
|
+
const out = fn(store.dispatch, props);
|
|
113
104
|
if (out == null || typeof out !== 'object' || Array.isArray(out)) {
|
|
114
105
|
return null;
|
|
115
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect/connect.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect/connect.ts"],"names":[],"mappings":"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"}
|
package/build/connect/types.d.ts
CHANGED
|
@@ -16,11 +16,11 @@ export type MapStateToProps<S, P = unknown, R = unknown> = (state: S, props: P)
|
|
|
16
16
|
/**
|
|
17
17
|
* mapDispatchToProps function: (dispatch, props) => object of callbacks merged into props.
|
|
18
18
|
*
|
|
19
|
-
* @template
|
|
19
|
+
* @template _S - not used directly in the signature; kept for consistency with mapStateToProps
|
|
20
20
|
* @template P - instance props type
|
|
21
21
|
* @template A - store action union type
|
|
22
22
|
*/
|
|
23
|
-
export type MapDispatchToPropsFunction<
|
|
23
|
+
export type MapDispatchToPropsFunction<_S, P, A extends Action = Action> = (dispatch: DispatchMethod<A>, props: P) => unknown;
|
|
24
24
|
/**
|
|
25
25
|
* Short mapDispatch form: only `(dispatch) => object of callbacks`.
|
|
26
26
|
* Inside `connect` it is called as `fn(dispatch)` without passing `props` from outside
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connect/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CACzD,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,CAAC,KACL,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connect/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CACzD,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,CAAC,KACL,CAAC,CAAC;AAEP;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CACzE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,KACL,OAAO,CAAC;AAEb;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;AAEjH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAC/D,MAAM,EACN,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAC1D,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACnC,8BAA8B,CAAC,CAAC,CAAC,GACjC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,SAAS;IAC9E,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACnF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,CAChC,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,OAAO,EACX,SAAS,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,IACrE,KAAK,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -89,6 +89,9 @@ export declare function instanceUsesRuntimeBusDecorators(instance: object): bool
|
|
|
89
89
|
export declare function wireRuntimeBusesIfDecorated<TCommand extends RuntimeCommand, TQuery extends RuntimeQuery, TEvent extends RuntimeEvent>(instance: object, buses: RuntimeBusesBundle<TCommand, TQuery, TEvent>): (() => void) | null;
|
|
90
90
|
/**
|
|
91
91
|
* Injects buses into `@Use*Bus` fields and registers `@OnCommand` / `@OnQuery` / `@OnEvent` handlers.
|
|
92
|
+
* Registration is transactional: if a handler registration or validation throws, all prior registrations
|
|
93
|
+
* are unwound in reverse order and the wiring error is rethrown. The returned disposer is idempotent
|
|
94
|
+
* and continues cleanup even if an individual disposer throws.
|
|
92
95
|
*
|
|
93
96
|
* @template TCommand
|
|
94
97
|
* @template TQuery
|
|
@@ -101,6 +104,9 @@ export declare function wireRuntimeBuses<TCommand extends RuntimeCommand, TQuery
|
|
|
101
104
|
/**
|
|
102
105
|
* Wires multiple instances to one bus bundle: calls {@link wireRuntimeBuses} for each.
|
|
103
106
|
* Order in `instances` defines wiring order; the disposer unregisters in reverse order.
|
|
107
|
+
* Wiring is transactional: if a later instance fails to wire, all earlier instances are unwound
|
|
108
|
+
* in reverse order. The returned disposer is idempotent and continues cleanup even if an
|
|
109
|
+
* individual disposer throws.
|
|
104
110
|
*
|
|
105
111
|
* @template TCommand
|
|
106
112
|
* @template TQuery
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusDecorators.d.ts","sourceRoot":"","sources":["../../src/runtime/BusDecorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAIV,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAC;AA0BjB;;;;GAIG;AACH,wBAAgB,aAAa,IAAK,iBAAiB,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAK,iBAAiB,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAK,iBAAiB,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAO3D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,MAAM,SAAS,YAAY,GAAG,YAAY;IAE1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,MAAM,SAAS,YAAY,GAAG,YAAY,KACtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAMjD;AAqCD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,YAAY,EAC3B,MAAM,SAAS,YAAY,EAE3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAClD,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAMrB;
|
|
1
|
+
{"version":3,"file":"BusDecorators.d.ts","sourceRoot":"","sources":["../../src/runtime/BusDecorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAIV,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAC;AA0BjB;;;;GAIG;AACH,wBAAgB,aAAa,IAAK,iBAAiB,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAK,iBAAiB,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAK,iBAAiB,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAO3D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,MAAM,SAAS,YAAY,GAAG,YAAY;IAE1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,MAAM,SAAS,YAAY,GAAG,YAAY,KACtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAMjD;AAqCD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,YAAY,EAC3B,MAAM,SAAS,YAAY,EAE3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAClD,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAMrB;AAkCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,YAAY,EAC3B,MAAM,SAAS,YAAY,EAE3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAClD,MAAM,IAAI,CA0FZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,YAAY,EAC3B,MAAM,SAAS,YAAY,EAE3B,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EACnD,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,IAAI,CAgCZ"}
|
|
@@ -33,12 +33,12 @@ const ON_QUERY_ENTRIES = 'effectable:runtime:OnQuery:entries';
|
|
|
33
33
|
const ON_EVENT_ENTRIES = 'effectable:runtime:OnEvent:entries';
|
|
34
34
|
function appendPropKey(ctor, metaKey, propertyKey) {
|
|
35
35
|
const key = String(propertyKey);
|
|
36
|
-
const current = Reflect.
|
|
36
|
+
const current = Reflect.getOwnMetadata(metaKey, ctor);
|
|
37
37
|
const next = typeof current === 'undefined' ? [key] : [...current, key];
|
|
38
38
|
Reflect.defineMetadata(metaKey, next, ctor);
|
|
39
39
|
}
|
|
40
40
|
function appendHandlerEntry(ctor, metaKey, entry) {
|
|
41
|
-
const current = Reflect.
|
|
41
|
+
const current = Reflect.getOwnMetadata(metaKey, ctor);
|
|
42
42
|
const next = typeof current === 'undefined' ? [entry] : [...current, entry];
|
|
43
43
|
Reflect.defineMetadata(metaKey, next, ctor);
|
|
44
44
|
}
|
|
@@ -130,11 +130,11 @@ function createRuntimeBuses() {
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
function getStringPropKeys(ctor, metaKey) {
|
|
133
|
-
const own = Reflect.
|
|
133
|
+
const own = Reflect.getOwnMetadata(metaKey, ctor);
|
|
134
134
|
return typeof own === 'undefined' ? [] : [...own];
|
|
135
135
|
}
|
|
136
136
|
function getHandlerEntries(ctor, metaKey) {
|
|
137
|
-
const own = Reflect.
|
|
137
|
+
const own = Reflect.getOwnMetadata(metaKey, ctor);
|
|
138
138
|
return typeof own === 'undefined' ? [] : [...own];
|
|
139
139
|
}
|
|
140
140
|
/**
|
|
@@ -203,8 +203,30 @@ function assignBusProps(instance, ctor, metaKey, value) {
|
|
|
203
203
|
record[key] = value;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Unwinds disposers in reverse order, continuing even if one throws.
|
|
208
|
+
* Returns primary error (if any) and optional cleanup errors.
|
|
209
|
+
*
|
|
210
|
+
* @param {Array<() => void>} disposers - disposers in registration order
|
|
211
|
+
* @returns {{ primaryError?: Error; cleanupErrors: Error[] }} unwinding result
|
|
212
|
+
*/
|
|
213
|
+
function unwindDisposers(disposers) {
|
|
214
|
+
const cleanupErrors = [];
|
|
215
|
+
for (let i = disposers.length - 1; i >= 0; i -= 1) {
|
|
216
|
+
try {
|
|
217
|
+
disposers[i]();
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
cleanupErrors.push(err instanceof Error ? err : new Error(String(err)));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return { cleanupErrors };
|
|
224
|
+
}
|
|
206
225
|
/**
|
|
207
226
|
* Injects buses into `@Use*Bus` fields and registers `@OnCommand` / `@OnQuery` / `@OnEvent` handlers.
|
|
227
|
+
* Registration is transactional: if a handler registration or validation throws, all prior registrations
|
|
228
|
+
* are unwound in reverse order and the wiring error is rethrown. The returned disposer is idempotent
|
|
229
|
+
* and continues cleanup even if an individual disposer throws.
|
|
208
230
|
*
|
|
209
231
|
* @template TCommand
|
|
210
232
|
* @template TQuery
|
|
@@ -217,68 +239,89 @@ function wireRuntimeBuses(instance, buses) {
|
|
|
217
239
|
const leafCtor = instance.constructor;
|
|
218
240
|
const ctorChain = getConstructorChainLeafFirst(leafCtor);
|
|
219
241
|
const disposers = [];
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const mergedCommand = new Map();
|
|
228
|
-
const mergedQuery = new Map();
|
|
229
|
-
const mergedEvent = new Map();
|
|
230
|
-
for (let i = ctorChain.length - 1; i >= 0; i -= 1) {
|
|
231
|
-
const ctor = ctorChain[i];
|
|
232
|
-
for (const { type, method } of getHandlerEntries(ctor, ON_COMMAND_ENTRIES)) {
|
|
233
|
-
mergedCommand.set(type, method);
|
|
242
|
+
try {
|
|
243
|
+
// Base → leaf: last assign wins when field names collide.
|
|
244
|
+
for (let i = ctorChain.length - 1; i >= 0; i -= 1) {
|
|
245
|
+
const ctor = ctorChain[i];
|
|
246
|
+
assignBusProps(instance, ctor, USE_COMMAND_BUS_PROPS, buses.commandBus);
|
|
247
|
+
assignBusProps(instance, ctor, USE_QUERY_BUS_PROPS, buses.queryBus);
|
|
248
|
+
assignBusProps(instance, ctor, USE_EVENT_BUS_PROPS, buses.eventBus);
|
|
234
249
|
}
|
|
235
|
-
|
|
236
|
-
|
|
250
|
+
const mergedCommand = new Map();
|
|
251
|
+
const mergedQuery = new Map();
|
|
252
|
+
const mergedEvent = new Map();
|
|
253
|
+
for (let i = ctorChain.length - 1; i >= 0; i -= 1) {
|
|
254
|
+
const ctor = ctorChain[i];
|
|
255
|
+
for (const { type, method } of getHandlerEntries(ctor, ON_COMMAND_ENTRIES)) {
|
|
256
|
+
mergedCommand.set(type, method);
|
|
257
|
+
}
|
|
258
|
+
for (const { type, method } of getHandlerEntries(ctor, ON_QUERY_ENTRIES)) {
|
|
259
|
+
mergedQuery.set(type, method);
|
|
260
|
+
}
|
|
261
|
+
for (const { type, method } of getHandlerEntries(ctor, ON_EVENT_ENTRIES)) {
|
|
262
|
+
mergedEvent.set(type, method);
|
|
263
|
+
}
|
|
237
264
|
}
|
|
238
|
-
|
|
239
|
-
|
|
265
|
+
const record = instance;
|
|
266
|
+
for (const [type, method] of mergedCommand) {
|
|
267
|
+
const raw = record[method];
|
|
268
|
+
if (typeof raw !== 'function') {
|
|
269
|
+
throw new Error(`wireRuntimeBuses: OnCommand handler is not a function: ${method}`);
|
|
270
|
+
}
|
|
271
|
+
const handler = (command) => {
|
|
272
|
+
return raw.call(instance, command);
|
|
273
|
+
};
|
|
274
|
+
disposers.push(buses.commandBus.register(type, handler));
|
|
240
275
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
276
|
+
for (const [type, method] of mergedQuery) {
|
|
277
|
+
const raw = record[method];
|
|
278
|
+
if (typeof raw !== 'function') {
|
|
279
|
+
throw new Error(`wireRuntimeBuses: OnQuery handler is not a function: ${method}`);
|
|
280
|
+
}
|
|
281
|
+
const handler = (query) => {
|
|
282
|
+
return raw.call(instance, query);
|
|
283
|
+
};
|
|
284
|
+
disposers.push(buses.queryBus.register(type, handler));
|
|
247
285
|
}
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
286
|
+
for (const [type, method] of mergedEvent) {
|
|
287
|
+
const raw = record[method];
|
|
288
|
+
if (typeof raw !== 'function') {
|
|
289
|
+
throw new Error(`wireRuntimeBuses: OnEvent handler is not a function: ${method}`);
|
|
290
|
+
}
|
|
291
|
+
const handler = (event) => {
|
|
292
|
+
raw.call(instance, event);
|
|
293
|
+
};
|
|
294
|
+
disposers.push(buses.eventBus.subscribe(type, handler));
|
|
257
295
|
}
|
|
258
|
-
const handler = (query) => {
|
|
259
|
-
return raw.call(instance, query);
|
|
260
|
-
};
|
|
261
|
-
disposers.push(buses.queryBus.register(type, handler));
|
|
262
296
|
}
|
|
263
|
-
|
|
264
|
-
const
|
|
265
|
-
|
|
266
|
-
|
|
297
|
+
catch (wiringError) {
|
|
298
|
+
const { cleanupErrors } = unwindDisposers(disposers);
|
|
299
|
+
const primary = wiringError instanceof Error ? wiringError : new Error(String(wiringError));
|
|
300
|
+
if (cleanupErrors.length > 0) {
|
|
301
|
+
primary.cleanupErrors = cleanupErrors;
|
|
267
302
|
}
|
|
268
|
-
|
|
269
|
-
raw.call(instance, event);
|
|
270
|
-
};
|
|
271
|
-
disposers.push(buses.eventBus.subscribe(type, handler));
|
|
303
|
+
throw primary;
|
|
272
304
|
}
|
|
305
|
+
let disposed = false;
|
|
273
306
|
return () => {
|
|
274
|
-
|
|
275
|
-
|
|
307
|
+
if (disposed) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
disposed = true;
|
|
311
|
+
const { cleanupErrors } = unwindDisposers(disposers);
|
|
312
|
+
if (cleanupErrors.length > 0) {
|
|
313
|
+
const aggregateError = new Error(`wireRuntimeBuses: disposer cleanup encountered ${cleanupErrors.length} error(s)`);
|
|
314
|
+
aggregateError.cleanupErrors = cleanupErrors;
|
|
315
|
+
throw aggregateError;
|
|
276
316
|
}
|
|
277
317
|
};
|
|
278
318
|
}
|
|
279
319
|
/**
|
|
280
320
|
* Wires multiple instances to one bus bundle: calls {@link wireRuntimeBuses} for each.
|
|
281
321
|
* Order in `instances` defines wiring order; the disposer unregisters in reverse order.
|
|
322
|
+
* Wiring is transactional: if a later instance fails to wire, all earlier instances are unwound
|
|
323
|
+
* in reverse order. The returned disposer is idempotent and continues cleanup even if an
|
|
324
|
+
* individual disposer throws.
|
|
282
325
|
*
|
|
283
326
|
* @template TCommand
|
|
284
327
|
* @template TQuery
|
|
@@ -289,13 +332,31 @@ function wireRuntimeBuses(instance, buses) {
|
|
|
289
332
|
*/
|
|
290
333
|
function wireRuntimeBusesAll(buses, instances) {
|
|
291
334
|
const disposers = [];
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
335
|
+
try {
|
|
336
|
+
for (let i = 0; i < instances.length; i += 1) {
|
|
337
|
+
const instance = instances[i];
|
|
338
|
+
disposers.push(wireRuntimeBuses(instance, buses));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch (wiringError) {
|
|
342
|
+
const { cleanupErrors } = unwindDisposers(disposers);
|
|
343
|
+
const primary = wiringError instanceof Error ? wiringError : new Error(String(wiringError));
|
|
344
|
+
if (cleanupErrors.length > 0) {
|
|
345
|
+
primary.cleanupErrors = cleanupErrors;
|
|
346
|
+
}
|
|
347
|
+
throw primary;
|
|
295
348
|
}
|
|
349
|
+
let disposed = false;
|
|
296
350
|
return () => {
|
|
297
|
-
|
|
298
|
-
|
|
351
|
+
if (disposed) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
disposed = true;
|
|
355
|
+
const { cleanupErrors } = unwindDisposers(disposers);
|
|
356
|
+
if (cleanupErrors.length > 0) {
|
|
357
|
+
const aggregateError = new Error(`wireRuntimeBusesAll: disposer cleanup encountered ${cleanupErrors.length} error(s)`);
|
|
358
|
+
aggregateError.cleanupErrors = cleanupErrors;
|
|
359
|
+
throw aggregateError;
|
|
299
360
|
}
|
|
300
361
|
};
|
|
301
362
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusDecorators.js","sourceRoot":"","sources":["../../src/runtime/BusDecorators.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AA6CH,sCAIC;AAOD,kCAIC;AAOD,kCAIC;AAQD,8BAOC;AAQD,0BAOC;AAQD,0BAOC;AAuBD,gDAUC;AA2CD,4EAkBC;AAYD,kEAaC;
|
|
1
|
+
{"version":3,"file":"BusDecorators.js","sourceRoot":"","sources":["../../src/runtime/BusDecorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare class CommandBus<TCommand extends RuntimeCommand = RuntimeCommand
|
|
|
14
14
|
*
|
|
15
15
|
* @param {TCommand['type']} commandType - command type
|
|
16
16
|
* @param {CommandHandler<TCommand, TResult>} handler - command handler
|
|
17
|
-
* @returns {() => void} unregister function
|
|
17
|
+
* @returns {() => void} unregister function; no-op if a different handler is now registered for the type
|
|
18
18
|
* @throws {Error} if a handler is already registered
|
|
19
19
|
*/
|
|
20
20
|
register<TResult>(commandType: TCommand['type'], handler: CommandHandler<TCommand, TResult>): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBus.d.ts","sourceRoot":"","sources":["../../src/runtime/CommandBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,qBAAa,UAAU,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IAEjF;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EACrB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,GACzC,MAAM,IAAI;
|
|
1
|
+
{"version":3,"file":"CommandBus.d.ts","sourceRoot":"","sources":["../../src/runtime/CommandBus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,qBAAa,UAAU,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IAEjF;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EACrB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,GACzC,MAAM,IAAI;IAcb;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnE;;;;;OAKG;IACI,UAAU,CAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD;;;;OAIG;IACI,KAAK,IAAK,IAAI;CAGtB"}
|
|
@@ -16,16 +16,19 @@ class CommandBus {
|
|
|
16
16
|
*
|
|
17
17
|
* @param {TCommand['type']} commandType - command type
|
|
18
18
|
* @param {CommandHandler<TCommand, TResult>} handler - command handler
|
|
19
|
-
* @returns {() => void} unregister function
|
|
19
|
+
* @returns {() => void} unregister function; no-op if a different handler is now registered for the type
|
|
20
20
|
* @throws {Error} if a handler is already registered
|
|
21
21
|
*/
|
|
22
22
|
register(commandType, handler) {
|
|
23
23
|
if (this.handlers.has(commandType)) {
|
|
24
24
|
throw new Error(`Command handler is already registered: ${commandType}`);
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
const registered = handler;
|
|
27
|
+
this.handlers.set(commandType, registered);
|
|
27
28
|
return () => {
|
|
28
|
-
this.
|
|
29
|
+
if (this.handlers.get(commandType) === registered) {
|
|
30
|
+
this.handlers.delete(commandType);
|
|
31
|
+
}
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBus.js","sourceRoot":"","sources":["../../src/runtime/CommandBus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,UAAU;IACJ,QAAQ,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEjF;;;;;;;OAOG;IACI,QAAQ,CACb,WAA6B,EAC7B,OAA0C;QAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"CommandBus.js","sourceRoot":"","sources":["../../src/runtime/CommandBus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;GAEG;AACH,MAAa,UAAU;IACJ,QAAQ,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEjF;;;;;;;OAOG;IACI,QAAQ,CACb,WAA6B,EAC7B,OAA0C;QAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,UAAU,GAAG,OAA4C,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAW,OAAiB;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAE,WAA6B;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AA/DD,gCA+DC"}
|
|
@@ -56,6 +56,7 @@ export declare function UseRef(): PropertyDecorator;
|
|
|
56
56
|
*/
|
|
57
57
|
export declare class HandleRegistry {
|
|
58
58
|
private readonly handles;
|
|
59
|
+
private getInheritedMetadata;
|
|
59
60
|
private buildRefHandle;
|
|
60
61
|
private resolveHandleKey;
|
|
61
62
|
/**
|
|
@@ -77,7 +78,7 @@ export declare class HandleRegistry {
|
|
|
77
78
|
*
|
|
78
79
|
* @param {string} key - handle key
|
|
79
80
|
* @param {THandle} handle - imperative API object
|
|
80
|
-
* @returns {() => void} unregister function
|
|
81
|
+
* @returns {() => void} unregister function; no-op if a different handle is now registered under the same key
|
|
81
82
|
*/
|
|
82
83
|
register<THandle>(key: string, handle: THandle): () => void;
|
|
83
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleRegistry.d.ts","sourceRoot":"","sources":["../../src/runtime/HandleRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,kBAAkB,CAAC;AAM1B,MAAM,MAAM,mBAAmB,CAAC,SAAS,GAAG,OAAO,IAC/C,MAAM,GACN,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAG,OAAO,EAC5C,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAC3C,cAAc,CAIhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAK,eAAe,CAmBtD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,IAAK,iBAAiB,CAS3C;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"HandleRegistry.d.ts","sourceRoot":"","sources":["../../src/runtime/HandleRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,kBAAkB,CAAC;AAM1B,MAAM,MAAM,mBAAmB,CAAC,SAAS,GAAG,OAAO,IAC/C,MAAM,GACN,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAG,OAAO,EAC5C,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAC3C,cAAc,CAIhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAK,eAAe,CAmBtD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,IAAK,iBAAiB,CAS3C;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IAEtD,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,cAAc;IAsDtB,OAAO,CAAC,gBAAgB;IAwBxB;;;;;;;;;OASG;IACI,YAAY,CAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,IAAI;IAMnD;;;;;;;;;OASG;IACI,QAAQ,CAAC,OAAO,EAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI;IASnE;;;;;;;;OAQG;IACI,UAAU,CAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;;;;OAOG;IACI,GAAG,CAAC,OAAO,EAAG,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAItD;;;;;;;;;;OAUG;IACI,OAAO,CAAC,OAAO,EAAG,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ9C;;;;;;;;OAQG;IACI,GAAG,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;;;OAOG;IACI,IAAI,IAAK,MAAM,EAAE;IAIxB;;;;;;;OAOG;IACI,KAAK,IAAK,IAAI;CAGtB"}
|