informa 2.0.0 → 2.1.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/high.d.ts +4 -4
- package/dist/high.d.ts.map +1 -1
- package/dist/high.js +10 -0
- package/dist/high.js.map +1 -1
- package/dist/quirks/map.d.ts +2 -2
- package/dist/quirks/map.d.ts.map +1 -1
- package/dist/quirks/map.js +6 -6
- package/dist/quirks/map.js.map +1 -1
- package/package.json +1 -1
- package/src/high.ts +27 -11
package/dist/high.d.ts
CHANGED
|
@@ -34,10 +34,9 @@ interface MapListeners<K, V> {
|
|
|
34
34
|
deleteEntry?(k: K, v: V): void;
|
|
35
35
|
sizeChanged?(): void;
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
] | [() => T, Listeners<T>, Options | undefined] | [() => Statify<Record<K, V>>, ObjectListeners<K, V>] | [() => Statify<Record<K, V>>, ObjectListeners<K, V>, Options | undefined] | [() => Statify<U[]>, ArrayListeners<U>] | [() => Statify<U[]>, ArrayListeners<U>, Options | undefined] | [() => Statify<Set<U>>, SetListeners<U>] | [() => Statify<Set<U>>, SetListeners<U>, Options | undefined] | [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>] | [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>, Options | undefined]): () => void;
|
|
37
|
+
type OnOffParams<T, K extends string | number | symbol, V, U, K1, V1> = [() => T, Listeners<T>] | [() => T, Listeners<T>, Options | undefined] | [() => Statify<Record<K, V>>, ObjectListeners<K, V>] | [() => Statify<Record<K, V>>, ObjectListeners<K, V>, Options | undefined] | [() => Statify<U[]>, ArrayListeners<U>] | [() => Statify<U[]>, ArrayListeners<U>, Options | undefined] | [() => Statify<Set<U>>, SetListeners<U>] | [() => Statify<Set<U>>, SetListeners<U>, Options | undefined] | [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>] | [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>, Options | undefined];
|
|
38
|
+
export declare function on<T, K extends string | number | symbol, V, U, K1, V1>(...[selector, listeners, options]: OnOffParams<T, K, V, U, K1, V1>): () => void;
|
|
39
|
+
export declare function off<T, K extends string | number | symbol, V, U, K1, V1>(...[selector, listeners, options]: OnOffParams<T, K, V, U, K1, V1>): void;
|
|
41
40
|
declare function onSet<T>(s: () => T, l: (v: T) => void, o?: Options): () => void;
|
|
42
41
|
declare function onReplace<T>(s: () => T, l: (v: T) => void, o?: Options): () => void;
|
|
43
42
|
declare function onReplaceProp<T extends Record<string | number | symbol, StatifiableProp>>(s: () => Statify<T>, l: (k: keyof T, v: T[keyof T]) => void, o?: Options): () => void;
|
|
@@ -56,6 +55,7 @@ declare function onDeleteEntry<K, V extends StatifiableObj>(s: () => Statify<Map
|
|
|
56
55
|
declare function onSizeChanged(s: () => Statify<Map<any, StatifiableObj>>, l: () => void, o?: Options): () => void;
|
|
57
56
|
declare const _default: {
|
|
58
57
|
on: typeof on;
|
|
58
|
+
off: typeof off;
|
|
59
59
|
onSet: typeof onSet;
|
|
60
60
|
onReplace: typeof onReplace;
|
|
61
61
|
onReplaceProp: typeof onReplaceProp;
|
package/dist/high.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"high.d.ts","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAA8C,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACjI,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAiB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAiD/E;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAEzE;AAED,UAAU,OAAO;CAChB;AAED,UAAU,SAAS,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACzC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,IAAI,IAAI,CAAC;CACxB;AAED,UAAU,YAAY,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,IAAI,IAAI,CAAC;CACtB;AAED,UAAU,YAAY,CAAC,CAAC,EAAE,CAAC;IACzB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,IAAI,IAAI,CAAC;CACtB;AAED,
|
|
1
|
+
{"version":3,"file":"high.d.ts","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":"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"}
|
package/dist/high.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.stateInner = stateInner;
|
|
4
4
|
exports.state = state;
|
|
5
5
|
exports.on = on;
|
|
6
|
+
exports.off = off;
|
|
6
7
|
const internals_js_1 = require("./internals.js");
|
|
7
8
|
const low_js_1 = require("./low.js");
|
|
8
9
|
const array_js_1 = require("./quirks/array.js");
|
|
@@ -62,6 +63,14 @@ function on(...[selector, listeners, options]) {
|
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
}
|
|
66
|
+
function off(...[selector, listeners, options]) {
|
|
67
|
+
const { path, stateRoot } = (0, low_js_1.selectorToRootAndPath)(selector);
|
|
68
|
+
const metadata = (0, internals_js_1.getMetadataOf)(stateRoot);
|
|
69
|
+
const eventEmitter = metadata.eventEmitterAtPath(path);
|
|
70
|
+
for (const [key, value] of Object.entries(listeners)) {
|
|
71
|
+
eventEmitter.off(key, value);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
65
74
|
function onSet(s, l, o) {
|
|
66
75
|
// TODO Handle `once` option
|
|
67
76
|
return on(s, { set: l }, o);
|
|
@@ -113,6 +122,7 @@ function onSizeChanged(s, l, o) {
|
|
|
113
122
|
}
|
|
114
123
|
exports.default = {
|
|
115
124
|
on,
|
|
125
|
+
off,
|
|
116
126
|
onSet,
|
|
117
127
|
onReplace,
|
|
118
128
|
onReplaceProp,
|
package/dist/high.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":"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"}
|
package/dist/quirks/map.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { exitProxySymbol, Statify, statifySealKey } from "../internals";
|
|
2
|
-
import { ExitProxyValue } from "../low";
|
|
1
|
+
import { exitProxySymbol, Statify, statifySealKey } from "../internals.js";
|
|
2
|
+
import { ExitProxyValue } from "../low.js";
|
|
3
3
|
export declare class StatifiedMap<K, V> extends Map<K, V> implements Statify<Map<K, V>> {
|
|
4
4
|
#private;
|
|
5
5
|
[statifySealKey]: true;
|
package/dist/quirks/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAiC,MAAM,WAAW,CAAC;AAE1E,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IAC7E,CAAC,cAAc,CAAC,EAAE,IAAI,CAAQ;IAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,cAAc,CAKtC;IAID,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAIzC;IAED,KAAK,IAAI,IAAI,CASZ;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAStB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAc1B;CACF"}
|
package/dist/quirks/map.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StatifiedMap = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const internals_js_1 = require("../internals.js");
|
|
5
|
+
const low_js_1 = require("../low.js");
|
|
6
6
|
class StatifiedMap extends Map {
|
|
7
|
-
[
|
|
8
|
-
get [
|
|
9
|
-
if (
|
|
7
|
+
[internals_js_1.statifySealKey] = true;
|
|
8
|
+
get [internals_js_1.exitProxySymbol]() {
|
|
9
|
+
if (internals_js_1.globalStateMode === "extract-proxy-path") {
|
|
10
10
|
return { path: [], stateRoot: this };
|
|
11
11
|
}
|
|
12
12
|
throw new Error("exitProxySymbol is not available in normal mode");
|
|
@@ -14,7 +14,7 @@ class StatifiedMap extends Map {
|
|
|
14
14
|
#metadata;
|
|
15
15
|
constructor(args) {
|
|
16
16
|
super(args);
|
|
17
|
-
this.#metadata = (0,
|
|
17
|
+
this.#metadata = (0, internals_js_1.setMetadataOf)(this, new low_js_1.StateMetadata());
|
|
18
18
|
}
|
|
19
19
|
clear() {
|
|
20
20
|
const entries = [...this.entries()];
|
package/dist/quirks/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":";;;AAAA,kDAA2G;AAC3G,sCAA0E;AAE1E,kBAAgC,SAAQ,GAAS;IAC/C,CAAC,6BAAc,CAAC,GAAS,IAAI,CAAC;IAC9B,IAAI,CAAC,8BAAe,CAAC;QACnB,IAAI,8BAAe,KAAK,oBAAoB,EAAE,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAA+B,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,CAAgB;IAEzB,YAAY,IAA8B;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,IAAA,4BAAa,EAAC,IAAI,EAAE,IAAI,sBAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/high.ts
CHANGED
|
@@ -94,18 +94,19 @@ interface MapListeners<K, V> {
|
|
|
94
94
|
sizeChanged?(): void;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
type OnOffParams<T, K extends string | number | symbol, V, U, K1, V1> = [() => T, Listeners<T>]
|
|
98
|
+
| [() => T, Listeners<T>, Options | undefined]
|
|
99
|
+
| [() => Statify<Record<K, V>>, ObjectListeners<K, V>]
|
|
100
|
+
| [() => Statify<Record<K, V>>, ObjectListeners<K, V>, Options | undefined]
|
|
101
|
+
| [() => Statify<U[]>, ArrayListeners<U>]
|
|
102
|
+
| [() => Statify<U[]>, ArrayListeners<U>, Options | undefined]
|
|
103
|
+
| [() => Statify<Set<U>>, SetListeners<U>]
|
|
104
|
+
| [() => Statify<Set<U>>, SetListeners<U>, Options | undefined]
|
|
105
|
+
| [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>]
|
|
106
|
+
| [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>, Options | undefined];
|
|
107
|
+
|
|
97
108
|
export function on<T, K extends string | number | symbol, V, U, K1, V1>(
|
|
98
|
-
...[selector, listeners, options]:
|
|
99
|
-
[() => T, Listeners<T>]
|
|
100
|
-
| [() => T, Listeners<T>, Options | undefined]
|
|
101
|
-
| [() => Statify<Record<K, V>>, ObjectListeners<K, V>]
|
|
102
|
-
| [() => Statify<Record<K, V>>, ObjectListeners<K, V>, Options | undefined]
|
|
103
|
-
| [() => Statify<U[]>, ArrayListeners<U>]
|
|
104
|
-
| [() => Statify<U[]>, ArrayListeners<U>, Options | undefined]
|
|
105
|
-
| [() => Statify<Set<U>>, SetListeners<U>]
|
|
106
|
-
| [() => Statify<Set<U>>, SetListeners<U>, Options | undefined]
|
|
107
|
-
| [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>]
|
|
108
|
-
| [() => Statify<Map<K1, V1>>, MapListeners<K1, V1>, Options | undefined]
|
|
109
|
+
...[selector, listeners, options]: OnOffParams<T, K, V, U, K1, V1>
|
|
109
110
|
): () => void {
|
|
110
111
|
const { path, stateRoot } = selectorToRootAndPath(selector as () => Statify<StatifiableObj>);
|
|
111
112
|
|
|
@@ -124,6 +125,20 @@ export function on<T, K extends string | number | symbol, V, U, K1, V1>(
|
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
export function off<T, K extends string | number | symbol, V, U, K1, V1>(
|
|
129
|
+
...[selector, listeners, options]: OnOffParams<T, K, V, U, K1, V1>
|
|
130
|
+
): void {
|
|
131
|
+
const { path, stateRoot } = selectorToRootAndPath(selector as () => Statify<StatifiableObj>);
|
|
132
|
+
|
|
133
|
+
const metadata = getMetadataOf(stateRoot);
|
|
134
|
+
|
|
135
|
+
const eventEmitter = metadata.eventEmitterAtPath(path);
|
|
136
|
+
|
|
137
|
+
for (const [key, value] of Object.entries(listeners)) {
|
|
138
|
+
eventEmitter.off(key, value);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
127
142
|
function onSet<T>(s: () => T, l: (v: T) => void, o?: Options) {
|
|
128
143
|
// TODO Handle `once` option
|
|
129
144
|
return on(s, { set: l }, o);
|
|
@@ -177,6 +192,7 @@ function onSizeChanged(s: () => Statify<Map<any, StatifiableObj>>, l: () => void
|
|
|
177
192
|
|
|
178
193
|
export default {
|
|
179
194
|
on,
|
|
195
|
+
off,
|
|
180
196
|
onSet,
|
|
181
197
|
onReplace,
|
|
182
198
|
onReplaceProp,
|