reactronic 0.96.26007 → 0.96.26009
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.
|
@@ -65,7 +65,7 @@ export type ReactiveTreeNodeDriver<E = unknown> = {
|
|
|
65
65
|
runPreparation(node: ReactiveTreeNode<E>): void;
|
|
66
66
|
runFinalization(node: ReactiveTreeNode<E>, isLeader: boolean): boolean;
|
|
67
67
|
runMount(node: ReactiveTreeNode<E>): void;
|
|
68
|
-
|
|
68
|
+
rebuildBody(node: ReactiveTreeNode<E>): void | Promise<void>;
|
|
69
69
|
declareChild(ownerNode: ReactiveTreeNode<E>, childDriver: ReactiveTreeNodeDriver<any>, childDeclaration?: ReactiveTreeNodeDecl<any>, childBasis?: ReactiveTreeNodeDecl<any>): LinkedItem<ReactiveTreeNode> | undefined;
|
|
70
70
|
provideHost(node: ReactiveTreeNode<E>): ReactiveTreeNode<E>;
|
|
71
71
|
};
|
|
@@ -81,13 +81,14 @@ export declare abstract class BaseDriver<E = unknown> implements ReactiveTreeNod
|
|
|
81
81
|
runPreparation(node: ReactiveTreeNode<E>): void | Promise<void>;
|
|
82
82
|
runFinalization(node: ReactiveTreeNode<E>, isLeader: boolean): boolean;
|
|
83
83
|
runMount(node: ReactiveTreeNode<E>): void;
|
|
84
|
-
|
|
84
|
+
rebuildBody(node: ReactiveTreeNode<E>): void | Promise<void>;
|
|
85
85
|
declareChild(ownerNode: ReactiveTreeNode<E>, childDriver: ReactiveTreeNodeDriver<any>, childDeclaration?: ReactiveTreeNodeDecl<any>, childBasis?: ReactiveTreeNodeDecl<any>): LinkedItem<ReactiveTreeNode> | undefined;
|
|
86
86
|
provideHost(node: ReactiveTreeNode<E>): ReactiveTreeNode<E>;
|
|
87
87
|
}
|
|
88
88
|
export declare class ReactiveTreeVariable<T extends Object = Object> {
|
|
89
|
+
readonly hint: string;
|
|
89
90
|
readonly defaultValue: T | undefined;
|
|
90
|
-
constructor(defaultValue?: T);
|
|
91
|
+
constructor(hint: string, defaultValue?: T);
|
|
91
92
|
set value(value: T);
|
|
92
93
|
get value(): T;
|
|
93
94
|
get valueOrUndefined(): T | undefined;
|
|
@@ -156,7 +156,7 @@ export class BaseDriver {
|
|
|
156
156
|
}
|
|
157
157
|
runMount(node) {
|
|
158
158
|
}
|
|
159
|
-
|
|
159
|
+
rebuildBody(node) {
|
|
160
160
|
return invokeScriptUsingBasisChain(node.element, node.declaration);
|
|
161
161
|
}
|
|
162
162
|
declareChild(ownerNode, childDriver, childDeclaration, childBasis) {
|
|
@@ -167,7 +167,8 @@ export class BaseDriver {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
export class ReactiveTreeVariable {
|
|
170
|
-
constructor(defaultValue) {
|
|
170
|
+
constructor(hint, defaultValue) {
|
|
171
|
+
this.hint = hint;
|
|
171
172
|
this.defaultValue = defaultValue;
|
|
172
173
|
}
|
|
173
174
|
set value(value) {
|
|
@@ -301,7 +302,7 @@ class ReactiveTreeNode$ extends ReactiveTreeNode {
|
|
|
301
302
|
return flags(getModeUsingBasisChain(this.declaration), mode);
|
|
302
303
|
}
|
|
303
304
|
body(_signalArgs) {
|
|
304
|
-
|
|
305
|
+
rebuildBodyNow(this);
|
|
305
306
|
}
|
|
306
307
|
configureReactivity(options) {
|
|
307
308
|
if (this.stamp < Number.MAX_SAFE_INTEGER - 1 || !this.has(Mode.autonomous))
|
|
@@ -492,9 +493,9 @@ function rebuildBodyImpl(node) {
|
|
|
492
493
|
runNonReactive(node.body, node.declaration.signalArgs);
|
|
493
494
|
}
|
|
494
495
|
else if (node.owner !== node)
|
|
495
|
-
|
|
496
|
+
rebuildBodyNow(node);
|
|
496
497
|
else
|
|
497
|
-
runTransactional(() =>
|
|
498
|
+
runTransactional(() => rebuildBodyNow(node));
|
|
498
499
|
}
|
|
499
500
|
}
|
|
500
501
|
function mountOrRemountIfNecessary(node) {
|
|
@@ -513,7 +514,7 @@ function mountOrRemountIfNecessary(node) {
|
|
|
513
514
|
else if (node.isMoved && !node.has(Mode.external) && node.host !== node)
|
|
514
515
|
runNonReactive(() => driver.runMount(node));
|
|
515
516
|
}
|
|
516
|
-
function
|
|
517
|
+
function rebuildBodyNow(node) {
|
|
517
518
|
if (node.stamp >= 0) {
|
|
518
519
|
let result = undefined;
|
|
519
520
|
runInsideContextOfNode(node, () => {
|
|
@@ -524,7 +525,7 @@ function runScriptNow(node) {
|
|
|
524
525
|
node.numerator = 0;
|
|
525
526
|
node.children.beginRenovation();
|
|
526
527
|
const driver = node.driver;
|
|
527
|
-
result = driver.
|
|
528
|
+
result = driver.rebuildBody(node);
|
|
528
529
|
result = proceedSyncOrAsync(result, v => { launchNestedNodesThenDoImpl(node, undefined, NOP); return v; }, e => { console.log(e); launchNestedNodesThenDoImpl(node, e !== null && e !== void 0 ? e : new Error("unknown error"), NOP); });
|
|
529
530
|
}
|
|
530
531
|
catch (e) {
|