@expressive/mvc 0.63.5 → 0.64.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/control.js +30 -73
- package/dist/esm/index.js +4 -3
- package/dist/esm/instruction/has.js +23 -19
- package/dist/esm/instruction/ref.js +4 -4
- package/dist/esm/instruction/set.js +17 -19
- package/dist/esm/instruction/use.js +5 -6
- package/dist/esm/model.js +65 -36
- package/dist/index.d.ts +41 -11
- package/dist/index.js +134 -143
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/control.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
const Observable = Symbol("observe");
|
|
1
2
|
const onReady = () => null;
|
|
2
3
|
const LISTENERS = /* @__PURE__ */ new WeakMap();
|
|
3
4
|
const PENDING = /* @__PURE__ */ new WeakMap();
|
|
4
5
|
const PENDING_KEYS = /* @__PURE__ */ new WeakMap();
|
|
5
6
|
const DISPATCH = /* @__PURE__ */ new Set();
|
|
6
|
-
const OBSERVER = /* @__PURE__ */ new WeakMap();
|
|
7
7
|
function addListener(subject, callback, select) {
|
|
8
8
|
let listeners = LISTENERS.get(subject);
|
|
9
9
|
if (!listeners)
|
|
10
10
|
LISTENERS.set(subject, listeners = /* @__PURE__ */ new Map([[onReady, void 0]]));
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (select !== void 0 && !(select instanceof Set))
|
|
12
|
+
select = /* @__PURE__ */ new Set([select]);
|
|
13
|
+
if (!listeners.has(onReady) && !select)
|
|
13
14
|
callback.call(subject, true, subject);
|
|
14
|
-
listeners.set(callback,
|
|
15
|
+
listeners.set(callback, select);
|
|
15
16
|
return () => listeners.delete(callback);
|
|
16
17
|
}
|
|
17
18
|
function emit(model, key) {
|
|
@@ -19,13 +20,13 @@ function emit(model, key) {
|
|
|
19
20
|
const notReady = listeners.has(onReady);
|
|
20
21
|
if (key === true && !notReady)
|
|
21
22
|
return;
|
|
22
|
-
let
|
|
23
|
-
if (
|
|
24
|
-
|
|
23
|
+
let pending = PENDING.get(model);
|
|
24
|
+
if (pending) {
|
|
25
|
+
pending.add(key);
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
|
-
PENDING.set(model,
|
|
28
|
-
for (const key2 of
|
|
28
|
+
PENDING.set(model, pending = new Set(notReady ? [true, key] : [key]));
|
|
29
|
+
for (const key2 of pending)
|
|
29
30
|
for (const [callback, filter] of listeners)
|
|
30
31
|
if (!filter || filter.has(key2)) {
|
|
31
32
|
const after = callback.call(model, key2, model);
|
|
@@ -43,32 +44,19 @@ function event(subject, key, silent) {
|
|
|
43
44
|
return emit(subject, key);
|
|
44
45
|
if (!key)
|
|
45
46
|
return emit(subject, true);
|
|
46
|
-
let
|
|
47
|
-
if (!
|
|
48
|
-
PENDING_KEYS.set(subject,
|
|
47
|
+
let pending = PENDING_KEYS.get(subject);
|
|
48
|
+
if (!pending) {
|
|
49
|
+
PENDING_KEYS.set(subject, pending = /* @__PURE__ */ new Set());
|
|
49
50
|
if (!silent)
|
|
50
51
|
enqueue(() => {
|
|
51
52
|
emit(subject, false);
|
|
52
53
|
PENDING_KEYS.delete(subject);
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
|
-
|
|
56
|
+
pending.add(key);
|
|
56
57
|
if (!silent)
|
|
57
58
|
emit(subject, key);
|
|
58
59
|
}
|
|
59
|
-
function pending(subject) {
|
|
60
|
-
if (PENDING_KEYS.has(subject))
|
|
61
|
-
return {
|
|
62
|
-
then: (res) => new Promise((res2) => {
|
|
63
|
-
const remove = addListener(subject, (key) => {
|
|
64
|
-
if (key !== true) {
|
|
65
|
-
remove();
|
|
66
|
-
return res2.bind(null, Array.from(PENDING_KEYS.get(subject)));
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}).then(res)
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
60
|
function enqueue(eventHandler) {
|
|
73
61
|
if (!DISPATCH.size)
|
|
74
62
|
setTimeout(() => {
|
|
@@ -83,23 +71,11 @@ function enqueue(eventHandler) {
|
|
|
83
71
|
}, 0);
|
|
84
72
|
DISPATCH.add(eventHandler);
|
|
85
73
|
}
|
|
86
|
-
function createProxy(from, observer) {
|
|
87
|
-
const proxy = Object.create(from);
|
|
88
|
-
OBSERVER.set(proxy, observer);
|
|
89
|
-
return proxy;
|
|
90
|
-
}
|
|
91
|
-
function watch(from, key, value) {
|
|
92
|
-
const access = OBSERVER.get(from);
|
|
93
|
-
return access ? access(from, key, value) : value;
|
|
94
|
-
}
|
|
95
74
|
function createEffect(target, callback, argument) {
|
|
96
|
-
const listeners = LISTENERS.get(target);
|
|
97
75
|
let unset;
|
|
98
76
|
let reset;
|
|
99
77
|
function invoke() {
|
|
100
78
|
let stale;
|
|
101
|
-
const subscriber = createProxy(target, access);
|
|
102
|
-
LISTENERS.set(subscriber, listeners);
|
|
103
79
|
function onUpdate() {
|
|
104
80
|
if (stale)
|
|
105
81
|
return null;
|
|
@@ -110,30 +86,15 @@ function createEffect(target, callback, argument) {
|
|
|
110
86
|
}
|
|
111
87
|
return reset;
|
|
112
88
|
}
|
|
113
|
-
|
|
114
|
-
if (value === void 0 && argument)
|
|
115
|
-
throw new Error(`${from}.${key} is required in this context.`);
|
|
116
|
-
const listeners2 = LISTENERS.get(from);
|
|
117
|
-
let listener = listeners2.get(onUpdate);
|
|
118
|
-
if (!listener)
|
|
119
|
-
listeners2.set(onUpdate, listener = /* @__PURE__ */ new Set());
|
|
120
|
-
listener.add(key);
|
|
121
|
-
const nested = LISTENERS.get(value);
|
|
122
|
-
if (nested)
|
|
123
|
-
LISTENERS.set(
|
|
124
|
-
value = createProxy(value, access),
|
|
125
|
-
nested
|
|
126
|
-
);
|
|
127
|
-
return value;
|
|
128
|
-
}
|
|
89
|
+
const subscriber = target[Observable](onUpdate, argument === true);
|
|
129
90
|
try {
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
const flush =
|
|
133
|
-
reset =
|
|
91
|
+
const exit = enter(argument === false);
|
|
92
|
+
const output = callback.call(subscriber, subscriber);
|
|
93
|
+
const flush = exit();
|
|
94
|
+
reset = output === null ? null : invoke;
|
|
134
95
|
unset = (key) => {
|
|
135
|
-
if (typeof
|
|
136
|
-
|
|
96
|
+
if (typeof output == "function")
|
|
97
|
+
output(key);
|
|
137
98
|
flush();
|
|
138
99
|
};
|
|
139
100
|
} catch (err) {
|
|
@@ -163,27 +124,23 @@ function createEffect(target, callback, argument) {
|
|
|
163
124
|
return cleanup;
|
|
164
125
|
}
|
|
165
126
|
let EffectContext;
|
|
166
|
-
function
|
|
127
|
+
function enter(ignore) {
|
|
167
128
|
if (ignore)
|
|
168
129
|
return () => () => {
|
|
169
130
|
};
|
|
170
|
-
const
|
|
171
|
-
const
|
|
131
|
+
const last = EffectContext;
|
|
132
|
+
const context = EffectContext = /* @__PURE__ */ new Set();
|
|
172
133
|
return () => {
|
|
173
|
-
EffectContext =
|
|
174
|
-
return () =>
|
|
175
|
-
ctx.forEach((fn) => fn());
|
|
176
|
-
};
|
|
134
|
+
EffectContext = last;
|
|
135
|
+
return () => context.forEach((fn) => fn());
|
|
177
136
|
};
|
|
178
137
|
}
|
|
179
138
|
export {
|
|
139
|
+
Observable,
|
|
180
140
|
PENDING_KEYS,
|
|
181
141
|
addListener,
|
|
182
|
-
context,
|
|
183
142
|
createEffect,
|
|
184
|
-
|
|
185
|
-
event
|
|
186
|
-
pending,
|
|
187
|
-
watch
|
|
143
|
+
enter,
|
|
144
|
+
event
|
|
188
145
|
};
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRyb2wudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgTW9kZWwgfSBmcm9tIFwiLi9tb2RlbFwiO1xuXG4vKipcbiAqIFVwZGF0ZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAqIFxuICogQHBhcmFtIGtleSAtXG4gKiAgIC0gYHN0cmluZ2AgLSBwcm9wZXJ0eSB3aGljaCBoYXMgdXBkYXRlZC5cbiAqICAgLSBgZmFsc2VgIC0gYSBub3JtYWwgdXBkYXRlIGhhcyBjb21wbGV0ZWQuXG4gKiAgIC0gYHRydWVgIC0gaW5pdGlhbCBldmVudDsgaW5zdGFuY2UgaXMgcmVhZHkuXG4gKiAgIC0gYG51bGxgIC0gdGVybWluYWwgZXZlbnQ7IGluc3RhbmNlIGlzIGV4cGlyZWQuXG4gKiBAcGFyYW0gc291cmNlIC0gSW5zdGFuY2Ugb2YgTW9kZWwgZm9yIHdoaWNoIHVwZGF0ZSBoYXMgb2NjdXJlZC5cbiAqL1xudHlwZSBPblVwZGF0ZTxUIGV4dGVuZHMgTW9kZWwgPSBhbnk+ID0gXG4gICh0aGlzOiBULCBrZXk6IHVua25vd24sIHNvdXJjZTogVCkgPT4gKCgpID0+IHZvaWQpIHwgbnVsbCB8IHZvaWQ7XG5cbnR5cGUgT25BY2Nlc3M8VCBleHRlbmRzIE1vZGVsID0gYW55LCBSID0gdW5rbm93bj4gPVxuICAoZnJvbTogVCwga2V5OiBzdHJpbmcgfCBudW1iZXIsIHZhbHVlOiBSKSA9PiB1bmtub3duO1xuXG50eXBlIEVmZmVjdDxUIGV4dGVuZHMgTW9kZWw+ID0gKHRoaXM6IFQsIHByb3h5OiBUKSA9PlxuICAoKHVwZGF0ZTogYm9vbGVhbiB8IG51bGwpID0+IHZvaWQpIHwgUHJvbWlzZTx2b2lkPiB8IG51bGwgfCB2b2lkO1xuXG50eXBlIEV2ZW50ID0gbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IGJvb2xlYW4gfCBzeW1ib2w7XG5cbi8qKiBQbGFjZWhvbGRlciBldmVudCBkZXRlcm1pbmVzIGlmIG1vZGVsIGlzIGluaXRpYWxpemVkIG9yIG5vdC4gKi9cbmNvbnN0IG9uUmVhZHkgPSAoKSA9PiBudWxsO1xuXG5jb25zdCBMSVNURU5FUlMgPSBuZXcgV2Vha01hcDxNb2RlbCwgTWFwPE9uVXBkYXRlLCBTZXQ8RXZlbnQ+IHwgdW5kZWZpbmVkPj4oKTtcblxuLyoqIEV2ZW50cyBwZW5kaW5nIGZvciBhIGdpdmVuIG9iamVjdC4gKi9cbmNvbnN0IFBFTkRJTkcgPSBuZXcgV2Vha01hcDxNb2RlbCwgU2V0PEV2ZW50Pj4oKTtcblxuLyoqIFVwZGF0ZSByZWdpc3Rlci4gKi9cbmNvbnN0IFBFTkRJTkdfS0VZUyA9IG5ldyBXZWFrTWFwPE1vZGVsLCBTZXQ8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPj4oKTtcblxuLyoqIENlbnRyYWwgZXZlbnQgZGlzcGF0Y2guIEJ1bmNoZXMgYWxsIHVwZGF0ZXMgdG8gb2NjdXIgYXQgc2FtZSB0aW1lLiAqL1xuY29uc3QgRElTUEFUQ0ggPSBuZXcgU2V0PCgpID0+IHZvaWQ+KCk7XG5cbmNvbnN0IE9CU0VSVkVSID0gbmV3IFdlYWtNYXA8TW9kZWwsIE9uQWNjZXNzPigpO1xuXG5mdW5jdGlvbiBhZGRMaXN0ZW5lcjxUIGV4dGVuZHMgTW9kZWw+KHN1YmplY3Q6IFQsIGNhbGxiYWNrOiBPblVwZGF0ZTxUPiwgc2VsZWN0PzogRXZlbnQpe1xuICBsZXQgbGlzdGVuZXJzID0gTElTVEVORVJTLmdldChzdWJqZWN0KSE7XG5cbiAgaWYoIWxpc3RlbmVycylcbiAgICBMSVNURU5FUlMuc2V0KHN1YmplY3QsIGxpc3RlbmVycyA9IG5ldyBNYXAoW1tvblJlYWR5LCB1bmRlZmluZWRdXSkpO1xuXG4gIGNvbnN0IGZpbHRlciA9IHNlbGVjdCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbmV3IFNldChbc2VsZWN0XSk7XG5cbiAgaWYoIWxpc3RlbmVycy5oYXMob25SZWFkeSkgJiYgIWZpbHRlcilcbiAgICBjYWxsYmFjay5jYWxsKHN1YmplY3QsIHRydWUsIHN1YmplY3QpO1xuXG4gIGxpc3RlbmVycy5zZXQoY2FsbGJhY2ssIGZpbHRlcik7XG5cbiAgcmV0dXJuICgpID0+IGxpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBlbWl0KG1vZGVsOiBNb2RlbCwga2V5OiBFdmVudCk6IHZvaWQge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBMSVNURU5FUlMuZ2V0KG1vZGVsKSE7XG4gIGNvbnN0IG5vdFJlYWR5ID0gbGlzdGVuZXJzLmhhcyhvblJlYWR5KTtcblxuICBpZihrZXkgPT09IHRydWUgJiYgIW5vdFJlYWR5KVxuICAgIHJldHVybjtcblxuICBsZXQgcGVuZGluZyA9IFBFTkRJTkcuZ2V0KG1vZGVsKTtcblxuICBpZihwZW5kaW5nKXtcbiAgICBwZW5kaW5nLmFkZChrZXkpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIFBFTkRJTkcuc2V0KG1vZGVsLCBwZW5kaW5nID0gbmV3IFNldChub3RSZWFkeSA/IFt0cnVlLCBrZXldIDogW2tleV0pKTtcblxuICBmb3IoY29uc3Qga2V5IG9mIHBlbmRpbmcpXG4gICAgZm9yKGNvbnN0IFtjYWxsYmFjaywgZmlsdGVyXSBvZiBsaXN0ZW5lcnMpXG4gICAgICBpZighZmlsdGVyIHx8IGZpbHRlci5oYXMoa2V5KSl7XG4gICAgICAgIGNvbnN0IGFmdGVyID0gY2FsbGJhY2suY2FsbChtb2RlbCwga2V5LCBtb2RlbCk7XG5cbiAgICAgICAgaWYoYWZ0ZXIpXG4gICAgICAgICAgZW5xdWV1ZShhZnRlcik7XG5cbiAgICAgICAgZWxzZSBpZihhZnRlciA9PT0gbnVsbClcbiAgICAgICAgICBsaXN0ZW5lcnMuZGVsZXRlKGNhbGxiYWNrKTtcbiAgICAgIH1cblxuICBpZihrZXkgPT09IG51bGwpXG4gICAgbGlzdGVuZXJzLmNsZWFyKCk7XG4gIFxuICBQRU5ESU5HLmRlbGV0ZShtb2RlbCk7XG59XG5cbmZ1bmN0aW9uIGV2ZW50KFxuICBzdWJqZWN0OiBNb2RlbCxcbiAga2V5Pzogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sIHwgbnVsbCxcbiAgc2lsZW50PzogYm9vbGVhbil7XG5cbiAgaWYoa2V5ID09PSBudWxsKVxuICAgIHJldHVybiBlbWl0KHN1YmplY3QsIGtleSk7XG5cbiAgaWYoIWtleSlcbiAgICByZXR1cm4gZW1pdChzdWJqZWN0LCB0cnVlKTtcblxuICBsZXQgcGVuZGluZyA9IFBFTkRJTkdfS0VZUy5nZXQoc3ViamVjdCk7XG5cbiAgaWYoIXBlbmRpbmcpe1xuICAgIFBFTkRJTkdfS0VZUy5zZXQoc3ViamVjdCwgcGVuZGluZyA9IG5ldyBTZXQoKSk7XG5cbiAgICBpZighc2lsZW50KVxuICAgICAgZW5xdWV1ZSgoKSA9PiB7XG4gICAgICAgIGVtaXQoc3ViamVjdCwgZmFsc2UpO1xuICAgICAgICBQRU5ESU5HX0tFWVMuZGVsZXRlKHN1YmplY3QpXG4gICAgICB9KVxuICB9XG5cbiAgcGVuZGluZy5hZGQoa2V5KTtcblxuICBpZighc2lsZW50KVxuICAgIGVtaXQoc3ViamVjdCwga2V5KTtcbn1cblxuZnVuY3Rpb24gcGVuZGluZzxUIGV4dGVuZHMgTW9kZWw+KHN1YmplY3Q6IFQpe1xuICBpZihQRU5ESU5HX0tFWVMuaGFzKHN1YmplY3QpKVxuICAgIHJldHVybiA8UHJvbWlzZUxpa2U8TW9kZWwuRXZlbnQ8VD5bXT4+IHtcbiAgICAgIHRoZW46IChyZXMpID0+IG5ldyBQcm9taXNlPGFueT4ocmVzID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlID0gYWRkTGlzdGVuZXIoc3ViamVjdCwga2V5ID0+IHtcbiAgICAgICAgICBpZihrZXkgIT09IHRydWUpe1xuICAgICAgICAgICAgcmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzLmJpbmQobnVsbCwgQXJyYXkuZnJvbShQRU5ESU5HX0tFWVMuZ2V0KHN1YmplY3QpISkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KS50aGVuKHJlcylcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGVucXVldWUoZXZlbnRIYW5kbGVyOiAoKCkgPT4gdm9pZCkpe1xuICBpZighRElTUEFUQ0guc2l6ZSlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIERJU1BBVENILmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXJyKXtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgRElTUEFUQ0guY2xlYXIoKTtcbiAgICB9LCAwKTtcblxuICBESVNQQVRDSC5hZGQoZXZlbnRIYW5kbGVyKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUHJveHk8VCBleHRlbmRzIE1vZGVsPihmcm9tOiBULCBvYnNlcnZlcjogT25BY2Nlc3M8VD4pe1xuICBjb25zdCBwcm94eSA9IE9iamVjdC5jcmVhdGUoZnJvbSkgYXMgVDtcbiAgT0JTRVJWRVIuc2V0KHByb3h5LCBvYnNlcnZlcik7XG4gIHJldHVybiBwcm94eTtcbn1cblxuZnVuY3Rpb24gd2F0Y2goZnJvbTogYW55LCBrZXk6IHN0cmluZyB8IG51bWJlciwgdmFsdWU/OiBhbnkpe1xuICBjb25zdCBhY2Nlc3MgPSBPQlNFUlZFUi5nZXQoZnJvbSk7XG4gIHJldHVybiBhY2Nlc3MgPyBhY2Nlc3MoZnJvbSwga2V5LCB2YWx1ZSkgOiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzaWRlLWVmZmVjdCB3aGljaCB3aWxsIHVwZGF0ZSB3aGVuZXZlciB2YWx1ZXMgYWNjZXNzZWQgY2hhbmdlLlxuICogQ2FsbGJhY2sgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGFuZCB3aGVuZXZlciB2YWx1ZXMgYXJlIHN0YWxlLlxuICogXG4gKiBAcGFyYW0gdGFyZ2V0IC0gSW5zdGFuY2Ugb2YgTW9kZWwgdG8gb2JzZXJ2ZS5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIEZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIHZhbHVlcyBjaGFuZ2UuXG4gKiBAcGFyYW0gcmVxdWlyZVZhbHVlcyAtIElmIGB0cnVlYCB3aWxsIHRocm93IGlmIGFjY2Vzc2luZyBhIHZhbHVlIHdoaWNoIGlzIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VCBleHRlbmRzIE1vZGVsPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8UmVxdWlyZWQ8VD4+LCByZXF1aXJlVmFsdWVzOiB0cnVlKTogKCkgPT4gdm9pZDtcbmZ1bmN0aW9uIGNyZWF0ZUVmZmVjdDxUIGV4dGVuZHMgTW9kZWw+KHRhcmdldDogVCwgY2FsbGJhY2s6IEVmZmVjdDxUPiwgcmVjdXJzaXZlPzogYm9vbGVhbik6ICgpID0+IHZvaWQ7XG5mdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VCBleHRlbmRzIE1vZGVsPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8VD4sIGFyZ3VtZW50PzogYm9vbGVhbil7XG4gIGNvbnN0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQodGFyZ2V0KSE7XG5cbiAgbGV0IHVuc2V0OiAoKHVwZGF0ZTogYm9vbGVhbiB8IG51bGwpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBsZXQgcmVzZXQ6ICgoKSA9PiB2b2lkKSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gaW52b2tlKCl7XG4gICAgbGV0IHN0YWxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc3Vic2NyaWJlciA9IGNyZWF0ZVByb3h5KHRhcmdldCwgYWNjZXNzKTtcblxuICAgIExJU1RFTkVSUy5zZXQoc3Vic2NyaWJlciwgbGlzdGVuZXJzKTtcblxuICAgIGZ1bmN0aW9uIG9uVXBkYXRlKCkge1xuICAgICAgaWYgKHN0YWxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgc3RhbGUgPSB0cnVlO1xuXG4gICAgICBpZiAocmVzZXQgJiYgdW5zZXQpIHtcbiAgICAgICAgdW5zZXQodHJ1ZSk7XG4gICAgICAgIHVuc2V0ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzZXQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWNjZXNzKGZyb206IE1vZGVsLCBrZXk6IHN0cmluZyB8IG51bWJlciwgdmFsdWU6IGFueSkge1xuICAgICAgaWYodmFsdWUgPT09IHVuZGVmaW5lZCAmJiBhcmd1bWVudClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Zyb219LiR7a2V5fSBpcyByZXF1aXJlZCBpbiB0aGlzIGNvbnRleHQuYCk7XG5cbiAgICAgIGNvbnN0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQoZnJvbSkhO1xuICAgICAgbGV0IGxpc3RlbmVyID0gbGlzdGVuZXJzLmdldChvblVwZGF0ZSk7XG5cbiAgICAgIGlmKCFsaXN0ZW5lcilcbiAgICAgICAgbGlzdGVuZXJzLnNldChvblVwZGF0ZSwgbGlzdGVuZXIgPSBuZXcgU2V0KTtcblxuICAgICAgbGlzdGVuZXIuYWRkKGtleSk7XG5cbiAgICAgIGNvbnN0IG5lc3RlZCA9IExJU1RFTkVSUy5nZXQodmFsdWUpO1xuXG4gICAgICBpZihuZXN0ZWQpXG4gICAgICAgIExJU1RFTkVSUy5zZXQoXG4gICAgICAgICAgdmFsdWUgPSBjcmVhdGVQcm94eSh2YWx1ZSwgYWNjZXNzKSxcbiAgICAgICAgICBuZXN0ZWRcbiAgICAgICAgKTtcblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjdHggPSBjb250ZXh0KGFyZ3VtZW50ID09PSBmYWxzZSlcbiAgICAgIGNvbnN0IHJldCA9IGNhbGxiYWNrLmNhbGwoc3Vic2NyaWJlciwgc3Vic2NyaWJlcik7XG4gICAgICBjb25zdCBmbHVzaCA9IGN0eCgpO1xuXG4gICAgICByZXNldCA9IHJldCA9PT0gbnVsbCA/IG51bGwgOiBpbnZva2U7XG4gICAgICB1bnNldCA9IGtleSA9PiB7XG4gICAgICAgIGlmKHR5cGVvZiByZXQgPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgIHJldChrZXkpO1xuXG4gICAgICAgIGZsdXNoKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICBpZihlcnIgaW5zdGFuY2VvZiBQcm9taXNlKXtcbiAgICAgICAgcmVzZXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGVyci50aGVuKGludm9rZSk7XG4gICAgICB9XG4gICAgICBlbHNlXG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhbnVwKCl7XG4gICAgaWYodW5zZXQpXG4gICAgICB1bnNldChmYWxzZSk7XG5cbiAgICByZXNldCA9IG51bGw7XG4gIH07XG5cbiAgaWYoRWZmZWN0Q29udGV4dCAmJiBhcmd1bWVudCAhPT0gZmFsc2UpXG4gICAgRWZmZWN0Q29udGV4dC5hZGQoY2xlYW51cCk7XG5cbiAgYWRkTGlzdGVuZXIodGFyZ2V0LCBrZXkgPT4ge1xuICAgIGlmKGtleSA9PT0gdHJ1ZSlcbiAgICAgIGludm9rZSgpO1xuXG4gICAgZWxzZSBpZighcmVzZXQpXG4gICAgICByZXR1cm4gcmVzZXQ7XG5cbiAgICBpZihrZXkgPT09IG51bGwgJiYgdW5zZXQpXG4gICAgICB1bnNldChudWxsKTtcbiAgfSk7XG4gIFxuICByZXR1cm4gY2xlYW51cDtcbn1cblxubGV0IEVmZmVjdENvbnRleHQ6IFNldDwoKSA9PiB2b2lkPiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRleHQoaWdub3JlPzogYm9vbGVhbil7XG4gIGlmKGlnbm9yZSlcbiAgICByZXR1cm4gKCkgPT4gKCkgPT4ge307XG5cbiAgY29uc3QgY3VycmVudCA9IEVmZmVjdENvbnRleHQ7XG4gIGNvbnN0IGN0eCA9IEVmZmVjdENvbnRleHQgPSBuZXcgU2V0O1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgRWZmZWN0Q29udGV4dCA9IGN1cnJlbnQ7XG4gICAgXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGN0eC5mb3JFYWNoKGZuID0+IGZuKCkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQge1xuICBhZGRMaXN0ZW5lcixcbiAgY3JlYXRlRWZmZWN0LFxuICBjcmVhdGVQcm94eSxcbiAgZXZlbnQsXG4gIE9uVXBkYXRlLFxuICBQRU5ESU5HX0tFWVMsXG4gIHBlbmRpbmcsXG4gIHdhdGNoXG59Il0sCiAgIm1hcHBpbmdzIjogIkFBd0JBLE1BQU0sVUFBVSxNQUFNO0FBRXRCLE1BQU0sWUFBWSxvQkFBSSxRQUFzRDtBQUc1RSxNQUFNLFVBQVUsb0JBQUksUUFBMkI7QUFHL0MsTUFBTSxlQUFlLG9CQUFJLFFBQThDO0FBR3ZFLE1BQU0sV0FBVyxvQkFBSSxJQUFnQjtBQUVyQyxNQUFNLFdBQVcsb0JBQUksUUFBeUI7QUFFOUMsU0FBUyxZQUE2QixTQUFZLFVBQXVCLFFBQWU7QUFDdEYsTUFBSSxZQUFZLFVBQVUsSUFBSSxPQUFPO0FBRXJDLE1BQUcsQ0FBQztBQUNGLGNBQVUsSUFBSSxTQUFTLFlBQVksb0JBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxNQUFTLENBQUMsQ0FBQyxDQUFDO0FBRXBFLFFBQU0sU0FBUyxXQUFXLFNBQVksU0FBWSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0FBRWxFLE1BQUcsQ0FBQyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUM7QUFDN0IsYUFBUyxLQUFLLFNBQVMsTUFBTSxPQUFPO0FBRXRDLFlBQVUsSUFBSSxVQUFVLE1BQU07QUFFOUIsU0FBTyxNQUFNLFVBQVUsT0FBTyxRQUFRO0FBQ3hDO0FBRUEsU0FBUyxLQUFLLE9BQWMsS0FBa0I7QUFDNUMsUUFBTSxZQUFZLFVBQVUsSUFBSSxLQUFLO0FBQ3JDLFFBQU0sV0FBVyxVQUFVLElBQUksT0FBTztBQUV0QyxNQUFHLFFBQVEsUUFBUSxDQUFDO0FBQ2xCO0FBRUYsTUFBSUEsV0FBVSxRQUFRLElBQUksS0FBSztBQUUvQixNQUFHQSxVQUFRO0FBQ1QsSUFBQUEsU0FBUSxJQUFJLEdBQUc7QUFDZjtBQUFBLEVBQ0Y7QUFFQSxVQUFRLElBQUksT0FBT0EsV0FBVSxJQUFJLElBQUksV0FBVyxDQUFDLE1BQU0sR0FB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LCtCQUErQjtBQUUvRCxZQUFNQyxhQUFZLFVBQVUsSUFBSSxJQUFJO0FBQ3BDLFVBQUksV0FBV0EsV0FBVSxJQUFJLFFBQVE7QUFFckMsVUFBRyxDQUFDO0FBQ0YsUUFBQUEsV0FBVSxJQUFJLFVBQVUsV0FBVyxvQkFBSSxLQUFHO0FBRTVDLGVBQVMsSUFBSSxHQUFHO0FBRWhCLFlBQU0sU0FBUyxVQUFVLElBQUksS0FBSztBQUVsQyxVQUFHO0FBQ0Qsa0JBQVU7QUFBQSxVQUNSLFFBQVEsWUFBWSxPQUFPLE1BQU07QUFBQSxVQUNqQztBQUFBLFFBQ0Y7QUFFRixhQUFPO0FBQUEsSUFDVDtBQUVBLFFBQUk7QUFDRixZQUFNLE1BQU0sUUFBUSxhQUFhLEtBQUs7QUFDdEMsWUFBTSxNQUFNLFNBQVMsS0FBSyxZQUFZLFVBQVU7QUFDaEQsWUFBTSxRQUFRLElBQUk7QUFFbEIsY0FBUSxRQUFRLE9BQU8sT0FBTztBQUM5QixjQUFRLFNBQU87QUFDYixZQUFHLE9BQU8sT0FBTztBQUNmLGNBQUksR0FBRztBQUVULGNBQU07QUFBQSxNQUNSO0FBQUEsSUFDRixTQUNNLEtBQUk7QUFDUixVQUFHLGVBQWUsU0FBUTtBQUN4QixnQkFBUTtBQUNSLFlBQUksS0FBSyxNQUFNO0FBQUEsTUFDakI7QUFFRSxjQUFNO0FBQUEsSUFDVjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLFVBQVM7QUFDaEIsUUFBRztBQUNELFlBQU0sS0FBSztBQUViLFlBQVE7QUFBQSxFQUNWO0FBQUM7QUFFRCxNQUFHLGlCQUFpQixhQUFhO0FBQy9CLGtCQUFjLElBQUksT0FBTztBQUUzQixjQUFZLFFBQVEsU0FBTztBQUN6QixRQUFHLFFBQVE7QUFDVCxhQUFPO0FBQUEsYUFFRCxDQUFDO0FBQ1AsYUFBTztBQUVULFFBQUcsUUFBUSxRQUFRO0FBQ2pCLFlBQU0sSUFBSTtBQUFBLEVBQ2QsQ0FBQztBQUVELFNBQU87QUFDVDtBQUVBLElBQUk7QUFFRyxTQUFTLFFBQVEsUUFBaUI7QUFDdkMsTUFBRztBQUNELFdBQU8sTUFBTSxNQUFNO0FBQUEsSUFBQztBQUV0QixRQUFNLFVBQVU7QUFDaEIsUUFBTSxNQUFNLGdCQUFnQixvQkFBSTtBQUVoQyxTQUFPLE1BQU07QUFDWCxvQkFBZ0I7QUFFaEIsV0FBTyxNQUFNO0FBQ1gsVUFBSSxRQUFRLFFBQU0sR0FBRyxDQUFDO0FBQUEsSUFDeEI7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbInBlbmRpbmciLCAia2V5IiwgInJlcyIsICJldmVudCIsICJsaXN0ZW5lcnMiXQp9Cg==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbnRyb2wudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogVXBkYXRlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICogXG4gKiBAcGFyYW0ga2V5IC1cbiAqICAgLSBgc3RyaW5nYCAtIHByb3BlcnR5IHdoaWNoIGhhcyB1cGRhdGVkLlxuICogICAtIGBmYWxzZWAgLSBhIG5vcm1hbCB1cGRhdGUgaGFzIGNvbXBsZXRlZC5cbiAqICAgLSBgdHJ1ZWAgLSBpbml0aWFsIGV2ZW50OyBpbnN0YW5jZSBpcyByZWFkeS5cbiAqICAgLSBgbnVsbGAgLSB0ZXJtaW5hbCBldmVudDsgaW5zdGFuY2UgaXMgZXhwaXJlZC5cbiAqIEBwYXJhbSBzb3VyY2UgLSBJbnN0YW5jZSBvZiBNb2RlbCBmb3Igd2hpY2ggdXBkYXRlIGhhcyBvY2N1cmVkLlxuICovXG50eXBlIE9uVXBkYXRlPFQgZXh0ZW5kcyBPYnNlcnZhYmxlID0gYW55PiA9IFxuICAodGhpczogVCwga2V5OiB1bmtub3duLCBzb3VyY2U6IFQpID0+ICgoKSA9PiB2b2lkKSB8IG51bGwgfCB2b2lkO1xuXG50eXBlIEVmZmVjdDxUIGV4dGVuZHMgT2JzZXJ2YWJsZT4gPSAodGhpczogVCwgcHJveHk6IFQpID0+XG4gICgodXBkYXRlOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZCkgfCBQcm9taXNlPHZvaWQ+IHwgbnVsbCB8IHZvaWQ7XG5cbnR5cGUgRXZlbnQgPSBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgYm9vbGVhbiB8IHN5bWJvbDtcblxuaW50ZXJmYWNlIE9ic2VydmFibGUge1xuICBbT2JzZXJ2YWJsZV0oY2FsbGJhY2s6IE9uVXBkYXRlLCByZXF1aXJlZD86IGJvb2xlYW4pOiB0aGlzO1xufVxuXG5jb25zdCBPYnNlcnZhYmxlID0gU3ltYm9sKFwib2JzZXJ2ZVwiKTtcblxuLyoqIFBsYWNlaG9sZGVyIGV2ZW50IGRldGVybWluZXMgaWYgbW9kZWwgaXMgaW5pdGlhbGl6ZWQgb3Igbm90LiAqL1xuY29uc3Qgb25SZWFkeSA9ICgpID0+IG51bGw7XG5cbmNvbnN0IExJU1RFTkVSUyA9IG5ldyBXZWFrTWFwPE9ic2VydmFibGUsIE1hcDxPblVwZGF0ZSwgU2V0PEV2ZW50PiB8IHVuZGVmaW5lZD4+KCk7XG5cbi8qKiBFdmVudHMgcGVuZGluZyBmb3IgYSBnaXZlbiBvYmplY3QuICovXG5jb25zdCBQRU5ESU5HID0gbmV3IFdlYWtNYXA8T2JzZXJ2YWJsZSwgU2V0PEV2ZW50Pj4oKTtcblxuLyoqIFVwZGF0ZSByZWdpc3Rlci4gKi9cbmNvbnN0IFBFTkRJTkdfS0VZUyA9IG5ldyBXZWFrTWFwPE9ic2VydmFibGUsIFNldDxzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+PigpO1xuXG4vKiogQ2VudHJhbCBldmVudCBkaXNwYXRjaC4gQnVuY2hlcyBhbGwgdXBkYXRlcyB0byBvY2N1ciBhdCBzYW1lIHRpbWUuICovXG5jb25zdCBESVNQQVRDSCA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKTtcblxuZnVuY3Rpb24gYWRkTGlzdGVuZXI8VCBleHRlbmRzIE9ic2VydmFibGU+KFxuICBzdWJqZWN0OiBULCBjYWxsYmFjazogT25VcGRhdGU8VD4sIHNlbGVjdD86IEV2ZW50IHwgU2V0PEV2ZW50Pil7XG5cbiAgbGV0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQoc3ViamVjdCkhO1xuXG4gIGlmKCFsaXN0ZW5lcnMpXG4gICAgTElTVEVORVJTLnNldChzdWJqZWN0LCBsaXN0ZW5lcnMgPSBuZXcgTWFwKFtbb25SZWFkeSwgdW5kZWZpbmVkXV0pKTtcblxuICBpZihzZWxlY3QgIT09IHVuZGVmaW5lZCAmJiAhKHNlbGVjdCBpbnN0YW5jZW9mIFNldCkpXG4gICAgc2VsZWN0ID0gbmV3IFNldChbc2VsZWN0XSk7XG5cbiAgaWYoIWxpc3RlbmVycy5oYXMob25SZWFkeSkgJiYgIXNlbGVjdClcbiAgICBjYWxsYmFjay5jYWxsKHN1YmplY3QsIHRydWUsIHN1YmplY3QpO1xuXG4gIGxpc3RlbmVycy5zZXQoY2FsbGJhY2ssIHNlbGVjdCk7XG5cbiAgcmV0dXJuICgpID0+IGxpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBlbWl0KG1vZGVsOiBPYnNlcnZhYmxlLCBrZXk6IEV2ZW50KTogdm9pZCB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IExJU1RFTkVSUy5nZXQobW9kZWwpITtcbiAgY29uc3Qgbm90UmVhZHkgPSBsaXN0ZW5lcnMuaGFzKG9uUmVhZHkpO1xuXG4gIGlmKGtleSA9PT0gdHJ1ZSAmJiAhbm90UmVhZHkpXG4gICAgcmV0dXJuO1xuXG4gIGxldCBwZW5kaW5nID0gUEVORElORy5nZXQobW9kZWwpO1xuXG4gIGlmKHBlbmRpbmcpe1xuICAgIHBlbmRpbmcuYWRkKGtleSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgUEVORElORy5zZXQobW9kZWwsIHBlbmRpbmcgPSBuZXcgU2V0KG5vdFJlYWR5ID8gW3RydWUsIGtleV0gOiBba2V5XSkpO1xuXG4gIGZvcihjb25zdCBrZXkgb2YgcGVuZGluZylcbiAgICBmb3IoY29uc3QgW2NhbGxiYWNrLCBmaWx0ZXJdIG9mIGxpc3RlbmVycylcbiAgICAgIGlmKCFmaWx0ZXIgfHwgZmlsdGVyLmhhcyhrZXkpKXtcbiAgICAgICAgY29uc3QgYWZ0ZXIgPSBjYWxsYmFjay5jYWxsKG1vZGVsLCBrZXksIG1vZGVsKTtcblxuICAgICAgICBpZihhZnRlcilcbiAgICAgICAgICBlbnF1ZXVlKGFmdGVyKTtcblxuICAgICAgICBlbHNlIGlmKGFmdGVyID09PSBudWxsKVxuICAgICAgICAgIGxpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgfVxuXG4gIGlmKGtleSA9PT0gbnVsbClcbiAgICBsaXN0ZW5lcnMuY2xlYXIoKTtcbiAgXG4gIFBFTkRJTkcuZGVsZXRlKG1vZGVsKTtcbn1cblxuZnVuY3Rpb24gZXZlbnQoXG4gIHN1YmplY3Q6IE9ic2VydmFibGUsXG4gIGtleT86IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCB8IG51bGwsXG4gIHNpbGVudD86IGJvb2xlYW4pe1xuXG4gIGlmKGtleSA9PT0gbnVsbClcbiAgICByZXR1cm4gZW1pdChzdWJqZWN0LCBrZXkpO1xuXG4gIGlmKCFrZXkpXG4gICAgcmV0dXJuIGVtaXQoc3ViamVjdCwgdHJ1ZSk7XG5cbiAgbGV0IHBlbmRpbmcgPSBQRU5ESU5HX0tFWVMuZ2V0KHN1YmplY3QpO1xuXG4gIGlmKCFwZW5kaW5nKXtcbiAgICBQRU5ESU5HX0tFWVMuc2V0KHN1YmplY3QsIHBlbmRpbmcgPSBuZXcgU2V0KCkpO1xuXG4gICAgaWYoIXNpbGVudClcbiAgICAgIGVucXVldWUoKCkgPT4ge1xuICAgICAgICBlbWl0KHN1YmplY3QsIGZhbHNlKTtcbiAgICAgICAgUEVORElOR19LRVlTLmRlbGV0ZShzdWJqZWN0KVxuICAgICAgfSlcbiAgfVxuXG4gIHBlbmRpbmcuYWRkKGtleSk7XG5cbiAgaWYoIXNpbGVudClcbiAgICBlbWl0KHN1YmplY3QsIGtleSk7XG59XG5cbmZ1bmN0aW9uIGVucXVldWUoZXZlbnRIYW5kbGVyOiAoKCkgPT4gdm9pZCkpe1xuICBpZighRElTUEFUQ0guc2l6ZSlcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIERJU1BBVENILmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXJyKXtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgRElTUEFUQ0guY2xlYXIoKTtcbiAgICB9LCAwKTtcblxuICBESVNQQVRDSC5hZGQoZXZlbnRIYW5kbGVyKTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzaWRlLWVmZmVjdCB3aGljaCB3aWxsIHVwZGF0ZSB3aGVuZXZlciB2YWx1ZXMgYWNjZXNzZWQgY2hhbmdlLlxuICogQ2FsbGJhY2sgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGFuZCB3aGVuZXZlciB2YWx1ZXMgYXJlIHN0YWxlLlxuICogXG4gKiBAcGFyYW0gdGFyZ2V0IC0gSW5zdGFuY2Ugb2YgTW9kZWwgdG8gb2JzZXJ2ZS5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIEZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIHZhbHVlcyBjaGFuZ2UuXG4gKiBAcGFyYW0gcmVxdWlyZVZhbHVlcyAtIElmIGB0cnVlYCB3aWxsIHRocm93IGlmIGFjY2Vzc2luZyBhIHZhbHVlIHdoaWNoIGlzIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFZmZlY3Q8VCBleHRlbmRzIE9ic2VydmFibGU+KHRhcmdldDogVCwgY2FsbGJhY2s6IEVmZmVjdDxSZXF1aXJlZDxUPj4sIHJlcXVpcmVWYWx1ZXM6IHRydWUpOiAoKSA9PiB2b2lkO1xuZnVuY3Rpb24gY3JlYXRlRWZmZWN0PFQgZXh0ZW5kcyBPYnNlcnZhYmxlPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8VD4sIHJlY3Vyc2l2ZT86IGJvb2xlYW4pOiAoKSA9PiB2b2lkO1xuZnVuY3Rpb24gY3JlYXRlRWZmZWN0PFQgZXh0ZW5kcyBPYnNlcnZhYmxlPih0YXJnZXQ6IFQsIGNhbGxiYWNrOiBFZmZlY3Q8VD4sIGFyZ3VtZW50PzogYm9vbGVhbil7XG4gIGxldCB1bnNldDogKCh1cGRhdGU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgbGV0IHJlc2V0OiAoKCkgPT4gdm9pZCkgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGludm9rZSgpe1xuICAgIGxldCBzdGFsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIGZ1bmN0aW9uIG9uVXBkYXRlKCkge1xuICAgICAgaWYgKHN0YWxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgc3RhbGUgPSB0cnVlO1xuXG4gICAgICBpZiAocmVzZXQgJiYgdW5zZXQpIHtcbiAgICAgICAgdW5zZXQodHJ1ZSk7XG4gICAgICAgIHVuc2V0ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzZXQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc3Vic2NyaWJlciA9IHRhcmdldFtPYnNlcnZhYmxlXShvblVwZGF0ZSwgYXJndW1lbnQgPT09IHRydWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4aXQgPSBlbnRlcihhcmd1bWVudCA9PT0gZmFsc2UpO1xuICAgICAgY29uc3Qgb3V0cHV0ID0gY2FsbGJhY2suY2FsbChzdWJzY3JpYmVyLCBzdWJzY3JpYmVyKTtcbiAgICAgIGNvbnN0IGZsdXNoID0gZXhpdCgpO1xuXG4gICAgICByZXNldCA9IG91dHB1dCA9PT0gbnVsbCA/IG51bGwgOiBpbnZva2U7XG4gICAgICB1bnNldCA9IGtleSA9PiB7XG4gICAgICAgIGlmKHR5cGVvZiBvdXRwdXQgPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgIG91dHB1dChrZXkpO1xuXG4gICAgICAgIGZsdXNoKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICBpZihlcnIgaW5zdGFuY2VvZiBQcm9taXNlKXtcbiAgICAgICAgcmVzZXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGVyci50aGVuKGludm9rZSk7XG4gICAgICB9XG4gICAgICBlbHNlXG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhbnVwKCl7XG4gICAgaWYodW5zZXQpXG4gICAgICB1bnNldChmYWxzZSk7XG5cbiAgICByZXNldCA9IG51bGw7XG4gIH07XG5cbiAgaWYoRWZmZWN0Q29udGV4dCAmJiBhcmd1bWVudCAhPT0gZmFsc2UpXG4gICAgRWZmZWN0Q29udGV4dC5hZGQoY2xlYW51cCk7XG5cbiAgYWRkTGlzdGVuZXIodGFyZ2V0LCBrZXkgPT4ge1xuICAgIGlmKGtleSA9PT0gdHJ1ZSlcbiAgICAgIGludm9rZSgpO1xuXG4gICAgZWxzZSBpZighcmVzZXQpXG4gICAgICByZXR1cm4gcmVzZXQ7XG5cbiAgICBpZihrZXkgPT09IG51bGwgJiYgdW5zZXQpXG4gICAgICB1bnNldChudWxsKTtcbiAgfSk7XG4gIFxuICByZXR1cm4gY2xlYW51cDtcbn1cblxubGV0IEVmZmVjdENvbnRleHQ6IFNldDwoKSA9PiB2b2lkPiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGVudGVyKGlnbm9yZT86IGJvb2xlYW4pe1xuICBpZihpZ25vcmUpXG4gICAgcmV0dXJuICgpID0+ICgpID0+IHt9O1xuXG4gIGNvbnN0IGxhc3QgPSBFZmZlY3RDb250ZXh0O1xuICBjb25zdCBjb250ZXh0ID0gRWZmZWN0Q29udGV4dCA9IG5ldyBTZXQ7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBFZmZlY3RDb250ZXh0ID0gbGFzdDtcbiAgICByZXR1cm4gKCkgPT4gY29udGV4dC5mb3JFYWNoKGZuID0+IGZuKCkpO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIGFkZExpc3RlbmVyLFxuICBjcmVhdGVFZmZlY3QsXG4gIGV2ZW50LFxuICBPblVwZGF0ZSxcbiAgUEVORElOR19LRVlTLFxuICBPYnNlcnZhYmxlXG59Il0sCiAgIm1hcHBpbmdzIjogIkFBc0JBLE1BQU0sYUFBYSxPQUFPLFNBQVM7QUFHbkMsTUFBTSxVQUFVLE1BQU07QUFFdEIsTUFBTSxZQUFZLG9CQUFJLFFBQTJEO0FBR2pGLE1BQU0sVUFBVSxvQkFBSSxRQUFnQztBQUdwRCxNQUFNLGVBQWUsb0JBQUksUUFBbUQ7QUFHNUUsTUFBTSxXQUFXLG9CQUFJLElBQWdCO0FBRXJDLFNBQVMsWUFDUCxTQUFZLFVBQXVCLFFBQTRCO0FBRS9ELE1BQUksWUFBWSxVQUFVLElBQUksT0FBTztBQUVyQyxNQUFHLENBQUM7QUFDRixjQUFVLElBQUksU0FBUyxZQUFZLG9CQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsTUFBUyxDQUFDLENBQUMsQ0FBQztBQUVwRSxNQUFHLFdBQVcsVUFBYSxFQUFFLGtCQUFrQjtBQUM3QyxhQUFTLG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7QUFF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
|
package/dist/esm/index.js
CHANGED
|
@@ -4,20 +4,21 @@ import { set } from "./instruction/set";
|
|
|
4
4
|
import { use } from "./instruction/use";
|
|
5
5
|
import { has } from "./instruction/has";
|
|
6
6
|
import { Model, Model as Model2, METHOD } from "./model";
|
|
7
|
-
import { createEffect,
|
|
7
|
+
import { createEffect, addListener, event, Observable } from "./control";
|
|
8
8
|
import { Context } from "./context";
|
|
9
9
|
export {
|
|
10
10
|
Context,
|
|
11
11
|
METHOD,
|
|
12
12
|
Model,
|
|
13
|
+
Observable,
|
|
13
14
|
addListener,
|
|
14
15
|
createEffect,
|
|
15
|
-
createProxy,
|
|
16
16
|
Model2 as default,
|
|
17
|
+
event,
|
|
17
18
|
get,
|
|
18
19
|
has,
|
|
19
20
|
ref,
|
|
20
21
|
set,
|
|
21
22
|
use
|
|
22
23
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBnZXQgfSBmcm9tICcuL2luc3RydWN0aW9uL2dldCc7XG5leHBvcnQgeyByZWYgfSBmcm9tICcuL2luc3RydWN0aW9uL3JlZic7XG5leHBvcnQgeyBzZXQgfSBmcm9tICcuL2luc3RydWN0aW9uL3NldCc7XG5leHBvcnQgeyB1c2UgfSBmcm9tICcuL2luc3RydWN0aW9uL3VzZSc7XG5leHBvcnQgeyBoYXMgfSBmcm9tICcuL2luc3RydWN0aW9uL2hhcyc7XG5cbmV4cG9ydCB7IE1vZGVsLCBNb2RlbCBhcyBkZWZhdWx0LCBNRVRIT0QgfSBmcm9tICcuL21vZGVsJztcbmV4cG9ydCB7IGNyZWF0ZUVmZmVjdCwgYWRkTGlzdGVuZXIsIGV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAnLi9jb250cm9sJztcbmV4cG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsV0FBVztBQUNwQixTQUFTLFdBQVc7QUFDcEIsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsV0FBVztBQUNwQixTQUFTLFdBQVc7QUFFcEIsU0FBUyxPQUFnQixTQUFUQSxRQUFrQixjQUFjO0FBQ2hELFNBQVMsY0FBYyxhQUFhLE9BQU8sa0JBQWtCO0FBQzdELFNBQVMsZUFBZTsiLAogICJuYW1lcyI6IFsiTW9kZWwiXQp9Cg==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { enter } from "../control";
|
|
2
2
|
import { Context } from "../context";
|
|
3
3
|
import { Model, update } from "../model";
|
|
4
4
|
import { use } from "./use";
|
|
@@ -12,27 +12,31 @@ function has(arg1, arg2) {
|
|
|
12
12
|
if (Model.is(arg1))
|
|
13
13
|
Context.get(subject, (ctx) => {
|
|
14
14
|
ctx.has(arg1, (model) => {
|
|
15
|
-
const ctx2 = context();
|
|
16
15
|
let remove;
|
|
17
16
|
let disconnect;
|
|
17
|
+
let flush;
|
|
18
18
|
if (applied.has(model))
|
|
19
19
|
return;
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
const exit = enter();
|
|
21
|
+
try {
|
|
22
|
+
const notify = APPLY.get(model);
|
|
23
|
+
if (notify) {
|
|
24
|
+
const after = notify(subject);
|
|
25
|
+
if (after === false)
|
|
26
|
+
return;
|
|
27
|
+
if (typeof after == "function")
|
|
28
|
+
disconnect = after;
|
|
29
|
+
}
|
|
30
|
+
if (typeof arg2 == "function") {
|
|
31
|
+
const done2 = arg2(model, subject);
|
|
32
|
+
if (done2 === false)
|
|
33
|
+
return false;
|
|
34
|
+
if (typeof done2 == "function")
|
|
35
|
+
remove = done2;
|
|
36
|
+
}
|
|
37
|
+
} finally {
|
|
38
|
+
flush = exit();
|
|
27
39
|
}
|
|
28
|
-
if (typeof arg2 == "function") {
|
|
29
|
-
const done2 = arg2(model, subject);
|
|
30
|
-
if (done2 === false)
|
|
31
|
-
return false;
|
|
32
|
-
if (typeof done2 == "function")
|
|
33
|
-
remove = done2;
|
|
34
|
-
}
|
|
35
|
-
const flush = ctx2();
|
|
36
40
|
applied.add(model);
|
|
37
41
|
reset();
|
|
38
42
|
const done = () => {
|
|
@@ -46,7 +50,7 @@ function has(arg1, arg2) {
|
|
|
46
50
|
remove();
|
|
47
51
|
remove = void 0;
|
|
48
52
|
};
|
|
49
|
-
const ignore = model.set(
|
|
53
|
+
const ignore = model.set(done, null);
|
|
50
54
|
return done;
|
|
51
55
|
});
|
|
52
56
|
});
|
|
@@ -76,4 +80,4 @@ function has(arg1, arg2) {
|
|
|
76
80
|
export {
|
|
77
81
|
has
|
|
78
82
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RydWN0aW9uL2hhcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZW50ZXIgfSBmcm9tICcuLi9jb250cm9sJztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IE1vZGVsLCB1cGRhdGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyB1c2UgfSBmcm9tICcuL3VzZSc7XG5cbmNvbnN0IEFQUExZID0gbmV3IFdlYWtNYXA8TW9kZWwsIChtb2RlbDogTW9kZWwpID0+ICgoKSA9PiB2b2lkKSB8IGJvb2xlYW4gfCB2b2lkPigpO1xuXG5kZWNsYXJlIG5hbWVzcGFjZSBoYXMge1xuICB0eXBlIENhbGxiYWNrPFQgPSBhbnk+ID0gKG1vZGVsOiBULCByZWNpcGllbnQ6IE1vZGVsKSA9PiB2b2lkIHwgYm9vbGVhbiB8ICgoKSA9PiB2b2lkKTtcbn1cblxuZnVuY3Rpb24gaGFzIDxUIGV4dGVuZHMgTW9kZWw+ICh0eXBlOiBNb2RlbC5UeXBlPFQ+LCBjYWxsYmFjaz86IGhhcy5DYWxsYmFjazxUPik6IHJlYWRvbmx5IFRbXTtcbmZ1bmN0aW9uIGhhcyAoY2FsbGJhY2s/OiBoYXMuQ2FsbGJhY2spOiByZWFkb25seSBNb2RlbFtdO1xuICBcbmZ1bmN0aW9uIGhhcyA8VCBleHRlbmRzIE1vZGVsPiAoXG4gIGFyZzE/OiBNb2RlbC5UeXBlPFQ+IHwgaGFzLkNhbGxiYWNrPE1vZGVsPixcbiAgYXJnMj86IGhhcy5DYWxsYmFjazxUPil7XG5cbiAgcmV0dXJuIHVzZTxUW10+KChrZXksIHN1YmplY3QpID0+IHtcbiAgICBjb25zdCBhcHBsaWVkID0gbmV3IFNldDxNb2RlbD4oKTtcbiAgICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICAgIHVwZGF0ZShzdWJqZWN0LCBrZXksIE9iamVjdC5mcmVlemUoQXJyYXkuZnJvbShhcHBsaWVkKSkpO1xuICAgIH1cblxuICAgIGlmKE1vZGVsLmlzKGFyZzEpKVxuICAgICAgQ29udGV4dC5nZXQoc3ViamVjdCwgY3R4ID0+IHtcbiAgICAgICAgY3R4LmhhcyhhcmcxLCBtb2RlbCA9PiB7XG4gICAgICAgICAgbGV0IHJlbW92ZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGxldCBkaXNjb25uZWN0OiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgbGV0IGZsdXNoOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gIFxuICAgICAgICAgIGlmKGFwcGxpZWQuaGFzKG1vZGVsKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICBcbiAgICAgICAgICBjb25zdCBleGl0ID0gZW50ZXIoKTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZnkgPSBBUFBMWS5nZXQobW9kZWwpO1xuXG4gICAgICAgICAgICBpZihub3RpZnkpe1xuICAgICAgICAgICAgICBjb25zdCBhZnRlciA9IG5vdGlmeShzdWJqZWN0KTtcbiAgICBcbiAgICAgICAgICAgICAgaWYoYWZ0ZXIgPT09IGZhbHNlKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICBcbiAgICAgICAgICAgICAgaWYodHlwZW9mIGFmdGVyID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgICAgICBkaXNjb25uZWN0ID0gYWZ0ZXI7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBpZih0eXBlb2YgYXJnMiA9PSBcImZ1bmN0aW9uXCIpe1xuICAgICAgICAgICAgICBjb25zdCBkb25lID0gYXJnMihtb2RlbCwgc3ViamVjdCk7XG4gICAgXG4gICAgICAgICAgICAgIGlmKGRvbmUgPT09IGZhbHNlKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgICBpZih0eXBlb2YgZG9uZSA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICAgICAgcmVtb3ZlID0gZG9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBmbHVzaCA9IGV4aXQoKTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGFwcGxpZWQuYWRkKG1vZGVsKTtcbiAgICAgICAgICByZXNldCgpO1xuICBcbiAgICAgICAgICBjb25zdCBkb25lID0gKCkgPT4geyBcbiAgICAgICAgICAgIGZsdXNoKCk7XG4gICAgICAgICAgICBpZ25vcmUoKTtcbiAgXG4gICAgICAgICAgICBhcHBsaWVkLmRlbGV0ZShtb2RlbCk7XG4gICAgICAgICAgICByZXNldCgpO1xuICBcbiAgICAgICAgICAgIGlmKGRpc2Nvbm5lY3QpXG4gICAgICAgICAgICAgIGRpc2Nvbm5lY3QoKTtcbiAgXG4gICAgICAgICAgICBpZih0eXBlb2YgcmVtb3ZlID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgICAgcmVtb3ZlKCk7XG5cbiAgICAgICAgICAgIHJlbW92ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGNvbnN0IGlnbm9yZSA9IG1vZGVsLnNldChkb25lLCBudWxsKTtcbiAgICAgICAgICBcbiAgICAgICAgICByZXR1cm4gZG9uZTtcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIGVsc2Uge1xuICAgICAgaWYoQVBQTFkuaGFzKHN1YmplY3QpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCdoYXMnIGNhbGxiYWNrIGNhbiBvbmx5IGJlIHVzZWQgb25jZSBwZXIgbW9kZWwuYCk7XG5cbiAgICAgIEFQUExZLnNldChzdWJqZWN0LCByZWNpcGllbnQgPT4ge1xuICAgICAgICBsZXQgcmVtb3ZlOiAoKCkgPT4gdm9pZCkgfCBib29sZWFuIHwgdm9pZDtcblxuICAgICAgICBpZihhcmcxKXtcbiAgICAgICAgICByZW1vdmUgPSBhcmcxKHJlY2lwaWVudCwgc3ViamVjdCk7XG4gIFxuICAgICAgICAgIGlmKHJlbW92ZSA9PT0gZmFsc2UpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBhcHBsaWVkLmFkZChyZWNpcGllbnQpO1xuICAgICAgICByZXNldCgpO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgYXBwbGllZC5kZWxldGUocmVjaXBpZW50KTtcbiAgICAgICAgICByZXNldCgpO1xuXG4gICAgICAgICAgaWYodHlwZW9mIHJlbW92ZSA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsdWU6IFtdIH07XG4gIH0pXG59XG5cbmV4cG9ydCB7IGhhcyB9Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxhQUFhO0FBQ3RCLFNBQVMsZUFBZTtBQUN4QixTQUFTLE9BQU8sY0FBYztBQUM5QixTQUFTLFdBQVc7QUFFcEIsTUFBTSxRQUFRLG9CQUFJLFFBQWdFO0FBU2xGLFNBQVMsSUFDUCxNQUNBLE1BQXVCO0FBRXZCLFNBQU8sSUFBUyxDQUFDLEtBQUssWUFBWTtBQUNoQyxVQUFNLFVBQVUsb0JBQUksSUFBVztBQUMvQixVQUFNLFFBQVEsTUFBTTtBQUNsQixhQUFPLFNBQVMsS0FBSyxPQUFPLE9BQU8sTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0FBQUEsSUFDekQ7QUFFQSxRQUFHLE1BQU0sR0FBRyxJQUFJO0FBQ2QsY0FBUSxJQUFJLFNBQVMsU0FBTztBQUMxQixZQUFJLElBQUksTUFBTSxXQUFTO0FBQ3JCLGNBQUk7QUFDSixjQUFJO0FBQ0osY0FBSTtBQUVKLGNBQUcsUUFBUSxJQUFJLEtBQUs7QUFDbEI7QUFFRixnQkFBTSxPQUFPLE1BQU07QUFFbkIsY0FBSTtBQUNGLGtCQUFNLFNBQVMsTUFBTSxJQUFJLEtBQUs7QUFFOUIsZ0JBQUcsUUFBTztBQUNSLG9CQUFNLFFBQVEsT0FBTyxPQUFPO0FBRTVCLGtCQUFHLFVBQVU7QUFDWDtBQUVGLGtCQUFHLE9BQU8sU0FBUztBQUNqQiw2QkFBYTtBQUFBLFlBQ2pCO0FBRUEsZ0JBQUcsT0FBTyxRQUFRLFlBQVc7QUFDM0Isb0JBQU1BLFFBQU8sS0FBSyxPQUFPLE9BQU87QUFFaEMsa0JBQUdBLFVBQVM7QUFDVix1QkFBTztBQUVULGtCQUFHLE9BQU9BLFNBQVE7QUFDaEIseUJBQVNBO0FBQUEsWUFDYjtBQUFBLFVBQ0YsVUFDQTtBQUNFLG9CQUFRLEtBQUs7QUFBQSxVQUNmO0FBRUEsa0JBQVEsSUFBSSxLQUFLO0FBQ2pCLGdCQUFNO0FBRU4sZ0JBQU0sT0FBTyxNQUFNO0FBQ2pCLGtCQUFNO0FBQ04sbUJBQU87QUFFUCxvQkFBUSxPQUFPLEtBQUs7QUFDcEIsa0JBQU07QUFFTixnQkFBRztBQUNELHlCQUFXO0FBRWIsZ0JBQUcsT0FBTyxVQUFVO0FBQ2xCLHFCQUFPO0FBRVQscUJBQVM7QUFBQSxVQUNYO0FBRUEsZ0JBQU0sU0FBUyxNQUFNLElBQUksTUFBTSxJQUFJO0FBRW5DLGlCQUFPO0FBQUEsUUFDVCxDQUFDO0FBQUEsTUFDSCxDQUFDO0FBQUEsU0FDRTtBQUNILFVBQUcsTUFBTSxJQUFJLE9BQU87QUFDbEIsY0FBTSxJQUFJLE1BQU0saURBQWlEO0FBRW5FLFlBQU0sSUFBSSxTQUFTLGVBQWE7QUFDOUIsWUFBSTtBQUVKLFlBQUcsTUFBSztBQUNOLG1CQUFTLEtBQUssV0FBVyxPQUFPO0FBRWhDLGNBQUcsV0FBVztBQUNaLG1CQUFPO0FBQUEsUUFDWDtBQUVBLGdCQUFRLElBQUksU0FBUztBQUNyQixjQUFNO0FBRU4sZUFBTyxNQUFNO0FBQ1gsa0JBQVEsT0FBTyxTQUFTO0FBQ3hCLGdCQUFNO0FBRU4sY0FBRyxPQUFPLFVBQVU7QUFDbEIsbUJBQU87QUFBQSxRQUNYO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUVBLFdBQU8sRUFBRSxPQUFPLENBQUMsRUFBRTtBQUFBLEVBQ3JCLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFsiZG9uZSJdCn0K
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addListener,
|
|
1
|
+
import { addListener, enter } from "../control";
|
|
2
2
|
import { update } from "../model";
|
|
3
3
|
import { use } from "./use";
|
|
4
4
|
const { defineProperty, defineProperties } = Object;
|
|
@@ -42,9 +42,9 @@ function ref(arg, arg2) {
|
|
|
42
42
|
unset = void unset(value2);
|
|
43
43
|
if (value2 === null && arg2 !== false)
|
|
44
44
|
return;
|
|
45
|
-
const
|
|
45
|
+
const exit = enter();
|
|
46
46
|
const out = arg.call(subject, value2);
|
|
47
|
-
const flush =
|
|
47
|
+
const flush = exit();
|
|
48
48
|
unset = (key2) => {
|
|
49
49
|
if (typeof out == "function")
|
|
50
50
|
out(key2);
|
|
@@ -63,4 +63,4 @@ function ref(arg, arg2) {
|
|
|
63
63
|
export {
|
|
64
64
|
ref
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RydWN0aW9uL3JlZi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgYWRkTGlzdGVuZXIsIGVudGVyIH0gZnJvbSAnLi4vY29udHJvbCc7XG5pbXBvcnQgeyBNb2RlbCwgdXBkYXRlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgdXNlIH0gZnJvbSAnLi91c2UnO1xuXG5jb25zdCB7IGRlZmluZVByb3BlcnR5LCBkZWZpbmVQcm9wZXJ0aWVzIH0gPSBPYmplY3Q7XG5cbmRlY2xhcmUgbmFtZXNwYWNlIHJlZiB7XG4gIHR5cGUgQ2FsbGJhY2s8VD4gPSAoYXJndW1lbnQ6IFQpID0+XG4gICAgKChuZXh0OiBUIHwgbnVsbCkgPT4gdm9pZCkgfCBQcm9taXNlPHZvaWQ+IHwgdm9pZCB8IGJvb2xlYW47XG5cbiAgaW50ZXJmYWNlIE9iamVjdDxUID0gYW55PiB7XG4gICAgKG5leHQ6IFQgfCBudWxsKTogdm9pZDtcblxuICAgIC8qKiBDdXJyZW50IHZhbHVlIGhlbGQgYnkgdGhpcyByZWZlcmVuY2UuICovXG4gICAgY3VycmVudDogVCB8IG51bGw7XG5cbiAgICAvKiogXG4gICAgICogU3Vic2NyaWJlIHRvIGNoYW5nZXMgb2YgdGhpcyByZWZlcmVuY2UuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIC0gQ2FsbGJhY2sgdG8gaW52b2tlIHdpdGggdGhlIGN1cnJlbnQgdmFsdWUgd2hlbiBpdCBjaGFuZ2VzLlxuICAgICAqIEByZXR1cm5zIFVuc3Vic2NyaWJlIGZ1bmN0aW9uIHRvIHN0b3AgbGlzdGVuaW5nIHRvIGNoYW5nZXMuXG4gICAgICovXG4gICAgZ2V0KGNhbGxiYWNrOiAodmFsdWU6IFQpID0+IHZvaWQpOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFJldHJpZXZlIGN1cnJlbnQgdmFsdWUuICovXG4gICAgZ2V0KCk6IFQgfCBudWxsO1xuICB9XG5cbiAgLyoqIE9iamVjdCB3aXRoIHJlZmVyZW5jZXMgdG8gYWxsIG1hbmFnZWQgdmFsdWVzIG9mIGBUYC4gKi9cblxuICAvKiogT2JqZWN0IHdpdGggcmVmZXJlbmNlcyB0byBhbGwgbWFuYWdlZCB2YWx1ZXMgb2YgYFRgLiAqL1xuICB0eXBlIFByb3h5PFQgZXh0ZW5kcyBNb2RlbD4gPVxuICAgICYgeyBbUCBpbiBNb2RlbC5GaWVsZDxUPl0tPzogT2JqZWN0PFRbUF0+IH1cbiAgICAmIHsgZ2V0KCk6IFQgfTtcblxuICB0eXBlIEN1c3RvbVByb3h5PFQgZXh0ZW5kcyBNb2RlbCwgUj4gPVxuICAgICYgeyBbUCBpbiBNb2RlbC5GaWVsZDxUPl0tPzogUiB9XG4gICAgJiB7IGdldCgpOiBUIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYmplY3Qgd2l0aCByZWZlcmVuY2VzIHRvIGFsbCBtYW5hZ2VkIHZhbHVlcy5cbiAqIEVhY2ggcHJvcGVydHkgaXMgYSBmdW5jdGlvbiB0byBzZXQgdmFsdWUgaW4gc3RhdGUgd2hlbiBpbnZva2VkLlxuICpcbiAqICpQcm9wZXJ0aWVzIGFyZSBzaW11bHRhbmVvdXNseSBhIHJlZi1mdW5jdGlvbiBhbmQgcmVmLW9iamVjdCwgdXNlIGFzIG5lZWRlZC4qXG4gKlxuICogQHBhcmFtIHRhcmdldCAtIFNvdXJjZSBtb2RlbCBmcm9tIHdoaWNoIHRvIHJlZmVyZW5jZSB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIHJlZiA8VCBleHRlbmRzIE1vZGVsPiAodGFyZ2V0OiBUKTogcmVmLlByb3h5PFQ+O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdmFsdWVzIGJhc2VkIG9uIG1hbmFnZWQgdmFsdWVzLlxuICogRWFjaCBwcm9wZXJ0eSB3aWxsIGludm9rZSBtYXBwZXIgZnVuY3Rpb24gb24gZmlyc3QgYWNjZXNzIHN1cHBseVxuICogdGhlIGl0cyByZXR1cm4gdmFsdWUgZ29pbmcgZm9yd2FyZC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IC0gU291cmNlIG1vZGVsIGZyb20gd2hpY2ggdG8gcmVmZXJlbmNlIHZhbHVlcy5cbiAqIEBwYXJhbSBtYXBwZXIgLSBGdW5jdGlvbiBwcm9kdWNpbmcgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIGZvciBhbnkgZ2l2ZW4gcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIHJlZiA8TyBleHRlbmRzIE1vZGVsLCBSPlxuICAodGFyZ2V0OiBPLCBtYXBwZXI6IChrZXk6IE1vZGVsLkZpZWxkPE8+KSA9PiBSKTogcmVmLkN1c3RvbVByb3h5PE8sIFI+O1xuXG4vKipcbiAqIENyZWF0ZXMgYSByZWYtY29tcGF0aWJsZSBwcm9wZXJ0eS5cbiAqIFdpbGwgcGVyc2lzdCB2YWx1ZSwgYW5kIHVwZGF0ZXMgdG8gdGhpcyBhcmUgbWFkZSBwYXJ0IG9mIGNvbnRyb2xsZXIgZXZlbnQtc3RyZWFtLlxuICpcbiAqICpPdXRwdXQgaXMgc2ltdWx0YW5lb3VzbHkgYSByZWYtZnVuY3Rpb24gYW5kIHJlZi1vYmplY3QsIHVzZSBhcyBuZWVkZWQuKlxuICpcbiAqIEBwYXJhbSBjYWxsYmFjayAtIE9wdGlvbmFsIGNhbGxiYWNrIHRvIHN5bmNocm9ub3VzbHkgZmlyZSB3aGVuIHJlZmVyZW5jZSBpcyBmaXJzdCBzZXQgb3IgZG9lcyB1cGRhdGUuXG4gKi9cbmZ1bmN0aW9uIHJlZiA8VD4gKGNhbGxiYWNrPzogcmVmLkNhbGxiYWNrPFQ+KTogcmVmLk9iamVjdDxUPjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcmVmLWNvbXBhdGlibGUgcHJvcGVydHkuXG4gKiBXaWxsIHBlcnNpc3QgdmFsdWUsIGFuZCB1cGRhdGVzIHRvIHRoaXMgYXJlIG1hZGUgcGFydCBvZiBjb250cm9sbGVyIGV2ZW50LXN0cmVhbS5cbiAqXG4gKiAqT3V0cHV0IGlzIHNpbXVsdGFuZW91c2x5IGEgcmVmLWZ1bmN0aW9uIGFuZCByZWYtb2JqZWN0LCB1c2UgYXMgbmVlZGVkLipcbiAqXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBPcHRpb25hbCBjYWxsYmFjayB0byBzeW5jaHJvbm91c2x5IGZpcmUgd2hlbiByZWZlcmVuY2UgaXMgZmlyc3Qgc2V0IG9yIGRvZXMgdXBkYXRlLlxuICogQHBhcmFtIGlnbm9yZU51bGwgLSBEZWZhdWx0IGB0cnVlYC4gSWYgYGZhbHNlYCwgd2lsbCBzdGlsbCBjYWxsYmFjayB3aXRoIGBudWxsYC5cbiAqL1xuZnVuY3Rpb24gcmVmIDxUPiAoY2FsbGJhY2s6IHJlZi5DYWxsYmFjazxUIHwgbnVsbD4sIGlnbm9yZU51bGw6IGJvb2xlYW4pOiByZWYuT2JqZWN0PFQ+O1xuXG5mdW5jdGlvbiByZWY8VD4oXG4gIGFyZz86IHJlZi5DYWxsYmFjazxUPiB8IE1vZGVsLFxuICBhcmcyPzogKChrZXk6IHN0cmluZykgPT4gYW55KSB8IGJvb2xlYW4pe1xuXG4gIHJldHVybiB1c2U8VD4oKGtleSwgc3ViamVjdCwgc3RhdGUpID0+IHtcbiAgICBsZXQgdmFsdWUgPSB7fTtcbiAgICBjb25zdCBtZXRob2QgPSAoa2V5OiBzdHJpbmcpID0+XG4gICAgICAoY2FsbGJhY2s/OiAodmFsdWU6IFQpID0+IHZvaWQpID0+IGNhbGxiYWNrXG4gICAgICAgID8gYWRkTGlzdGVuZXIoc3ViamVjdCwgKCkgPT4gY2FsbGJhY2soc3RhdGVba2V5XSksIGtleSlcbiAgICAgICAgOiBzdGF0ZVtrZXldO1xuXG4gICAgaWYoYXJnID09PSBzdWJqZWN0KVxuICAgICAgc3ViamVjdC5nZXQoKCkgPT4ge1xuICAgICAgICBmb3IoY29uc3Qga2V5IGluIHN0YXRlKVxuICAgICAgICAgIGlmKHR5cGVvZiBhcmcyID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgIGRlZmluZVByb3BlcnR5KHZhbHVlLCBrZXksIHtcbiAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBnZXQoKXtcbiAgICAgICAgICAgICAgICBjb25zdCBvdXQgPSBhcmcyKGtleSk7XG4gICAgICAgICAgICAgICAgZGVmaW5lUHJvcGVydHkodmFsdWUsIGtleSwgeyB2YWx1ZTogb3V0IH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvdXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBnZXQgPSBtZXRob2Qoa2V5KTtcbiAgICAgICAgICAgIGNvbnN0IHNldCA9ICh2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICB1cGRhdGUoc3ViamVjdCwga2V5LCB2YWx1ZSlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGRlZmluZVByb3BlcnRpZXMoc2V0LCB7XG4gICAgICAgICAgICAgIGN1cnJlbnQ6IHsgZ2V0LCBzZXQgfSxcbiAgICAgICAgICAgICAgZ2V0OiB7IHZhbHVlOiBnZXQgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGRlZmluZVByb3BlcnR5KHZhbHVlLCBrZXksIHsgdmFsdWU6IHNldCB9KTtcbiAgICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgZWxzZSBpZih0eXBlb2YgYXJnID09IFwib2JqZWN0XCIpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZWYgaW5zdHJ1Y3Rpb24gZG9lcyBub3Qgc3VwcG9ydCBvYmplY3Qgd2hpY2ggaXMgbm90ICd0aGlzJ1wiKTtcblxuICAgIGVsc2Uge1xuICAgICAgbGV0IHVuc2V0OiAoKG5leHQ6IFQpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCBnZXQgPSBtZXRob2Qoa2V5KTtcbiAgICAgIGNvbnN0IHNldCA9ICh2YWx1ZT86IGFueSkgPT4ge1xuICAgICAgICBpZighdXBkYXRlKHN1YmplY3QsIGtleSwgdmFsdWUpIHx8ICFhcmcpXG4gICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGlmKHVuc2V0KVxuICAgICAgICAgIHVuc2V0ID0gdm9pZCB1bnNldCh2YWx1ZSk7XG4gICAgXG4gICAgICAgIGlmKHZhbHVlID09PSBudWxsICYmIGFyZzIgIT09IGZhbHNlKVxuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjb25zdCBleGl0ID0gZW50ZXIoKTtcbiAgICAgICAgY29uc3Qgb3V0ID0gYXJnLmNhbGwoc3ViamVjdCwgdmFsdWUpO1xuICAgICAgICBjb25zdCBmbHVzaCA9IGV4aXQoKTtcblxuICAgICAgICB1bnNldCA9IGtleSA9PiB7XG4gICAgICAgICAgaWYodHlwZW9mIG91dCA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICBvdXQoa2V5KTtcblxuICAgICAgICAgIGZsdXNoKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gIFxuICAgICAgc3RhdGVba2V5XSA9IG51bGw7XG4gICAgICB2YWx1ZSA9IGRlZmluZVByb3BlcnRpZXMoc2V0LCB7XG4gICAgICAgIGN1cnJlbnQ6IHsgZ2V0LCBzZXQgfSxcbiAgICAgICAgZ2V0OiB7IHZhbHVlOiBnZXQgfVxuICAgICAgfSkgYXMgcmVmLk9iamVjdDxUPjtcbiAgICB9XG5cbiAgICBkZWZpbmVQcm9wZXJ0eShzdWJqZWN0LCBrZXksIHsgdmFsdWUgfSk7XG4gIH0pXG59XG5cbmV4cG9ydCB7IHJlZiB9Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxhQUFhLGFBQWE7QUFDbkMsU0FBZ0IsY0FBYztBQUM5QixTQUFTLFdBQVc7QUFFcEIsTUFBTSxFQUFFLGdCQUFnQixpQkFBaUIsSUFBSTtBQThFN0MsU0FBUyxJQUNQLEtBQ0EsTUFBd0M7QUFFeEMsU0FBTyxJQUFPLENBQUMsS0FBSyxTQUFTLFVBQVU7QUFDckMsUUFBSSxRQUFRLENBQUM7QUFDYixVQUFNLFNBQVMsQ0FBQ0EsU0FDZCxDQUFDLGFBQWtDLFdBQy9CLFlBQVksU0FBUyxNQUFNLFNBQVMsTUFBTUEsSUFBRyxDQUFDLEdBQUdBLElBQUcsSUFDcEQsTUFBTUEsSUFBRztBQUVmLFFBQUcsUUFBUTtBQUNULGNBQVEsSUFBSSxNQUFNO0FBQ2hCLG1CQUFVQSxRQUFPO0FBQ2YsY0FBRyxPQUFPLFFBQVE7QUFDaEIsMkJBQWUsT0FBT0EsTUFBSztBQUFBLGNBQ3pCLGNBQWM7QUFBQSxjQUNkLE1BQUs7QUFDSCxzQkFBTSxNQUFNLEtBQUtBLElBQUc7QUFDcEIsK0JBQWUsT0FBT0EsTUFBSyxFQUFFLE9BQU8sSUFBSSxDQUFDO0FBQ3pDLHVCQUFPO0FBQUEsY0FDVDtBQUFBLFlBQ0YsQ0FBQztBQUFBLGVBQ0U7QUFDSCxrQkFBTSxNQUFNLE9BQU9BLElBQUc7QUFDdEIsa0JBQU0sTUFBTSxDQUFDQyxXQUFtQjtBQUM5QixxQkFBTyxTQUFTRCxNQUFLQyxNQUFLO0FBQUEsWUFDNUI7QUFFQSw2QkFBaUIsS0FBSztBQUFBLGNBQ3BCLFNBQVMsRUFBRSxLQUFLLElBQUk7QUFBQSxjQUNwQixLQUFLLEVBQUUsT0FBTyxJQUFJO0FBQUEsWUFDcEIsQ0FBQztBQUVELDJCQUFlLE9BQU9ELE1BQUssRUFBRSxPQUFPLElBQUksQ0FBQztBQUFBLFVBQzNDO0FBQUEsTUFDSixDQUFDO0FBQUEsYUFFSyxPQUFPLE9BQU87QUFDcEIsWUFBTSxJQUFJLE1BQU0sNkRBQTZEO0FBQUEsU0FFMUU7QUFDSCxVQUFJO0FBRUosWUFBTSxNQUFNLE9BQU8sR0FBRztBQUN0QixZQUFNLE1BQU0sQ0FBQ0MsV0FBZ0I7QUFDM0IsWUFBRyxDQUFDLE9BQU8sU0FBUyxLQUFLQSxNQUFLLEtBQUssQ0FBQztBQUNsQztBQUVGLFlBQUc7QUFDRCxrQkFBUSxLQUFLLE1BQU1BLE1BQUs7QUFFMUIsWUFBR0EsV0FBVSxRQUFRLFNBQVM7QUFDNUI7QUFFRixjQUFNLE9BQU8sTUFBTTtBQUNuQixjQUFNLE1BQU0sSUFBSSxLQUFLLFNBQVNBLE1BQUs7QUFDbkMsY0FBTSxRQUFRLEtBQUs7QUFFbkIsZ0JBQVEsQ0FBQUQsU0FBTztBQUNiLGNBQUcsT0FBTyxPQUFPO0FBQ2YsZ0JBQUlBLElBQUc7QUFFVCxnQkFBTTtBQUFBLFFBQ1I7QUFBQSxNQUNGO0FBRUEsWUFBTSxHQUFHLElBQUk7QUFDYixjQUFRLGlCQUFpQixLQUFLO0FBQUEsUUFDNUIsU0FBUyxFQUFFLEtBQUssSUFBSTtBQUFBLFFBQ3BCLEtBQUssRUFBRSxPQUFPLElBQUk7QUFBQSxNQUNwQixDQUFDO0FBQUEsSUFDSDtBQUVBLG1CQUFlLFNBQVMsS0FBSyxFQUFFLE1BQU0sQ0FBQztBQUFBLEVBQ3hDLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFsia2V5IiwgInZhbHVlIl0KfQo=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addListener,
|
|
1
|
+
import { addListener, enter } from "../control";
|
|
2
2
|
import { event, update } from "../model";
|
|
3
3
|
import { use } from "./use";
|
|
4
4
|
function set(value, argument) {
|
|
@@ -14,18 +14,16 @@ function set(value, argument) {
|
|
|
14
14
|
throw err;
|
|
15
15
|
}
|
|
16
16
|
property.get = argument !== false;
|
|
17
|
+
const set2 = (value2) => subject[key] = value2;
|
|
17
18
|
if (value instanceof Promise)
|
|
18
|
-
value.then(
|
|
19
|
-
(
|
|
20
|
-
(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
);
|
|
19
|
+
value.then(set2, (error) => {
|
|
20
|
+
event(subject, key);
|
|
21
|
+
property.get = () => {
|
|
22
|
+
throw error;
|
|
23
|
+
};
|
|
24
|
+
});
|
|
27
25
|
else
|
|
28
|
-
|
|
26
|
+
set2(value);
|
|
29
27
|
if (argument)
|
|
30
28
|
return null;
|
|
31
29
|
return subject[key];
|
|
@@ -40,16 +38,16 @@ function set(value, argument) {
|
|
|
40
38
|
if (typeof argument == "function") {
|
|
41
39
|
let unset;
|
|
42
40
|
property.set = function(value2, previous) {
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const flush =
|
|
46
|
-
if (
|
|
47
|
-
return
|
|
41
|
+
const exit = enter();
|
|
42
|
+
const returns = argument.call(this, value2, previous);
|
|
43
|
+
const flush = exit();
|
|
44
|
+
if (returns === false)
|
|
45
|
+
return false;
|
|
48
46
|
if (typeof unset == "function")
|
|
49
47
|
unset(value2);
|
|
50
48
|
unset = (next) => {
|
|
51
|
-
if (typeof
|
|
52
|
-
|
|
49
|
+
if (typeof returns == "function")
|
|
50
|
+
returns(next);
|
|
53
51
|
flush();
|
|
54
52
|
};
|
|
55
53
|
};
|
|
@@ -81,4 +79,4 @@ function attempt(fn) {
|
|
|
81
79
|
export {
|
|
82
80
|
set
|
|
83
81
|
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RydWN0aW9uL3NldC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgYWRkTGlzdGVuZXIsIGVudGVyIH0gZnJvbSAnLi4vY29udHJvbCc7XG5pbXBvcnQgeyBNb2RlbCwgZXZlbnQsIHVwZGF0ZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IHVzZSB9IGZyb20gJy4vdXNlJztcblxuZGVjbGFyZSBuYW1lc3BhY2Ugc2V0IHtcbiAgdHlwZSBDYWxsYmFjazxULCBTID0gYW55PiA9ICh0aGlzOiBTLCBuZXh0OiBULCBwcmV2aW91czogVCkgPT5cbiAgICAoKG5leHQ6IFQpID0+IHZvaWQpIHwgUHJvbWlzZTxhbnk+IHwgdm9pZCB8IGJvb2xlYW47XG5cbiAgdHlwZSBGYWN0b3J5PFQsIFMgPSBhbnk+ID0gKHRoaXM6IFMsIGtleTogc3RyaW5nKSA9PiBQcm9taXNlPFQ+IHwgVDtcbn1cblxuLyoqXG4gKiBTZXQgcHJvcGVydHkgYXMgYHVuZGVmaW5lZGAgYnV0IHJlcXVpcmVkLlxuICogXG4gKiBQcm9wZXJ0eSBjYW5ub3QgYmUgYWNjZXNzZWQgdW50aWwgaXQgaXMgZGVmaW5lZC4gSWYgYWNjZXNzZWQgd2hpbGUgdW5kZWZpbmVkLCBhIGh5YnJpZFxuICogYFByb21pc2VgL2BFcnJvcmAgKGFrYTogW1N1c3BlbnNlXShodHRwczovL3JlYWN0anMub3JnL2RvY3MvY29uY3VycmVudC1tb2RlLXN1c3BlbnNlLmh0bWwpKSB3aWxsIGJlIHRocm93bi5cbiAqL1xuZnVuY3Rpb24gc2V0IDxUID0gYW55PigpOiBUO1xuXG4vKipcbiAqIFNldCBwcm9wZXJ0eSB3aXRoIGEgZmFjdG9yeSBmdW5jdGlvbi5cbiAqIFxuICogKipOb3RlKiogRmFjdG9yeSBpcyBsYXp5ISBJdCB3aWxsIG9ubHkgcnVuIGlmL3doZW4gcHJvcGVydHkgaXMgYWNjZXNzZWQuXG4gKiBWYWx1ZSB3aWxsIGJlIHVuZGVmaW5lZCB1bnRpbCBmYWN0b3J5IHJlc29sdmVzLCB3aGljaCB3aWxsIGFsc28gZGlzcGF0Y2ggYW4gdXBkYXRlIGZvciB0aGUgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIHNldCA8VD4gKGZhY3Rvcnk6IHNldC5GYWN0b3J5PFQ+IHwgUHJvbWlzZTxUPiwgcmVxdWlyZWQ6IGZhbHNlKTogVCB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBTZXQgcHJvcGVydHkgd2l0aCBhIGZhY3RvcnkgZnVuY3Rpb24uXG4gKlxuICogSWYgYXN5bmMsIHByb3BlcnR5IGNhbm5vdCBiZSBhY2Nlc3NlZCB1bnRpbCByZXNvbHZlcywgeWVpbGRpbmcgYSByZXN1bHQuXG4gKiBJZiBhY2Nlc3NlZCB3aGlsZSBzdGlsbCBwcm9jZXNzaW5nLCBSZWFjdCBTdXNwZW5zZSB3aWxsIGJlIHRocm93bi5cbiAqXG4gKiBAcGFyYW0gZmFjdG9yeSAtIENhbGxiYWNrIHJ1biB0byBkZXJyaXZlIHByb3BlcnR5IHZhbHVlLlxuICogQHBhcmFtIHJlcXVpcmVkIC0gSWYgdHJ1ZSBydW4gZmFjdG9yeSBpbW1lZGlhdGVseSBvbiBjcmVhdGlvbiwgb3RoZXJ3aXNlIG9uIGFjY2Vzcy5cbiAqL1xuZnVuY3Rpb24gc2V0IDxUPiAoZmFjdG9yeTogc2V0LkZhY3Rvcnk8VD4gfCBQcm9taXNlPFQ+LCByZXF1aXJlZD86IGJvb2xlYW4pOiBUO1xuXG4vKipcbiAqIFNldCBwcm9wZXJ0eSB3aXRoIGEgZmFjdG9yeSBmdW5jdGlvbi5cbiAqXG4gKiBJZiBhc3luYywgcHJvcGVydHkgY2Fubm90IGJlIGFjY2Vzc2VkIHVudGlsIHJlc29sdmVzLCB5ZWlsZGluZyBhIHJlc3VsdC5cbiAqIElmIGFjY2Vzc2VkIHdoaWxlIHN0aWxsIHByb2Nlc3NpbmcsIFJlYWN0IFN1c3BlbnNlIHdpbGwgYmUgdGhyb3duLlxuICpcbiAqIEBwYXJhbSBmYWN0b3J5IC0gQ2FsbGJhY2sgcnVuIHRvIGRlcnJpdmUgcHJvcGVydHkgdmFsdWUuXG4gKiBAcGFyYW0gb25VcGRhdGUgLSBDYWxsYmFjayBydW4gd2hlbiBwcm9wZXJ0eSBpcyBmaW5pc2hlZCBjb21wdXRpbmcgb3IgaXMgc2V0LiBcbiAqL1xuZnVuY3Rpb24gc2V0IDxUPiAoZmFjdG9yeTogc2V0LkZhY3Rvcnk8VD4gfCBQcm9taXNlPFQ+LCBvblVwZGF0ZT86IHNldC5DYWxsYmFjazxUPik6IFQ7XG5cbi8qKlxuICogU2V0IGEgcHJvcGVydHkgd2l0aCBlbXB0eSBwbGFjZWhvbGRlciBhbmQvb3IgdXBkYXRlIGNhbGxiYWNrLlxuICogXG4gKiBAcGFyYW0gdmFsdWUgLSBTdGFydGluZyB2YWx1ZSBmb3IgcHJvcGVydHkuIElmIHVuZGVmaW5lZCwgc3VzcGVuc2Ugd2lsbCBiZSB0aHJvd24gb24gYWNjZXNzLCB1bnRpbCB2YWx1ZSBpcyBzZXQgYW5kIGFjY2VwdGVkIGJ5IGNhbGxiYWNrLlxuICogQHBhcmFtIG9uVXBkYXRlIC0gQ2FsbGJhY2sgcnVuIHdoZW4gcHJvcGVydHkgaXMgc2V0LiBJZiByZXR1cm5zIGZhbHNlLCB1cGRhdGUgaXMgbm90IGFjY2VwdGVkIGFuZCBwcm9wZXJ0eSB3aWxsIGtlZXAgcHJldmlvdXMgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIHNldCA8VD4gKHZhbHVlOiBUIHwgdW5kZWZpbmVkLCBvblVwZGF0ZT86IHNldC5DYWxsYmFjazxUPik6IFQ7XG5cbmZ1bmN0aW9uIHNldCA8VD4gKFxuICB2YWx1ZT86IHNldC5GYWN0b3J5PFQ+IHwgUHJvbWlzZTxUPiB8IFQsXG4gIGFyZ3VtZW50Pzogc2V0LkNhbGxiYWNrPGFueT4gfCBib29sZWFuKXtcblxuICByZXR1cm4gdXNlPFQ+KChrZXksIHN1YmplY3QpID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0eTogTW9kZWwuRGVzY3JpcHRvciA9IHsgZW51bWVyYWJsZTogZmFsc2UgfTtcblxuICAgIGlmKHR5cGVvZiB2YWx1ZSA9PSBcImZ1bmN0aW9uXCIgfHwgdmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlKXtcbiAgICAgIGZ1bmN0aW9uIGluaXQoKXtcbiAgICAgICAgaWYodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsdWUgPSBhdHRlbXB0KHZhbHVlLmJpbmQoc3ViamVjdCwga2V5KSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhdGNoKGVycil7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYEdlbmVyYXRpbmcgaW5pdGlhbCB2YWx1ZSBmb3IgJHtzdWJqZWN0fS4ke2tleX0gZmFpbGVkLmApO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cblxuICAgICAgICBwcm9wZXJ0eS5nZXQgPSBhcmd1bWVudCAhPT0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc2V0ID0gKHZhbHVlOiBhbnkpID0+IHN1YmplY3Rba2V5XSA9IHZhbHVlO1xuXG4gICAgICAgIGlmKHZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICB2YWx1ZS50aGVuKHNldCwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgZXZlbnQoc3ViamVjdCwga2V5KTtcbiAgICAgICAgICAgIHByb3BlcnR5LmdldCA9ICgpID0+IHsgdGhyb3cgZXJyb3IgfTtcbiAgICAgICAgICB9KVxuICAgICAgICBlbHNlXG4gICAgICAgICAgc2V0KHZhbHVlKTtcblxuICAgICAgICBpZihhcmd1bWVudClcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiBzdWJqZWN0W2tleV07XG4gICAgICB9XG5cbiAgICAgIGlmKGFyZ3VtZW50KVxuICAgICAgICBhZGRMaXN0ZW5lcihzdWJqZWN0LCBpbml0LCB0cnVlKTtcbiAgICAgIGVsc2VcbiAgICAgICAgcHJvcGVydHkuZ2V0ID0gaW5pdDtcbiAgICB9XG4gICAgZWxzZSBpZih2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgcHJvcGVydHkudmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmKHR5cGVvZiBhcmd1bWVudCA9PSBcImZ1bmN0aW9uXCIpe1xuICAgICAgbGV0IHVuc2V0OiAoKG5leHQ6IFQpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG4gICAgICBwcm9wZXJ0eS5zZXQgPSBmdW5jdGlvbih0aGlzOiBhbnksIHZhbHVlOiBhbnksIHByZXZpb3VzOiBhbnkpe1xuICAgICAgICBjb25zdCBleGl0ID0gZW50ZXIoKTtcbiAgICAgICAgY29uc3QgcmV0dXJucyA9IGFyZ3VtZW50LmNhbGwodGhpcywgdmFsdWUsIHByZXZpb3VzKTtcbiAgICAgICAgY29uc3QgZmx1c2ggPSBleGl0KCk7XG5cbiAgICAgICAgaWYocmV0dXJucyA9PT0gZmFsc2UpXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGlmKHR5cGVvZiB1bnNldCA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgdW5zZXQodmFsdWUpO1xuXG4gICAgICAgIHVuc2V0ID0gKG5leHQ6IFQpID0+IHtcbiAgICAgICAgICBpZih0eXBlb2YgcmV0dXJucyA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICByZXR1cm5zKG5leHQpO1xuXG4gICAgICAgICAgZmx1c2goKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlXG4gICAgICBwcm9wZXJ0eS5zZXQgPSB2YWx1ZSA9PiB7XG4gICAgICAgIHByb3BlcnR5LmdldCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdXBkYXRlKHN1YmplY3QsIGtleSwgdmFsdWUpO1xuICAgICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KVxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KGZuOiAoKSA9PiBhbnkpOiBhbnkge1xuICBmdW5jdGlvbiByZXRyeShlcnI6IHVua25vd24pe1xuICAgIGlmKGVyciBpbnN0YW5jZW9mIFByb21pc2UpXG4gICAgICByZXR1cm4gZXJyLnRoZW4oY29tcHV0ZSk7XG4gICAgZWxzZVxuICAgICAgdGhyb3cgZXJyO1xuICB9XG5cbiAgZnVuY3Rpb24gY29tcHV0ZSgpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvdXRwdXQgPSBmbigpO1xuXG4gICAgICByZXR1cm4gb3V0cHV0IGluc3RhbmNlb2YgUHJvbWlzZVxuICAgICAgICA/IG91dHB1dC5jYXRjaChyZXRyeSlcbiAgICAgICAgOiBvdXRwdXQ7XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICByZXR1cm4gcmV0cnkoZXJyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29tcHV0ZSgpO1xufVxuXG5leHBvcnQgeyBzZXQgfSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsYUFBYSxhQUFhO0FBQ25DLFNBQWdCLE9BQU8sY0FBYztBQUNyQyxTQUFTLFdBQVc7QUF1RHBCLFNBQVMsSUFDUCxPQUNBLFVBQXVDO0FBRXZDLFNBQU8sSUFBTyxDQUFDLEtBQUssWUFBWTtBQUM5QixVQUFNLFdBQTZCLEVBQUUsWUFBWSxNQUFNO0FBRXZELFFBQUcsT0FBTyxTQUFTLGNBQWMsaUJBQWlCLFNBQVE7QUFDeEQsVUFBU0EsUUFBVCxXQUFlO0FBQ2IsWUFBRyxPQUFPLFNBQVM7QUFDakIsY0FBSTtBQUNGLG9CQUFRLFFBQVEsTUFBTSxLQUFLLFNBQVMsR0FBRyxDQUFDO0FBQUEsVUFDMUMsU0FDTSxLQUFJO0FBQ1Isb0JBQVEsS0FBSyxnQ0FBZ0MsT0FBTyxJQUFJLEdBQUcsVUFBVTtBQUNyRSxrQkFBTTtBQUFBLFVBQ1I7QUFFRixpQkFBUyxNQUFNLGFBQWE7QUFFNUIsY0FBTUMsT0FBTSxDQUFDQyxXQUFlLFFBQVEsR0FBRyxJQUFJQTtBQUUzQyxZQUFHLGlCQUFpQjtBQUNsQixnQkFBTSxLQUFLRCxNQUFLLFdBQVM7QUFDdkIsa0JBQU0sU0FBUyxHQUFHO0FBQ2xCLHFCQUFTLE1BQU0sTUFBTTtBQUFFLG9CQUFNO0FBQUEsWUFBTTtBQUFBLFVBQ3JDLENBQUM7QUFBQTtBQUVELFVBQUFBLEtBQUksS0FBSztBQUVYLFlBQUc7QUFDRCxpQkFBTztBQUVULGVBQU8sUUFBUSxHQUFHO0FBQUEsTUFDcEI7QUExQlMsaUJBQUFEO0FBNEJULFVBQUc7QUFDRCxvQkFBWSxTQUFTQSxPQUFNLElBQUk7QUFBQTtBQUUvQixpQkFBUyxNQUFNQTtBQUFBLElBQ25CLFdBQ1EsVUFBVTtBQUNoQixlQUFTLFFBQVE7QUFFbkIsUUFBRyxPQUFPLFlBQVksWUFBVztBQUMvQixVQUFJO0FBRUosZUFBUyxNQUFNLFNBQW9CRSxRQUFZLFVBQWM7QUFDM0QsY0FBTSxPQUFPLE1BQU07QUFDbkIsY0FBTSxVQUFVLFNBQVMsS0FBSyxNQUFNQSxRQUFPLFFBQVE7QUFDbkQsY0FBTSxRQUFRLEtBQUs7QUFFbkIsWUFBRyxZQUFZO0FBQ2IsaUJBQU87QUFFVCxZQUFHLE9BQU8sU0FBUztBQUNqQixnQkFBTUEsTUFBSztBQUViLGdCQUFRLENBQUMsU0FBWTtBQUNuQixjQUFHLE9BQU8sV0FBVztBQUNuQixvQkFBUSxJQUFJO0FBRWQsZ0JBQU07QUFBQSxRQUNSO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFFRSxlQUFTLE1BQU0sQ0FBQUEsV0FBUztBQUN0QixpQkFBUyxNQUFNO0FBQ2YsZUFBTyxTQUFTLEtBQUtBLE1BQUs7QUFBQSxNQUM1QjtBQUVGLFdBQU87QUFBQSxFQUNULENBQUM7QUFDSDtBQUVBLFNBQVMsUUFBUSxJQUFvQjtBQUNuQyxXQUFTLE1BQU0sS0FBYTtBQUMxQixRQUFHLGVBQWU7QUFDaEIsYUFBTyxJQUFJLEtBQUssT0FBTztBQUFBO0FBRXZCLFlBQU07QUFBQSxFQUNWO0FBRUEsV0FBUyxVQUFlO0FBQ3RCLFFBQUk7QUFDRixZQUFNLFNBQVMsR0FBRztBQUVsQixhQUFPLGtCQUFrQixVQUNyQixPQUFPLE1BQU0sS0FBSyxJQUNsQjtBQUFBLElBQ04sU0FDTSxLQUFJO0FBQ1IsYUFBTyxNQUFNLEdBQUc7QUFBQSxJQUNsQjtBQUFBLEVBQ0Y7QUFFQSxTQUFPLFFBQVE7QUFDakI7IiwKICAibmFtZXMiOiBbImluaXQiLCAic2V0IiwgInZhbHVlIl0KfQo=
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { watch } from "../
|
|
2
|
-
import { fetch, Model, PARENT, STATE, uid, update } from "../model";
|
|
1
|
+
import { fetch, Model, PARENT, STATE, uid, update, watch } from "../model";
|
|
3
2
|
const INSTRUCTION = /* @__PURE__ */ new Map();
|
|
4
3
|
function use(arg1, arg2) {
|
|
5
|
-
const token = Symbol("instruction-" + uid());
|
|
6
4
|
if (Model.is(arg1))
|
|
7
|
-
arg1 =
|
|
5
|
+
arg1 = childInstruction(arg1, arg2);
|
|
6
|
+
const token = Symbol("instruction-" + uid());
|
|
8
7
|
INSTRUCTION.set(token, arg1);
|
|
9
8
|
return token;
|
|
10
9
|
}
|
|
11
|
-
function
|
|
10
|
+
function childInstruction(type, arg2) {
|
|
12
11
|
return (key, subject) => {
|
|
13
12
|
function set(next) {
|
|
14
13
|
if (next ? !(next instanceof type) : arg2 !== false)
|
|
@@ -63,4 +62,4 @@ Model.on(init);
|
|
|
63
62
|
export {
|
|
64
63
|
use
|
|
65
64
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RydWN0aW9uL3VzZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZmV0Y2gsIE1vZGVsLCBQQVJFTlQsIFNUQVRFLCB1aWQsIHVwZGF0ZSwgd2F0Y2ggfSBmcm9tICcuLi9tb2RlbCc7XG5cbmNvbnN0IElOU1RSVUNUSU9OID0gbmV3IE1hcDxzeW1ib2wsIE1vZGVsLkluc3RydWN0aW9uPigpO1xuXG5mdW5jdGlvbiB1c2UgPFQ+IChpbnN0cnVjdGlvbjogTW9kZWwuSW5zdHJ1Y3Rpb248VD4pOiBUIGV4dGVuZHMgdm9pZCA/IHVua25vd24gOiBUO1xuXG5mdW5jdGlvbiB1c2UgPFQgZXh0ZW5kcyBNb2RlbD4gKFR5cGU6IE1vZGVsLkluaXQ8VD4sIHJlcXVpcmVkOiBmYWxzZSk6IFQgfCB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIHVzZSA8VCBleHRlbmRzIE1vZGVsPiAoVHlwZTogTW9kZWwuSW5pdDxUPiwgcmVhZHk/OiAoaTogVCkgPT4gdm9pZCk6IFQ7XG5cbmZ1bmN0aW9uIHVzZShcbiAgYXJnMTogTW9kZWwuSW5pdCB8IE1vZGVsLkluc3RydWN0aW9uLFxuICBhcmcyPzogKChpOiBNb2RlbCkgPT4gdm9pZCkgfCBib29sZWFuKXtcblxuICBpZihNb2RlbC5pcyhhcmcxKSlcbiAgICBhcmcxID0gY2hpbGRJbnN0cnVjdGlvbihhcmcxLCBhcmcyKTtcblxuICBjb25zdCB0b2tlbiA9IFN5bWJvbChcImluc3RydWN0aW9uLVwiICsgdWlkKCkpO1xuICBJTlNUUlVDVElPTi5zZXQodG9rZW4sIGFyZzEpO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmZ1bmN0aW9uIGNoaWxkSW5zdHJ1Y3Rpb24oXG4gIHR5cGU6IE1vZGVsLkluaXQ8TW9kZWw+LFxuICBhcmcyPzogKChpOiBNb2RlbCkgPT4gdm9pZCkgfCBib29sZWFuXG4pOiBNb2RlbC5JbnN0cnVjdGlvbjxhbnksIGFueT4ge1xuICByZXR1cm4gKGtleSwgc3ViamVjdCkgPT4ge1xuICAgIGZ1bmN0aW9uIHNldChuZXh0OiBNb2RlbCB8IHVuZGVmaW5lZCl7XG4gICAgICBpZihuZXh0ID8gIShuZXh0IGluc3RhbmNlb2YgdHlwZSkgOiBhcmcyICE9PSBmYWxzZSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3N1YmplY3R9LiR7a2V5fSBleHBlY3RlZCBNb2RlbCBvZiB0eXBlICR7dHlwZX0gYnV0IGdvdCAke25leHQgJiYgbmV4dC5jb25zdHJ1Y3Rvcn0uYCk7XG5cbiAgICAgIHVwZGF0ZShzdWJqZWN0LCBrZXksIG5leHQpO1xuXG4gICAgICBpZihuZXh0ICYmIHR5cGVvZiBhcmcyID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgYXJnMihuZXh0KTtcblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV3IHR5cGUoKTtcblxuICAgIHNldCh2YWx1ZSk7XG4gICAgUEFSRU5ULnNldCh2YWx1ZSwgc3ViamVjdCk7XG4gICAgdmFsdWUuc2V0KCk7XG5cbiAgICByZXR1cm4geyBzZXQgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0KHRoaXM6IE1vZGVsKXtcbiAgY29uc3Qgc3RhdGUgPSBTVEFURS5nZXQodGhpcykhO1xuXG4gIGZvcihjb25zdCBrZXkgaW4gdGhpcyl7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0aGlzLCBrZXkpITtcbiAgICBjb25zdCBpbnN0cnVjdGlvbiA9IElOU1RSVUNUSU9OLmdldCh2YWx1ZSk7XG5cbiAgICBpZighaW5zdHJ1Y3Rpb24pXG4gICAgICBjb250aW51ZTtcblxuICAgIElOU1RSVUNUSU9OLmRlbGV0ZSh2YWx1ZSk7XG4gICAgZGVsZXRlICh0aGlzIGFzIGFueSlba2V5XTtcblxuICAgIGNvbnN0IG91dHB1dCA9IGluc3RydWN0aW9uLmNhbGwodGhpcywga2V5LCB0aGlzLCBzdGF0ZSk7XG5cbiAgICBpZighb3V0cHV0KVxuICAgICAgY29udGludWU7XG5cbiAgICBjb25zdCBkZXNjID0gdHlwZW9mIG91dHB1dCA9PSBcIm9iamVjdFwiID8gb3V0cHV0IDogeyBnZXQ6IG91dHB1dCB9O1xuXG4gICAgaWYoXCJ2YWx1ZVwiIGluIGRlc2MpXG4gICAgICBzdGF0ZVtrZXldID0gZGVzYy52YWx1ZTtcblxuICAgIGNvbnN0IG1vZGVsID0gdGhpcztcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2RlbCwga2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiBkZXNjLmVudW1lcmFibGUgIT09IGZhbHNlLFxuICAgICAgZ2V0KHRoaXM6IE1vZGVsKXtcbiAgICAgICAgcmV0dXJuIHdhdGNoKHRoaXMsIGtleSwgXG4gICAgICAgICAgdHlwZW9mIGRlc2MuZ2V0ID09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgPyBkZXNjLmdldCh0aGlzKVxuICAgICAgICAgICAgOiBmZXRjaChtb2RlbCwga2V5LCBkZXNjLmdldClcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzZXQobmV4dCl7XG4gICAgICAgIGlmKGRlc2Muc2V0ID09PSBmYWxzZSlcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bW9kZWx9LiR7a2V5fSBpcyByZWFkLW9ubHkuYCk7XG5cbiAgICAgICAgdXBkYXRlKG1vZGVsLCBrZXksIG5leHQsIGRlc2Muc2V0KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbk1vZGVsLm9uKGluaXQpO1xuXG5leHBvcnQgeyB1c2UgfSJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsT0FBTyxPQUFPLFFBQVEsT0FBTyxLQUFLLFFBQVEsYUFBYTtBQUVoRSxNQUFNLGNBQWMsb0JBQUksSUFBK0I7QUFRdkQsU0FBUyxJQUNQLE1BQ0EsTUFBc0M7QUFFdEMsTUFBRyxNQUFNLEdBQUcsSUFBSTtBQUNkLFdBQU8saUJBQWlCLE1BQU0sSUFBSTtBQUVwQyxRQUFNLFFBQVEsT0FBTyxpQkFBaUIsSUFBSSxDQUFDO0FBQzNDLGNBQVksSUFBSSxPQUFPLElBQUk7QUFDM0IsU0FBTztBQUNUO0FBRUEsU0FBUyxpQkFDUCxNQUNBLE1BQzZCO0FBQzdCLFNBQU8sQ0FBQyxLQUFLLFlBQVk7QUFDdkIsYUFBUyxJQUFJLE1BQXdCO0FBQ25DLFVBQUcsT0FBTyxFQUFFLGdCQUFnQixRQUFRLFNBQVM7QUFDM0MsY0FBTSxJQUFJLE1BQU0sR0FBRyxPQUFPLElBQUksR0FBRywyQkFBMkIsSUFBSSxZQUFZLFFBQVEsS0FBSyxXQUFXLEdBQUc7QUFFekcsYUFBTyxTQUFTLEtBQUssSUFBSTtBQUV6QixVQUFHLFFBQVEsT0FBTyxRQUFRO0FBQ3hCLGFBQUssSUFBSTtBQUVYLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxRQUFRLElBQUksS0FBSztBQUV2QixRQUFJLEtBQUs7QUFDVCxXQUFPLElBQUksT0FBTyxPQUFPO0FBQ3pCLFVBQU0sSUFBSTtBQUVWLFdBQU8sRUFBRSxJQUFJO0FBQUEsRUFDZjtBQUNGO0FBRUEsU0FBUyxPQUFpQjtBQUN4QixRQUFNLFFBQVEsTUFBTSxJQUFJLElBQUk7QUFFNUIsYUFBVSxPQUFPLE1BQUs7QUFDcEIsVUFBTSxFQUFFLE1BQU0sSUFBSSxPQUFPLHlCQUF5QixNQUFNLEdBQUc7QUFDM0QsVUFBTSxjQUFjLFlBQVksSUFBSSxLQUFLO0FBRXpDLFFBQUcsQ0FBQztBQUNGO0FBRUYsZ0JBQVksT0FBTyxLQUFLO0FBQ3hCLFdBQVEsS0FBYSxHQUFHO0FBRXhCLFVBQU0sU0FBUyxZQUFZLEtBQUssTUFBTSxLQUFLLE1BQU0sS0FBSztBQUV0RCxRQUFHLENBQUM7QUFDRjtBQUVGLFVBQU0sT0FBTyxPQUFPLFVBQVUsV0FBVyxTQUFTLEVBQUUsS0FBSyxPQUFPO0FBRWhFLFFBQUcsV0FBVztBQUNaLFlBQU0sR0FBRyxJQUFJLEtBQUs7QUFFcEIsVUFBTSxRQUFRO0FBRWQsV0FBTyxlQUFlLE9BQU8sS0FBSztBQUFBLE1BQ2hDLFlBQVksS0FBSyxlQUFlO0FBQUEsTUFDaEMsTUFBZ0I7QUFDZCxlQUFPO0FBQUEsVUFBTTtBQUFBLFVBQU07QUFBQSxVQUNqQixPQUFPLEtBQUssT0FBTyxhQUNmLEtBQUssSUFBSSxJQUFJLElBQ2IsTUFBTSxPQUFPLEtBQUssS0FBSyxHQUFHO0FBQUEsUUFDaEM7QUFBQSxNQUNGO0FBQUEsTUFDQSxJQUFJLE1BQUs7QUFDUCxZQUFHLEtBQUssUUFBUTtBQUNkLGdCQUFNLElBQUksTUFBTSxHQUFHLEtBQUssSUFBSSxHQUFHLGdCQUFnQjtBQUVqRCxlQUFPLE9BQU8sS0FBSyxNQUFNLEtBQUssR0FBRztBQUFBLE1BQ25DO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUVBLFNBQU87QUFDVDtBQUVBLE1BQU0sR0FBRyxJQUFJOyIsCiAgIm5hbWVzIjogW10KfQo=
|