informa 5.0.9 → 5.0.11

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.
@@ -0,0 +1,34 @@
1
+ export interface ListenerMetadata {
2
+ path: (string | symbol)[];
3
+ stateRoot?: unknown;
4
+ [key: string]: unknown;
5
+ }
6
+ type Listener = (...args: any[]) => void;
7
+ export declare class EventEmitter<Events extends Record<string | symbol, any[]> = Record<string | symbol, any[]>> {
8
+ #private;
9
+ on<E extends (keyof Events & (string | symbol)) | (string | symbol)>(event: E, fn: E extends keyof Events ? (...args: Events[E]) => void : Listener, metadata?: ListenerMetadata): this;
10
+ addListener<E extends (keyof Events & (string | symbol)) | (string | symbol)>(event: E, fn: E extends keyof Events ? (...args: Events[E]) => void : Listener, metadata?: ListenerMetadata): this;
11
+ once<E extends (keyof Events & (string | symbol)) | (string | symbol)>(event: E, fn: E extends keyof Events ? (...args: Events[E]) => void : Listener, metadata?: ListenerMetadata): this;
12
+ off<E extends (keyof Events & (string | symbol)) | (string | symbol)>(event: E, fn: E extends keyof Events ? (...args: Events[E]) => void : Listener, metadata?: ListenerMetadata): this;
13
+ removeListener<E extends (keyof Events & (string | symbol)) | (string | symbol)>(event: E, fn: E extends keyof Events ? (...args: Events[E]) => void : Listener, metadata?: ListenerMetadata): this;
14
+ removeAllListeners(event?: string | symbol): this;
15
+ /**
16
+ * Emit an event unscoped.
17
+ * Listeners fire once regardless of metadata.
18
+ */
19
+ emit(event: string | symbol, ...args: any[]): boolean;
20
+ /**
21
+ * Emit an event scoped to a specific path. Each listener fires once per
22
+ * metadata entry whose path matches `emitPath`. Listeners with no metadata
23
+ * are always invoked once.
24
+ */
25
+ emitAt(emitPath: (string | symbol)[], event: string | symbol, ...args: any[]): boolean;
26
+ listeners(event: string | symbol): Listener[];
27
+ listenerCount(event: string | symbol): number;
28
+ rawListeners(event: string | symbol): {
29
+ fn: Listener;
30
+ metadatae: ListenerMetadata[];
31
+ }[];
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=EventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventEmitter = void 0;
4
+ function pathsEqual(a, b) {
5
+ if (a === b)
6
+ return true;
7
+ if (!a || !b)
8
+ return false;
9
+ if (a.length !== b.length)
10
+ return false;
11
+ for (let i = 0; i < a.length; i++) {
12
+ if (a[i] !== b[i])
13
+ return false;
14
+ }
15
+ return true;
16
+ }
17
+ function metadataMatches(a, b) {
18
+ if (!a || !b)
19
+ return true;
20
+ if (a.stateRoot !== undefined && b.stateRoot !== undefined && a.stateRoot !== b.stateRoot) {
21
+ return false;
22
+ }
23
+ return pathsEqual(a.path, b.path);
24
+ }
25
+ class EventEmitter {
26
+ #listeners = new Map();
27
+ #getEntries(event) {
28
+ let entries = this.#listeners.get(event);
29
+ if (!entries) {
30
+ entries = [];
31
+ this.#listeners.set(event, entries);
32
+ }
33
+ return entries;
34
+ }
35
+ on(event, fn, metadata) {
36
+ const entries = this.#getEntries(event);
37
+ const existing = entries.find(e => e.fn === fn);
38
+ if (existing) {
39
+ if (metadata)
40
+ existing.metadatae.push({ meta: metadata, once: false });
41
+ }
42
+ else {
43
+ entries.push({ fn, metadatae: metadata ? [{ meta: metadata, once: false }] : [], rawOnce: false });
44
+ }
45
+ return this;
46
+ }
47
+ addListener(event, fn, metadata) {
48
+ return this.on(event, fn, metadata);
49
+ }
50
+ once(event, fn, metadata) {
51
+ const entries = this.#getEntries(event);
52
+ const existing = entries.find(e => e.fn === fn);
53
+ if (existing) {
54
+ if (metadata)
55
+ existing.metadatae.push({ meta: metadata, once: true });
56
+ else
57
+ existing.rawOnce = true;
58
+ }
59
+ else {
60
+ entries.push({ fn, metadatae: metadata ? [{ meta: metadata, once: true }] : [], rawOnce: !metadata });
61
+ }
62
+ return this;
63
+ }
64
+ off(event, fn, metadata) {
65
+ const entries = this.#listeners.get(event);
66
+ if (!entries)
67
+ return this;
68
+ if (!metadata) {
69
+ // Remove all registrations for this listener
70
+ const idx = entries.findIndex(e => e.fn === fn);
71
+ if (idx !== -1)
72
+ entries.splice(idx, 1);
73
+ return this;
74
+ }
75
+ const entry = entries.find(e => e.fn === fn);
76
+ if (!entry)
77
+ return this;
78
+ const metaIdx = entry.metadatae.findIndex(m => metadataMatches(m.meta, metadata));
79
+ if (metaIdx !== -1) {
80
+ entry.metadatae.splice(metaIdx, 1);
81
+ }
82
+ if (entry.metadatae.length === 0 && !entry.rawOnce) {
83
+ const idx = entries.indexOf(entry);
84
+ entries.splice(idx, 1);
85
+ }
86
+ return this;
87
+ }
88
+ removeListener(event, fn, metadata) {
89
+ return this.off(event, fn, metadata);
90
+ }
91
+ removeAllListeners(event) {
92
+ if (event !== undefined) {
93
+ this.#listeners.delete(event);
94
+ }
95
+ else {
96
+ this.#listeners.clear();
97
+ }
98
+ return this;
99
+ }
100
+ /**
101
+ * Emit an event unscoped.
102
+ * Listeners fire once regardless of metadata.
103
+ */
104
+ emit(event, ...args) {
105
+ const entries = this.#listeners.get(event);
106
+ if (!entries || entries.length === 0)
107
+ return false;
108
+ let fired = false;
109
+ const toRemove = [];
110
+ for (const entry of [...entries]) {
111
+ entry.fn(...args);
112
+ fired = true;
113
+ if (entry.rawOnce)
114
+ toRemove.push(entry);
115
+ }
116
+ for (const entry of toRemove) {
117
+ const idx = entries.indexOf(entry);
118
+ if (idx !== -1)
119
+ entries.splice(idx, 1);
120
+ }
121
+ return fired;
122
+ }
123
+ /**
124
+ * Emit an event scoped to a specific path. Each listener fires once per
125
+ * metadata entry whose path matches `emitPath`. Listeners with no metadata
126
+ * are always invoked once.
127
+ */
128
+ emitAt(emitPath, event, ...args) {
129
+ const entries = this.#listeners.get(event);
130
+ if (!entries || entries.length === 0)
131
+ return false;
132
+ let fired = false;
133
+ for (const entry of [...entries]) {
134
+ if (entry.metadatae.length > 0) {
135
+ // Fire once per matching metadata; consume one-shot entries.
136
+ const consumed = [];
137
+ for (const slot of [...entry.metadatae]) {
138
+ if (pathsEqual(slot.meta.path, emitPath)) {
139
+ entry.fn(...args);
140
+ fired = true;
141
+ if (slot.once)
142
+ consumed.push(slot);
143
+ }
144
+ }
145
+ for (const slot of consumed) {
146
+ const i = entry.metadatae.indexOf(slot);
147
+ if (i !== -1)
148
+ entry.metadatae.splice(i, 1);
149
+ }
150
+ // Remove the whole entry if exhausted
151
+ if (entry.metadatae.length === 0 && !entry.rawOnce) {
152
+ const idx = entries.indexOf(entry);
153
+ if (idx !== -1)
154
+ entries.splice(idx, 1);
155
+ }
156
+ }
157
+ else {
158
+ // No metadata: fire unconditionally (internal infra)
159
+ entry.fn(...args);
160
+ fired = true;
161
+ if (entry.rawOnce) {
162
+ const idx = entries.indexOf(entry);
163
+ if (idx !== -1)
164
+ entries.splice(idx, 1);
165
+ }
166
+ }
167
+ }
168
+ return fired;
169
+ }
170
+ listeners(event) {
171
+ return (this.#listeners.get(event) ?? []).map(e => e.fn);
172
+ }
173
+ listenerCount(event) {
174
+ return this.#listeners.get(event)?.length ?? 0;
175
+ }
176
+ rawListeners(event) {
177
+ return (this.#listeners.get(event) ?? []).map(e => ({
178
+ fn: e.fn,
179
+ metadatae: e.metadatae.map(s => s.meta),
180
+ }));
181
+ }
182
+ }
183
+ exports.EventEmitter = EventEmitter;
184
+ //# sourceMappingURL=EventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":"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"}
package/dist/high.js CHANGED
@@ -55,11 +55,11 @@ function on(...[selector, listeners, options]) {
55
55
  const metadata = (0, internals_js_1.getMetadataOf)(stateRoot);
56
56
  const eventEmitter = metadata.eventEmitterAtPath(path);
57
57
  for (const [key, value] of Object.entries(listeners)) {
58
- eventEmitter.on(key, value);
58
+ eventEmitter.on(key, value, { path, stateRoot });
59
59
  }
60
60
  return () => {
61
61
  for (const [key, value] of Object.entries(listeners)) {
62
- eventEmitter.off(key, value);
62
+ eventEmitter.off(key, value, { path, stateRoot });
63
63
  }
64
64
  };
65
65
  }
@@ -68,7 +68,7 @@ function off(...[selector, listeners, options]) {
68
68
  const metadata = (0, internals_js_1.getMetadataOf)(stateRoot);
69
69
  const eventEmitter = metadata.eventEmitterAtPath(path);
70
70
  for (const [key, value] of Object.entries(listeners)) {
71
- eventEmitter.off(key, value);
71
+ eventEmitter.off(key, value, { path, stateRoot });
72
72
  }
73
73
  }
74
74
  function onSet(s, l, o) {
package/dist/high.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyF;AACzF,qCAAiI;AACjI,gDAAmD;AACnD,gEAA6E;AAC7E,4CAA+C;AAC/C,4CAA+C;AAE/C,oBAAsD,QAAW;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,QAAwB,CAAC;IAClC,CAAC;IAED,IAAI,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAiB,CAAC;IAEpF,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,QAAQ,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAA+B,CAAC;gBAC5C,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAElE,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAAoC,CAAC;gBACjD,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtF,KAAK,KAAK,CAAC,SAAS;gBAClB,MAAM,KAAK,GAAG,QAA4B,CAAC;gBAC3C,OAAO,yBAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAEpD,KAAK,yBAAc,CAAC,SAAS,CAAC;YAC9B,KAAK,qBAAY,CAAC,SAAS,CAAC;YAC5B,KAAK,qBAAY,CAAC,SAAS;gBACzB,OAAO,QAE+B,CAAC;YAEzC,KAAK,MAAM,CAAC,SAAS;gBACnB,MAAM,MAAM,GAAG,QAAmD,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;qBACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,CAAC,IAAI,IAAA,aAAI,EAAC,IAAA,4BAAa,EAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE/F,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,yBAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC;IAEL,4BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtC,OAAO,QAAwB,CAAC;AAClC,CAAC;AAED,eAAgD,QAAW;IACzD,OAAO,UAAU,CAAI,QAAQ,CAAC,CAAC;AACjC,CAAC;AAiDD,YACE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAkC;IAElE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,8BAAqB,EAAC,QAAyC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,aACE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAkC;IAElE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,8BAAqB,EAAC,QAAyC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC1D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AACD,SAAS,SAAS,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC9D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,aAAa,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC1J,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,SAAS,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACtJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,YAAY,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACzJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,SAAS,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACtJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,eAAe,CAAC,CAAkC,EAAE,CAAa,EAAE,CAAW;IACrF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,iBAAiB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACnH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,kBAAkB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACpH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,gBAAgB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IAClH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,aAAa,CAAC,CAAqC,EAAE,CAAa,EAAE,CAAW;IACtF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,SAAS,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACnG,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,YAAY,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACtG,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,UAAU,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IAChH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,UAAU,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IAChH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,cAAc,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACpH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,aAAa,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACnH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,aAAa,CAAC,CAA0C,EAAE,CAAa,EAAE,CAAW;IAC3F,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC3D,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,UAAU,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC/D,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,UAAU,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACvJ,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,cAAc,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC3J,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,aAAa,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC1J,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,UAAU,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACvJ,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,gBAAgB,CAAC,CAAkC,EAAE,CAAa,EAAE,CAAW;IACtF,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,kBAAkB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACpH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,mBAAmB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACrH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AACD,SAAS,iBAAiB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACnH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,cAAc,CAAC,CAAqC,EAAE,CAAa,EAAE,CAAW;IACvF,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,UAAU,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACpG,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,aAAa,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACvG,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,WAAW,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACjH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AACD,SAAS,WAAW,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACjH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AACD,SAAS,eAAe,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACrH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,cAAc,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACpH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,cAAc,CAAC,CAA0C,EAAE,CAAa,EAAE,CAAW;IAC5F,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;kBAEc;IACb,EAAE;IACF,GAAG;IACH,KAAK;IACL,SAAS;IACT,SAAS;IACT,aAAa;IACb,YAAY;IACZ,SAAS;IACT,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,YAAY;IACZ,UAAU;IACV,UAAU;IACV,cAAc;IACd,aAAa;IACb,aAAa;IACb,MAAM;IACN,UAAU;IACV,UAAU;IACV,cAAc;IACd,aAAa;IACb,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,eAAe;IACf,cAAc;IACd,cAAc;IACd,KAAK;IAEL,aAAa,EAAb,gCAAa;IACb,iBAAiB,EAAjB,oCAAiB;IACjB,cAAc,EAAd,yBAAc;IACd,YAAY,EAAZ,qBAAY;IACZ,YAAY,EAAZ,qBAAY;CACb"}
1
+ {"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":"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"}
package/dist/low.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { exitProxySymbol, type Statify } from "./internals.js";
2
- import { EventEmitter } from "node:events";
2
+ import { EventEmitter } from "./EventEmitter.js";
3
3
  import { StatifiedSet } from "./quirks/set.js";
4
4
  import { EnumerableWeakMap } from "./EnumerableWeakMap.js";
5
5
  import { StatifiedMap } from "./quirks/map.js";
@@ -36,7 +36,7 @@ export declare class StateMetadata extends EventEmitter<ProxyEventEmitterEvents>
36
36
  parents: EnumerableWeakMap<StateMetadata, Set<string | symbol>>;
37
37
  eventEmitterAtPath(path: (string | symbol)[]): StateMetadata;
38
38
  eventEmitterAtPathMaybe(path: (string | symbol)[]): StateMetadata | undefined;
39
- emit<E extends string | symbol>(eventName: string | E, ...args: E extends string ? ProxyEventEmitterEvents[E] : E extends keyof EventEmitter.EventEmitterEventMap ? EventEmitter.EventEmitterEventMap[E] : any[]): boolean;
39
+ emit<E extends string | symbol>(eventName: string | E, ...args: E extends string ? ProxyEventEmitterEvents[E] : any[]): boolean;
40
40
  }
41
41
  export interface ExitProxyValue {
42
42
  path: (string | symbol)[];
@@ -52,7 +52,7 @@ export type StatifiableObj = {
52
52
  export type Statified<T extends StatifiableProp> = T extends object ? T extends Set<infer U> ? StatifiedSet<Statified<U>> : T extends Map<infer K, infer V> ? StatifiedMap<K, Statified<V>> : Statify<{
53
53
  [K in keyof T]: Statified<T[K]>;
54
54
  }> : T;
55
- export declare function emitCollectionTransition(old: unknown, next: unknown): void;
55
+ export declare function emitCollectionTransition(oldVal: unknown, nextVal: unknown, emitter?: StateMetadata | null, prop?: string | symbol): void;
56
56
  export declare function statifyObject<T extends {
57
57
  [k: string | symbol]: Statified<StatifiableProp>;
58
58
  }>(target: T): Statified<T>;
package/dist/low.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"low.d.ts","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"low.d.ts","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":"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"}
package/dist/low.js CHANGED
@@ -9,7 +9,7 @@ exports.hook = hook;
9
9
  exports.unhook = unhook;
10
10
  exports.emitDescendantPathEvents = emitDescendantPathEvents;
11
11
  const internals_js_1 = require("./internals.js");
12
- const node_events_1 = require("node:events");
12
+ const EventEmitter_js_1 = require("./EventEmitter.js");
13
13
  const utils_js_1 = require("./utils.js");
14
14
  const EnumerableWeakMap_js_1 = require("./EnumerableWeakMap.js");
15
15
  const basestatified_js_1 = require("./quirks/basestatified.js");
@@ -31,7 +31,7 @@ class Tree {
31
31
  return this.children.get(key);
32
32
  }
33
33
  }
34
- class StateMetadata extends node_events_1.EventEmitter {
34
+ class StateMetadata extends EventEmitter_js_1.EventEmitter {
35
35
  eventEmitterTree = new Tree(this);
36
36
  parents = new EnumerableWeakMap_js_1.EnumerableWeakMap();
37
37
  eventEmitterAtPath(path) {
@@ -82,135 +82,102 @@ class StateMetadata extends node_events_1.EventEmitter {
82
82
  else
83
83
  seen.set(ancestor, [path]);
84
84
  const target = ancestor.eventEmitterAtPathMaybe(path);
85
- if (target)
86
- result ||= target.emit(eventName, ...args);
85
+ if (target) {
86
+ const targetResult = target.emitAt(path, eventName, ...args);
87
+ result = targetResult || result;
88
+ }
87
89
  ancestor.#pushParents(queue, path);
88
90
  }
89
91
  return result;
90
92
  }
91
93
  }
92
94
  exports.StateMetadata = StateMetadata;
93
- function emitCollectionTransition(old, next) {
94
- const oldIsSet = old != null && typeof old === "object" && old[internals_js_1.isStatifiedSetKey];
95
- const nextIsSet = next != null && typeof next === "object" && next[internals_js_1.isStatifiedSetKey];
96
- const oldIsArray = old != null && typeof old === "object" && old[internals_js_1.isStatifiedArrayKey];
97
- const nextIsArray = next != null && typeof next === "object" && next[internals_js_1.isStatifiedArrayKey];
98
- const oldIsMap = old != null && typeof old === "object" && old[internals_js_1.isStatifiedMapKey];
99
- const nextIsMap = next != null && typeof next === "object" && next[internals_js_1.isStatifiedMapKey];
100
- if (oldIsSet && nextIsSet && old !== next) {
101
- const oldSet = old;
102
- const nextSet = next;
103
- const oldMeta = (0, internals_js_1.getMetadataOf)(oldSet);
104
- let changed = false;
105
- for (const item of oldSet) {
106
- if (!nextSet.has(item)) {
107
- oldMeta.emit("deleteItem", item);
108
- changed = true;
109
- }
110
- }
111
- for (const item of nextSet) {
112
- if (!oldSet.has(item)) {
113
- oldMeta.emit("addItem", item);
114
- changed = true;
115
- }
116
- }
117
- if (changed)
118
- oldMeta.emit("cardChanged");
95
+ function emitCollectionTransition(oldVal, nextVal, emitter, prop) {
96
+ if (!emitter || oldVal === nextVal)
119
97
  return;
120
- }
121
- else if (oldIsSet) {
122
- const oldSet = old;
123
- const oldMeta = (0, internals_js_1.getMetadataOf)(oldSet);
124
- let changed = false;
125
- for (const item of oldSet) {
126
- oldMeta.emit("deleteItem", item);
127
- changed = true;
98
+ const emit = (event, ...args) => {
99
+ if (prop !== undefined) {
100
+ emitter.emitAt([prop], event, ...args);
128
101
  }
129
- if (changed)
130
- oldMeta.emit("cardChanged");
131
- }
132
- else if (nextIsSet) {
133
- const nextSet = next;
134
- const nextMeta = (0, internals_js_1.getMetadataOf)(nextSet);
135
- let changed = false;
136
- for (const item of nextSet) {
137
- nextMeta.emit("addItem", item);
138
- changed = true;
102
+ else {
103
+ emitter.emit(event, ...args);
139
104
  }
140
- if (changed)
141
- nextMeta.emit("cardChanged");
142
- }
143
- if (old !== next) {
144
- if (oldIsArray) {
145
- const oldArr = old;
146
- const oldMeta = (0, internals_js_1.getMetadataOf)(oldArr);
147
- if (oldArr.length > 0) {
148
- for (let i = oldArr.length - 1; i >= 0; i--) {
149
- oldMeta.emit("spliceOutElement", oldArr[i], i);
105
+ };
106
+ const oldIsSet = Boolean(oldVal && typeof oldVal === "object" && oldVal[internals_js_1.isStatifiedSetKey]);
107
+ const nextIsSet = Boolean(nextVal && typeof nextVal === "object" && nextVal[internals_js_1.isStatifiedSetKey]);
108
+ if (oldIsSet || nextIsSet) {
109
+ const oldSet = oldIsSet ? oldVal : undefined;
110
+ const nextSet = nextIsSet ? nextVal : undefined;
111
+ let changed = false;
112
+ if (oldSet) {
113
+ for (const item of oldSet) {
114
+ if (!nextSet?.has(item)) {
115
+ emit("deleteItem", item);
116
+ changed = true;
150
117
  }
151
- oldMeta.emit("lengthChanged");
152
118
  }
153
119
  }
154
- if (nextIsArray) {
155
- const nextArr = next;
156
- const nextMeta = (0, internals_js_1.getMetadataOf)(nextArr);
157
- if (nextArr.length > 0) {
158
- for (let i = 0; i < nextArr.length; i++) {
159
- nextMeta.emit("spliceInElement", nextArr[i], i);
120
+ if (nextSet) {
121
+ for (const item of nextSet) {
122
+ if (!oldSet?.has(item)) {
123
+ emit("addItem", item);
124
+ changed = true;
160
125
  }
161
- nextMeta.emit("lengthChanged");
162
126
  }
163
127
  }
128
+ if (changed)
129
+ emit("cardChanged");
130
+ return;
164
131
  }
165
- if (oldIsMap && nextIsMap && old !== next) {
166
- const oldMap = old;
167
- const nextMap = next;
168
- const oldMeta = (0, internals_js_1.getMetadataOf)(oldMap);
132
+ const oldIsMap = Boolean(oldVal && typeof oldVal === "object" && oldVal[internals_js_1.isStatifiedMapKey]);
133
+ const nextIsMap = Boolean(nextVal && typeof nextVal === "object" && nextVal[internals_js_1.isStatifiedMapKey]);
134
+ if (oldIsMap || nextIsMap) {
135
+ const oldMap = oldIsMap ? oldVal : undefined;
136
+ const nextMap = nextIsMap ? nextVal : undefined;
169
137
  let changed = false;
170
- for (const [k, v] of oldMap) {
171
- if (!nextMap.has(k)) {
172
- oldMeta.emit("deleteEntry", k, v);
173
- changed = true;
174
- }
175
- else if (nextMap.get(k) !== v) {
176
- oldMeta.emit("replaceEntry", k, nextMap.get(k));
177
- oldMeta.emit("setEntry", k, nextMap.get(k));
178
- changed = true;
138
+ if (oldMap) {
139
+ for (const [k, v] of oldMap) {
140
+ if (!nextMap?.has(k)) {
141
+ emit("deleteEntry", k, v);
142
+ changed = true;
143
+ }
144
+ else if (nextMap.get(k) !== v) {
145
+ emit("replaceEntry", k, nextMap.get(k));
146
+ emit("setEntry", k, nextMap.get(k));
147
+ changed = true;
148
+ }
179
149
  }
180
150
  }
181
- for (const [k, v] of nextMap) {
182
- if (!oldMap.has(k)) {
183
- oldMeta.emit("addEntry", k, v);
184
- oldMeta.emit("setEntry", k, v);
185
- changed = true;
151
+ if (nextMap) {
152
+ for (const [k, v] of nextMap) {
153
+ if (!oldMap?.has(k)) {
154
+ emit("addEntry", k, v);
155
+ emit("setEntry", k, v);
156
+ changed = true;
157
+ }
186
158
  }
187
159
  }
188
160
  if (changed)
189
- oldMeta.emit("sizeChanged");
161
+ emit("sizeChanged");
190
162
  return;
191
163
  }
192
- else if (oldIsMap) {
193
- const oldMap = old;
194
- const oldMeta = (0, internals_js_1.getMetadataOf)(oldMap);
195
- let changed = false;
196
- for (const [k, v] of oldMap) {
197
- oldMeta.emit("deleteEntry", k, v);
198
- changed = true;
164
+ const oldIsArray = Boolean(oldVal && typeof oldVal === "object" && oldVal[internals_js_1.isStatifiedArrayKey]);
165
+ const nextIsArray = Boolean(nextVal && typeof nextVal === "object" && nextVal[internals_js_1.isStatifiedArrayKey]);
166
+ if (oldIsArray || nextIsArray) {
167
+ const oldArr = oldIsArray ? oldVal : undefined;
168
+ const nextArr = nextIsArray ? nextVal : undefined;
169
+ if (oldArr && oldArr.length > 0) {
170
+ for (let i = oldArr.length - 1; i >= 0; i--) {
171
+ emit("spliceOutElement", oldArr[i], i);
172
+ }
173
+ emit("lengthChanged");
199
174
  }
200
- if (changed)
201
- oldMeta.emit("sizeChanged");
202
- }
203
- else if (nextIsMap) {
204
- const nextMap = next;
205
- const nextMeta = (0, internals_js_1.getMetadataOf)(nextMap);
206
- let changed = false;
207
- for (const [k, v] of nextMap) {
208
- nextMeta.emit("addEntry", k, v);
209
- nextMeta.emit("setEntry", k, v);
210
- changed = true;
175
+ if (nextArr && nextArr.length > 0) {
176
+ for (let i = 0; i < nextArr.length; i++) {
177
+ emit("spliceInElement", nextArr[i], i);
178
+ }
179
+ emit("lengthChanged");
211
180
  }
212
- if (changed)
213
- nextMeta.emit("sizeChanged");
214
181
  }
215
182
  }
216
183
  function statifyObject(target) {
@@ -254,7 +221,6 @@ function statifyObject(target) {
254
221
  const oldValMetadata = (0, internals_js_1.getMetadataOf)(oldVal);
255
222
  unhook(stateMetadata, prop, oldValMetadata);
256
223
  }
257
- emitCollectionTransition(oldVal, newVal);
258
224
  if (typeof prop !== "symbol" &&
259
225
  Number.isInteger(Number(prop)) &&
260
226
  Array.isArray(target)) {
@@ -270,6 +236,7 @@ function statifyObject(target) {
270
236
  }
271
237
  stateMetadata.emit('addProp', newVal, prop);
272
238
  }
239
+ emitCollectionTransition(oldVal, newVal, stateMetadata.eventEmitterAtPathMaybe([prop]), prop);
273
240
  stateMetadata.emit('setProp', newVal, prop);
274
241
  const maybeEventEmitterAtVal = stateMetadata.eventEmitterAtPathMaybe([prop]);
275
242
  if (maybeEventEmitterAtVal) {