@expressive/mvc 0.71.0 → 0.72.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.js +111 -90
- package/dist/esm/control.js +31 -42
- package/dist/esm/index.js +10 -11
- package/dist/esm/instruction/get.js +64 -73
- package/dist/esm/instruction/ref.js +40 -37
- package/dist/esm/instruction/set.js +78 -27
- package/dist/esm/instruction/use.js +19 -21
- package/dist/esm/state.js +324 -0
- package/dist/index.d.ts +225 -190
- package/dist/index.js +502 -531
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/instruction/has.js +0 -86
- package/dist/esm/model.js +0 -318
package/dist/esm/context.js
CHANGED
|
@@ -1,104 +1,62 @@
|
|
|
1
1
|
import { addListener } from "./control";
|
|
2
|
-
import { event,
|
|
2
|
+
import { event, State, PARENT, uid } from "./state";
|
|
3
3
|
const LOOKUP = /* @__PURE__ */ new WeakMap();
|
|
4
4
|
const KEYS = /* @__PURE__ */ new Map();
|
|
5
5
|
function key(T, upstream) {
|
|
6
6
|
let K = KEYS.get(T);
|
|
7
|
-
if (!K)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
if (!K) {
|
|
8
|
+
K = Symbol(typeof T == "symbol" ? "get " + T.description : String(T));
|
|
9
|
+
KEYS.set(T, K);
|
|
10
|
+
}
|
|
11
11
|
return upstream ? key(K) : K;
|
|
12
12
|
}
|
|
13
13
|
function keys(from, upstream) {
|
|
14
14
|
const keys2 = /* @__PURE__ */ new Set();
|
|
15
15
|
do {
|
|
16
16
|
keys2.add(key(from, upstream));
|
|
17
|
-
|
|
17
|
+
from = Object.getPrototypeOf(from);
|
|
18
|
+
} while (from !== State);
|
|
18
19
|
return keys2;
|
|
19
20
|
}
|
|
20
21
|
class Context {
|
|
21
22
|
constructor(inputs) {
|
|
22
|
-
this.
|
|
23
|
+
this.id = uid();
|
|
24
|
+
this.inputs = {};
|
|
23
25
|
this.cleanup = /* @__PURE__ */ new Set();
|
|
24
|
-
if (inputs)
|
|
25
|
-
this.include(inputs);
|
|
26
|
+
if (inputs) this.use(inputs);
|
|
26
27
|
}
|
|
27
28
|
static get({ is }, callback) {
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
if (callback)
|
|
31
|
-
|
|
32
|
-
return waiting;
|
|
29
|
+
const context = LOOKUP.get(is);
|
|
30
|
+
if (context instanceof Context) {
|
|
31
|
+
if (callback) callback(context);
|
|
32
|
+
return context;
|
|
33
33
|
}
|
|
34
34
|
if (callback)
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
else
|
|
38
|
-
LOOKUP.set(is, [callback]);
|
|
39
|
-
}
|
|
40
|
-
/** Run callback when a specified type is registered to a **child** context. */
|
|
41
|
-
has(Type, callback) {
|
|
42
|
-
Object.defineProperty(this, key(Type, true), { value: callback, configurable: true });
|
|
35
|
+
if (context) context.push(callback);
|
|
36
|
+
else LOOKUP.set(is, [callback]);
|
|
43
37
|
}
|
|
44
|
-
get(Type,
|
|
38
|
+
get(Type, arg2) {
|
|
39
|
+
if (typeof arg2 == "function") {
|
|
40
|
+
const k = key(Type, true);
|
|
41
|
+
Object.defineProperty(this, k, {
|
|
42
|
+
value: arg2,
|
|
43
|
+
configurable: true
|
|
44
|
+
});
|
|
45
|
+
return () => {
|
|
46
|
+
delete this[k];
|
|
47
|
+
};
|
|
48
|
+
}
|
|
45
49
|
const result = this[key(Type)];
|
|
46
50
|
if (result === null)
|
|
47
|
-
throw new Error(`Did find ${Type} in context, but multiple were defined.`);
|
|
48
|
-
if (result)
|
|
49
|
-
return result;
|
|
50
|
-
if (require2)
|
|
51
|
-
throw new Error(`Could not find ${Type} in context.`);
|
|
52
|
-
}
|
|
53
|
-
push(inputs) {
|
|
54
|
-
const next = Object.create(this);
|
|
55
|
-
this.cleanup = /* @__PURE__ */ new Set([() => next.pop(), ...this.cleanup]);
|
|
56
|
-
next.layer = /* @__PURE__ */ new Map();
|
|
57
|
-
next.cleanup = /* @__PURE__ */ new Set();
|
|
58
|
-
if (inputs)
|
|
59
|
-
next.include(inputs);
|
|
60
|
-
return next;
|
|
61
|
-
}
|
|
62
|
-
pop() {
|
|
63
|
-
for (const key2 of Object.getOwnPropertySymbols(this))
|
|
64
|
-
delete this[key2];
|
|
65
|
-
this.cleanup.forEach((cb) => cb());
|
|
66
|
-
this.cleanup.clear();
|
|
67
|
-
this.layer.clear();
|
|
68
|
-
}
|
|
69
|
-
include(inputs, forEach) {
|
|
70
|
-
const init = /* @__PURE__ */ new Map();
|
|
71
|
-
if (typeof inputs == "function" || inputs instanceof Model)
|
|
72
|
-
inputs = { [forEach ? 0 : this.layer.size]: inputs };
|
|
73
|
-
for (const [K, V] of Object.entries(inputs)) {
|
|
74
|
-
if (Model.is(V) || V instanceof Model) {
|
|
75
|
-
const exists = this.layer.get(K);
|
|
76
|
-
if (!exists) {
|
|
77
|
-
const instance = this.add(V);
|
|
78
|
-
this.layer.set(K, V);
|
|
79
|
-
init.set(instance, true);
|
|
80
|
-
} else if (exists !== V) {
|
|
81
|
-
this.pop();
|
|
82
|
-
this.id = uid();
|
|
83
|
-
this.include(inputs);
|
|
84
|
-
}
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
51
|
throw new Error(
|
|
88
|
-
`
|
|
52
|
+
`Did find ${Type} in context, but multiple were defined.`
|
|
89
53
|
);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
model.set();
|
|
93
|
-
if (explicit && forEach)
|
|
94
|
-
forEach(model);
|
|
95
|
-
for (const [_key, value] of model)
|
|
96
|
-
if (PARENT.get(value) === model) {
|
|
97
|
-
this.add(value, true);
|
|
98
|
-
init.set(value, false);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
54
|
+
if (result) return result;
|
|
55
|
+
if (arg2) throw new Error(`Could not find ${Type} in context.`);
|
|
101
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Adds a State to this context.
|
|
59
|
+
*/
|
|
102
60
|
add(input, implicit) {
|
|
103
61
|
const cleanup = /* @__PURE__ */ new Set();
|
|
104
62
|
let T;
|
|
@@ -112,16 +70,14 @@ class Context {
|
|
|
112
70
|
}
|
|
113
71
|
keys(T, true).forEach((K) => {
|
|
114
72
|
const expects = this[K];
|
|
115
|
-
if (
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
});
|
|
73
|
+
if (expects)
|
|
74
|
+
addListener(I, (event2) => {
|
|
75
|
+
if (event2 === true) {
|
|
76
|
+
const cb = expects(I);
|
|
77
|
+
if (cb) cleanup.add(cb);
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
});
|
|
125
81
|
});
|
|
126
82
|
keys(T).forEach((K) => {
|
|
127
83
|
const value = this.hasOwnProperty(K) ? null : I;
|
|
@@ -133,17 +89,82 @@ class Context {
|
|
|
133
89
|
});
|
|
134
90
|
this.cleanup.add(() => {
|
|
135
91
|
cleanup.forEach((cb) => cb());
|
|
136
|
-
if (I !== input)
|
|
137
|
-
event(I, null);
|
|
92
|
+
if (I !== input) event(I, null);
|
|
138
93
|
});
|
|
139
94
|
const waiting = LOOKUP.get(I);
|
|
140
|
-
if (waiting instanceof Array)
|
|
141
|
-
waiting.forEach((cb) => cb(this));
|
|
95
|
+
if (waiting instanceof Array) waiting.forEach((cb) => cb(this));
|
|
142
96
|
LOOKUP.set(I, this);
|
|
143
97
|
return I;
|
|
144
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Register one or more States to this context.
|
|
101
|
+
*
|
|
102
|
+
* Context will add or remove States as needed to keep with provided input.
|
|
103
|
+
*
|
|
104
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
105
|
+
* @param forEach Optional callback to run for each State registered.
|
|
106
|
+
*/
|
|
107
|
+
use(inputs, forEach) {
|
|
108
|
+
const init = /* @__PURE__ */ new Map();
|
|
109
|
+
if (typeof inputs == "function" || inputs instanceof State)
|
|
110
|
+
inputs = { [0]: inputs };
|
|
111
|
+
for (const [K, V] of Object.entries(inputs)) {
|
|
112
|
+
if (!(State.is(V) || V instanceof State))
|
|
113
|
+
throw new Error(
|
|
114
|
+
`Context may only include instance or class \`extends State\` but got ${K == "0" || K == String(V) ? V : `${V} (as '${K}')`}.`
|
|
115
|
+
);
|
|
116
|
+
const exists = this.inputs[K];
|
|
117
|
+
if (!exists) {
|
|
118
|
+
init.set(this.add(V), true);
|
|
119
|
+
} else if (exists !== V) {
|
|
120
|
+
this.pop();
|
|
121
|
+
this.use(inputs);
|
|
122
|
+
this.id = uid();
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
for (const [state, explicit] of init) {
|
|
127
|
+
state.set();
|
|
128
|
+
if (explicit && forEach) forEach(state);
|
|
129
|
+
for (const [_key, value] of state)
|
|
130
|
+
if (PARENT.get(value) === state) {
|
|
131
|
+
this.add(value, true);
|
|
132
|
+
init.set(value, false);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
this.inputs = inputs;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create a child context, optionally registering one or more States to it.
|
|
139
|
+
*
|
|
140
|
+
* @param inputs State, State class, or map of States / State classes to register.
|
|
141
|
+
*/
|
|
142
|
+
push(inputs) {
|
|
143
|
+
const next = Object.create(this);
|
|
144
|
+
this.cleanup = /* @__PURE__ */ new Set([() => next.pop(), ...this.cleanup]);
|
|
145
|
+
next.inputs = {};
|
|
146
|
+
next.cleanup = /* @__PURE__ */ new Set();
|
|
147
|
+
if (inputs) next.use(inputs);
|
|
148
|
+
return next;
|
|
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
|
+
}
|
|
145
161
|
}
|
|
162
|
+
Object.defineProperty(Context.prototype, "toString", {
|
|
163
|
+
value() {
|
|
164
|
+
return `Context-${this.id}`;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
146
167
|
export {
|
|
147
168
|
Context
|
|
148
169
|
};
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRleHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGFkZExpc3RlbmVyIH0gZnJvbSAnLi9jb250cm9sJztcbmltcG9ydCB7IGV2ZW50LCBNb2RlbCwgUEFSRU5ULCB1aWQgfSBmcm9tICcuL21vZGVsJztcblxuY29uc3QgTE9PS1VQID0gbmV3IFdlYWtNYXA8TW9kZWwsIENvbnRleHQgfCAoKGdvdDogQ29udGV4dCkgPT4gdm9pZClbXT4oKTtcbmNvbnN0IEtFWVMgPSBuZXcgTWFwPHN5bWJvbCB8IE1vZGVsLlR5cGUsIHN5bWJvbD4oKTtcblxuZnVuY3Rpb24ga2V5KFQ6IE1vZGVsLlR5cGUgfCBzeW1ib2wsIHVwc3RyZWFtPzogYm9vbGVhbik6IHN5bWJvbCB7XG4gIGxldCBLID0gS0VZUy5nZXQoVCk7XG5cbiAgaWYoIUspXG4gICAgS0VZUy5zZXQoVCwgSyA9IFN5bWJvbChcbiAgICAgIHR5cGVvZiBUID09IFwic3ltYm9sXCIgPyBcImdldCBcIiArIFQuZGVzY3JpcHRpb24gOiBTdHJpbmcoVClcbiAgICApKTtcbiAgXG4gIHJldHVybiB1cHN0cmVhbSA/IGtleShLKSA6IEs7XG59XG5cbmZ1bmN0aW9uIGtleXMoZnJvbTogTW9kZWwuVHlwZSwgdXBzdHJlYW0/OiBib29sZWFuKXtcbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQ8c3ltYm9sPigpO1xuXG4gIGRvIHtcbiAgICBrZXlzLmFkZChrZXkoZnJvbSwgdXBzdHJlYW0pKTtcbiAgfVxuICB3aGlsZSgoZnJvbSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmcm9tKSkgIT09IE1vZGVsKTtcblxuICByZXR1cm4ga2V5cztcbn1cblxuZGVjbGFyZSBuYW1lc3BhY2UgQ29udGV4dCB7XG4gIHR5cGUgTXVsdGlwbGU8VCBleHRlbmRzIE1vZGVsPiA9IHtcbiAgICBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBNb2RlbC5Jbml0PFQ+IHwgVDtcbiAgfTtcblxuICB0eXBlIEFjY2VwdDxUIGV4dGVuZHMgTW9kZWwgPSBNb2RlbD4gPSBUIHwgTW9kZWwuSW5pdDxUPiB8IE11bHRpcGxlPFQ+O1xuXG4gIHR5cGUgRXhwZWN0PFQgZXh0ZW5kcyBNb2RlbCA9IE1vZGVsPiA9IChtb2RlbDogVCkgPT4gKCgpID0+IHZvaWQpIHwgdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvbnRleHQge1xuICBba2V5OiBzeW1ib2xdOiBNb2RlbCB8IENvbnRleHQuRXhwZWN0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQ29udGV4dCB7XG4gIHN0YXRpYyBnZXQ8VCBleHRlbmRzIE1vZGVsPihvbjogTW9kZWwsIGNhbGxiYWNrOiAoKGdvdDogQ29udGV4dCkgPT4gdm9pZCkpOiB2b2lkO1xuICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBNb2RlbD4ob246IE1vZGVsKTogQ29udGV4dCB8IHVuZGVmaW5lZDtcbiAgc3RhdGljIGdldCh7IGlzIH06IE1vZGVsLCBjYWxsYmFjaz86IChnb3Q6IENvbnRleHQpID0+IHZvaWQpe1xuICAgIGNvbnN0IHdhaXRpbmcgPSBMT09LVVAuZ2V0KGlzKTtcblxuICAgIGlmKHdhaXRpbmcgaW5zdGFuY2VvZiBDb250ZXh0KXtcbiAgICAgIGlmKGNhbGxiYWNrKVxuICAgICAgICBjYWxsYmFjayh3YWl0aW5nKTtcblxuICAgICAgcmV0dXJuIHdhaXRpbmc7XG4gICAgfVxuXG4gICAgaWYoY2FsbGJhY2spXG4gICAgICBpZih3YWl0aW5nKSBcbiAgICAgICAgd2FpdGluZy5wdXNoKGNhbGxiYWNrKTtcbiAgICAgIGVsc2UgXG4gICAgICAgIExPT0tVUC5zZXQoaXMsIFtjYWxsYmFja10pO1xuICB9XG5cbiAgcHVibGljIGlkITogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBsYXllciA9IG5ldyBNYXA8c3RyaW5nIHwgbnVtYmVyLCBNb2RlbCB8IE1vZGVsLlR5cGU+KCk7XG4gIHByb3RlY3RlZCBjbGVhbnVwID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGlucHV0cz86IENvbnRleHQuQWNjZXB0KXtcbiAgICBpZihpbnB1dHMpXG4gICAgICB0aGlzLmluY2x1ZGUoaW5wdXRzKTtcbiAgfVxuXG4gIC8qKiBSdW4gY2FsbGJhY2sgd2hlbiBhIHNwZWNpZmllZCB0eXBlIGlzIHJlZ2lzdGVyZWQgdG8gYSAqKmNoaWxkKiogY29udGV4dC4gKi9cbiAgcHVibGljIGhhczxUIGV4dGVuZHMgTW9kZWw+KFR5cGU6IE1vZGVsLlR5cGU8VD4sIGNhbGxiYWNrOiAobW9kZWw6IFQpID0+IHZvaWQpe1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXkoVHlwZSwgdHJ1ZSksIHsgdmFsdWU6IGNhbGxiYWNrLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gIH1cblxuICAvKiogRmluZCBzcGVjaWZpZWQgdHlwZSByZWdpc3RlcmVkIHRvIGEgcGFyZW50IGNvbnRleHQuIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vbmUgYXJlIGZvdW5kLiAqL1xuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBNb2RlbD4oVHlwZTogTW9kZWwuVHlwZTxUPiwgcmVxdWlyZTogdHJ1ZSk6IFQ7XG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIE1vZGVsPihUeXBlOiBNb2RlbC5UeXBlPFQ+LCByZXF1aXJlPzogYm9vbGVhbik6IFQgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIE1vZGVsPihUeXBlOiBNb2RlbC5UeXBlPFQ+LCByZXF1aXJlPzogYm9vbGVhbil7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpc1trZXkoVHlwZSldO1xuXG4gICAgaWYocmVzdWx0ID09PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaWQgZmluZCAke1R5cGV9IGluIGNvbnRleHQsIGJ1dCBtdWx0aXBsZSB3ZXJlIGRlZmluZWQuYCk7XG5cbiAgICBpZihyZXN1bHQpXG4gICAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG5cbiAgICBpZihyZXF1aXJlKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCAke1R5cGV9IGluIGNvbnRleHQuYCk7XG4gIH1cblxuICBwdWJsaWMgcHVzaChpbnB1dHM/OiBDb250ZXh0LkFjY2VwdCl7XG4gICAgY29uc3QgbmV4dCA9IE9iamVjdC5jcmVhdGUodGhpcykgYXMgdGhpcztcblxuICAgIHRoaXMuY2xlYW51cCA9IG5ldyBTZXQoWygpID0+IG5leHQucG9wKCksIC4uLnRoaXMuY2xlYW51cF0pO1xuXG4gICAgbmV4dC5sYXllciA9IG5ldyBNYXAoKTtcbiAgICBuZXh0LmNsZWFudXAgPSBuZXcgU2V0KCk7XG5cbiAgICBpZihpbnB1dHMpXG4gICAgICBuZXh0LmluY2x1ZGUoaW5wdXRzKTtcblxuICAgIHJldHVybiBuZXh0O1xuICB9XG5cbiAgcHVibGljIHBvcCgpe1xuICAgIGZvcihjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0aGlzKSlcbiAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpW2tleV07XG5cbiAgICB0aGlzLmNsZWFudXAuZm9yRWFjaChjYiA9PiBjYigpKTtcbiAgICB0aGlzLmNsZWFudXAuY2xlYXIoKTtcbiAgICB0aGlzLmxheWVyLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgaW5jbHVkZTxUIGV4dGVuZHMgTW9kZWw+KFxuICAgIGlucHV0czogQ29udGV4dC5BY2NlcHQ8VD4sXG4gICAgZm9yRWFjaD86IENvbnRleHQuRXhwZWN0PFQ+XG4gICl7XG4gICAgY29uc3QgaW5pdCA9IG5ldyBNYXA8TW9kZWwsIGJvb2xlYW4+KCk7XG5cbiAgICBpZih0eXBlb2YgaW5wdXRzID09IFwiZnVuY3Rpb25cIiB8fCBpbnB1dHMgaW5zdGFuY2VvZiBNb2RlbClcbiAgICAgIGlucHV0cyA9IHsgW2ZvckVhY2ggPyAwIDogdGhpcy5sYXllci5zaXplXTogaW5wdXRzIH07XG4gICAgXG4gICAgZm9yKGNvbnN0IFtLLCBWXSBvZiBPYmplY3QuZW50cmllcyhpbnB1dHMpKXtcbiAgICAgIGlmKE1vZGVsLmlzKFYpIHx8IFYgaW5zdGFuY2VvZiBNb2RlbCl7XG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IHRoaXMubGF5ZXIuZ2V0KEspO1xuICBcbiAgICAgICAgaWYoIWV4aXN0cyl7XG4gICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmFkZChWKTtcbiAgXG4gICAgICAgICAgdGhpcy5sYXllci5zZXQoSywgVik7XG4gICAgICAgICAgaW5pdC5zZXQoaW5zdGFuY2UsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIENvbnRleHQgbXVzdCBmb3JjZS1yZXNldCBiZWNhdXNlIGlucHV0cyBhcmUgbm8gbG9uZ2VyIHNhZmUuXG4gICAgICAgIGVsc2UgaWYoZXhpc3RzICE9PSBWKXsgICAgXG4gICAgICAgICAgdGhpcy5wb3AoKTtcbiAgICAgICAgICB0aGlzLmlkID0gdWlkKCk7XG4gICAgICAgICAgdGhpcy5pbmNsdWRlKGlucHV0cyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ29udGV4dCBtYXkgb25seSBpbmNsdWRlIGluc3RhbmNlIG9yIGNsYXNzIFxcYGV4dGVuZHMgTW9kZWxcXGAgYnV0IGdvdCAke1xuICAgICAgICAgIEsgPT0gJzAnIHx8IEsgPT0gU3RyaW5nKFYpID8gViA6IGAke1Z9IChhcyAnJHtLfScpYFxuICAgICAgICB9LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZm9yKGNvbnN0IFttb2RlbCwgZXhwbGljaXRdIG9mIGluaXQpe1xuICAgICAgbW9kZWwuc2V0KCk7XG5cbiAgICAgIGlmKGV4cGxpY2l0ICYmIGZvckVhY2gpXG4gICAgICAgIGZvckVhY2gobW9kZWwgYXMgVCk7XG5cbiAgICAgIGZvcihjb25zdCBbX2tleSwgdmFsdWVdIG9mIG1vZGVsKVxuICAgICAgICBpZihQQVJFTlQuZ2V0KHZhbHVlIGFzIE1vZGVsKSA9PT0gbW9kZWwpe1xuICAgICAgICAgIHRoaXMuYWRkKHZhbHVlIGFzIE1vZGVsLCB0cnVlKTtcbiAgICAgICAgICBpbml0LnNldCh2YWx1ZSBhcyBNb2RlbCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFkZDxUIGV4dGVuZHMgTW9kZWw+KFxuICAgIGlucHV0OiBUIHwgTW9kZWwuSW5pdDxUPixcbiAgICBpbXBsaWNpdD86IGJvb2xlYW4pe1xuXG4gICAgY29uc3QgY2xlYW51cCA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKTtcbiAgICBsZXQgVDogTW9kZWwuVHlwZTxUPjtcbiAgICBsZXQgSTogVDtcblxuICAgIGlmKHR5cGVvZiBpbnB1dCA9PSBcImZ1bmN0aW9uXCIpe1xuICAgICAgVCA9IGlucHV0O1xuICAgICAgSSA9IG5ldyBpbnB1dCgpIGFzIFQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgVCA9IGlucHV0LmNvbnN0cnVjdG9yIGFzIE1vZGVsLlR5cGU8VD47XG4gICAgICBJID0gaW5wdXQ7XG4gICAgfVxuXG4gICAga2V5cyhULCB0cnVlKS5mb3JFYWNoKEsgPT4ge1xuICAgICAgY29uc3QgZXhwZWN0cyA9IHRoaXNbS10gYXMgQ29udGV4dC5FeHBlY3QgfCB1bmRlZmluZWQ7XG4gIFxuICAgICAgaWYoIWV4cGVjdHMpXG4gICAgICAgIHJldHVybjtcbiAgXG4gICAgICBhZGRMaXN0ZW5lcihJLCBldmVudCA9PiB7XG4gICAgICAgIGlmKGV2ZW50ID09PSB0cnVlKXtcbiAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IGV4cGVjdHMoSSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICBpZihjYWxsYmFjaylcbiAgICAgICAgICAgIGNsZWFudXAuYWRkKGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSkgIFxuICAgIH0pO1xuXG4gICAga2V5cyhUKS5mb3JFYWNoKEsgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmhhc093blByb3BlcnR5KEspID8gbnVsbCA6IEk7XG5cbiAgICAgIGlmKHZhbHVlIHx8IHRoaXNbS10gIT09IEkgJiYgIWltcGxpY2l0KVxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgSywge1xuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2xlYW51cC5hZGQoKCkgPT4ge1xuICAgICAgY2xlYW51cC5mb3JFYWNoKGNiID0+IGNiKCkpO1xuXG4gICAgICBpZihJICE9PSBpbnB1dClcbiAgICAgICAgZXZlbnQoSSwgbnVsbCk7XG4gICAgfSlcblxuICAgIGNvbnN0IHdhaXRpbmcgPSBMT09LVVAuZ2V0KEkpO1xuICBcbiAgICBpZih3YWl0aW5nIGluc3RhbmNlb2YgQXJyYXkpXG4gICAgICB3YWl0aW5nLmZvckVhY2goY2IgPT4gY2IodGhpcykpO1xuXG4gICAgTE9PS1VQLnNldChJLCB0aGlzKTtcblxuICAgIHJldHVybiBJO1xuICB9XG59XG5cbmV4cG9ydCB7IENvbnRleHQgfSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMsT0FBTyxPQUFPLFFBQVEsV0FBVztBQUUxQyxNQUFNLFNBQVMsb0JBQUksUUFBcUQ7QUFDeEUsTUFBTSxPQUFPLG9CQUFJLElBQWlDO0FBRWxELFNBQVMsSUFBSSxHQUF3QixVQUE0QjtBQUMvRCxNQUFJLElBQUksS0FBSyxJQUFJLENBQUM7QUFFbEIsTUFBRyxDQUFDO0FBQ0YsU0FBSyxJQUFJLEdBQUcsSUFBSTtBQUFBLE1BQ2QsT0FBTyxLQUFLLFdBQVcsU0FBUyxFQUFFLGNBQWMsT0FBTyxDQUFDO0FBQUEsSUFDMUQsQ0FBQztBQUVILFNBQU8sV0FBVyxJQUFJLENBQUMsSUFBSTtBQUM3QjtBQUVBLFNBQVMsS0FBSyxNQUFrQixVQUFtQjtBQUNqRCxRQUFNQSxRQUFPLG9CQUFJLElB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LE9BQU8sUUFBUSxLQUFLLE1BQUs7QUFDbEMsWUFBTSxJQUFJO0FBRVYsVUFBRyxZQUFZO0FBQ2IsZ0JBQVEsS0FBVTtBQUVwQixpQkFBVSxDQUFDLE1BQU0sS0FBSyxLQUFLO0FBQ3pCLFlBQUcsT0FBTyxJQUFJLEtBQWMsTUFBTSxPQUFNO0FBQ3RDLGVBQUssSUFBSSxPQUFnQixJQUFJO0FBQzdCLGVBQUssSUFBSSxPQUFnQixLQUFLO0FBQUEsUUFDaEM7QUFBQSxJQUNKO0FBQUEsRUFDRjtBQUFBLEVBRVUsSUFDUixPQUNBLFVBQW1CO0FBRW5CLFVBQU0sVUFBVSxvQkFBSSxJQUFnQjtBQUNwQyxRQUFJO0FBQ0osUUFBSTtBQUVKLFFBQUcsT0FBTyxTQUFTLFlBQVc7QUFDNUIsVUFBSTtBQUNKLFVBQUksSUFBSSxNQUFNO0FBQUEsSUFDaEIsT0FDSztBQUNILFVBQUksTUFBTTtBQUNWLFVBQUk7QUFBQSxJQUNOO0FBRUEsU0FBSyxHQUFHLElBQUksRUFBRSxRQUFRLE9BQUs7QUFDekIsWUFBTSxVQUFVLEtBQUssQ0FBQztBQUV0QixVQUFHLENBQUM7QUFDRjtBQUVGLGtCQUFZLEdBQUcsQ0FBQUMsV0FBUztBQUN0QixZQUFHQSxXQUFVLE1BQUs7QUFDaEIsZ0JBQU0sV0FBVyxRQUFRLENBQUM7QUFFMUIsY0FBRztBQUNELG9CQUFRLElBQUksUUFBUTtBQUFBLFFBQ3hCO0FBRUEsZUFBTztBQUFBLE1BQ1QsQ0FBQztBQUFBLElBQ0gsQ0FBQztBQUVELFNBQUssQ0FBQyxFQUFFLFFBQVEsT0FBSztBQUNuQixZQUFNLFFBQVEsS0FBSyxlQUFlLENBQUMsSUFBSSxPQUFPO0FBRTlDLFVBQUcsU0FBUyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFDNUIsZUFBTyxlQUFlLE1BQU0sR0FBRztBQUFBLFVBQzdCLGNBQWM7QUFBQSxVQUNkO0FBQUEsUUFDRixDQUFDO0FBQUEsSUFDTCxDQUFDO0FBRUQsU0FBSyxRQUFRLElBQUksTUFBTTtBQUNyQixjQUFRLFFBQVEsUUFBTSxHQUFHLENBQUM7QUFFMUIsVUFBRyxNQUFNO0FBQ1AsY0FBTSxHQUFHLElBQUk7QUFBQSxJQUNqQixDQUFDO0FBRUQsVUFBTSxVQUFVLE9BQU8sSUFBSSxDQUFDO0FBRTVCLFFBQUcsbUJBQW1CO0FBQ3BCLGNBQVEsUUFBUSxRQUFNLEdBQUcsSUFBSSxDQUFDO0FBRWhDLFdBQU8sSUFBSSxHQUFHLElBQUk7QUFFbEIsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFsia2V5cyIsICJyZXF1aXJlIiwgImtleSIsICJldmVudCJdCn0K
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRleHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGFkZExpc3RlbmVyIH0gZnJvbSAnLi9jb250cm9sJztcbmltcG9ydCB7IGV2ZW50LCBTdGF0ZSwgUEFSRU5ULCB1aWQgfSBmcm9tICcuL3N0YXRlJztcblxuY29uc3QgTE9PS1VQID0gbmV3IFdlYWtNYXA8U3RhdGUsIENvbnRleHQgfCAoKGdvdDogQ29udGV4dCkgPT4gdm9pZClbXT4oKTtcbmNvbnN0IEtFWVMgPSBuZXcgTWFwPHN5bWJvbCB8IFN0YXRlLkV4dGVuZHMsIHN5bWJvbD4oKTtcblxuZnVuY3Rpb24ga2V5KFQ6IFN0YXRlLkV4dGVuZHMgfCBzeW1ib2wsIHVwc3RyZWFtPzogYm9vbGVhbik6IHN5bWJvbCB7XG4gIGxldCBLID0gS0VZUy5nZXQoVCk7XG5cbiAgaWYgKCFLKSB7XG4gICAgSyA9IFN5bWJvbCh0eXBlb2YgVCA9PSAnc3ltYm9sJyA/ICdnZXQgJyArIFQuZGVzY3JpcHRpb24gOiBTdHJpbmcoVCkpO1xuICAgIEtFWVMuc2V0KFQsIEspO1xuICB9XG5cbiAgcmV0dXJuIHVwc3RyZWFtID8ga2V5KEspIDogSztcbn1cblxuZnVuY3Rpb24ga2V5cyhmcm9tOiBTdGF0ZS5FeHRlbmRzLCB1cHN0cmVhbT86IGJvb2xlYW4pIHtcbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQ8c3ltYm9sPigpO1xuXG4gIGRvIHtcbiAgICBrZXlzLmFkZChrZXkoZnJvbSwgdXBzdHJlYW0pKTtcbiAgICBmcm9tID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZyb20pO1xuICB9IHdoaWxlIChmcm9tICE9PSBTdGF0ZSk7XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmRlY2xhcmUgbmFtZXNwYWNlIENvbnRleHQge1xuICB0eXBlIE11bHRpcGxlPFQgZXh0ZW5kcyBTdGF0ZT4gPSB7XG4gICAgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogU3RhdGUuQ2xhc3M8VD4gfCBUO1xuICB9O1xuXG4gIHR5cGUgQWNjZXB0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IFQgfCBTdGF0ZS5DbGFzczxUPiB8IE11bHRpcGxlPFQ+O1xuXG4gIHR5cGUgRXhwZWN0PFQgZXh0ZW5kcyBTdGF0ZSA9IFN0YXRlPiA9IChzdGF0ZTogVCkgPT4gKCgpID0+IHZvaWQpIHwgdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvbnRleHQge1xuICBba2V5OiBzeW1ib2xdOiBTdGF0ZSB8IENvbnRleHQuRXhwZWN0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQ29udGV4dCB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbnRleHQgZm9yIGEgc3BlY2lmaWVkIFN0YXRlLiBJZiBhIGNhbGxiYWNrIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHJ1biB3aGVuXG4gICAqIHRoZSBjb250ZXh0IGJlY29tZXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgc3RhdGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIG9uOiBTdGF0ZSxcbiAgICBjYWxsYmFjazogKGdvdDogQ29udGV4dCkgPT4gdm9pZFxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbnRleHQgZm9yIGEgc3BlY2lmaWVkIFN0YXRlLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC5cbiAgICovXG4gIHN0YXRpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihvbjogU3RhdGUpOiBDb250ZXh0IHwgdW5kZWZpbmVkO1xuXG4gIHN0YXRpYyBnZXQoeyBpcyB9OiBTdGF0ZSwgY2FsbGJhY2s/OiAoZ290OiBDb250ZXh0KSA9PiB2b2lkKSB7XG4gICAgY29uc3QgY29udGV4dCA9IExPT0tVUC5nZXQoaXMpO1xuXG4gICAgaWYgKGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0KSB7XG4gICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKGNvbnRleHQpO1xuICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gICAgaWYgKGNhbGxiYWNrKVxuICAgICAgaWYgKGNvbnRleHQpIGNvbnRleHQucHVzaChjYWxsYmFjayk7XG4gICAgICBlbHNlIExPT0tVUC5zZXQoaXMsIFtjYWxsYmFja10pO1xuICB9XG5cbiAgcHVibGljIGlkID0gdWlkKCk7XG5cbiAgcHJvdGVjdGVkIGlucHV0cyA9IHt9IGFzIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXRlIHwgU3RhdGUuRXh0ZW5kcz47XG4gIHByb3RlY3RlZCBjbGVhbnVwID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGlucHV0cz86IENvbnRleHQuQWNjZXB0KSB7XG4gICAgaWYgKGlucHV0cykgdGhpcy51c2UoaW5wdXRzKTtcbiAgfVxuXG4gIC8qKiBGaW5kIHNwZWNpZmllZCB0eXBlIHJlZ2lzdGVyZWQgdG8gYSBwYXJlbnQgY29udGV4dC4gVGhyb3dzIGlmIG5vbmUgYXJlIGZvdW5kLiAqL1xuICBwdWJsaWMgZ2V0PFQgZXh0ZW5kcyBTdGF0ZT4oVHlwZTogU3RhdGUuRXh0ZW5kczxUPiwgcmVxdWlyZTogdHJ1ZSk6IFQ7XG5cbiAgLyoqIEZpbmQgc3BlY2lmaWVkIHR5cGUgcmVnaXN0ZXJlZCB0byBhIHBhcmVudCBjb250ZXh0LiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub25lIGFyZSBmb3VuZC4gKi9cbiAgcHVibGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sXG4gICAgcmVxdWlyZT86IGJvb2xlYW5cbiAgKTogVCB8IHVuZGVmaW5lZDtcblxuICAvKiogUnVuIGNhbGxiYWNrIHdoZW4gYSBzcGVjaWZpZWQgdHlwZSBpcyByZWdpc3RlcmVkIGluIGNvbnRleHQgZG93bnN0cmVhbS4gKi9cbiAgcHVibGljIGdldDxUIGV4dGVuZHMgU3RhdGU+KFxuICAgIFR5cGU6IFN0YXRlLkV4dGVuZHM8VD4sXG4gICAgY2FsbGJhY2s6IChzdGF0ZTogVCkgPT4gdm9pZFxuICApOiAoKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIFN0YXRlPihcbiAgICBUeXBlOiBTdGF0ZS5FeHRlbmRzPFQ+LFxuICAgIGFyZzI/OiBib29sZWFuIHwgKChzdGF0ZTogVCkgPT4gdm9pZClcbiAgKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcyID09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IGsgPSBrZXkoVHlwZSwgdHJ1ZSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgaywge1xuICAgICAgICB2YWx1ZTogYXJnMixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRlbGV0ZSB0aGlzW2tdO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzW2tleShUeXBlKV07XG5cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRGlkIGZpbmQgJHtUeXBlfSBpbiBjb250ZXh0LCBidXQgbXVsdGlwbGUgd2VyZSBkZWZpbmVkLmBcbiAgICAgICk7XG5cbiAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0IGFzIFQ7XG5cbiAgICBpZiAoYXJnMikgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCAke1R5cGV9IGluIGNvbnRleHQuYCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIFN0YXRlIHRvIHRoaXMgY29udGV4dC5cbiAgICovXG4gIHByb3RlY3RlZCBhZGQ8VCBleHRlbmRzIFN0YXRlPihcbiAgICBpbnB1dDogVCB8IFN0YXRlLkNsYXNzPFQ+LFxuICAgIGltcGxpY2l0PzogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCBjbGVhbnVwID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuICAgIGxldCBUOiBTdGF0ZS5FeHRlbmRzPFQ+O1xuICAgIGxldCBJOiBUO1xuXG4gICAgaWYgKHR5cGVvZiBpbnB1dCA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBUID0gaW5wdXQ7XG4gICAgICBJID0gbmV3IGlucHV0KCkgYXMgVDtcbiAgICB9IGVsc2Uge1xuICAgICAgVCA9IGlucHV0LmNvbnN0cnVjdG9yIGFzIFN0YXRlLkV4dGVuZHM8VD47XG4gICAgICBJID0gaW5wdXQ7XG4gICAgfVxuXG4gICAga2V5cyhULCB0cnVlKS5mb3JFYWNoKChLKSA9PiB7XG4gICAgICBjb25zdCBleHBlY3RzID0gdGhpc1tLXSBhcyBDb250ZXh0LkV4cGVjdCB8IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGV4cGVjdHMpXG4gICAgICAgIGFkZExpc3RlbmVyKEksIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgY2IgPSBleHBlY3RzKEkpO1xuICAgICAgICAgICAgaWYgKGNiKSBjbGVhbnVwLmFkZChjYik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAga2V5cyhUKS5mb3JFYWNoKChLKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaGFzT3duUHJvcGVydHkoSykgPyBudWxsIDogSTtcblxuICAgICAgaWYgKHZhbHVlIHx8ICh0aGlzW0tdICE9PSBJICYmICFpbXBsaWNpdCkpXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBLLCB7XG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbGVhbnVwLmFkZCgoKSA9PiB7XG4gICAgICBjbGVhbnVwLmZvckVhY2goKGNiKSA9PiBjYigpKTtcbiAgICAgIGlmIChJICE9PSBpbnB1dCkgZXZlbnQoSSwgbnVsbCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB3YWl0aW5nID0gTE9PS1VQLmdldChJKTtcblxuICAgIGlmICh3YWl0aW5nIGluc3RhbmNlb2YgQXJyYXkpIHdhaXRpbmcuZm9yRWFjaCgoY2IpID0+IGNiKHRoaXMpKTtcblxuICAgIExPT0tVUC5zZXQoSSwgdGhpcyk7XG5cbiAgICByZXR1cm4gSTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBvbmUgb3IgbW9yZSBTdGF0ZXMgdG8gdGhpcyBjb250ZXh0LlxuICAgKlxuICAgKiBDb250ZXh0IHdpbGwgYWRkIG9yIHJlbW92ZSBTdGF0ZXMgYXMgbmVlZGVkIHRvIGtlZXAgd2l0aCBwcm92aWRlZCBpbnB1dC5cbiAgICpcbiAgICogQHBhcmFtIGlucHV0cyBTdGF0ZSwgU3RhdGUgY2xhc3MsIG9yIG1hcCBvZiBTdGF0ZXMgLyBTdGF0ZSBjbGFzc2VzIHRvIHJlZ2lzdGVyLlxuICAgKiBAcGFyYW0gZm9yRWFjaCBPcHRpb25hbCBjYWxsYmFjayB0byBydW4gZm9yIGVhY2ggU3RhdGUgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHB1YmxpYyB1c2U8VCBleHRlbmRzIFN0YXRlPihcbiAgICBpbnB1dHM6IENvbnRleHQuQWNjZXB0PFQ+LFxuICAgIGZvckVhY2g/OiBDb250ZXh0LkV4cGVjdDxUPlxuICApIHtcbiAgICBjb25zdCBpbml0ID0gbmV3IE1hcDxTdGF0ZSwgYm9vbGVhbj4oKTtcblxuICAgIGlmICh0eXBlb2YgaW5wdXRzID09ICdmdW5jdGlvbicgfHwgaW5wdXRzIGluc3RhbmNlb2YgU3RhdGUpXG4gICAgICBpbnB1dHMgPSB7IFswXTogaW5wdXRzIH07XG5cbiAgICBmb3IgKGNvbnN0IFtLLCBWXSBvZiBPYmplY3QuZW50cmllcyhpbnB1dHMpKSB7XG4gICAgICBpZiAoIShTdGF0ZS5pcyhWKSB8fCBWIGluc3RhbmNlb2YgU3RhdGUpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENvbnRleHQgbWF5IG9ubHkgaW5jbHVkZSBpbnN0YW5jZSBvciBjbGFzcyBcXGBleHRlbmRzIFN0YXRlXFxgIGJ1dCBnb3QgJHtcbiAgICAgICAgICAgIEsgPT0gJzAnIHx8IEsgPT0gU3RyaW5nKFYpID8gViA6IGAke1Z9IChhcyAnJHtLfScpYFxuICAgICAgICAgIH0uYFxuICAgICAgICApO1xuXG4gICAgICBjb25zdCBleGlzdHMgPSB0aGlzLmlucHV0c1tLXTtcblxuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgaW5pdC5zZXQodGhpcy5hZGQoViksIHRydWUpO1xuICAgICAgfVxuICAgICAgLy8gQ29udGV4dCBtdXN0IGZvcmNlLXJlc2V0IGJlY2F1c2UgaW5wdXRzIGFyZSBubyBsb25nZXIgc2FmZSxcbiAgICAgIC8vIGhvd2V2ZXIgcHJvYmFibHkgc2hvdWxkIGRvIHRoYXQgb24gYSBwZXItc3RhdGUgYmFzaXMuXG4gICAgICBlbHNlIGlmIChleGlzdHMgIT09IFYpIHtcbiAgICAgICAgdGhpcy5wb3AoKTtcbiAgICAgICAgdGhpcy51c2UoaW5wdXRzKTtcbiAgICAgICAgdGhpcy5pZCA9IHVpZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbc3RhdGUsIGV4cGxpY2l0XSBvZiBpbml0KSB7XG4gICAgICBzdGF0ZS5zZXQoKTtcblxuICAgICAgaWYgKGV4cGxpY2l0ICYmIGZvckVhY2gpIGZvckVhY2goc3RhdGUgYXMgVCk7XG5cbiAgICAgIGZvciAoY29uc3QgW19rZXksIHZhbHVlXSBvZiBzdGF0ZSlcbiAgICAgICAgaWYgKFBBUkVOVC5nZXQodmFsdWUgYXMgU3RhdGUpID09PSBzdGF0ZSkge1xuICAgICAgICAgIHRoaXMuYWRkKHZhbHVlIGFzIFN0YXRlLCB0cnVlKTtcbiAgICAgICAgICBpbml0LnNldCh2YWx1ZSBhcyBTdGF0ZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dHMgPSBpbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY2hpbGQgY29udGV4dCwgb3B0aW9uYWxseSByZWdpc3RlcmluZyBvbmUgb3IgbW9yZSBTdGF0ZXMgdG8gaXQuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dHMgU3RhdGUsIFN0YXRlIGNsYXNzLCBvciBtYXAgb2YgU3RhdGVzIC8gU3RhdGUgY2xhc3NlcyB0byByZWdpc3Rlci5cbiAgICovXG4gIHB1YmxpYyBwdXNoKGlucHV0cz86IENvbnRleHQuQWNjZXB0KSB7XG4gICAgY29uc3QgbmV4dCA9IE9iamVjdC5jcmVhdGUodGhpcykgYXMgdGhpcztcblxuICAgIHRoaXMuY2xlYW51cCA9IG5ldyBTZXQoWygpID0+IG5leHQucG9wKCksIC4uLnRoaXMuY2xlYW51cF0pO1xuXG4gICAgbmV4dC5pbnB1dHMgPSB7fTtcbiAgICBuZXh0LmNsZWFudXAgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAoaW5wdXRzKSBuZXh0LnVzZShpbnB1dHMpO1xuXG4gICAgcmV0dXJuIG5leHQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFsbCBTdGF0ZXMgZnJvbSB0aGlzIGNvbnRleHQuXG4gICAqXG4gICAqIFdpbGwgYWxzbyBydW4gYW55IGNsZWFudXAgY2FsbGJhY2tzIHJlZ2lzdGVyZWQgd2hlbiBTdGF0ZXMgd2VyZSBhZGRlZC5cbiAgICovXG4gIHB1YmxpYyBwb3AoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0aGlzKSkgZGVsZXRlIHRoaXNba2V5XTtcblxuICAgIHRoaXMuY2xlYW51cC5mb3JFYWNoKChjYikgPT4gY2IoKSk7XG4gICAgdGhpcy5jbGVhbnVwLmNsZWFyKCk7XG4gICAgdGhpcy5pbnB1dHMgPSB7fTtcbiAgfVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQ29udGV4dC5wcm90b3R5cGUsICd0b1N0cmluZycsIHtcbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIGBDb250ZXh0LSR7dGhpcy5pZH1gO1xuICB9XG59KTtcblxuZXhwb3J0IHsgQ29udGV4dCB9O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxPQUFPLE9BQU8sUUFBUSxXQUFXO0FBRTFDLE1BQU0sU0FBUyxvQkFBSSxRQUFxRDtBQUN4RSxNQUFNLE9BQU8sb0JBQUksSUFBb0M7QUFFckQsU0FBUyxJQUFJLEdBQTJCLFVBQTRCO0FBQ2xFLE1BQUksSUFBSSxLQUFLLElBQUksQ0FBQztBQUVsQixNQUFJLENBQUMsR0FBRztBQUNOLFFBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxTQUFTLEVBQUUsY0FBYyxPQUFPLENBQUMsQ0FBQztBQUNwRSxTQUFLLElBQUksR0FBRyxDQUFDO0FBQUEsRUFDZjtBQUVBLFNBQU8sV0FBVyxJQUFJLENBQUMsSUFBSTtBQUM3QjtBQUVBLFNBQVMsS0FBSyxNQUFxQixVQUFvQjtBQUNyRCxRQUFNQSxRQUFPLG9CQUFJLElBQVk7QUFFN0IsS0FBRztBQUNELElBQUFBLE1BQUssSUFBSSxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQzVCLFdBQU8sT0FBTyxlQUFlLElBQUk7QUFBQSxFQUNuQyxTQUFTLFNBQVM7QUFFbEIsU0FBT0E7QUFDVDtBQWdCQSxNQUFNLFFBQVE7QUFBQSxFQWlDWixZQUFZLFFBQXlCO0FBTHJDLFNBQU8sS0FBSyxJQUFJO0FBRWhCLFNBQVUsU0FBUyxDQUFDO0FBQ3BCLFNBQVUsVUFBVSxvQkFBSSxJQUFnQjtBQUd0QyxRQUFJLE9BQVEsTUFBSyxJQUFJLE1BQU07QUFBQSxFQUM3QjtBQUFBLEVBcEJBLE9BQU8sSUFBSSxFQUFFLEdBQUcsR0FBVSxVQUFtQztBQUMzRCxVQUFNLFVBQVUsT0FBTyxJQUFJLEVBQUU7QUFFN0IsUUFBSSxtQkFBbUIsU0FBUztBQUM5QixVQUFJLFNBQVUsVUFBUyxPQUFPO0FBQzlCLGFBQU87QUFBQSxJQUNUO0FBRUEsUUFBSTtBQUNGLFVBQUksUUFBUyxTQUFRLEtBQUssUUFBUTtBQUFBLFVBQzdCLFFBQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQUEsRUFDbEM7QUFBQSxFQTBCTyxJQUNMLE1BQ0EsTUFDQTtBQUNBLFFBQUksT0FBTyxRQUFRLFlBQVk7QUFDN0IsWUFBTSxJQUFJLElBQUksTUFBTSxJQUFJO0FBQ3hCLGFBQU8sZUFBZSxNQUFNLEdBQUc7QUFBQSxRQUM3QixPQUFPO0FBQUEsUUFDUCxjQUFjO0FBQUEsTUFDaEIsQ0FBQztBQUNELGFBQU8sTUFBTTtBQUNYLGVBQU8sS0FBSyxDQUFDO0FBQUEsTUFDZjtBQUFBLElBQ0Y7QUFFQSxVQUFNLFNBQVMsS0FBSyxJQUFJLElBQUksQ0FBQztBQUU3QixRQUFJLFdBQVc7QUFDYixZQUFNLElBQUk7QUFBQSxRQUNSLFlBQVksSUFBSTtBQUFBLE1BQ2xCO0FBRUYsUUFBSSxPQUFRLFFBQU87QUFFbkIsUUFBSSxLQUFNLE9BQU0sSUFBSSxNQUFNLGtCQUFrQixJQUFJLGNBQWM7QUFBQSxFQUNoRTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1UsSUFDUixPQUNBLFVBQ0E7QUFDQSxVQUFNLFVBQVUsb0JBQUksSUFBZ0I7QUFDcEMsUUFBSTtBQUNKLFFBQUk7QUFFSixRQUFJLE9BQU8sU0FBUyxZQUFZO0FBQzlCLFVBQUk7QUFDSixVQUFJLElBQUksTUFBTTtBQUFBLElBQ2hCLE9BQU87QUFDTCxVQUFJLE1BQU07QUFDVixVQUFJO0FBQUEsSUFDTjtBQUVBLFNBQUssR0FBRyxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07QUFDM0IsWUFBTSxVQUFVLEtBQUssQ0FBQztBQUV0QixVQUFJO0FBQ0Ysb0JBQVksR0FBRyxDQUFDQyxXQUFVO0FBQ3hCLGNBQUlBLFdBQVUsTUFBTTtBQUNsQixrQkFBTSxLQUFLLFFBQVEsQ0FBQztBQUNwQixnQkFBSSxHQUFJLFNBQVEsSUFBSSxFQUFFO0FBQUEsVUFDeEI7QUFFQSxpQkFBTztBQUFBLFFBQ1QsQ0FBQztBQUFBLElBQ0wsQ0FBQztBQUVELFNBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQ3JCLFlBQU0sUUFBUSxLQUFLLGVBQWUsQ0FBQyxJQUFJLE9BQU87QUFFOUMsVUFBSSxTQUFVLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUM5QixlQUFPLGVBQWUsTUFBTSxHQUFHO0FBQUEsVUFDN0IsY0FBYztBQUFBLFVBQ2Q7QUFBQSxRQUNGLENBQUM7QUFBQSxJQUNMLENBQUM7QUFFRCxTQUFLLFFBQVEsSUFBSSxNQUFNO0FBQ3JCLGNBQVEsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDO0FBQzVCLFVBQUksTUFBTSxNQUFPLE9BQU0sR0FBRyxJQUFJO0FBQUEsSUFDaEMsQ0FBQztBQUVELFVBQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUU1QixRQUFJLG1CQUFtQixNQUFPLFNBQVEsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFFOUQsV0FBTyxJQUFJLEdBQUcsSUFBSTtBQUVsQixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVPLElBQ0wsUUFDQSxTQUNBO0FBQ0EsVUFBTSxPQUFPLG9CQUFJLElBQW9CO0FBRXJDLFFBQUksT0FBTyxVQUFVLGNBQWMsa0JBQWtCO0FBQ25ELGVBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPO0FBRXpCLGVBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLFFBQVEsTUFBTSxHQUFHO0FBQzNDLFVBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxLQUFLLGFBQWE7QUFDaEMsY0FBTSxJQUFJO0FBQUEsVUFDUix3RUFDRSxLQUFLLE9BQU8sS0FBSyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFDakQ7QUFBQSxRQUNGO0FBRUYsWUFBTSxTQUFTLEtBQUssT0FBTyxDQUFDO0FBRTVCLFVBQUksQ0FBQyxRQUFRO0FBQ1gsYUFBSyxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSTtBQUFBLE1BQzVCLFdBR1MsV0FBVyxHQUFHO0FBQ3JCLGFBQUssSUFBSTtBQUNULGFBQUssSUFBSSxNQUFNO0FBQ2YsYUFBSyxLQUFLLElBQUk7QUFDZDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsZUFBVyxDQUFDLE9BQU8sUUFBUSxLQUFLLE1BQU07QUFDcEMsWUFBTSxJQUFJO0FBRVYsVUFBSSxZQUFZLFFBQVMsU0FBUSxLQUFVO0FBRTNDLGlCQUFXLENBQUMsTUFBTSxLQUFLLEtBQUs7QUFDMUIsWUFBSSxPQUFPLElBQUksS0FBYyxNQUFNLE9BQU87QUFDeEMsZUFBSyxJQUFJLE9BQWdCLElBQUk7QUFDN0IsZUFBSyxJQUFJLE9BQWdCLEtBQUs7QUFBQSxRQUNoQztBQUFBLElBQ0o7QUFFQSxTQUFLLFNBQVM7QUFBQSxFQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLEtBQUssUUFBeUI7QUFDbkMsVUFBTSxPQUFPLE9BQU8sT0FBTyxJQUFJO0FBRS9CLFNBQUssVUFBVSxvQkFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksR0FBRyxHQUFHLEtBQUssT0FBTyxDQUFDO0FBRTFELFNBQUssU0FBUyxDQUFDO0FBQ2YsU0FBSyxVQUFVLG9CQUFJLElBQUk7QUFFdkIsUUFBSSxPQUFRLE1BQUssSUFBSSxNQUFNO0FBRTNCLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sTUFBTTtBQUNYLGVBQVdDLFFBQU8sT0FBTyxzQkFBc0IsSUFBSSxFQUFHLFFBQU8sS0FBS0EsSUFBRztBQUVyRSxTQUFLLFFBQVEsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDO0FBQ2pDLFNBQUssUUFBUSxNQUFNO0FBQ25CLFNBQUssU0FBUyxDQUFDO0FBQUEsRUFDakI7QUFDRjtBQUVBLE9BQU8sZUFBZSxRQUFRLFdBQVcsWUFBWTtBQUFBLEVBQ25ELFFBQVE7QUFDTixXQUFPLFdBQVcsS0FBSyxFQUFFO0FBQUEsRUFDM0I7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogWyJrZXlzIiwgImV2ZW50IiwgImtleSJdCn0K
|
package/dist/esm/control.js
CHANGED
|
@@ -10,40 +10,38 @@ function addListener(subject, callback, select) {
|
|
|
10
10
|
LISTENERS.set(subject, listeners = /* @__PURE__ */ new Map([[onReady, void 0]]));
|
|
11
11
|
if (select !== void 0 && !(select instanceof Set))
|
|
12
12
|
select = /* @__PURE__ */ new Set([select]);
|
|
13
|
-
if (!listeners.has(onReady) && !select)
|
|
13
|
+
if (!listeners.has(onReady) && !select) {
|
|
14
14
|
callback.call(subject, true, subject);
|
|
15
|
+
}
|
|
15
16
|
listeners.set(callback, select);
|
|
16
17
|
return () => listeners.delete(callback);
|
|
17
18
|
}
|
|
18
|
-
function emit(
|
|
19
|
-
const listeners = LISTENERS.get(
|
|
19
|
+
function emit(state, key) {
|
|
20
|
+
const listeners = LISTENERS.get(state);
|
|
20
21
|
const notReady = listeners.has(onReady);
|
|
21
|
-
if (key === true && !notReady)
|
|
22
|
-
|
|
23
|
-
let pending = PENDING.get(model);
|
|
22
|
+
if (key === true && !notReady) return;
|
|
23
|
+
let pending = PENDING.get(state);
|
|
24
24
|
if (pending) {
|
|
25
25
|
pending.add(key);
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
PENDING.set(
|
|
28
|
+
PENDING.set(state, pending = new Set(notReady ? [true, key] : [key]));
|
|
29
29
|
for (const key2 of pending)
|
|
30
30
|
for (const [callback, filter] of listeners)
|
|
31
31
|
if (!filter || filter.has(key2)) {
|
|
32
|
-
const after = callback.call(
|
|
33
|
-
if (after)
|
|
32
|
+
const after = callback.call(state, key2, state);
|
|
33
|
+
if (after) {
|
|
34
34
|
enqueue(after);
|
|
35
|
-
else if (after === null)
|
|
35
|
+
} else if (after === null) {
|
|
36
36
|
listeners.delete(callback);
|
|
37
|
+
}
|
|
37
38
|
}
|
|
38
|
-
if (key === null)
|
|
39
|
-
|
|
40
|
-
PENDING.delete(model);
|
|
39
|
+
if (key === null) listeners.clear();
|
|
40
|
+
PENDING.delete(state);
|
|
41
41
|
}
|
|
42
42
|
function event(subject, key, silent) {
|
|
43
|
-
if (key === null)
|
|
44
|
-
|
|
45
|
-
if (!key)
|
|
46
|
-
return emit(subject, true);
|
|
43
|
+
if (key === null) return emit(subject, key);
|
|
44
|
+
if (!key) return emit(subject, true);
|
|
47
45
|
let pending = PENDING_KEYS.get(subject);
|
|
48
46
|
if (!pending) {
|
|
49
47
|
PENDING_KEYS.set(subject, pending = /* @__PURE__ */ new Set());
|
|
@@ -54,8 +52,7 @@ function event(subject, key, silent) {
|
|
|
54
52
|
});
|
|
55
53
|
}
|
|
56
54
|
pending.add(key);
|
|
57
|
-
if (!silent)
|
|
58
|
-
emit(subject, key);
|
|
55
|
+
if (!silent) emit(subject, key);
|
|
59
56
|
}
|
|
60
57
|
function enqueue(eventHandler) {
|
|
61
58
|
if (!DISPATCH.size)
|
|
@@ -71,14 +68,13 @@ function enqueue(eventHandler) {
|
|
|
71
68
|
}, 0);
|
|
72
69
|
DISPATCH.add(eventHandler);
|
|
73
70
|
}
|
|
74
|
-
function
|
|
71
|
+
function watch(target, callback, argument) {
|
|
75
72
|
let unset;
|
|
76
73
|
let reset;
|
|
77
74
|
function invoke() {
|
|
78
75
|
let ignore = true;
|
|
79
76
|
function onUpdate() {
|
|
80
|
-
if (ignore || reset === null)
|
|
81
|
-
return;
|
|
77
|
+
if (ignore || reset === null) return;
|
|
82
78
|
ignore = true;
|
|
83
79
|
if (reset && unset) {
|
|
84
80
|
unset(true);
|
|
@@ -94,41 +90,34 @@ function createEffect(target, callback, argument) {
|
|
|
94
90
|
ignore = false;
|
|
95
91
|
reset = output === null ? null : invoke;
|
|
96
92
|
unset = (key) => {
|
|
97
|
-
if (typeof output == "function")
|
|
98
|
-
output(key);
|
|
93
|
+
if (typeof output == "function") output(key);
|
|
99
94
|
flush();
|
|
100
95
|
};
|
|
101
96
|
} catch (err) {
|
|
102
97
|
if (err instanceof Promise) {
|
|
103
98
|
reset = void 0;
|
|
104
99
|
err.then(invoke);
|
|
105
|
-
} else
|
|
100
|
+
} else {
|
|
106
101
|
throw err;
|
|
102
|
+
}
|
|
107
103
|
}
|
|
108
104
|
}
|
|
109
105
|
function cleanup() {
|
|
110
|
-
if (unset)
|
|
111
|
-
unset(false);
|
|
106
|
+
if (unset) unset(false);
|
|
112
107
|
reset = null;
|
|
113
108
|
}
|
|
114
|
-
;
|
|
115
|
-
if (EffectContext && argument !== false)
|
|
116
|
-
EffectContext.add(cleanup);
|
|
109
|
+
if (EffectContext && argument !== false) EffectContext.add(cleanup);
|
|
117
110
|
addListener(target, (key) => {
|
|
118
|
-
if (key === true)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return reset;
|
|
122
|
-
if (key === null && unset)
|
|
123
|
-
unset(null);
|
|
111
|
+
if (key === true) invoke();
|
|
112
|
+
else if (!reset) return reset;
|
|
113
|
+
if (key === null && unset) unset(null);
|
|
124
114
|
});
|
|
125
115
|
return cleanup;
|
|
126
116
|
}
|
|
127
117
|
let EffectContext;
|
|
128
118
|
function enter(ignore) {
|
|
129
|
-
if (ignore)
|
|
130
|
-
|
|
131
|
-
};
|
|
119
|
+
if (ignore) return () => () => {
|
|
120
|
+
};
|
|
132
121
|
const last = EffectContext;
|
|
133
122
|
const context = EffectContext = /* @__PURE__ */ new Set();
|
|
134
123
|
return () => {
|
|
@@ -140,8 +129,8 @@ export {
|
|
|
140
129
|
Observable,
|
|
141
130
|
PENDING_KEYS,
|
|
142
131
|
addListener,
|
|
143
|
-
createEffect,
|
|
144
132
|
enter,
|
|
145
|
-
event
|
|
133
|
+
event,
|
|
134
|
+
watch
|
|
146
135
|
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRyb2wudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgTW9kZWwgfSBmcm9tIFwiLi9tb2RlbFwiO1xuXG4vKipcbiAqIFVwZGF0ZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqIFxuICogQHBhcmFtIGtleSAtXG4gKiAgIC0gYHN0cmluZ2AgLSBwcm9wZXJ0eSB3aGljaCBoYXMgdXBkYXRlZC5cbiAqICAgLSBgZmFsc2VgIC0gYSBub3JtYWwgdXBkYXRlIGhhcyBjb21wbGV0ZWQuXG4gKiAgIC0gYHRydWVgIC0gaW5pdGlhbCBldmVudDsgaW5zdGFuY2UgaXMgcmVhZHkuXG4gKiAgIC0gYG51bGxgIC0gdGVybWluYWwgZXZlbnQ7IGluc3RhbmNlIGlzIGV4cGlyZWQuXG4gKiBAcGFyYW0gc291cmNlIC0gSW5zdGFuY2Ugb2YgTW9kZWwgZm9yIHdoaWNoIHVwZGF0ZSBoYXMgb2NjdXJlZC5cbiAqL1xudHlwZSBPblVwZGF0ZTxUIGV4dGVuZHMgT2JzZXJ2YWJsZSA9IGFueT4gPSBcbiAgKHRoaXM6IFQsIGtleTogRXZlbnQsIHNvdXJjZTogVCkgPT4gKCgpID0+IHZvaWQpIHwgbnVsbCB8IHZvaWQ7XG5cbnR5cGUgRWZmZWN0PFQgZXh0ZW5kcyBPYnNlcnZhYmxlPiA9IChwcm94eTogVCkgPT5cbiAgKCh1cGRhdGU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkKSB8IFByb21pc2U8dm9pZD4gfCBudWxsIHwgdm9pZDtcblxudHlwZSBFdmVudCA9IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCBib29sZWFuIHwgc3ltYm9sO1xuXG50eXBlIFByb21pc2VMaXRlPFQgPSB2b2lkPiA9IHsgdGhlbjogKGNhbGxiYWNrOiAoKSA9PiBUKSA9PiBUIH07XG5cbmRlY2xhcmUgbmFtZXNwYWNlIE9ic2VydmFibGUge1xuICBleHBvcnQgdHlwZSBDYWxsYmFjayA9ICgpID0+IHZvaWQgfCBQcm9taXNlTGl0ZTtcbn1cblxuaW50ZXJmYWNlIE9ic2VydmFibGUge1xuICBbT2JzZXJ2YWJsZV0oY2FsbGJhY2s6IE9ic2VydmFibGUuQ2FsbGJhY2ssIHJlcXVpcmVkPzogYm9vbGVhbik6IHRoaXMgfCB2b2lkO1xufVxuXG5jb25zdCBPYnNlcnZhYmxlID0gU3ltYm9sKFwib2JzZXJ2ZVwiKTtcblxuLyoqIFBsYWNlaG9sZGVyIGV2ZW50IGRldGVybWluZXMgaWYgbW9kZWwgaXMgaW5pdGlhbGl6ZWQgb3Igbm90LiAqL1xuY29uc3Qgb25SZWFkeSA9ICgpID0+IG51bGw7XG5cbmNvbnN0IExJU1RFTkVSUyA9IG5ldyBXZWFrTWFwPE9ic2VydmFibGUsIE1hcDxPblVwZGF0ZSwgU2V0PEV2ZW50PiB8IHVuZGVmaW5lZD4+KCk7XG5cbi8qKiBFdmVudHMgcGVuZGluZyBmb3IgYSBnaXZlbiBvYmplY3QuICovXG5jb25zdCBQRU5ESU5HID0gbmV3IFdlYWtNYXA8T2JzZXJ2YWJsZSwgU2V0PEV2ZW50Pj4oKTtcblxuLyoqIFVwZGF0ZSByZWdpc3Rlci4gKi9cbmNvbnN0IFBFTkRJTkdfS0VZUyA9IG5ldyBXZWFrTWFwPE9ic2VydmFibGUsIFNldDxzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+PigpO1xuXG4vKiogQ2VudHJhbCBldmVudCBkaXNwYXRjaC4gQnVuY2hlcyBhbGwgdXBkYXRlcyB0byBvY2N1ciBhdCBzYW1lIHRpbWUuICovXG5jb25zdCBESVNQQVRDSCA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKTtcblxuZnVuY3Rpb24gYWRkTGlzdGVuZXI8VCBleHRlbmRzIE9ic2VydmFibGU+KFxuICBzdWJqZWN0OiBULCBjYWxsYmFjazogT25VcGRhdGU8VD4sIHNlbGVjdD86IEV2ZW50IHwgU2V0PEV2ZW50Pil7XG5cbiAgbGV0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQoc3ViamVjdCkhO1xuXG4gIGlmKCFsaXN0ZW5lcnMpXG4gICAgTElTVEVORVJTLnNldChzdWJqZWN0LCBsaXN0ZW5lcnMgPSBuZXcgTWFwKFtbb25SZWFkeSwgdW5kZWZpbmVkXV0pKTtcblxuICBpZihzZWxlY3QgIT09IHVuZGVmaW5lZCAmJiAhKHNlbGVjdCBpbnN0YW5jZW9mIFNldCkpXG4gICAgc2VsZWN0ID0gbmV3IFNldChbc2VsZWN0XSk7XG5cbiAgaWYoIWxpc3RlbmVycy5oYXMob25SZWFkeSkgJiYgIXNlbGVjdClcbiAgICBjYWxsYmFjay5jYWxsKHN1YmplY3QsIHRydWUsIHN1YmplY3QpO1xuXG4gIGxpc3RlbmVycy5zZXQoY2FsbGJhY2ssIHNlbGVjdCk7XG5cbiAgcmV0dXJuICgpID0+IGxpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBlbWl0KG1vZGVsOiBPYnNlcnZhYmxlLCBrZXk6IEV2ZW50KTogdm9pZCB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQobW9kZWwpITtcbiAgY29uc3Qgbm90UmVhZHkgPSBsaXN0ZW5lcnMuaGFzKG9uUmVhZHkpO1xuXG4gIGlmKGtleSA9PT0gdHJ1ZSAmJiAhbm90UmVhZHkpXG4gICAgcmV0dXJuO1xuXG4gIGxldCBwZW5kaW5nID0gUEVORElORy5nZXQobW9kZWwpO1xuXG4gIGlmKHBlbmRpbmcpe1xuICAgIHBlbmRpbmcuYWRkKGtleSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgUEVORElORy5zZXQobW9kZWwsIHBlbmRpbmcgPSBuZXcgU2V0KG5vdFJlYWR5ID8gW3RydWUsIGtleV0gOiBba2V5XSkpO1xuXG4gIGZvcihjb25zdCBrZXkgb2YgcGVuZGluZylcbiAgICBmb3IoY29uc3QgW2NhbGxiYWNrLCBmaWx0ZXJdIG9mIGxpc3RlbmVycylcbiAgICAgIGlmKCFmaWx0ZXIgfHwgZmlsdGVyLmhhcyhrZXkpKXtcbiAgICAgICAgY29uc3QgYWZ0ZXIgPSBjYWxsYmFjay5jYWxsKG1vZGVsLCBrZXksIG1vZGVsKTtcblxuICAgICAgICBpZihhZnRlcilcbiAgICAgICAgICBlbnF1ZXVlKGFmdGVyKTtcblxuICAgICAgICBlbHNlIGlmKGFmdGVyID09PSBudWxsKVxuICAgICAgICAgIGxpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgfVxuXG4gIGlmKGtleSA9PT0gbnVsbClcbiAgICBsaXN0ZW5lcnMuY2xlYXIoKTtcbiAgXG4gIFBFTkRJTkcuZGVsZXRlKG1vZGVsKTtcbn1cblxuZnVuY3Rpb24gZXZlbnQoXG4gIHN1YmplY3Q6IE9ic2VydmFibGUsXG4gIGtleT86IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCB8IG51bGwsXG4gIHNpbGVudD86IGJvb2xlYW4pe1xuXG4gIGlmKGtleSA9PT0gbnVsbClcbiAgICByZXR1cm4gZW1pdChzdWJqZWN0LCBrZXkpO1xuXG4gIGlmKCFrZXkpXG4gICAgcmV0dXJuIGVtaXQoc3ViamVjdCwgdHJ1ZSk7XG5cbiAgbGV0IHBlbmRpbmcgPSBQRU5ESU5HX0tFWVMuZ2V0KHN1YmplY3QpO1xuXG4gIGlmKCFwZW5kaW5nKXtcbiAgICBQRU5ESU5HX0tFWVMuc2V0KHN1YmplY3QsIHBlbmRpbmcgPSBuZXcgU2V0KCkpO1xuXG4gICAgaWYoIXNpbGVudClcbiAgICAgIGVucXVldWUoKCkgPT4ge1xuICAgICAgICBlbWl0KHN1YmplY3QsIGZhbHNlKTtcbiAgICAgICAgUEVORElOR19LRVlTLmRlbGV0ZShzdWJqZWN0KVxuICAgICAgfSlcbiAgfVxuXG4gIHBlbmRpbmcuYWRkKGtleSk7XG5cbiAgaWYoIXNpbGVudClcbiAgICBlbWl0KHN1YmplY3QsIGtleSk7XG59XG5cbmZ1bmN0aW9uIGVucXVldWUoZXZlbnRIYW5kbGVyOiAoKCkgPT4gdm9pZCkpe1xuICBpZighRElTUEFUQ0guc2l6ZSlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIERJU1BBVENILmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXJyKXtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgRElTUEFUQ0guY2xlYXIoKTtcbiAgICB9LCAwKTtcblxuICBESVNQQVRDSC5hZGQoZXZlbnRIYW5kbGVyKTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzaWRlLWVmZmVjdCB3aGljaCB3aWxsIHVwZGF0ZSB3aGVuZXZlciB2YWx1ZXMgYWNjZXNzZWQgY2hhbmdlLlxuICogQ2FsbGJhY2sgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGFuZCB3aGVuZXZlciB2YWx1ZXMgYXJlIHN0YWxlLlxuICogXG4gKiBAcGFyYW0gdGFyZ2V0IC0gSW5zdGFuY2Ugb2YgTW9kZWwgdG8gb2JzZXJ2ZS5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIEZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIHZhbHVlcyBjaGFuZ2UuXG4gKiBAcGFyYW0gcmVxdWlyZVZhbHVlcyAtIElmIGB0cnVlYCB3aWxsIHRocm93IGlmIGFjY2Vzc2luZyBhIHZhbHVlIHdoaWNoIGlzIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VCBleHRlbmRzIE1vZGVsPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8UmVxdWlyZWQ8VD4+LCByZXF1aXJlVmFsdWVzOiB0cnVlKTogKCkgPT4gdm9pZDtcbmZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxUIGV4dGVuZHMgTW9kZWw+KHRhcmdldDogVCwgY2FsbGJhY2s6IEVmZmVjdDxUPiwgcmVjdXJzaXZlPzogYm9vbGVhbik6ICgpID0+IHZvaWQ7XG5mdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VCBleHRlbmRzIE1vZGVsPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8VD4sIGFyZ3VtZW50PzogYm9vbGVhbil7XG4gIGxldCB1bnNldDogKCh1cGRhdGU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgbGV0IHJlc2V0OiAoKCkgPT4gdm9pZCkgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGludm9rZSgpIHtcbiAgICBsZXQgaWdub3JlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGZ1bmN0aW9uIG9uVXBkYXRlKCk6IHZvaWQgfCBQcm9taXNlTGl0ZTx2b2lkPiB7XG4gICAgICBpZiAoaWdub3JlIHx8IHJlc2V0ID09PSBudWxsKVxuICAgICAgICByZXR1cm47XG5cbiAgICAgIGlnbm9yZSA9IHRydWU7XG5cbiAgICAgIGlmIChyZXNldCAmJiB1bnNldCkge1xuICAgICAgICB1bnNldCh0cnVlKTtcbiAgICAgICAgdW5zZXQgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGVucXVldWUoaW52b2tlKTtcbiAgICAgIHJldHVybiB7IHRoZW46IGVucXVldWUgfVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBleGl0ID0gZW50ZXIoYXJndW1lbnQgPT09IGZhbHNlKTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGNhbGxiYWNrKHRhcmdldFtPYnNlcnZhYmxlXShvblVwZGF0ZSwgYXJndW1lbnQgPT09IHRydWUpKTtcbiAgICAgIGNvbnN0IGZsdXNoID0gZXhpdCgpO1xuICAgICAgXG4gICAgICBpZ25vcmUgPSBmYWxzZTtcbiAgICAgIHJlc2V0ID0gb3V0cHV0ID09PSBudWxsID8gbnVsbCA6IGludm9rZTtcbiAgICAgIHVuc2V0ID0ga2V5ID0+IHtcbiAgICAgICAgaWYodHlwZW9mIG91dHB1dCA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgb3V0cHV0KGtleSk7XG5cbiAgICAgICAgZmx1c2goKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2goZXJyKXtcbiAgICAgIGlmKGVyciBpbnN0YW5jZW9mIFByb21pc2Upe1xuICAgICAgICByZXNldCA9IHVuZGVmaW5lZDtcbiAgICAgICAgZXJyLnRoZW4oaW52b2tlKTtcbiAgICAgIH1cbiAgICAgIGVsc2VcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFudXAoKXtcbiAgICBpZih1bnNldClcbiAgICAgIHVuc2V0KGZhbHNlKTtcblxuICAgIHJlc2V0ID0gbnVsbDtcbiAgfTtcblxuICBpZihFZmZlY3RDb250ZXh0ICYmIGFyZ3VtZW50ICE9PSBmYWxzZSlcbiAgICBFZmZlY3RDb250ZXh0LmFkZChjbGVhbnVwKTtcblxuICBhZGRMaXN0ZW5lcih0YXJnZXQsIGtleSA9PiB7XG4gICAgaWYoa2V5ID09PSB0cnVlKVxuICAgICAgaW52b2tlKCk7XG5cbiAgICBlbHNlIGlmKCFyZXNldClcbiAgICAgIHJldHVybiByZXNldDtcblxuICAgIGlmKGtleSA9PT0gbnVsbCAmJiB1bnNldClcbiAgICAgIHVuc2V0KG51bGwpO1xuICB9KTtcbiAgXG4gIHJldHVybiBjbGVhbnVwO1xufVxuXG5sZXQgRWZmZWN0Q29udGV4dDogU2V0PCgpID0+IHZvaWQ+IHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gZW50ZXIoaWdub3JlPzogYm9vbGVhbil7XG4gIGlmKGlnbm9yZSlcbiAgICByZXR1cm4gKCkgPT4gKCkgPT4ge307XG5cbiAgY29uc3QgbGFzdCA9IEVmZmVjdENvbnRleHQ7XG4gIGNvbnN0IGNvbnRleHQgPSBFZmZlY3RDb250ZXh0ID0gbmV3IFNldDtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIEVmZmVjdENvbnRleHQgPSBsYXN0O1xuICAgIHJldHVybiAoKSA9PiBjb250ZXh0LmZvckVhY2goZm4gPT4gZm4oKSk7XG4gIH1cbn1cblxuZXhwb3J0IHtcbiAgYWRkTGlzdGVuZXIsXG4gIGNyZWF0ZUVmZmVjdCxcbiAgZXZlbnQsXG4gIE9uVXBkYXRlLFxuICBQRU5ESU5HX0tFWVMsXG4gIE9ic2VydmFibGVcbn0iXSwKICAibWFwcGluZ3MiOiAiQUE4QkEsTUFBTSxhQUFhLE9BQU8sU0FBUztBQUduQyxNQUFNLFVBQVUsTUFBTTtBQUV0QixNQUFNLFlBQVksb0JBQUksUUFBMkQ7QUFHakYsTUFBTSxVQUFVLG9CQUFJLFFBQWdDO0FBR3BELE1BQU0sZUFBZSxvQkFBSSxRQUFtRDtBQUc1RSxNQUFNLFdB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
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRyb2wudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuL3N0YXRlJztcblxuLyoqXG4gKiBVcGRhdGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGtleSAtXG4gKiAgIC0gYHN0cmluZ2AgLSBwcm9wZXJ0eSB3aGljaCBoYXMgdXBkYXRlZC5cbiAqICAgLSBgZmFsc2VgIC0gYSBub3JtYWwgdXBkYXRlIGhhcyBjb21wbGV0ZWQuXG4gKiAgIC0gYHRydWVgIC0gaW5pdGlhbCBldmVudDsgaW5zdGFuY2UgaXMgcmVhZHkuXG4gKiAgIC0gYG51bGxgIC0gdGVybWluYWwgZXZlbnQ7IGluc3RhbmNlIGlzIGV4cGlyZWQuXG4gKiBAcGFyYW0gc291cmNlIC0gSW5zdGFuY2Ugb2YgU3RhdGUgZm9yIHdoaWNoIHVwZGF0ZSBoYXMgb2NjdXJlZC5cbiAqL1xudHlwZSBOb3RpZnk8VCBleHRlbmRzIE9ic2VydmFibGUgPSBhbnk+ID0gKFxuICB0aGlzOiBULFxuICBrZXk6IEV2ZW50LFxuICBzb3VyY2U6IFRcbikgPT4gKCgpID0+IHZvaWQpIHwgbnVsbCB8IHZvaWQ7XG5cbnR5cGUgRWZmZWN0PFQgZXh0ZW5kcyBPYnNlcnZhYmxlPiA9IChcbiAgcHJveHk6IFRcbikgPT4gKCh1cGRhdGU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkKSB8IFByb21pc2U8dm9pZD4gfCBudWxsIHwgdm9pZDtcblxudHlwZSBFdmVudCA9IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCBib29sZWFuIHwgc3ltYm9sO1xuXG50eXBlIFByb21pc2VMaXRlPFQgPSB2b2lkPiA9IHsgdGhlbjogKGNhbGxiYWNrOiAoKSA9PiBUKSA9PiBUIH07XG5cbmRlY2xhcmUgbmFtZXNwYWNlIE9ic2VydmFibGUge1xuICBleHBvcnQgdHlwZSBDYWxsYmFjayA9ICgpID0+IHZvaWQgfCBQcm9taXNlTGl0ZTtcbn1cblxuaW50ZXJmYWNlIE9ic2VydmFibGUge1xuICBbT2JzZXJ2YWJsZV0oY2FsbGJhY2s6IE9ic2VydmFibGUuQ2FsbGJhY2ssIHJlcXVpcmVkPzogYm9vbGVhbik6IHRoaXMgfCB2b2lkO1xufVxuXG5jb25zdCBPYnNlcnZhYmxlID0gU3ltYm9sKCdvYnNlcnZlJyk7XG5cbi8qKiBQbGFjZWhvbGRlciBldmVudCBkZXRlcm1pbmVzIGlmIHN0YXRlIGlzIGluaXRpYWxpemVkIG9yIG5vdC4gKi9cbmNvbnN0IG9uUmVhZHkgPSAoKSA9PiBudWxsO1xuXG5jb25zdCBMSVNURU5FUlMgPSBuZXcgV2Vha01hcDxcbiAgT2JzZXJ2YWJsZSxcbiAgTWFwPE5vdGlmeSwgU2V0PEV2ZW50PiB8IHVuZGVmaW5lZD5cbj4oKTtcblxuLyoqIEV2ZW50cyBwZW5kaW5nIGZvciBhIGdpdmVuIG9iamVjdC4gKi9cbmNvbnN0IFBFTkRJTkcgPSBuZXcgV2Vha01hcDxPYnNlcnZhYmxlLCBTZXQ8RXZlbnQ+PigpO1xuXG4vKiogVXBkYXRlIHJlZ2lzdGVyLiAqL1xuY29uc3QgUEVORElOR19LRVlTID0gbmV3IFdlYWtNYXA8T2JzZXJ2YWJsZSwgU2V0PHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4+KCk7XG5cbi8qKiBDZW50cmFsIGV2ZW50IGRpc3BhdGNoLiBCdW5jaGVzIGFsbCB1cGRhdGVzIHRvIG9jY3VyIGF0IHNhbWUgdGltZS4gKi9cbmNvbnN0IERJU1BBVENIID0gbmV3IFNldDwoKSA9PiB2b2lkPigpO1xuXG5mdW5jdGlvbiBhZGRMaXN0ZW5lcjxUIGV4dGVuZHMgT2JzZXJ2YWJsZT4oXG4gIHN1YmplY3Q6IFQsXG4gIGNhbGxiYWNrOiBOb3RpZnk8VD4sXG4gIHNlbGVjdD86IEV2ZW50IHwgU2V0PEV2ZW50PlxuKSB7XG4gIGxldCBsaXN0ZW5lcnMgPSBMSVNURU5FUlMuZ2V0KHN1YmplY3QpITtcblxuICBpZiAoIWxpc3RlbmVycylcbiAgICBMSVNURU5FUlMuc2V0KHN1YmplY3QsIChsaXN0ZW5lcnMgPSBuZXcgTWFwKFtbb25SZWFkeSwgdW5kZWZpbmVkXV0pKSk7XG5cbiAgaWYgKHNlbGVjdCAhPT0gdW5kZWZpbmVkICYmICEoc2VsZWN0IGluc3RhbmNlb2YgU2V0KSlcbiAgICBzZWxlY3QgPSBuZXcgU2V0KFtzZWxlY3RdKTtcblxuICBpZiAoIWxpc3RlbmVycy5oYXMob25SZWFkeSkgJiYgIXNlbGVjdCkge1xuICAgIGNhbGxiYWNrLmNhbGwoc3ViamVjdCwgdHJ1ZSwgc3ViamVjdCk7XG4gIH1cblxuICBsaXN0ZW5lcnMuc2V0KGNhbGxiYWNrLCBzZWxlY3QpO1xuXG4gIHJldHVybiAoKSA9PiBsaXN0ZW5lcnMuZGVsZXRlKGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZW1pdChzdGF0ZTogT2JzZXJ2YWJsZSwga2V5OiBFdmVudCk6IHZvaWQge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBMSVNURU5FUlMuZ2V0KHN0YXRlKSE7XG4gIGNvbnN0IG5vdFJlYWR5ID0gbGlzdGVuZXJzLmhhcyhvblJlYWR5KTtcblxuICBpZiAoa2V5ID09PSB0cnVlICYmICFub3RSZWFkeSkgcmV0dXJuO1xuXG4gIGxldCBwZW5kaW5nID0gUEVORElORy5nZXQoc3RhdGUpO1xuXG4gIGlmIChwZW5kaW5nKSB7XG4gICAgcGVuZGluZy5hZGQoa2V5KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBQRU5ESU5HLnNldChzdGF0ZSwgKHBlbmRpbmcgPSBuZXcgU2V0KG5vdFJlYWR5ID8gW3RydWUsIGtleV0gOiBba2V5XSkpKTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBwZW5kaW5nKVxuICAgIGZvciAoY29uc3QgW2NhbGxiYWNrLCBmaWx0ZXJdIG9mIGxpc3RlbmVycylcbiAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlci5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCBhZnRlciA9IGNhbGxiYWNrLmNhbGwoc3RhdGUsIGtleSwgc3RhdGUpO1xuXG4gICAgICAgIGlmIChhZnRlcikge1xuICAgICAgICAgIGVucXVldWUoYWZ0ZXIpO1xuICAgICAgICB9IGVsc2UgaWYgKGFmdGVyID09PSBudWxsKSB7XG4gICAgICAgICAgbGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICBpZiAoa2V5ID09PSBudWxsKSBsaXN0ZW5lcnMuY2xlYXIoKTtcblxuICBQRU5ESU5HLmRlbGV0ZShzdGF0ZSk7XG59XG5cbmZ1bmN0aW9uIGV2ZW50KFxuICBzdWJqZWN0OiBPYnNlcnZhYmxlLFxuICBrZXk/OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wgfCBudWxsLFxuICBzaWxlbnQ/OiBib29sZWFuXG4pIHtcbiAgaWYgKGtleSA9PT0gbnVsbCkgcmV0dXJuIGVtaXQoc3ViamVjdCwga2V5KTtcblxuICBpZiAoIWtleSkgcmV0dXJuIGVtaXQoc3ViamVjdCwgdHJ1ZSk7XG5cbiAgbGV0IHBlbmRpbmcgPSBQRU5ESU5HX0tFWVMuZ2V0KHN1YmplY3QpO1xuXG4gIGlmICghcGVuZGluZykge1xuICAgIFBFTkRJTkdfS0VZUy5zZXQoc3ViamVjdCwgKHBlbmRpbmcgPSBuZXcgU2V0KCkpKTtcblxuICAgIGlmICghc2lsZW50KVxuICAgICAgZW5xdWV1ZSgoKSA9PiB7XG4gICAgICAgIGVtaXQoc3ViamVjdCwgZmFsc2UpO1xuICAgICAgICBQRU5ESU5HX0tFWVMuZGVsZXRlKHN1YmplY3QpO1xuICAgICAgfSk7XG4gIH1cblxuICBwZW5kaW5nLmFkZChrZXkpO1xuXG4gIGlmICghc2lsZW50KSBlbWl0KHN1YmplY3QsIGtleSk7XG59XG5cbmZ1bmN0aW9uIGVucXVldWUoZXZlbnRIYW5kbGVyOiAoKSA9PiB2b2lkKSB7XG4gIGlmICghRElTUEFUQ0guc2l6ZSlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIERJU1BBVENILmZvckVhY2goKGV2ZW50KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZXZlbnQoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIERJU1BBVENILmNsZWFyKCk7XG4gICAgfSwgMCk7XG5cbiAgRElTUEFUQ0guYWRkKGV2ZW50SGFuZGxlcik7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgc2lkZS1lZmZlY3Qgd2hpY2ggd2lsbCB1cGRhdGUgd2hlbmV2ZXIgdmFsdWVzIGFjY2Vzc2VkIGNoYW5nZS5cbiAqIENhbGxiYWNrIGlzIGNhbGxlZCBpbW1lZGlhdGVseSBhbmQgd2hlbmV2ZXIgdmFsdWVzIGFyZSBzdGFsZS5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gSW5zdGFuY2Ugb2YgU3RhdGUgdG8gb2JzZXJ2ZS5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIEZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIHZhbHVlcyBjaGFuZ2UuXG4gKiBAcGFyYW0gcmVxdWlyZVZhbHVlcyAtIElmIGB0cnVlYCB3aWxsIHRocm93IGlmIGFjY2Vzc2luZyBhIHZhbHVlIHdoaWNoIGlzIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiB3YXRjaDxUIGV4dGVuZHMgU3RhdGU+KFxuICB0YXJnZXQ6IFQsXG4gIGNhbGxiYWNrOiBFZmZlY3Q8UmVxdWlyZWQ8VD4+LFxuICByZXF1aXJlVmFsdWVzOiB0cnVlXG4pOiAoKSA9PiB2b2lkO1xuXG5mdW5jdGlvbiB3YXRjaDxUIGV4dGVuZHMgU3RhdGU+KFxuICB0YXJnZXQ6IFQsXG4gIGNhbGxiYWNrOiBFZmZlY3Q8VD4sXG4gIHJlY3Vyc2l2ZT86IGJvb2xlYW5cbik6ICgpID0+IHZvaWQ7XG5cbmZ1bmN0aW9uIHdhdGNoPFQgZXh0ZW5kcyBTdGF0ZT4oXG4gIHRhcmdldDogVCxcbiAgY2FsbGJhY2s6IEVmZmVjdDxUPixcbiAgYXJndW1lbnQ/OiBib29sZWFuXG4pIHtcbiAgbGV0IHVuc2V0OiAoKHVwZGF0ZTogYm9vbGVhbiB8IG51bGwpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBsZXQgcmVzZXQ6ICgoKSA9PiB2b2lkKSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gaW52b2tlKCkge1xuICAgIGxldCBpZ25vcmU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgZnVuY3Rpb24gb25VcGRhdGUoKTogdm9pZCB8IFByb21pc2VMaXRlPHZvaWQ+IHtcbiAgICAgIGlmIChpZ25vcmUgfHwgcmVzZXQgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgaWdub3JlID0gdHJ1ZTtcblxuICAgICAgaWYgKHJlc2V0ICYmIHVuc2V0KSB7XG4gICAgICAgIHVuc2V0KHRydWUpO1xuICAgICAgICB1bnNldCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgZW5xdWV1ZShpbnZva2UpO1xuICAgICAgcmV0dXJuIHsgdGhlbjogZW5xdWV1ZSB9O1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBleGl0ID0gZW50ZXIoYXJndW1lbnQgPT09IGZhbHNlKTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGNhbGxiYWNrKHRhcmdldFtPYnNlcnZhYmxlXShvblVwZGF0ZSwgYXJndW1lbnQgPT09IHRydWUpKTtcbiAgICAgIGNvbnN0IGZsdXNoID0gZXhpdCgpO1xuXG4gICAgICBpZ25vcmUgPSBmYWxzZTtcbiAgICAgIHJlc2V0ID0gb3V0cHV0ID09PSBudWxsID8gbnVsbCA6IGludm9rZTtcbiAgICAgIHVuc2V0ID0gKGtleSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIG91dHB1dCA9PSAnZnVuY3Rpb24nKSBvdXRwdXQoa2V5KTtcblxuICAgICAgICBmbHVzaCgpO1xuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgIHJlc2V0ID0gdW5kZWZpbmVkO1xuICAgICAgICBlcnIudGhlbihpbnZva2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgaWYgKHVuc2V0KSB1bnNldChmYWxzZSk7XG5cbiAgICByZXNldCA9IG51bGw7XG4gIH1cblxuICBpZiAoRWZmZWN0Q29udGV4dCAmJiBhcmd1bWVudCAhPT0gZmFsc2UpIEVmZmVjdENvbnRleHQuYWRkKGNsZWFudXApO1xuXG4gIGFkZExpc3RlbmVyKHRhcmdldCwgKGtleSkgPT4ge1xuICAgIGlmIChrZXkgPT09IHRydWUpIGludm9rZSgpO1xuICAgIGVsc2UgaWYgKCFyZXNldCkgcmV0dXJuIHJlc2V0O1xuXG4gICAgaWYgKGtleSA9PT0gbnVsbCAmJiB1bnNldCkgdW5zZXQobnVsbCk7XG4gIH0pO1xuXG4gIHJldHVybiBjbGVhbnVwO1xufVxuXG5sZXQgRWZmZWN0Q29udGV4dDogU2V0PCgpID0+IHZvaWQ+IHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gZW50ZXIoaWdub3JlPzogYm9vbGVhbikge1xuICBpZiAoaWdub3JlKSByZXR1cm4gKCkgPT4gKCkgPT4ge307XG5cbiAgY29uc3QgbGFzdCA9IEVmZmVjdENvbnRleHQ7XG4gIGNvbnN0IGNvbnRleHQgPSAoRWZmZWN0Q29udGV4dCA9IG5ldyBTZXQoKSk7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBFZmZlY3RDb250ZXh0ID0gbGFzdDtcbiAgICByZXR1cm4gKCkgPT4gY29udGV4dC5mb3JFYWNoKChmbikgPT4gZm4oKSk7XG4gIH07XG59XG5cbmV4cG9ydCB7IGFkZExpc3RlbmVyLCB3YXRjaCwgZXZlbnQsIE5vdGlmeSwgUEVORElOR19LRVlTLCBPYnNlcnZhYmxlIH07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFrQ0EsTUFBTSxhQUFhLE9BQU8sU0FBUztBQUduQyxNQUFNLFVBQVUsTUFBTTtBQUV0QixNQUFNLFlBQVksb0JBQUksUUFHcEI7QUFHRixNQUFNLFVBQVUsb0JBQUksUUFBZ0M7QUFHcEQsTUFBTSxlQUFlLG9CQUFJLFFBQW1EO0FBRzVFLE1BQU0sV0FBVyxvQkFBSSxJQUFnQjtBQUVyQyxTQUFTLFlBQ1AsU0FDQSxVQUNBLFFBQ0E7QUFDQSxNQUFJLFlBQVksVUFBVSxJQUFJLE9BQU87QUFFckMsTUFBSSxDQUFDO0FBQ0gsY0FBVSxJQUFJLFNBQVUsWUFBWSxvQkFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQVMsQ0FBQyxDQUFDLENBQUU7QUFFdEUsTUFBSSxXQUFXLFVBQWEsRUFBRSxrQkFBa0I7QUFDOUMsYUFBUyxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0FBRTNCLE1BQUksQ0FBQyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsUUFBUTtBQUN0QyxhQUFTLEtBQUssU0FBUyxNQUFNLE9BQU87QUFBQSxFQUN0QztBQUVBLFlBQVUsSUFBSSxVQUFVLE1BQU07QUFFOUIsU0FBTyxNQUFNLFVBQVUsT0FBTyxRQUFRO0FBQ3hDO0FBRUEsU0FBUyxLQUFLLE9BQW1CLEtBQWtCO0FBQ2pELFFBQU0sWUFBWSxVQUFVLElBQUksS0FBSztBQUNyQyxRQUFNLFdBQVcsVUFBVSxJQUFJLE9BQU87QUFFdEMsTUFBSSxRQUFRLFFBQVEsQ0FBQyxTQUFVO0FBRS9CLE1BQUksVUFBVSxRQUFRLElBQUksS0FBSztBQUUvQixNQUFJLFNBQVM7QUFDWCxZQUFRLElBQUksR0FBRztBQUNmO0FBQUEsRUFDRjtBQUVBLFVBQVEsSUFBSSxPQUFRLFVBQVUsSUFBSSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFO0FBRXRFLGFBQVdBLFFBQU87QUFDaEIsZUFBVyxDQUFDLFVBQVUsTUFBTSxLQUFLO0FBQy9CLFVBQUksQ0FBQyxVQUFVLE9BQU8sSUFBSUEsSUFBRyxHQUFHO0FBQzlCLGNBQU0sUUFBUSxTQUFTLEtBQUssT0FBT0EsTUFBSyxLQUFLO0FBRTdDLFlBQUksT0FBTztBQUNULGtCQUFRLEtBQUs7QUFBQSxRQUNmLFdBQVcsVUFBVSxNQUFNO0FBQ3pCLG9CQUFVLE9BQU8sUUFBUTtBQUFBLFFBQzNCO0FBQUEsTUFDRjtBQUVKLE1BQUksUUFBUSxLQUFNLFdBQVUsTUFBTTtBQUVsQyxVQUFRLE9BQU8sS0FBSztBQUN0QjtBQUVBLFNBQVMsTUFDUCxTQUNBLEtBQ0EsUUFDQTtBQUNBLE1BQUksUUFBUSxLQUFNLFFBQU8sS0FBSyxTQUFTLEdBQUc7QUFFMUMsTUFBSSxDQUFDLElBQUssUUFBTyxLQUFLLFNBQVMsSUFBSTtBQUVuQyxNQUFJLFVBQVUsYUFBYSxJQUFJLE9BQU87QUFFdEMsTUFBSSxDQUFDLFNBQVM7QUFDWixpQkFBYSxJQUFJLFNBQVUsVUFBVSxvQkFBSSxJQUFJLENBQUU7QUFFL0MsUUFBSSxDQUFDO0FBQ0gsY0FBUSxNQUFNO0FBQ1osYUFBSyxTQUFTLEtBQUs7QUFDbkIscUJBQWEsT0FBTyxPQUFPO0FBQUEsTUFDN0IsQ0FBQztBQUFBLEVBQ0w7QUFFQSxVQUFRLElBQUksR0FBRztBQUVmLE1BQUksQ0FBQyxPQUFRLE1BQUssU0FBUyxHQUFHO0FBQ2hDO0FBRUEsU0FBUyxRQUFRLGNBQTBCO0FBQ3pDLE1BQUksQ0FBQyxTQUFTO0FBQ1osZUFBVyxNQUFNO0FBQ2YsZUFBUyxRQUFRLENBQUNDLFdBQVU7QUFDMUIsWUFBSTtBQUNGLFVBQUFBLE9BQU07QUFBQSxRQUNSLFNBQVMsS0FBSztBQUNaLGtCQUFRLE1BQU0sR0FBRztBQUFBLFFBQ25CO0FBQUEsTUFDRixDQUFDO0FBQ0QsZUFBUyxNQUFNO0FBQUEsSUFDakIsR0FBRyxDQUFDO0FBRU4sV0FBUyxJQUFJLFlBQVk7QUFDM0I7QUFzQkEsU0FBUyxNQUNQLFFBQ0EsVUFDQSxVQUNBO0FBQ0EsTUFBSTtBQUNKLE1BQUk7QUFFSixXQUFTLFNBQVM7QUFDaEIsUUFBSSxTQUFrQjtBQUV0QixhQUFTLFdBQXFDO0FBQzVDLFVBQUksVUFBVSxVQUFVLEtBQU07QUFFOUIsZUFBUztBQUVULFVBQUksU0FBUyxPQUFPO0FBQ2xCLGNBQU0sSUFBSTtBQUNWLGdCQUFRO0FBQUEsTUFDVjtBQUVBLGNBQVEsTUFBTTtBQUNkLGFBQU8sRUFBRSxNQUFNLFFBQVE7QUFBQSxJQUN6QjtBQUVBLFFBQUk7QUFDRixZQUFNLE9BQU8sTUFBTSxhQUFhLEtBQUs7QUFDckMsWUFBTSxTQUFTLFNBQVMsT0FBTyxVQUFVLEVBQUUsVUFBVSxhQUFhLElBQUksQ0FBQztBQUN2RSxZQUFNLFFBQVEsS0FBSztBQUVuQixlQUFTO0FBQ1QsY0FBUSxXQUFXLE9BQU8sT0FBTztBQUNqQyxjQUFRLENBQUMsUUFBUTtBQUNmLFlBQUksT0FBTyxVQUFVLFdBQVksUUFBTyxHQUFHO0FBRTNDLGNBQU07QUFBQSxNQUNSO0FBQUEsSUFDRixTQUFTLEtBQUs7QUFDWixVQUFJLGVBQWUsU0FBUztBQUMxQixnQkFBUTtBQUNSLFlBQUksS0FBSyxNQUFNO0FBQUEsTUFDakIsT0FBTztBQUNMLGNBQU07QUFBQSxNQUNSO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLFVBQVU7QUFDakIsUUFBSSxNQUFPLE9BQU0sS0FBSztBQUV0QixZQUFRO0FBQUEsRUFDVjtBQUVBLE1BQUksaUJBQWlCLGFBQWEsTUFBTyxlQUFjLElBQUksT0FBTztBQUVsRSxjQUFZLFFBQVEsQ0FBQyxRQUFRO0FBQzNCLFFBQUksUUFBUSxLQUFNLFFBQU87QUFBQSxhQUNoQixDQUFDLE1BQU8sUUFBTztBQUV4QixRQUFJLFFBQVEsUUFBUSxNQUFPLE9BQU0sSUFBSTtBQUFBLEVBQ3ZDLENBQUM7QUFFRCxTQUFPO0FBQ1Q7QUFFQSxJQUFJO0FBRUcsU0FBUyxNQUFNLFFBQWtCO0FBQ3RDLE1BQUksT0FBUSxRQUFPLE1BQU0sTUFBTTtBQUFBLEVBQUM7QUFFaEMsUUFBTSxPQUFPO0FBQ2IsUUFBTSxVQUFXLGdCQUFnQixvQkFBSSxJQUFJO0FBRXpDLFNBQU8sTUFBTTtBQUNYLG9CQUFnQjtBQUNoQixXQUFPLE1BQU0sUUFBUSxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUM7QUFBQSxFQUMzQztBQUNGOyIsCiAgIm5hbWVzIjogWyJrZXkiLCAiZXZlbnQiXQp9Cg==
|
package/dist/esm/index.js
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
|
+
import { use, Instruction } from "./instruction/use";
|
|
1
2
|
import { get } from "./instruction/get";
|
|
2
|
-
import { ref } from "./instruction/ref";
|
|
3
3
|
import { set } from "./instruction/set";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { createEffect, addListener, event, Observable } from "./control";
|
|
4
|
+
import { ref } from "./instruction/ref";
|
|
5
|
+
import { State, State as State2, METHOD } from "./state";
|
|
6
|
+
import { watch, addListener, event, Observable } from "./control";
|
|
8
7
|
import { Context } from "./context";
|
|
9
8
|
export {
|
|
10
9
|
Context,
|
|
10
|
+
Instruction,
|
|
11
11
|
METHOD,
|
|
12
|
-
Model,
|
|
13
12
|
Observable,
|
|
13
|
+
State,
|
|
14
14
|
addListener,
|
|
15
|
-
|
|
16
|
-
Model2 as default,
|
|
15
|
+
State2 as default,
|
|
17
16
|
event,
|
|
18
17
|
get,
|
|
19
|
-
has,
|
|
20
18
|
ref,
|
|
21
19
|
set,
|
|
22
|
-
use
|
|
20
|
+
use,
|
|
21
|
+
watch
|
|
23
22
|
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyB1c2UsIEluc3RydWN0aW9uIH0gZnJvbSAnLi9pbnN0cnVjdGlvbi91c2UnO1xuZXhwb3J0IHsgZ2V0IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9nZXQnO1xuZXhwb3J0IHsgc2V0IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9zZXQnO1xuZXhwb3J0IHsgcmVmIH0gZnJvbSAnLi9pbnN0cnVjdGlvbi9yZWYnO1xuXG5leHBvcnQgeyBTdGF0ZSwgU3RhdGUgYXMgZGVmYXVsdCwgTUVUSE9EIH0gZnJvbSAnLi9zdGF0ZSc7XG5leHBvcnQgeyB3YXRjaCwgYWRkTGlzdGVuZXIsIGV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAnLi9jb250cm9sJztcbmV4cG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLLG1CQUFtQjtBQUNqQyxTQUFTLFdBQVc7QUFDcEIsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsV0FBVztBQUVwQixTQUFTLE9BQWdCLFNBQVRBLFFBQWtCLGNBQWM7QUFDaEQsU0FBUyxPQUFPLGFBQWEsT0FBTyxrQkFBa0I7QUFDdEQsU0FBUyxlQUFlOyIsCiAgIm5hbWVzIjogWyJTdGF0ZSJdCn0K
|