reactronic 0.24.500 → 0.24.502
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/build/dist/source/ReactiveSystem.d.ts +1 -0
- package/build/dist/source/ReactiveSystem.js +3 -0
- package/build/dist/source/api.d.ts +1 -1
- package/build/dist/source/api.js +1 -1
- package/build/dist/source/core/ReactiveNode.d.ts +4 -3
- package/build/dist/source/core/ReactiveNode.js +3 -2
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ export declare class ReactiveSystem {
|
|
|
20
20
|
export declare function transaction<T>(action: F<T>, ...args: any[]): T;
|
|
21
21
|
export declare function unobs<T>(func: F<T>, ...args: any[]): T;
|
|
22
22
|
export declare function sensitive<T>(sensitivity: boolean, func: F<T>, ...args: any[]): T;
|
|
23
|
+
export declare function contextually<T>(p: Promise<T>): Promise<T>;
|
|
23
24
|
export declare function raw(proto: object, prop: PropertyKey): any;
|
|
24
25
|
export declare function obs(proto: object, prop: PropertyKey): any;
|
|
25
26
|
export declare function transactional(proto: object, prop: PropertyKey, pd: PropertyDescriptor): any;
|
|
@@ -31,6 +31,9 @@ export function unobs(func, ...args) {
|
|
|
31
31
|
export function sensitive(sensitivity, func, ...args) {
|
|
32
32
|
return Mvcc.sensitive(sensitivity, func, ...args);
|
|
33
33
|
}
|
|
34
|
+
export function contextually(p) {
|
|
35
|
+
throw new Error("not implemented yet");
|
|
36
|
+
}
|
|
34
37
|
export function raw(proto, prop) {
|
|
35
38
|
return Mvcc.decorateData(false, proto, prop);
|
|
36
39
|
}
|
|
@@ -16,7 +16,7 @@ export { Changeset } from "./core/Changeset.js";
|
|
|
16
16
|
export { Transaction } from "./core/Transaction.js";
|
|
17
17
|
export { Indicator } from "./core/Indicator.js";
|
|
18
18
|
export { Journal } from "./core/Journal.js";
|
|
19
|
-
export { ReactiveSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, options } from "./ReactiveSystem.js";
|
|
19
|
+
export { ReactiveSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, contextually, options } from "./ReactiveSystem.js";
|
|
20
20
|
export { Reaction } from "./Reaction.js";
|
|
21
21
|
export { ReactiveNode, Mode, Priority, BaseDriver, ReactiveNodeVariable } from "./core/ReactiveNode.js";
|
|
22
22
|
export type { Script, ScriptAsync, Handler, ReactiveNodeDecl, ReactiveNodeDriver, ReactiveNodeContext } from "./core/ReactiveNode.js";
|
package/build/dist/source/api.js
CHANGED
|
@@ -12,7 +12,7 @@ export { Changeset } from "./core/Changeset.js";
|
|
|
12
12
|
export { Transaction } from "./core/Transaction.js";
|
|
13
13
|
export { Indicator } from "./core/Indicator.js";
|
|
14
14
|
export { Journal } from "./core/Journal.js";
|
|
15
|
-
export { ReactiveSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, options } from "./ReactiveSystem.js";
|
|
15
|
+
export { ReactiveSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, contextually, options } from "./ReactiveSystem.js";
|
|
16
16
|
export { Reaction } from "./Reaction.js";
|
|
17
17
|
export { ReactiveNode, Mode, Priority, BaseDriver, ReactiveNodeVariable } from "./core/ReactiveNode.js";
|
|
18
18
|
export { Clock } from "./Clock.js";
|
|
@@ -7,7 +7,8 @@ export type Handler<E = unknown, R = void> = (el: E) => R;
|
|
|
7
7
|
export declare enum Mode {
|
|
8
8
|
default = 0,
|
|
9
9
|
autonomous = 1,
|
|
10
|
-
manualMount = 2
|
|
10
|
+
manualMount = 2,
|
|
11
|
+
rootNode = 4
|
|
11
12
|
}
|
|
12
13
|
export declare enum Priority {
|
|
13
14
|
realtime = 0,
|
|
@@ -73,7 +74,7 @@ export type ReactiveNodeDriver<E = unknown> = {
|
|
|
73
74
|
readonly name: string;
|
|
74
75
|
readonly isPartition: boolean;
|
|
75
76
|
readonly initialize?: Handler<E>;
|
|
76
|
-
|
|
77
|
+
create(node: ReactiveNode<E>): E;
|
|
77
78
|
prepare(node: ReactiveNode<E>): void;
|
|
78
79
|
finalize(node: ReactiveNode<E>, isLeader: boolean): boolean;
|
|
79
80
|
mount(node: ReactiveNode<E>): void;
|
|
@@ -89,7 +90,7 @@ export declare abstract class BaseDriver<E = unknown> implements ReactiveNodeDri
|
|
|
89
90
|
readonly isPartition: boolean;
|
|
90
91
|
readonly initialize?: Handler<E> | undefined;
|
|
91
92
|
constructor(name: string, isPartition: boolean, initialize?: Handler<E> | undefined);
|
|
92
|
-
abstract
|
|
93
|
+
abstract create(node: ReactiveNode<E>): E;
|
|
93
94
|
prepare(node: ReactiveNode<E>): void | Promise<void>;
|
|
94
95
|
finalize(node: ReactiveNode<E>, isLeader: boolean): boolean;
|
|
95
96
|
mount(node: ReactiveNode<E>): void;
|
|
@@ -28,6 +28,7 @@ export var Mode;
|
|
|
28
28
|
Mode[Mode["default"] = 0] = "default";
|
|
29
29
|
Mode[Mode["autonomous"] = 1] = "autonomous";
|
|
30
30
|
Mode[Mode["manualMount"] = 2] = "manualMount";
|
|
31
|
+
Mode[Mode["rootNode"] = 4] = "rootNode";
|
|
31
32
|
})(Mode || (Mode = {}));
|
|
32
33
|
export var Priority;
|
|
33
34
|
(function (Priority) {
|
|
@@ -48,7 +49,7 @@ export class ReactiveNode {
|
|
|
48
49
|
else
|
|
49
50
|
declaration = contentOrDeclaration !== null && contentOrDeclaration !== void 0 ? contentOrDeclaration : {};
|
|
50
51
|
let effectiveKey = declaration.key;
|
|
51
|
-
const owner = gOwnSlot === null || gOwnSlot === void 0 ? void 0 : gOwnSlot.instance;
|
|
52
|
+
const owner = (getModeUsingBasisChain(declaration) & Mode.rootNode) !== Mode.rootNode ? gOwnSlot === null || gOwnSlot === void 0 ? void 0 : gOwnSlot.instance : undefined;
|
|
52
53
|
if (owner) {
|
|
53
54
|
let existing = owner.driver.child(owner, driver, declaration, declaration.basis);
|
|
54
55
|
const children = owner.children;
|
|
@@ -283,7 +284,7 @@ class ReactiveNodeImpl extends ReactiveNode {
|
|
|
283
284
|
this.owner = owner = thisAsUnknown;
|
|
284
285
|
this.outer = thisAsUnknown;
|
|
285
286
|
}
|
|
286
|
-
this.element = driver.
|
|
287
|
+
this.element = driver.create(this);
|
|
287
288
|
this.host = thisAsUnknown;
|
|
288
289
|
this.children = new MergeList(getNodeKey, true);
|
|
289
290
|
this.slot = undefined;
|