@expressive/mvc 0.72.0 → 0.73.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.
- package/dist/esm/context.d.ts +62 -0
- package/dist/esm/context.js +151 -163
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +9 -23
- package/dist/esm/instruction/get.d.ts +36 -0
- package/dist/esm/instruction/get.js +75 -79
- package/dist/esm/instruction/ref.d.ts +71 -0
- package/dist/esm/instruction/ref.js +65 -66
- package/dist/esm/instruction/set.d.ts +69 -0
- package/dist/esm/instruction/set.js +113 -131
- package/dist/esm/instruction/use.d.ts +23 -0
- package/dist/esm/instruction/use.js +48 -55
- package/dist/esm/observable.d.ts +42 -0
- package/dist/esm/observable.js +121 -0
- package/dist/esm/state.d.ts +234 -0
- package/dist/esm/state.js +267 -298
- package/dist/index.d.ts +322 -332
- package/dist/index.js +820 -931
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
- package/dist/esm/control.js +0 -136
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { State } from "./state.js";
|
|
2
|
+
|
|
3
|
+
//#region src/context.d.ts
|
|
4
|
+
declare namespace Context {
|
|
5
|
+
type Multiple<T extends State> = {
|
|
6
|
+
[key: string | number]: State.Type<T> | T;
|
|
7
|
+
};
|
|
8
|
+
type Accept<T extends State = State> = T | State.Type<T> | Multiple<T>;
|
|
9
|
+
type Expect<T extends State = State> = (state: T) => (() => void) | void;
|
|
10
|
+
}
|
|
11
|
+
interface Context {
|
|
12
|
+
[key: symbol]: State | Context.Expect | null | undefined;
|
|
13
|
+
}
|
|
14
|
+
declare class Context {
|
|
15
|
+
/**
|
|
16
|
+
* Get the context for a specified State. If a callback is provided, it will be run when
|
|
17
|
+
* the context becomes available.
|
|
18
|
+
*/
|
|
19
|
+
static get<T extends State>(on: State, callback: (got: Context) => void): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get the context for a specified State. Returns undefined if none are found.
|
|
22
|
+
*/
|
|
23
|
+
static get<T extends State>(on: State): Context | undefined;
|
|
24
|
+
id: string;
|
|
25
|
+
protected inputs: Record<string | number, State | State.Extends>;
|
|
26
|
+
protected cleanup: Set<() => void>;
|
|
27
|
+
constructor(inputs?: Context.Accept);
|
|
28
|
+
/** Find specified type registered to a parent context. Throws if none are found. */
|
|
29
|
+
get<T extends State>(Type: State.Extends<T>, require: true): T;
|
|
30
|
+
/** Find specified type registered to a parent context. Returns undefined if none are found. */
|
|
31
|
+
get<T extends State>(Type: State.Extends<T>, require?: boolean): T | undefined;
|
|
32
|
+
/** Run callback when a specified type is registered in context downstream. */
|
|
33
|
+
get<T extends State>(Type: State.Extends<T>, callback: (state: T) => void): () => void;
|
|
34
|
+
/**
|
|
35
|
+
* Adds a State to this context.
|
|
36
|
+
*/
|
|
37
|
+
protected add<T extends State>(input: T | State.Type<T>, implicit?: boolean): T;
|
|
38
|
+
/**
|
|
39
|
+
* Register one or more States to this context.
|
|
40
|
+
*
|
|
41
|
+
* Context will add or remove States as needed to keep with provided input.
|
|
42
|
+
*
|
|
43
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
44
|
+
* @param forEach Optional callback to run for each State registered.
|
|
45
|
+
*/
|
|
46
|
+
use<T extends State>(inputs: Context.Accept<T>, forEach?: Context.Expect<T>): void;
|
|
47
|
+
/**
|
|
48
|
+
* Create a child context, optionally registering one or more States to it.
|
|
49
|
+
*
|
|
50
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
51
|
+
*/
|
|
52
|
+
push(inputs?: Context.Accept): this;
|
|
53
|
+
/**
|
|
54
|
+
* Remove all States from this context.
|
|
55
|
+
*
|
|
56
|
+
* Will also run any cleanup callbacks registered when States were added.
|
|
57
|
+
*/
|
|
58
|
+
pop(): void;
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
export { Context };
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGUgfSBmcm9tICcuL3N0YXRlJztcbmRlY2xhcmUgbmFtZXNwYWNlIENvbnRleHQge1xuICAgIHR5cGUgTXVsdGlwbGU8VCBleHRlbmRzIFN0YXRlPiA9IHtcbiAgICAgICAgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogU3RhdGUuVHlwZTxUPiB8IFQ7XG4gICAgfTtcbiAgICB0eXBlIEFjY2VwdDxUIGV4dGVuZHMgU3RhdGUgPSBTdGF0ZT4gPSBUIHwgU3RhdGUuVHlwZTxUPiB8IE11bHRpcGxlPFQ+O1xuICAgIHR5cGUgRXhwZWN0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IChzdGF0ZTogVCkgPT4gKCgpID0+IHZvaWQpIHwgdm9pZDtcbn1cbmludGVyZmFjZSBDb250ZXh0IHtcbiAgICBba2V5OiBzeW1ib2xdOiBTdGF0ZSB8IENvbnRleHQuRXhwZWN0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cbmRlY2xhcmUgY2xhc3MgQ29udGV4dCB7XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBjb250ZXh0IGZvciBhIHNwZWNpZmllZCBTdGF0ZS4gSWYgYSBjYWxsYmFjayBpcyBwcm92aWRlZCwgaXQgd2lsbCBiZSBydW4gd2hlblxuICAgICAqIHRoZSBjb250ZXh0IGJlY29tZXMgYXZhaWxhYmxlLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihvbjogU3RhdGUsIGNhbGxiYWNrOiAoZ290OiBDb250ZXh0KSA9PiB2b2lkKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGNvbnRleHQgZm9yIGEgc3BlY2lmaWVkIFN0YXRlLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4ob246IFN0YXRlKTogQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgICBpZDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBpbnB1dHM6IFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXRlIHwgU3RhdGUuRXh0ZW5kcz47XG4gICAgcHJvdGVjdGVkIGNsZWFudXA6IFNldDwoKSA9PiB2b2lkPjtcbiAgICBjb25zdHJ1Y3RvcihpbnB1dHM/OiBDb250ZXh0LkFjY2VwdCk7XG4gICAgLyoqIEZpbmQgc3BlY2lmaWVkIHR5cGUgcmVnaXN0ZXJlZCB0byBhIHBhcmVudCBjb250ZXh0LiBUaHJvd3MgaWYgbm9uZSBhcmUgZm91bmQuICovXG4gICAgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oVHlwZTogU3RhdGUuRXh0ZW5kczxUPiwgcmVxdWlyZTogdHJ1ZSk6IFQ7XG4gICAgLyoqIEZpbmQgc3BlY2lmaWVkIHR5cGUgcmVnaXN0ZXJlZCB0byBhIHBhcmVudCBjb250ZXh0LiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC4gKi9cbiAgICBnZXQ8VCBleHRlbmRzIFN0YXRlPihUeXBlOiBTdGF0ZS5FeHRlbmRzPFQ+LCByZXF1aXJlPzogYm9vbGVhbik6IFQgfCB1bmRlZmluZWQ7XG4gICAgLyoqIFJ1biBjYWxsYmFjayB3aGVuIGEgc3BlY2lmaWVkIHR5cGUgaXMgcmVnaXN0ZXJlZCBpbiBjb250ZXh0IGRvd25zdHJlYW0uICovXG4gICAgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oVHlwZTogU3RhdGUuRXh0ZW5kczxUPiwgY2FsbGJhY2s6IChzdGF0ZTogVCkgPT4gdm9pZCk6ICgpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogQWRkcyBhIFN0YXRlIHRvIHRoaXMgY29udGV4dC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWRkPFQgZXh0ZW5kcyBTdGF0ZT4oaW5wdXQ6IFQgfCBTdGF0ZS5UeXBlPFQ+LCBpbXBsaWNpdD86IGJvb2xlYW4pOiBUO1xuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIG9uZSBvciBtb3JlIFN0YXRlcyB0byB0aGlzIGNvbnRleHQuXG4gICAgICpcbiAgICAgKiBDb250ZXh0IHdpbGwgYWRkIG9yIHJlbW92ZSBTdGF0ZXMgYXMgbmVlZGVkIHRvIGtlZXAgd2l0aCBwcm92aWRlZCBpbnB1dC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbnB1dHMgU3RhdGUsIFN0YXRlIGNsYXNzLCBvciBtYXAgb2YgU3RhdGVzIC8gU3RhdGUgY2xhc3NlcyB0byByZWdpc3Rlci5cbiAgICAgKiBAcGFyYW0gZm9yRWFjaCBPcHRpb25hbCBjYWxsYmFjayB0byBydW4gZm9yIGVhY2ggU3RhdGUgcmVnaXN0ZXJlZC5cbiAgICAgKi9cbiAgICB1c2U8VCBleHRlbmRzIFN0YXRlPihpbnB1dHM6IENvbnRleHQuQWNjZXB0PFQ+LCBmb3JFYWNoPzogQ29udGV4dC5FeHBlY3Q8VD4pOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGNoaWxkIGNvbnRleHQsIG9wdGlvbmFsbHkgcmVnaXN0ZXJpbmcgb25lIG9yIG1vcmUgU3RhdGVzIHRvIGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGlucHV0cyBTdGF0ZSwgU3RhdGUgY2xhc3MsIG9yIG1hcCBvZiBTdGF0ZXMgLyBTdGF0ZSBjbGFzc2VzIHRvIHJlZ2lzdGVyLlxuICAgICAqL1xuICAgIHB1c2goaW5wdXRzPzogQ29udGV4dC5BY2NlcHQpOiB0aGlzO1xuICAgIC8qKlxuICAgICAqIFJlbW92ZSBhbGwgU3RhdGVzIGZyb20gdGhpcyBjb250ZXh0LlxuICAgICAqXG4gICAgICogV2lsbCBhbHNvIHJ1biBhbnkgY2xlYW51cCBjYWxsYmFja3MgcmVnaXN0ZXJlZCB3aGVuIFN0YXRlcyB3ZXJlIGFkZGVkLlxuICAgICAqL1xuICAgIHBvcCgpOiB2b2lkO1xufVxuZXhwb3J0IHsgQ29udGV4dCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFBLFVBQVE7Q0FBQTtFQUFVLE1BQUE7RUFBQTtFQUFRO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksVUFBSztDQUFBO09BQVcsQ0FBQSxPQUFRLFFBQVMsT0FBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3JDLElBQUksVUFBVTtDQUFBO0VBQUEsTUFBUztFQUFBO0VBQVE7RUFBTztFQUFTO0VBQUU7RUFBQTtFQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQSxRQUFBO0VBQUE7RUFBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBLFFBQUE7RUFBQTtFQUFBLFFBQUE7RUFBQSxRQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBIn0=
|
package/dist/esm/context.js
CHANGED
|
@@ -1,170 +1,158 @@
|
|
|
1
|
-
import { addListener } from "./
|
|
2
|
-
import {
|
|
1
|
+
import { addListener, event } from "./observable.js";
|
|
2
|
+
import { PARENT, State, uid } from "./state.js";
|
|
3
|
+
|
|
4
|
+
//#region src/context.ts
|
|
3
5
|
const LOOKUP = /* @__PURE__ */ new WeakMap();
|
|
4
6
|
const KEYS = /* @__PURE__ */ new Map();
|
|
5
7
|
function key(T, upstream) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
let K = KEYS.get(T);
|
|
9
|
+
if (!K) {
|
|
10
|
+
K = Symbol(typeof T == "symbol" ? "get " + T.description : String(T));
|
|
11
|
+
KEYS.set(T, K);
|
|
12
|
+
}
|
|
13
|
+
return upstream ? key(K) : K;
|
|
12
14
|
}
|
|
13
15
|
function keys(from, upstream) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const keys = /* @__PURE__ */ new Set();
|
|
17
|
+
do {
|
|
18
|
+
keys.add(key(from, upstream));
|
|
19
|
+
from = Object.getPrototypeOf(from);
|
|
20
|
+
} while (from !== State);
|
|
21
|
+
return keys;
|
|
20
22
|
}
|
|
21
|
-
class Context {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Remove all States from this context.
|
|
152
|
-
*
|
|
153
|
-
* Will also run any cleanup callbacks registered when States were added.
|
|
154
|
-
*/
|
|
155
|
-
pop() {
|
|
156
|
-
for (const key2 of Object.getOwnPropertySymbols(this)) delete this[key2];
|
|
157
|
-
this.cleanup.forEach((cb) => cb());
|
|
158
|
-
this.cleanup.clear();
|
|
159
|
-
this.inputs = {};
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
Object.defineProperty(Context.prototype, "toString", {
|
|
163
|
-
value() {
|
|
164
|
-
return `Context-${this.id}`;
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
export {
|
|
168
|
-
Context
|
|
23
|
+
var Context = class Context {
|
|
24
|
+
static get({ is }, callback) {
|
|
25
|
+
const context = LOOKUP.get(is);
|
|
26
|
+
if (context instanceof Context) {
|
|
27
|
+
if (callback) callback(context);
|
|
28
|
+
return context;
|
|
29
|
+
}
|
|
30
|
+
if (callback) if (context) context.push(callback);
|
|
31
|
+
else LOOKUP.set(is, [callback]);
|
|
32
|
+
}
|
|
33
|
+
constructor(inputs) {
|
|
34
|
+
this.id = uid();
|
|
35
|
+
this.inputs = {};
|
|
36
|
+
this.cleanup = /* @__PURE__ */ new Set();
|
|
37
|
+
if (inputs) this.use(inputs);
|
|
38
|
+
}
|
|
39
|
+
get(Type, arg2) {
|
|
40
|
+
if (typeof arg2 == "function") {
|
|
41
|
+
const k = key(Type, true);
|
|
42
|
+
Object.defineProperty(this, k, {
|
|
43
|
+
value: arg2,
|
|
44
|
+
configurable: true
|
|
45
|
+
});
|
|
46
|
+
return () => {
|
|
47
|
+
delete this[k];
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const result = this[key(Type)];
|
|
51
|
+
if (result === null) throw new Error(`Did find ${Type} in context, but multiple were defined.`);
|
|
52
|
+
if (result) return result;
|
|
53
|
+
if (arg2) throw new Error(`Could not find ${Type} in context.`);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Adds a State to this context.
|
|
57
|
+
*/
|
|
58
|
+
add(input, implicit) {
|
|
59
|
+
const cleanup = /* @__PURE__ */ new Set();
|
|
60
|
+
let T;
|
|
61
|
+
let I;
|
|
62
|
+
if (typeof input == "function") {
|
|
63
|
+
T = input;
|
|
64
|
+
I = new input();
|
|
65
|
+
} else {
|
|
66
|
+
T = input.constructor;
|
|
67
|
+
I = input;
|
|
68
|
+
}
|
|
69
|
+
keys(T, true).forEach((K) => {
|
|
70
|
+
const expects = this[K];
|
|
71
|
+
if (expects) addListener(I, (event) => {
|
|
72
|
+
if (event === true) {
|
|
73
|
+
const cb = expects(I);
|
|
74
|
+
if (cb) cleanup.add(cb);
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
keys(T).forEach((K) => {
|
|
80
|
+
const value = this.hasOwnProperty(K) ? null : I;
|
|
81
|
+
if (value || this[K] !== I && !implicit) Object.defineProperty(this, K, {
|
|
82
|
+
configurable: true,
|
|
83
|
+
value
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
this.cleanup.add(() => {
|
|
87
|
+
cleanup.forEach((cb) => cb());
|
|
88
|
+
if (I !== input) event(I, null);
|
|
89
|
+
});
|
|
90
|
+
const waiting = LOOKUP.get(I);
|
|
91
|
+
if (waiting instanceof Array) waiting.forEach((cb) => cb(this));
|
|
92
|
+
LOOKUP.set(I, this);
|
|
93
|
+
return I;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Register one or more States to this context.
|
|
97
|
+
*
|
|
98
|
+
* Context will add or remove States as needed to keep with provided input.
|
|
99
|
+
*
|
|
100
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
101
|
+
* @param forEach Optional callback to run for each State registered.
|
|
102
|
+
*/
|
|
103
|
+
use(inputs, forEach) {
|
|
104
|
+
const init = /* @__PURE__ */ new Map();
|
|
105
|
+
if (typeof inputs == "function" || inputs instanceof State) inputs = { [0]: inputs };
|
|
106
|
+
for (const [K, V] of Object.entries(inputs)) {
|
|
107
|
+
if (!(State.is(V) || V instanceof State)) throw new Error(`Context may only include instance or class \`extends State\` but got ${K == "0" || K == String(V) ? V : `${V} (as '${K}')`}.`);
|
|
108
|
+
const exists = this.inputs[K];
|
|
109
|
+
if (!exists) init.set(this.add(V), true);
|
|
110
|
+
else if (exists !== V) {
|
|
111
|
+
this.pop();
|
|
112
|
+
this.use(inputs);
|
|
113
|
+
this.id = uid();
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
for (const [state, explicit] of init) {
|
|
118
|
+
state.set();
|
|
119
|
+
if (explicit && forEach) forEach(state);
|
|
120
|
+
for (const [_key, value] of state) if (PARENT.get(value) === state) {
|
|
121
|
+
this.add(value, true);
|
|
122
|
+
init.set(value, false);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
this.inputs = inputs;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Create a child context, optionally registering one or more States to it.
|
|
129
|
+
*
|
|
130
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
131
|
+
*/
|
|
132
|
+
push(inputs) {
|
|
133
|
+
const next = Object.create(this);
|
|
134
|
+
this.cleanup = new Set([() => next.pop(), ...this.cleanup]);
|
|
135
|
+
next.inputs = {};
|
|
136
|
+
next.cleanup = /* @__PURE__ */ new Set();
|
|
137
|
+
if (inputs) next.use(inputs);
|
|
138
|
+
return next;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Remove all States from this context.
|
|
142
|
+
*
|
|
143
|
+
* Will also run any cleanup callbacks registered when States were added.
|
|
144
|
+
*/
|
|
145
|
+
pop() {
|
|
146
|
+
for (const key of Object.getOwnPropertySymbols(this)) delete this[key];
|
|
147
|
+
this.cleanup.forEach((cb) => cb());
|
|
148
|
+
this.cleanup.clear();
|
|
149
|
+
this.inputs = {};
|
|
150
|
+
}
|
|
169
151
|
};
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRleHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGFkZExpc3RlbmVyIH0gZnJvbSAnLi9jb250cm9sJztcbmltcG9ydCB7IGV2ZW50LCBTdGF0ZSwgUEFSRU5ULCB1aWQgfSBmcm9tICcuL3N0YXRlJztcblxuY29uc3QgTE9PS1VQID0gbmV3IFdlYWtNYXA8U3RhdGUsIENvbnRleHQgfCAoKGdvdDogQ29udGV4dCkgPT4gdm9pZClbXT4oKTtcbmNvbnN0IEtFWVMgPSBuZXcgTWFwPHN5bWJvbCB8IFN0YXRlLkV4dGVuZHMsIHN5bWJvbD4oKTtcblxuZnVuY3Rpb24ga2V5KFQ6IFN0YXRlLkV4dGVuZHMgfCBzeW1ib2wsIHVwc3RyZWFtPzogYm9vbGVhbik6IHN5bWJvbCB7XG4gIGxldCBLID0gS0VZUy5nZXQoVCk7XG5cbiAgaWYgKCFLKSB7XG4gICAgSyA9IFN5bWJvbCh0eXBlb2YgVCA9PSAnc3ltYm9sJyA/ICdnZXQgJyArIFQuZGVzY3JpcHRpb24gOiBTdHJpbmcoVCkpO1xuICAgIEtFWVMuc2V0KFQsIEspO1xuICB9XG5cbiAgcmV0dXJuIHVwc3RyZWFtID8ga2V5KEspIDogSztcbn1cblxuZnVuY3Rpb24ga2V5cyhmcm9tOiBTdGF0ZS5FeHRlbmRzLCB1cHN0cmVhbT86IGJvb2xlYW4pIHtcbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQ8c3ltYm9sPigpO1xuXG4gIGRvIHtcbiAgICBrZXlzLmFkZChrZXkoZnJvbSwgdXBzdHJlYW0pKTtcbiAgICBmcm9tID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZyb20pO1xuICB9IHdoaWxlIChmcm9tICE9PSBTdGF0ZSk7XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmRlY2xhcmUgbmFtZXNwYWNlIENvbnRleHQge1xuICB0eXBlIE11bHRpcGxlPFQgZXh0ZW5kcyBTdGF0ZT4gPSB7XG4gICAgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogU3RhdGUuQ2xhc3M8VD4gfCBUO1xuICB9O1xuXG4gIHR5cGUgQWNjZXB0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IFQgfCBTdGF0ZS5DbGFzczxUPiB8IE11bHRpcGxlPFQ+O1xuXG4gIHR5cGUgRXhwZWN0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IChzdGF0ZTogVCkgPT4gKCgpID0+IHZvaWQpIHwgdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvbnRleHQge1xuICBba2V5OiBzeW1ib2xdOiBTdGF0ZSB8IENvbnRleHQuRXhwZWN0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQ29udGV4dCB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbnRleHQgZm9yIGEgc3BlY2lmaWVkIFN0YXRlLiBJZiBhIGNhbGxiYWNrIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHJ1biB3aGVuXG4gICAqIHRoZSBjb250ZXh0IGJlY29tZXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgc3RhdGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIG9uOiBTdGF0ZSxcbiAgICBjYWxsYmFjazogKGdvdDogQ29udGV4dCkgPT4gdm9pZFxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbnRleHQgZm9yIGEgc3BlY2lmaWVkIFN0YXRlLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC5cbiAgICovXG4gIHN0YXRpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihvbjogU3RhdGUpOiBDb250ZXh0IHwgdW5kZWZpbmVkO1xuXG4gIHN0YXRpYyBnZXQoeyBpcyB9OiBTdGF0ZSwgY2FsbGJhY2s/OiAoZ290OiBDb250ZXh0KSA9PiB2b2lkKSB7XG4gICAgY29uc3QgY29udGV4dCA9IExPT0tVUC5nZXQoaXMpO1xuXG4gICAgaWYgKGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0KSB7XG4gICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKGNvbnRleHQpO1xuICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gICAgaWYgKGNhbGxiYWNrKVxuICAgICAgaWYgKGNvbnRleHQpIGNvbnRleHQucHVzaChjYWxsYmFjayk7XG4gICAgICBlbHNlIExPT0tVUC5zZXQoaXMsIFtjYWxsYmFja10pO1xuICB9XG5cbiAgcHVibGljIGlkID0gdWlkKCk7XG5cbiAgcHJvdGVjdGVkIGlucHV0cyA9IHt9IGFzIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXRlIHwgU3RhdGUuRXh0ZW5kcz47XG4gIHByb3RlY3RlZCBjbGVhbnVwID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGlucHV0cz86IENvbnRleHQuQWNjZXB0KSB7XG4gICAgaWYgKGlucHV0cykgdGhpcy51c2UoaW5wdXRzKTtcbiAgfVxuXG4gIC8qKiBGaW5kIHNwZWNpZmllZCB0eXBlIHJlZ2lzdGVyZWQgdG8gYSBwYXJlbnQgY29udGV4dC4gVGhyb3dzIGlmIG5vbmUgYXJlIGZvdW5kLiAqL1xuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oVHlwZTogU3RhdGUuRXh0ZW5kczxUPiwgcmVxdWlyZTogdHJ1ZSk6IFQ7XG5cbiAgLyoqIEZpbmQgc3BlY2lmaWVkIHR5cGUgcmVnaXN0ZXJlZCB0byBhIHBhcmVudCBjb250ZXh0LiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC4gKi9cbiAgcHVibGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sXG4gICAgcmVxdWlyZT86IGJvb2xlYW5cbiAgKTogVCB8IHVuZGVmaW5lZDtcblxuICAvKiogUnVuIGNhbGxiYWNrIHdoZW4gYSBzcGVjaWZpZWQgdHlwZSBpcyByZWdpc3RlcmVkIGluIGNvbnRleHQgZG93bnN0cmVhbS4gKi9cbiAgcHVibGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sXG4gICAgY2FsbGJhY2s6IChzdGF0ZTogVCkgPT4gdm9pZFxuICApOiAoKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihcbiAgICBUeXBlOiBTdGF0ZS5FeHRlbmRzPFQ+LFxuICAgIGFyZzI/OiBib29sZWFuIHwgKChzdGF0ZTogVCkgPT4gdm9pZClcbiAgKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcyID09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IGsgPSBrZXkoVHlwZSwgdHJ1ZSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgaywge1xuICAgICAgICB2YWx1ZTogYXJnMixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRlbGV0ZSB0aGlzW2tdO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzW2tleShUeXBlKV07XG5cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRGlkIGZpbmQgJHtUeXBlfSBpbiBjb250ZXh0LCBidXQgbXVsdGlwbGUgd2VyZSBkZWZpbmVkLmBcbiAgICAgICk7XG5cbiAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0IGFzIFQ7XG5cbiAgICBpZiAoYXJnMikgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCAke1R5cGV9IGluIGNvbnRleHQuYCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIFN0YXRlIHRvIHRoaXMgY29udGV4dC5cbiAgICovXG4gIHByb3RlY3RlZCBhZGQ8VCBleHRlbmRzIFN0YXRlPihcbiAgICBpbnB1dDogVCB8IFN0YXRlLkNsYXNzPFQ+LFxuICAgIGltcGxpY2l0PzogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCBjbGVhbnVwID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuICAgIGxldCBUOiBTdGF0ZS5FeHRlbmRzPFQ+O1xuICAgIGxldCBJOiBUO1xuXG4gICAgaWYgKHR5cGVvZiBpbnB1dCA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBUID0gaW5wdXQ7XG4gICAgICBJID0gbmV3IGlucHV0KCkgYXMgVDtcbiAgICB9IGVsc2Uge1xuICAgICAgVCA9IGlucHV0LmNvbnN0cnVjdG9yIGFzIFN0YXRlLkV4dGVuZHM8VD47XG4gICAgICBJID0gaW5wdXQ7XG4gICAgfVxuXG4gICAga2V5cyhULCB0cnVlKS5mb3JFYWNoKChLKSA9PiB7XG4gICAgICBjb25zdCBleHBlY3RzID0gdGhpc1tLXSBhcyBDb250ZXh0LkV4cGVjdCB8IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGV4cGVjdHMpXG4gICAgICAgIGFkZExpc3RlbmVyKEksIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgY2IgPSBleHBlY3RzKEkpO1xuICAgICAgICAgICAgaWYgKGNiKSBjbGVhbnVwLmFkZChjYik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAga2V5cyhUKS5mb3JFYWNoKChLKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaGFzT3duUHJvcGVydHkoSykgPyBudWxsIDogSTtcblxuICAgICAgaWYgKHZhbHVlIHx8ICh0aGlzW0tdICE9PSBJICYmICFpbXBsaWNpdCkpXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBLLCB7XG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbGVhbnVwLmFkZCgoKSA9PiB7XG4gICAgICBjbGVhbnVwLmZvckVhY2goKGNiKSA9PiBjYigpKTtcbiAgICAgIGlmIChJICE9PSBpbnB1dCkgZXZlbnQoSSwgbnVsbCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB3YWl0aW5nID0gTE9PS1VQLmdldChJKTtcblxuICAgIGlmICh3YWl0aW5nIGluc3RhbmNlb2YgQXJyYXkpIHdhaXRpbmcuZm9yRWFjaCgoY2IpID0+IGNiKHRoaXMpKTtcblxuICAgIExPT0tVUC5zZXQoSSwgdGhpcyk7XG5cbiAgICByZXR1cm4gSTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBvbmUgb3IgbW9yZSBTdGF0ZXMgdG8gdGhpcyBjb250ZXh0LlxuICAgKlxuICAgKiBDb250ZXh0IHdpbGwgYWRkIG9yIHJlbW92ZSBTdGF0ZXMgYXMgbmVlZGVkIHRvIGtlZXAgd2l0aCBwcm92aWRlZCBpbnB1dC5cbiAgICpcbiAgICogQHBhcmFtIGlucHV0cyBTdGF0ZSwgU3RhdGUgY2xhc3MsIG9yIG1hcCBvZiBTdGF0ZXMgLyBTdGF0ZSBjbGFzc2VzIHRvIHJlZ2lzdGVyLlxuICAgKiBAcGFyYW0gZm9yRWFjaCBPcHRpb25hbCBjYWxsYmFjayB0byBydW4gZm9yIGVhY2ggU3RhdGUgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHB1YmxpYyB1c2U8VCBleHRlbmRzIFN0YXRlPihcbiAgICBpbnB1dHM6IENvbnRleHQuQWNjZXB0PFQ+LFxuICAgIGZvckVhY2g/OiBDb250ZXh0LkV4cGVjdDxUPlxuICApIHtcbiAgICBjb25zdCBpbml0ID0gbmV3IE1hcDxTdGF0ZSwgYm9vbGVhbj4oKTtcblxuICAgIGlmICh0eXBlb2YgaW5wdXRzID09ICdmdW5jdGlvbicgfHwgaW5wdXRzIGluc3RhbmNlb2YgU3RhdGUpXG4gICAgICBpbnB1dHMgPSB7IFswXTogaW5wdXRzIH07XG5cbiAgICBmb3IgKGNvbnN0IFtLLCBWXSBvZiBPYmplY3QuZW50cmllcyhpbnB1dHMpKSB7XG4gICAgICBpZiAoIShTdGF0ZS5pcyhWKSB8fCBWIGluc3RhbmNlb2YgU3RhdGUpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENvbnRleHQgbWF5IG9ubHkgaW5jbHVkZSBpbnN0YW5jZSBvciBjbGFzcyBcXGBleHRlbmRzIFN0YXRlXFxgIGJ1dCBnb3QgJHtcbiAgICAgICAgICAgIEsgPT0gJzAnIHx8IEsgPT0gU3RyaW5nKFYpID8gViA6IGAke1Z9IChhcyAnJHtLfScpYFxuICAgICAgICAgIH0uYFxuICAgICAgICApO1xuXG4gICAgICBjb25zdCBleGlzdHMgPSB0aGlzLmlucHV0c1tLXTtcblxuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgaW5pdC5zZXQodGhpcy5hZGQoViksIHRydWUpO1xuICAgICAgfVxuICAgICAgLy8gQ29udGV4dCBtdXN0IGZvcmNlLXJlc2V0IGJlY2F1c2UgaW5wdXRzIGFyZSBubyBsb25nZXIgc2FmZSxcbiAgICAgIC8vIGhvd2V2ZXIgcHJvYmFibHkgc2hvdWxkIGRvIHRoYXQgb24gYSBwZXItc3RhdGUgYmFzaXMuXG4gICAgICBlbHNlIGlmIChleGlzdHMgIT09IFYpIHtcbiAgICAgICAgdGhpcy5wb3AoKTtcbiAgICAgICAgdGhpcy51c2UoaW5wdXRzKTtcbiAgICAgICAgdGhpcy5pZCA9IHVpZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbc3RhdGUsIGV4cGxpY2l0XSBvZiBpbml0KSB7XG4gICAgICBzdGF0ZS5zZXQoKTtcblxuICAgICAgaWYgKGV4cGxpY2l0ICYmIGZvckVhY2gpIGZvckVhY2goc3RhdGUgYXMgVCk7XG5cbiAgICAgIGZvciAoY29uc3QgW19rZXksIHZhbHVlXSBvZiBzdGF0ZSlcbiAgICAgICAgaWYgKFBBUkVOVC5nZXQodmFsdWUgYXMgU3RhdGUpID09PSBzdGF0ZSkge1xuICAgICAgICAgIHRoaXMuYWRkKHZhbHVlIGFzIFN0YXRlLCB0cnVlKTtcbiAgICAgICAgICBpbml0LnNldCh2YWx1ZSBhcyBTdGF0ZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dHMgPSBpbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY2hpbGQgY29udGV4dCwgb3B0aW9uYWxseSByZWdpc3RlcmluZyBvbmUgb3IgbW9yZSBTdGF0ZXMgdG8gaXQuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dHMgU3RhdGUsIFN0YXRlIGNsYXNzLCBvciBtYXAgb2YgU3RhdGVzIC8gU3RhdGUgY2xhc3NlcyB0byByZWdpc3Rlci5cbiAgICovXG4gIHB1YmxpYyBwdXNoKGlucHV0cz86IENvbnRleHQuQWNjZXB0KSB7XG4gICAgY29uc3QgbmV4dCA9IE9iamVjdC5jcmVhdGUodGhpcykgYXMgdGhpcztcblxuICAgIHRoaXMuY2xlYW51cCA9IG5ldyBTZXQoWygpID0+IG5leHQucG9wKCksIC4uLnRoaXMuY2xlYW51cF0pO1xuXG4gICAgbmV4dC5pbnB1dHMgPSB7fTtcbiAgICBuZXh0LmNsZWFudXAgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAoaW5wdXRzKSBuZXh0LnVzZShpbnB1dHMpO1xuXG4gICAgcmV0dXJuIG5leHQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFsbCBTdGF0ZXMgZnJvbSB0aGlzIGNvbnRleHQuXG4gICAqXG4gICAqIFdpbGwgYWxzbyBydW4gYW55IGNsZWFudXAgY2FsbGJhY2tzIHJlZ2lzdGVyZWQgd2hlbiBTdGF0ZXMgd2VyZSBhZGRlZC5cbiAgICovXG4gIHB1YmxpYyBwb3AoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0aGlzKSkgZGVsZXRlIHRoaXNba2V5XTtcblxuICAgIHRoaXMuY2xlYW51cC5mb3JFYWNoKChjYikgPT4gY2IoKSk7XG4gICAgdGhpcy5jbGVhbnVwLmNsZWFyKCk7XG4gICAgdGhpcy5pbnB1dHMgPSB7fTtcbiAgfVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQ29udGV4dC5wcm90b3R5cGUsICd0b1N0cmluZycsIHtcbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIGBDb250ZXh0LSR7dGhpcy5pZH1gO1xuICB9XG59KTtcblxuZXhwb3J0IHsgQ29udGV4dCB9O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FB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
|
|
152
|
+
Object.defineProperty(Context.prototype, "toString", { value() {
|
|
153
|
+
return `Context-${this.id}`;
|
|
154
|
+
} });
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
export { Context };
|
|
158
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRMaXN0ZW5lciB9IGZyb20gJy4vb2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBldmVudCwgU3RhdGUsIFBBUkVOVCwgdWlkIH0gZnJvbSAnLi9zdGF0ZSc7XG5cbmNvbnN0IExPT0tVUCA9IG5ldyBXZWFrTWFwPFN0YXRlLCBDb250ZXh0IHwgKChnb3Q6IENvbnRleHQpID0+IHZvaWQpW10+KCk7XG5jb25zdCBLRVlTID0gbmV3IE1hcDxzeW1ib2wgfCBTdGF0ZS5FeHRlbmRzLCBzeW1ib2w+KCk7XG5cbmZ1bmN0aW9uIGtleShUOiBTdGF0ZS5FeHRlbmRzIHwgc3ltYm9sLCB1cHN0cmVhbT86IGJvb2xlYW4pOiBzeW1ib2wge1xuICBsZXQgSyA9IEtFWVMuZ2V0KFQpO1xuXG4gIGlmICghSykge1xuICAgIEsgPSBTeW1ib2wodHlwZW9mIFQgPT0gJ3N5bWJvbCcgPyAnZ2V0ICcgKyBULmRlc2NyaXB0aW9uIDogU3RyaW5nKFQpKTtcbiAgICBLRVlTLnNldChULCBLKTtcbiAgfVxuXG4gIHJldHVybiB1cHN0cmVhbSA/IGtleShLKSA6IEs7XG59XG5cbmZ1bmN0aW9uIGtleXMoZnJvbTogU3RhdGUuRXh0ZW5kcywgdXBzdHJlYW0/OiBib29sZWFuKSB7XG4gIGNvbnN0IGtleXMgPSBuZXcgU2V0PHN5bWJvbD4oKTtcblxuICBkbyB7XG4gICAga2V5cy5hZGQoa2V5KGZyb20sIHVwc3RyZWFtKSk7XG4gICAgZnJvbSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmcm9tKTtcbiAgfSB3aGlsZSAoZnJvbSAhPT0gU3RhdGUpO1xuXG4gIHJldHVybiBrZXlzO1xufVxuXG5kZWNsYXJlIG5hbWVzcGFjZSBDb250ZXh0IHtcbiAgdHlwZSBNdWx0aXBsZTxUIGV4dGVuZHMgU3RhdGU+ID0ge1xuICAgIFtrZXk6IHN0cmluZyB8IG51bWJlcl06IFN0YXRlLlR5cGU8VD4gfCBUO1xuICB9O1xuXG4gIHR5cGUgQWNjZXB0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IFQgfCBTdGF0ZS5UeXBlPFQ+IHwgTXVsdGlwbGU8VD47XG5cbiAgdHlwZSBFeHBlY3Q8VCBleHRlbmRzIFN0YXRlID0gU3RhdGU+ID0gKHN0YXRlOiBUKSA9PiAoKCkgPT4gdm9pZCkgfCB2b2lkO1xufVxuXG5pbnRlcmZhY2UgQ29udGV4dCB7XG4gIFtrZXk6IHN5bWJvbF06IFN0YXRlIHwgQ29udGV4dC5FeHBlY3QgfCBudWxsIHwgdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBDb250ZXh0IHtcbiAgLyoqXG4gICAqIEdldCB0aGUgY29udGV4dCBmb3IgYSBzcGVjaWZpZWQgU3RhdGUuIElmIGEgY2FsbGJhY2sgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgcnVuIHdoZW5cbiAgICogdGhlIGNvbnRleHQgYmVjb21lcyBhdmFpbGFibGUuXG4gICAqL1xuICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oXG4gICAgb246IFN0YXRlLFxuICAgIGNhbGxiYWNrOiAoZ290OiBDb250ZXh0KSA9PiB2b2lkXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29udGV4dCBmb3IgYSBzcGVjaWZpZWQgU3RhdGUuIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vbmUgYXJlIGZvdW5kLlxuICAgKi9cbiAgc3RhdGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KG9uOiBTdGF0ZSk6IENvbnRleHQgfCB1bmRlZmluZWQ7XG5cbiAgc3RhdGljIGdldCh7IGlzIH06IFN0YXRlLCBjYWxsYmFjaz86IChnb3Q6IENvbnRleHQpID0+IHZvaWQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gTE9PS1VQLmdldChpcyk7XG5cbiAgICBpZiAoY29udGV4dCBpbnN0YW5jZW9mIENvbnRleHQpIHtcbiAgICAgIGlmIChjYWxsYmFjaykgY2FsbGJhY2soY29udGV4dCk7XG4gICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG5cbiAgICBpZiAoY2FsbGJhY2spXG4gICAgICBpZiAoY29udGV4dCkgY29udGV4dC5wdXNoKGNhbGxiYWNrKTtcbiAgICAgIGVsc2UgTE9PS1VQLnNldChpcywgW2NhbGxiYWNrXSk7XG4gIH1cblxuICBwdWJsaWMgaWQgPSB1aWQoKTtcblxuICBwcm90ZWN0ZWQgaW5wdXRzID0ge30gYXMgUmVjb3JkPHN0cmluZyB8IG51bWJlciwgU3RhdGUgfCBTdGF0ZS5FeHRlbmRzPjtcbiAgcHJvdGVjdGVkIGNsZWFudXAgPSBuZXcgU2V0PCgpID0+IHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoaW5wdXRzPzogQ29udGV4dC5BY2NlcHQpIHtcbiAgICBpZiAoaW5wdXRzKSB0aGlzLnVzZShpbnB1dHMpO1xuICB9XG5cbiAgLyoqIEZpbmQgc3BlY2lmaWVkIHR5cGUgcmVnaXN0ZXJlZCB0byBhIHBhcmVudCBjb250ZXh0LiBUaHJvd3MgaWYgbm9uZSBhcmUgZm91bmQuICovXG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihUeXBlOiBTdGF0ZS5FeHRlbmRzPFQ+LCByZXF1aXJlOiB0cnVlKTogVDtcblxuICAvKiogRmluZCBzcGVjaWZpZWQgdHlwZSByZWdpc3RlcmVkIHRvIGEgcGFyZW50IGNvbnRleHQuIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vbmUgYXJlIGZvdW5kLiAqL1xuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oXG4gICAgVHlwZTogU3RhdGUuRXh0ZW5kczxUPixcbiAgICByZXF1aXJlPzogYm9vbGVhblxuICApOiBUIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBSdW4gY2FsbGJhY2sgd2hlbiBhIHNwZWNpZmllZCB0eXBlIGlzIHJlZ2lzdGVyZWQgaW4gY29udGV4dCBkb3duc3RyZWFtLiAqL1xuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oXG4gICAgVHlwZTogU3RhdGUuRXh0ZW5kczxUPixcbiAgICBjYWxsYmFjazogKHN0YXRlOiBUKSA9PiB2b2lkXG4gICk6ICgpID0+IHZvaWQ7XG5cbiAgcHVibGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sXG4gICAgYXJnMj86IGJvb2xlYW4gfCAoKHN0YXRlOiBUKSA9PiB2b2lkKVxuICApIHtcbiAgICBpZiAodHlwZW9mIGFyZzIgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgayA9IGtleShUeXBlLCB0cnVlKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrLCB7XG4gICAgICAgIHZhbHVlOiBhcmcyLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZGVsZXRlIHRoaXNba107XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXNba2V5KFR5cGUpXTtcblxuICAgIGlmIChyZXN1bHQgPT09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBEaWQgZmluZCAke1R5cGV9IGluIGNvbnRleHQsIGJ1dCBtdWx0aXBsZSB3ZXJlIGRlZmluZWQuYFxuICAgICAgKTtcblxuICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQgYXMgVDtcblxuICAgIGlmIChhcmcyKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kICR7VHlwZX0gaW4gY29udGV4dC5gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgU3RhdGUgdG8gdGhpcyBjb250ZXh0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZDxUIGV4dGVuZHMgU3RhdGU+KGlucHV0OiBUIHwgU3RhdGUuVHlwZTxUPiwgaW1wbGljaXQ/OiBib29sZWFuKSB7XG4gICAgY29uc3QgY2xlYW51cCA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKTtcbiAgICBsZXQgVDogU3RhdGUuRXh0ZW5kczxUPjtcbiAgICBsZXQgSTogVDtcblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgVCA9IGlucHV0O1xuICAgICAgSSA9IG5ldyBpbnB1dCgpIGFzIFQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIFQgPSBpbnB1dC5jb25zdHJ1Y3RvciBhcyBTdGF0ZS5FeHRlbmRzPFQ+O1xuICAgICAgSSA9IGlucHV0O1xuICAgIH1cblxuICAgIGtleXMoVCwgdHJ1ZSkuZm9yRWFjaCgoSykgPT4ge1xuICAgICAgY29uc3QgZXhwZWN0cyA9IHRoaXNbS10gYXMgQ29udGV4dC5FeHBlY3QgfCB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChleHBlY3RzKVxuICAgICAgICBhZGRMaXN0ZW5lcihJLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNiID0gZXhwZWN0cyhJKTtcbiAgICAgICAgICAgIGlmIChjYikgY2xlYW51cC5hZGQoY2IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGtleXMoVCkuZm9yRWFjaCgoSykgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmhhc093blByb3BlcnR5KEspID8gbnVsbCA6IEk7XG5cbiAgICAgIGlmICh2YWx1ZSB8fCAodGhpc1tLXSAhPT0gSSAmJiAhaW1wbGljaXQpKVxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgSywge1xuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2xlYW51cC5hZGQoKCkgPT4ge1xuICAgICAgY2xlYW51cC5mb3JFYWNoKChjYikgPT4gY2IoKSk7XG4gICAgICBpZiAoSSAhPT0gaW5wdXQpIGV2ZW50KEksIG51bGwpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgd2FpdGluZyA9IExPT0tVUC5nZXQoSSk7XG5cbiAgICBpZiAod2FpdGluZyBpbnN0YW5jZW9mIEFycmF5KSB3YWl0aW5nLmZvckVhY2goKGNiKSA9PiBjYih0aGlzKSk7XG5cbiAgICBMT09LVVAuc2V0KEksIHRoaXMpO1xuXG4gICAgcmV0dXJuIEk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgb25lIG9yIG1vcmUgU3RhdGVzIHRvIHRoaXMgY29udGV4dC5cbiAgICpcbiAgICogQ29udGV4dCB3aWxsIGFkZCBvciByZW1vdmUgU3RhdGVzIGFzIG5lZWRlZCB0byBrZWVwIHdpdGggcHJvdmlkZWQgaW5wdXQuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dHMgU3RhdGUsIFN0YXRlIGNsYXNzLCBvciBtYXAgb2YgU3RhdGVzIC8gU3RhdGUgY2xhc3NlcyB0byByZWdpc3Rlci5cbiAgICogQHBhcmFtIGZvckVhY2ggT3B0aW9uYWwgY2FsbGJhY2sgdG8gcnVuIGZvciBlYWNoIFN0YXRlIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgdXNlPFQgZXh0ZW5kcyBTdGF0ZT4oXG4gICAgaW5wdXRzOiBDb250ZXh0LkFjY2VwdDxUPixcbiAgICBmb3JFYWNoPzogQ29udGV4dC5FeHBlY3Q8VD5cbiAgKSB7XG4gICAgY29uc3QgaW5pdCA9IG5ldyBNYXA8U3RhdGUsIGJvb2xlYW4+KCk7XG5cbiAgICBpZiAodHlwZW9mIGlucHV0cyA9PSAnZnVuY3Rpb24nIHx8IGlucHV0cyBpbnN0YW5jZW9mIFN0YXRlKVxuICAgICAgaW5wdXRzID0geyBbMF06IGlucHV0cyB9O1xuXG4gICAgZm9yIChjb25zdCBbSywgVl0gb2YgT2JqZWN0LmVudHJpZXMoaW5wdXRzKSkge1xuICAgICAgaWYgKCEoU3RhdGUuaXMoVikgfHwgViBpbnN0YW5jZW9mIFN0YXRlKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDb250ZXh0IG1heSBvbmx5IGluY2x1ZGUgaW5zdGFuY2Ugb3IgY2xhc3MgXFxgZXh0ZW5kcyBTdGF0ZVxcYCBidXQgZ290ICR7XG4gICAgICAgICAgICBLID09ICcwJyB8fCBLID09IFN0cmluZyhWKSA/IFYgOiBgJHtWfSAoYXMgJyR7S30nKWBcbiAgICAgICAgICB9LmBcbiAgICAgICAgKTtcblxuICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5pbnB1dHNbS107XG5cbiAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgIGluaXQuc2V0KHRoaXMuYWRkKFYpLCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIC8vIENvbnRleHQgbXVzdCBmb3JjZS1yZXNldCBiZWNhdXNlIGlucHV0cyBhcmUgbm8gbG9uZ2VyIHNhZmUsXG4gICAgICAvLyBob3dldmVyIHByb2JhYmx5IHNob3VsZCBkbyB0aGF0IG9uIGEgcGVyLXN0YXRlIGJhc2lzLlxuICAgICAgZWxzZSBpZiAoZXhpc3RzICE9PSBWKSB7XG4gICAgICAgIHRoaXMucG9wKCk7XG4gICAgICAgIHRoaXMudXNlKGlucHV0cyk7XG4gICAgICAgIHRoaXMuaWQgPSB1aWQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW3N0YXRlLCBleHBsaWNpdF0gb2YgaW5pdCkge1xuICAgICAgc3RhdGUuc2V0KCk7XG5cbiAgICAgIGlmIChleHBsaWNpdCAmJiBmb3JFYWNoKSBmb3JFYWNoKHN0YXRlIGFzIFQpO1xuXG4gICAgICBmb3IgKGNvbnN0IFtfa2V5LCB2YWx1ZV0gb2Ygc3RhdGUpXG4gICAgICAgIGlmIChQQVJFTlQuZ2V0KHZhbHVlIGFzIFN0YXRlKSA9PT0gc3RhdGUpIHtcbiAgICAgICAgICB0aGlzLmFkZCh2YWx1ZSBhcyBTdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgaW5pdC5zZXQodmFsdWUgYXMgU3RhdGUsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaW5wdXRzID0gaW5wdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNoaWxkIGNvbnRleHQsIG9wdGlvbmFsbHkgcmVnaXN0ZXJpbmcgb25lIG9yIG1vcmUgU3RhdGVzIHRvIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gaW5wdXRzIFN0YXRlLCBTdGF0ZSBjbGFzcywgb3IgbWFwIG9mIFN0YXRlcyAvIFN0YXRlIGNsYXNzZXMgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBwdWJsaWMgcHVzaChpbnB1dHM/OiBDb250ZXh0LkFjY2VwdCkge1xuICAgIGNvbnN0IG5leHQgPSBPYmplY3QuY3JlYXRlKHRoaXMpIGFzIHRoaXM7XG5cbiAgICB0aGlzLmNsZWFudXAgPSBuZXcgU2V0KFsoKSA9PiBuZXh0LnBvcCgpLCAuLi50aGlzLmNsZWFudXBdKTtcblxuICAgIG5leHQuaW5wdXRzID0ge307XG4gICAgbmV4dC5jbGVhbnVwID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKGlucHV0cykgbmV4dC51c2UoaW5wdXRzKTtcblxuICAgIHJldHVybiBuZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgU3RhdGVzIGZyb20gdGhpcyBjb250ZXh0LlxuICAgKlxuICAgKiBXaWxsIGFsc28gcnVuIGFueSBjbGVhbnVwIGNhbGxiYWNrcyByZWdpc3RlcmVkIHdoZW4gU3RhdGVzIHdlcmUgYWRkZWQuXG4gICAqL1xuICBwdWJsaWMgcG9wKCkge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModGhpcykpIGRlbGV0ZSB0aGlzW2tleV07XG5cbiAgICB0aGlzLmNsZWFudXAuZm9yRWFjaCgoY2IpID0+IGNiKCkpO1xuICAgIHRoaXMuY2xlYW51cC5jbGVhcigpO1xuICAgIHRoaXMuaW5wdXRzID0ge307XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbnRleHQucHJvdG90eXBlLCAndG9TdHJpbmcnLCB7XG4gIHZhbHVlKCkge1xuICAgIHJldHVybiBgQ29udGV4dC0ke3RoaXMuaWR9YDtcbiAgfVxufSk7XG5cbmV4cG9ydCB7IENvbnRleHQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUdB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Observable, addListener, event, watch } from "./observable.js";
|
|
2
|
+
import { METHOD, State } from "./state.js";
|
|
3
|
+
import { Context } from "./context.js";
|
|
4
|
+
import { Instruction, use } from "./instruction/use.js";
|
|
5
|
+
import { get } from "./instruction/get.js";
|
|
6
|
+
import { set } from "./instruction/set.js";
|
|
7
|
+
import { ref } from "./instruction/ref.js";
|
|
8
|
+
export { Context, type Instruction, METHOD, Observable, State, addListener, State as default, event, get, ref, set, use, watch };
|
package/dist/esm/index.js
CHANGED
|
@@ -1,23 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Instruction,
|
|
11
|
-
METHOD,
|
|
12
|
-
Observable,
|
|
13
|
-
State,
|
|
14
|
-
addListener,
|
|
15
|
-
State2 as default,
|
|
16
|
-
event,
|
|
17
|
-
get,
|
|
18
|
-
ref,
|
|
19
|
-
set,
|
|
20
|
-
use,
|
|
21
|
-
watch
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyB1c2UsIEluc3RydWN0aW9uIH0gZnJvbSAnLi9pbnN0cnVjdGlvbi91c2UnO1xuZXhwb3J0IHsgZ2V0IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9nZXQnO1xuZXhwb3J0IHsgc2V0IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9zZXQnO1xuZXhwb3J0IHsgcmVmIH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9yZWYnO1xuXG5leHBvcnQgeyBTdGF0ZSwgU3RhdGUgYXMgZGVmYXVsdCwgTUVUSE9EIH0gZnJvbSAnLi9zdGF0ZSc7XG5leHBvcnQgeyB3YXRjaCwgYWRkTGlzdGVuZXIsIGV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAnLi9jb250cm9sJztcbmV4cG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLLG1CQUFtQjtBQUNqQyxTQUFTLFdBQVc7QUFDcEIsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsV0FBVztBQUVwQixTQUFTLE9BQWdCLFNBQVRBLFFBQWtCLGNBQWM7QUFDaEQsU0FBUyxPQUFPLGFBQWEsT0FBTyxrQkFBa0I7QUFDdEQsU0FBUyxlQUFlOyIsCiAgIm5hbWVzIjogWyJTdGF0ZSJdCn0K
|
|
1
|
+
import { Observable, addListener, event, watch } from "./observable.js";
|
|
2
|
+
import { METHOD, State } from "./state.js";
|
|
3
|
+
import { Context } from "./context.js";
|
|
4
|
+
import { use } from "./instruction/use.js";
|
|
5
|
+
import { get } from "./instruction/get.js";
|
|
6
|
+
import { set } from "./instruction/set.js";
|
|
7
|
+
import { ref } from "./instruction/ref.js";
|
|
8
|
+
|
|
9
|
+
export { Context, METHOD, Observable, State, addListener, State as default, event, get, ref, set, use, watch };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { State } from "../state.js";
|
|
2
|
+
|
|
3
|
+
//#region src/instruction/get.d.ts
|
|
4
|
+
declare namespace get {
|
|
5
|
+
type Callback<T = any> = (state: T, subject: State) => void | boolean | (() => void);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fetches upstream State from context with optional lifecycle callback.
|
|
9
|
+
* Callback runs on mount and can return cleanup function for unmount.
|
|
10
|
+
*
|
|
11
|
+
* @param Type - Type of State to fetch.
|
|
12
|
+
* @param callback - Optional lifecycle callback, receives (state, subject). Can return cleanup function.
|
|
13
|
+
*/
|
|
14
|
+
declare function get<T extends State>(Type: State.Extends<T>, callback?: get.Callback<T>): T;
|
|
15
|
+
/**
|
|
16
|
+
* Fetches and assigns the controller which spawned this host.
|
|
17
|
+
* When parent assigns an instance via `use()` directive, it
|
|
18
|
+
* will be made available to child upon this request.
|
|
19
|
+
*
|
|
20
|
+
* @param Type - Type of controller compatible with this class.
|
|
21
|
+
* @param required - If false, property may be undefined. Otherwise will throw suspense.
|
|
22
|
+
*/
|
|
23
|
+
declare function get<T extends State>(Type: State.Extends<T>, required: false): T | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Collects downstream States, this will accumulate all instances of specified type for which this is an ancestor.
|
|
26
|
+
* Returns a frozen array that updates as States are added or removed.
|
|
27
|
+
* Callback runs on each State registration and can return cleanup or false to prevent registration.
|
|
28
|
+
*
|
|
29
|
+
* @param Type - Type of State to collect.
|
|
30
|
+
* @param downstream - Must be true to enable downstream mode.
|
|
31
|
+
* @param callback - Optional lifecycle callback, receives (state, subject). May return false to prevent registration.
|
|
32
|
+
*/
|
|
33
|
+
declare function get<T extends State>(Type: State.Extends<T>, downstream: true, callback?: get.Callback<T>): readonly T[];
|
|
34
|
+
//#endregion
|
|
35
|
+
export { get };
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luc3RydWN0aW9uL2dldC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuZGVjbGFyZSBuYW1lc3BhY2UgZ2V0IHtcbiAgICB0eXBlIENhbGxiYWNrPFQgPSBhbnk+ID0gKHN0YXRlOiBULCBzdWJqZWN0OiBTdGF0ZSkgPT4gdm9pZCB8IGJvb2xlYW4gfCAoKCkgPT4gdm9pZCk7XG59XG4vKipcbiAqIEZldGNoZXMgdXBzdHJlYW0gU3RhdGUgZnJvbSBjb250ZXh0IHdpdGggb3B0aW9uYWwgbGlmZWN5Y2xlIGNhbGxiYWNrLlxuICogQ2FsbGJhY2sgcnVucyBvbiBtb3VudCBhbmQgY2FuIHJldHVybiBjbGVhbnVwIGZ1bmN0aW9uIGZvciB1bm1vdW50LlxuICpcbiAqIEBwYXJhbSBUeXBlIC0gVHlwZSBvZiBTdGF0ZSB0byBmZXRjaC5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIE9wdGlvbmFsIGxpZmVjeWNsZSBjYWxsYmFjaywgcmVjZWl2ZXMgKHN0YXRlLCBzdWJqZWN0KS4gQ2FuIHJldHVybiBjbGVhbnVwIGZ1bmN0aW9uLlxuICovXG5kZWNsYXJlIGZ1bmN0aW9uIGdldDxUIGV4dGVuZHMgU3RhdGU+KFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sIGNhbGxiYWNrPzogZ2V0LkNhbGxiYWNrPFQ+KTogVDtcbi8qKlxuICogRmV0Y2hlcyBhbmQgYXNzaWducyB0aGUgY29udHJvbGxlciB3aGljaCBzcGF3bmVkIHRoaXMgaG9zdC5cbiAqIFdoZW4gcGFyZW50IGFzc2lnbnMgYW4gaW5zdGFuY2UgdmlhIGB1c2UoKWAgZGlyZWN0aXZlLCBpdFxuICogd2lsbCBiZSBtYWRlIGF2YWlsYWJsZSB0byBjaGlsZCB1cG9uIHRoaXMgcmVxdWVzdC5cbiAqXG4gKiBAcGFyYW0gVHlwZSAtIFR5cGUgb2YgY29udHJvbGxlciBjb21wYXRpYmxlIHdpdGggdGhpcyBjbGFzcy5cbiAqIEBwYXJhbSByZXF1aXJlZCAtIElmIGZhbHNlLCBwcm9wZXJ0eSBtYXkgYmUgdW5kZWZpbmVkLiBPdGhlcndpc2Ugd2lsbCB0aHJvdyBzdXNwZW5zZS5cbiAqL1xuZGVjbGFyZSBmdW5jdGlvbiBnZXQ8VCBleHRlbmRzIFN0YXRlPihUeXBlOiBTdGF0ZS5FeHRlbmRzPFQ+LCByZXF1aXJlZDogZmFsc2UpOiBUIHwgdW5kZWZpbmVkO1xuLyoqXG4gKiBDb2xsZWN0cyBkb3duc3RyZWFtIFN0YXRlcywgdGhpcyB3aWxsIGFjY3VtdWxhdGUgYWxsIGluc3RhbmNlcyBvZiBzcGVjaWZpZWQgdHlwZSBmb3Igd2hpY2ggdGhpcyBpcyBhbiBhbmNlc3Rvci5cbiAqIFJldHVybnMgYSBmcm96ZW4gYXJyYXkgdGhhdCB1cGRhdGVzIGFzIFN0YXRlcyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC5cbiAqIENhbGxiYWNrIHJ1bnMgb24gZWFjaCBTdGF0ZSByZWdpc3RyYXRpb24gYW5kIGNhbiByZXR1cm4gY2xlYW51cCBvciBmYWxzZSB0byBwcmV2ZW50IHJlZ2lzdHJhdGlvbi5cbiAqXG4gKiBAcGFyYW0gVHlwZSAtIFR5cGUgb2YgU3RhdGUgdG8gY29sbGVjdC5cbiAqIEBwYXJhbSBkb3duc3RyZWFtIC0gTXVzdCBiZSB0cnVlIHRvIGVuYWJsZSBkb3duc3RyZWFtIG1vZGUuXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBPcHRpb25hbCBsaWZlY3ljbGUgY2FsbGJhY2ssIHJlY2VpdmVzIChzdGF0ZSwgc3ViamVjdCkuIE1heSByZXR1cm4gZmFsc2UgdG8gcHJldmVudCByZWdpc3RyYXRpb24uXG4gKi9cbmRlY2xhcmUgZnVuY3Rpb24gZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oVHlwZTogU3RhdGUuRXh0ZW5kczxUPiwgZG93bnN0cmVhbTogdHJ1ZSwgY2FsbGJhY2s/OiBnZXQuQ2FsbGJhY2s8VD4pOiByZWFkb25seSBUW107XG5leHBvcnQgeyBnZXQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBQSxNQUFRO0NBQUE7RUFBQSxNQUFVLENBQUcsR0FBQyxNQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3RCLElBQUksTUFBSztDQUFBO0VBQUEsTUFBVztFQUFDO0VBQU87RUFBRSxNQUFPO0VBQUc7RUFBUyxJQUFBO0VBQWM7RUFBRTtDQUFDO0VBQUE7RUFBQTtFQUFVO0VBQUk7RUFBRztFQUFLO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDeEYsSUFBQSxNQUFBO0NBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNBLElBQUUsTUFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQSxNQUFBO0VBQUE7RUFBQSxJQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQSJ9
|