@matter/general 0.16.1 → 0.16.2-alpha.0-20260114-d3127faee

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.
Files changed (98) hide show
  1. package/dist/cjs/net/ServerAddress.d.ts +52 -14
  2. package/dist/cjs/net/ServerAddress.d.ts.map +1 -1
  3. package/dist/cjs/net/ServerAddress.js +41 -6
  4. package/dist/cjs/net/ServerAddress.js.map +2 -2
  5. package/dist/cjs/net/ServerAddressSet.d.ts +65 -0
  6. package/dist/cjs/net/ServerAddressSet.d.ts.map +1 -0
  7. package/dist/cjs/net/ServerAddressSet.js +144 -0
  8. package/dist/cjs/net/ServerAddressSet.js.map +6 -0
  9. package/dist/cjs/net/dns-sd/MdnsSocket.d.ts +40 -0
  10. package/dist/cjs/net/dns-sd/MdnsSocket.d.ts.map +1 -0
  11. package/dist/cjs/net/dns-sd/MdnsSocket.js +164 -0
  12. package/dist/cjs/net/dns-sd/MdnsSocket.js.map +6 -0
  13. package/dist/cjs/net/dns-sd/index.d.ts +7 -0
  14. package/dist/cjs/net/dns-sd/index.d.ts.map +1 -0
  15. package/dist/cjs/net/dns-sd/index.js +24 -0
  16. package/dist/cjs/net/dns-sd/index.js.map +6 -0
  17. package/dist/cjs/net/index.d.ts +2 -0
  18. package/dist/cjs/net/index.d.ts.map +1 -1
  19. package/dist/cjs/net/index.js +2 -0
  20. package/dist/cjs/net/index.js.map +1 -1
  21. package/dist/cjs/util/Abort.d.ts +9 -0
  22. package/dist/cjs/util/Abort.d.ts.map +1 -1
  23. package/dist/cjs/util/Abort.js +20 -0
  24. package/dist/cjs/util/Abort.js.map +1 -1
  25. package/dist/cjs/util/Heap.d.ts +84 -0
  26. package/dist/cjs/util/Heap.d.ts.map +1 -0
  27. package/dist/cjs/util/Heap.js +286 -0
  28. package/dist/cjs/util/Heap.js.map +6 -0
  29. package/dist/cjs/util/Observable.d.ts +29 -6
  30. package/dist/cjs/util/Observable.d.ts.map +1 -1
  31. package/dist/cjs/util/Observable.js +40 -6
  32. package/dist/cjs/util/Observable.js.map +1 -1
  33. package/dist/cjs/util/Promises.d.ts +3 -0
  34. package/dist/cjs/util/Promises.d.ts.map +1 -1
  35. package/dist/cjs/util/Promises.js +33 -3
  36. package/dist/cjs/util/Promises.js.map +2 -2
  37. package/dist/cjs/util/Set.d.ts.map +1 -1
  38. package/dist/cjs/util/Set.js +14 -8
  39. package/dist/cjs/util/Set.js.map +1 -1
  40. package/dist/cjs/util/index.d.ts +1 -0
  41. package/dist/cjs/util/index.d.ts.map +1 -1
  42. package/dist/cjs/util/index.js +1 -0
  43. package/dist/cjs/util/index.js.map +1 -1
  44. package/dist/esm/net/ServerAddress.d.ts +52 -14
  45. package/dist/esm/net/ServerAddress.d.ts.map +1 -1
  46. package/dist/esm/net/ServerAddress.js +41 -6
  47. package/dist/esm/net/ServerAddress.js.map +2 -2
  48. package/dist/esm/net/ServerAddressSet.d.ts +65 -0
  49. package/dist/esm/net/ServerAddressSet.d.ts.map +1 -0
  50. package/dist/esm/net/ServerAddressSet.js +124 -0
  51. package/dist/esm/net/ServerAddressSet.js.map +6 -0
  52. package/dist/esm/net/dns-sd/MdnsSocket.d.ts +40 -0
  53. package/dist/esm/net/dns-sd/MdnsSocket.d.ts.map +1 -0
  54. package/dist/esm/net/dns-sd/MdnsSocket.js +149 -0
  55. package/dist/esm/net/dns-sd/MdnsSocket.js.map +6 -0
  56. package/dist/esm/net/dns-sd/index.d.ts +7 -0
  57. package/dist/esm/net/dns-sd/index.d.ts.map +1 -0
  58. package/dist/esm/net/dns-sd/index.js +7 -0
  59. package/dist/esm/net/dns-sd/index.js.map +6 -0
  60. package/dist/esm/net/index.d.ts +2 -0
  61. package/dist/esm/net/index.d.ts.map +1 -1
  62. package/dist/esm/net/index.js +2 -0
  63. package/dist/esm/net/index.js.map +1 -1
  64. package/dist/esm/util/Abort.d.ts +9 -0
  65. package/dist/esm/util/Abort.d.ts.map +1 -1
  66. package/dist/esm/util/Abort.js +20 -0
  67. package/dist/esm/util/Abort.js.map +1 -1
  68. package/dist/esm/util/Heap.d.ts +84 -0
  69. package/dist/esm/util/Heap.d.ts.map +1 -0
  70. package/dist/esm/util/Heap.js +266 -0
  71. package/dist/esm/util/Heap.js.map +6 -0
  72. package/dist/esm/util/Observable.d.ts +29 -6
  73. package/dist/esm/util/Observable.d.ts.map +1 -1
  74. package/dist/esm/util/Observable.js +40 -6
  75. package/dist/esm/util/Observable.js.map +1 -1
  76. package/dist/esm/util/Promises.d.ts +3 -0
  77. package/dist/esm/util/Promises.d.ts.map +1 -1
  78. package/dist/esm/util/Promises.js +33 -3
  79. package/dist/esm/util/Promises.js.map +2 -2
  80. package/dist/esm/util/Set.d.ts.map +1 -1
  81. package/dist/esm/util/Set.js +14 -8
  82. package/dist/esm/util/Set.js.map +1 -1
  83. package/dist/esm/util/index.d.ts +1 -0
  84. package/dist/esm/util/index.d.ts.map +1 -1
  85. package/dist/esm/util/index.js +1 -0
  86. package/dist/esm/util/index.js.map +1 -1
  87. package/package.json +2 -2
  88. package/src/net/ServerAddress.ts +93 -19
  89. package/src/net/ServerAddressSet.ts +225 -0
  90. package/src/net/dns-sd/MdnsSocket.ts +203 -0
  91. package/src/net/dns-sd/index.ts +7 -0
  92. package/src/net/index.ts +2 -0
  93. package/src/util/Abort.ts +25 -0
  94. package/src/util/Heap.ts +332 -0
  95. package/src/util/Observable.ts +74 -10
  96. package/src/util/Promises.ts +61 -4
  97. package/src/util/Set.ts +15 -8
  98. package/src/util/index.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Abort.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["abort", "Abort"]
6
6
  }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Abort } from "./Abort.js";
7
+ import { Observable } from "./Observable.js";
8
+ /**
9
+ * A heap, useful as a priority queue.
10
+ *
11
+ * Features:
12
+ *
13
+ * * Configurable as min-heap or max-heap using comparator
14
+ *
15
+ * * O(1) lookup of first item
16
+ *
17
+ * * O(log(n)) enqueue and dequeue
18
+ *
19
+ * * O(1) deletion of arbitrary position, but will add expense of maintaining index of positions
20
+ *
21
+ * * {@link added}, {@link deleted} and {@link firstChanged} events
22
+ */
23
+ export declare class Heap<T> {
24
+ #private;
25
+ /**
26
+ * Create new heap.
27
+ *
28
+ * @param comparator performs ordering of items in the heap
29
+ * @param normalizer optionally converts items to normal form on insert
30
+ */
31
+ constructor(comparator: (a: T, b: T) => number, normalizer?: (entry: T) => T);
32
+ /**
33
+ * Return lowest-ranked item.
34
+ */
35
+ shift(): T | undefined;
36
+ /**
37
+ * The lowest-ranked item.
38
+ */
39
+ get first(): T | undefined;
40
+ /**
41
+ * The queue length.
42
+ */
43
+ get size(): number;
44
+ /**
45
+ * Is the heap empty?
46
+ */
47
+ get isEmpty(): boolean;
48
+ /**
49
+ * Emits when the head of the queue changes.
50
+ */
51
+ get firstChanged(): Observable<[T | undefined], void>;
52
+ /**
53
+ * Emits when an item is added to the heap.
54
+ */
55
+ get added(): Observable<[T], void>;
56
+ /**
57
+ * Emits when an item is deleted.
58
+ */
59
+ get deleted(): Observable<[T], void>;
60
+ /**
61
+ * Add an item.
62
+ */
63
+ add(...items: T[]): void;
64
+ /**
65
+ * Delete an item.
66
+ *
67
+ * The first delete is O(n); subsequent deletes are O(1) but insertions and deletions will have additional cost
68
+ * associated.
69
+ */
70
+ delete(item: T): boolean;
71
+ /**
72
+ * Remove all entries.
73
+ */
74
+ clear(): void;
75
+ /**
76
+ * Stream the first value from the heap until aborted.
77
+ */
78
+ stream(abort?: Abort.Signal): AsyncGenerator<Awaited<NonNullable<T>>, void, unknown>;
79
+ /**
80
+ * Perform internal validation of queue order.
81
+ */
82
+ validate(): void;
83
+ }
84
+ //# sourceMappingURL=Heap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heap.d.ts","sourceRoot":"","sources":["../../../src/util/Heap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,IAAI,CAAC,CAAC;;IAYf;;;;;OAKG;gBACS,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;IAK5E;;OAEG;IACH,KAAK;IAWL;;OAEG;IACH,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,YAAY,sCAKf;IAED;;OAEG;IACH,IAAI,KAAK,0BAKR;IAED;;OAEG;IACH,IAAI,OAAO,0BAKV;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;IAajB;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC;IAyBd;;OAEG;IACH,KAAK;IAIL;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM;IAkClC;;OAEG;IACH,QAAQ;CA4HX"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { InternalError } from "#MatterError.js";
7
+ import { Abort } from "./Abort.js";
8
+ import { Observable } from "./Observable.js";
9
+ class Heap {
10
+ // We encode the heap as an array for efficiency. See #leftChildOf and #rightChildOf for how to navigate the tree
11
+ // when encoded this way
12
+ #buffer = Array();
13
+ #compare;
14
+ #normalize;
15
+ #firstChanged;
16
+ #deleted;
17
+ #added;
18
+ #positions;
19
+ /**
20
+ * Create new heap.
21
+ *
22
+ * @param comparator performs ordering of items in the heap
23
+ * @param normalizer optionally converts items to normal form on insert
24
+ */
25
+ constructor(comparator, normalizer) {
26
+ this.#compare = comparator;
27
+ this.#normalize = normalizer;
28
+ }
29
+ /**
30
+ * Return lowest-ranked item.
31
+ */
32
+ shift() {
33
+ if (!this.#buffer?.length) {
34
+ return void 0;
35
+ }
36
+ const result = this.first;
37
+ this.#deleteAt(0);
38
+ return result;
39
+ }
40
+ /**
41
+ * The lowest-ranked item.
42
+ */
43
+ get first() {
44
+ return this.#buffer?.[0];
45
+ }
46
+ /**
47
+ * The queue length.
48
+ */
49
+ get size() {
50
+ return this.#buffer.length;
51
+ }
52
+ /**
53
+ * Is the heap empty?
54
+ */
55
+ get isEmpty() {
56
+ return !!this.#buffer.length;
57
+ }
58
+ /**
59
+ * Emits when the head of the queue changes.
60
+ */
61
+ get firstChanged() {
62
+ if (!this.#firstChanged) {
63
+ this.#firstChanged = new Observable();
64
+ }
65
+ return this.#firstChanged;
66
+ }
67
+ /**
68
+ * Emits when an item is added to the heap.
69
+ */
70
+ get added() {
71
+ if (!this.#added) {
72
+ this.#added = new Observable();
73
+ }
74
+ return this.#added;
75
+ }
76
+ /**
77
+ * Emits when an item is deleted.
78
+ */
79
+ get deleted() {
80
+ if (!this.#deleted) {
81
+ this.#deleted = new Observable();
82
+ }
83
+ return this.#deleted;
84
+ }
85
+ /**
86
+ * Add an item.
87
+ */
88
+ add(...items) {
89
+ for (let item of items) {
90
+ if (this.#normalize) {
91
+ item = this.#normalize(item);
92
+ }
93
+ this.#buffer.push(item);
94
+ this.#bubbleUp(this.#buffer.length - 1);
95
+ this.#added?.emit(item);
96
+ }
97
+ }
98
+ /**
99
+ * Delete an item.
100
+ *
101
+ * The first delete is O(n); subsequent deletes are O(1) but insertions and deletions will have additional cost
102
+ * associated.
103
+ */
104
+ delete(item) {
105
+ if (this.#buffer === void 0) {
106
+ return false;
107
+ }
108
+ if (!this.#positions) {
109
+ this.#positions = /* @__PURE__ */ new Map();
110
+ for (let i = 0; i < this.#buffer.length; i++) {
111
+ this.#positions.set(this.#buffer[i], i);
112
+ }
113
+ }
114
+ if (this.#normalize) {
115
+ item = this.#normalize(item);
116
+ }
117
+ const pos = this.#positions.get(item);
118
+ if (pos === void 0) {
119
+ return false;
120
+ }
121
+ this.#deleteAt(pos);
122
+ return true;
123
+ }
124
+ /**
125
+ * Remove all entries.
126
+ */
127
+ clear() {
128
+ if (this.#buffer.length) this.#buffer.length = 0;
129
+ }
130
+ /**
131
+ * Stream the first value from the heap until aborted.
132
+ */
133
+ async *stream(abort) {
134
+ if (Abort.is(abort)) {
135
+ return;
136
+ }
137
+ while (true) {
138
+ while (this.size) {
139
+ yield this.shift();
140
+ if (Abort.is(abort)) {
141
+ return;
142
+ }
143
+ }
144
+ let resolve;
145
+ const ready = new Promise((r) => resolve = r);
146
+ try {
147
+ this.added.once(resolve);
148
+ await Abort.race(abort, ready);
149
+ if (Abort.is(abort)) {
150
+ return;
151
+ }
152
+ } finally {
153
+ this.added.off(resolve);
154
+ }
155
+ }
156
+ }
157
+ /**
158
+ * Perform internal validation of queue order.
159
+ */
160
+ validate() {
161
+ for (let i = 0; i < this.#buffer.length; i++) {
162
+ const leftChild = this.#leftChildOf(i);
163
+ if (leftChild < this.#buffer.length) {
164
+ if (this.#compare(this.#buffer[i], this.#buffer[leftChild]) > 0) {
165
+ throw new InternalError(
166
+ `Heap error: buffer #${i} (${this.#buffer[i]}) is greater than left child #${leftChild} (${this.#buffer[leftChild]})`
167
+ );
168
+ }
169
+ const rightChild = this.#rightChildOf(i);
170
+ if (rightChild < this.#buffer.length) {
171
+ if (this.#compare(this.#buffer[i], this.#buffer[rightChild]) > 0) {
172
+ throw new InternalError(
173
+ `Heap error: buffer #${i} (${this.#buffer[i]}) is greater than right child #${rightChild} (${this.#buffer[rightChild]})`
174
+ );
175
+ }
176
+ if (this.#compare(this.#buffer[leftChild], this.#buffer[rightChild]) > 0) {
177
+ throw new InternalError(
178
+ `Heap error: buffer #${leftChild} (${this.#buffer[leftChild]}) is greater than right sibling #${rightChild} (${this.#buffer[rightChild]})`
179
+ );
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ #deleteAt(index) {
186
+ if (index >= this.#buffer.length) {
187
+ return;
188
+ }
189
+ const item = this.#buffer[index];
190
+ if (this.#buffer.length === 1) {
191
+ this.#buffer.length = 0;
192
+ } else {
193
+ const lastIndex = this.#buffer.length - 1;
194
+ this.#buffer[index] = this.#buffer[lastIndex];
195
+ this.#positions?.set(this.#buffer[index], index);
196
+ this.#buffer.length = lastIndex;
197
+ if (index < this.#buffer.length) {
198
+ if (index) {
199
+ index = this.#bubbleUp(index);
200
+ }
201
+ this.#sinkDown(index);
202
+ }
203
+ }
204
+ this.#positions?.delete(item);
205
+ this.#deleted?.emit(item);
206
+ if (!index) {
207
+ this.#firstChanged?.emit(this.first);
208
+ }
209
+ }
210
+ #sinkDown(index) {
211
+ while (true) {
212
+ let moveTo;
213
+ const leftChild = this.#leftChildOf(index);
214
+ if (leftChild < this.#buffer.length) {
215
+ if (this.#compare(this.#buffer[index], this.#buffer[leftChild]) > 0) {
216
+ moveTo = leftChild;
217
+ }
218
+ const rightChild = this.#rightChildOf(index);
219
+ if (rightChild < this.#buffer.length) {
220
+ if (this.#compare(this.#buffer[moveTo ?? index], this.#buffer[rightChild]) > 0) {
221
+ moveTo = rightChild;
222
+ }
223
+ }
224
+ }
225
+ if (moveTo === void 0) {
226
+ break;
227
+ }
228
+ this.#swap(index, moveTo);
229
+ index = moveTo;
230
+ }
231
+ }
232
+ #bubbleUp(index) {
233
+ while (index) {
234
+ const parent = this.#parentOf(index);
235
+ if (this.#compare(this.#buffer[parent], this.#buffer[index]) <= 0) {
236
+ break;
237
+ }
238
+ this.#swap(index, parent);
239
+ index = parent;
240
+ }
241
+ if (!index) {
242
+ this.#firstChanged?.emit(this.first);
243
+ }
244
+ return index;
245
+ }
246
+ #swap(index1, index2) {
247
+ [this.#buffer[index1], this.#buffer[index2]] = [this.#buffer[index2], this.#buffer[index1]];
248
+ if (this.#positions) {
249
+ this.#positions.set(this.#buffer[index1], index1);
250
+ this.#positions.set(this.#buffer[index2], index2);
251
+ }
252
+ }
253
+ #leftChildOf(index) {
254
+ return 2 * index + 1;
255
+ }
256
+ #rightChildOf(index) {
257
+ return 2 * index + 2;
258
+ }
259
+ #parentOf(index) {
260
+ return Math.floor((index - 1) / 2);
261
+ }
262
+ }
263
+ export {
264
+ Heap
265
+ };
266
+ //# sourceMappingURL=Heap.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/Heap.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -41,6 +41,14 @@ export interface Observable<T extends any[] = any[], R = void> extends AsyncIter
41
41
  * Add an observer.
42
42
  */
43
43
  on(observer: Observer<T, R>): void;
44
+ /**
45
+ * Add an observer that may be released via disposal.
46
+ */
47
+ use(observer: Observer<T, R>): Disposable;
48
+ /**
49
+ * Add a "once" observer that may be released via disposal.
50
+ */
51
+ useOnce(observer: Observer<T, R>): Disposable;
44
52
  /**
45
53
  * Remove an observer.
46
54
  */
@@ -120,6 +128,11 @@ export interface Observable<T extends any[] = any[], R = void> extends AsyncIter
120
128
  * result in rejection if awaited.
121
129
  */
122
130
  export interface ObservableValue<T extends [any, ...any[]] = [boolean], R extends MaybePromise<void> = void> extends Observable<T, R>, Promise<T[0]> {
131
+ /**
132
+ * The current value.
133
+ *
134
+ * Setting the value will resolve the promise interface but you must use {@link emit} to also emit an event.
135
+ */
123
136
  value: T[0] | undefined;
124
137
  error?: Error;
125
138
  /**
@@ -130,6 +143,9 @@ export interface ObservableValue<T extends [any, ...any[]] = [boolean], R extend
130
143
  reject(cause: unknown): void;
131
144
  then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T[0]) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
132
145
  catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T[0] | TResult>;
146
+ onError(handler: (cause: Error) => void): void;
147
+ offError(handler: (cause: Error) => void): void;
148
+ useError(handler: (cause: Error) => void): Disposable;
133
149
  }
134
150
  /**
135
151
  * An observer may designate itself as "not observant" for the purposes of {@link Observable.isObserved} by returning
@@ -166,6 +182,12 @@ export declare class BasicObservable<T extends any[] = any[], R = void> implemen
166
182
  isObservedBy(observer: Observer<T, R>): boolean;
167
183
  emit(...payload: T): R | undefined;
168
184
  on(observer: Observer<T, R>): void;
185
+ use(observer: Observer<T, R>): {
186
+ [Symbol.dispose]: () => void;
187
+ };
188
+ useOnce(observer: Observer<T, R>): {
189
+ [Symbol.dispose]: () => void;
190
+ };
169
191
  off(observer: Observer<T, R>): void;
170
192
  once(observer: Observer<T, R>): void;
171
193
  then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T[0]) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
@@ -190,20 +212,20 @@ export declare const AsyncObservable: {
190
212
  /**
191
213
  * A concrete {@link ObservableValue} implementation.
192
214
  */
193
- export declare class BasicObservableValue<T extends [any, ...any[]] = [boolean]> extends BasicObservable<T, void> implements ObservableValue<T> {
215
+ export declare class BasicObservableValue<T extends [any, ...any[]] = [boolean], R extends MaybePromise<void> = void> extends BasicObservable<T, R> implements ObservableValue<T, R> {
194
216
  #private;
195
217
  constructor(value?: T[0], handleError?: ObserverErrorHandler, asyncConfig?: ObserverPromiseHandler | boolean);
196
- /**
197
- * The current value.
198
- *
199
- * This will resolve the promise interface but you must use {@link emit} to also emit an event..
200
- */
201
218
  get value(): T[0] | undefined;
202
219
  set value(value: T[0] | undefined);
203
220
  get error(): Error | undefined;
204
221
  reject(cause: unknown): void;
205
222
  then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
206
223
  catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
224
+ onError(handler: (cause: Error) => void): void;
225
+ offError(handler: (cause: Error) => void): void;
226
+ useError(handler: (cause: Error) => void): {
227
+ [Symbol.dispose]: () => void;
228
+ };
207
229
  finally(onfinally?: (() => void) | null): Promise<T>;
208
230
  [Symbol.toStringTag]: string;
209
231
  }
@@ -309,6 +331,7 @@ export declare class ObserverGroup {
309
331
  * Remove all observers. The instance can be reused afterward to add new observers.
310
332
  */
311
333
  close(): void;
334
+ [Symbol.dispose](): void;
312
335
  }
313
336
  /**
314
337
  * {@link Observer}s detached from an {@link Observable}.
@@ -1 +1 @@
1
- {"version":3,"file":"Observable.d.ts","sourceRoot":"","sources":["../../../src/util/Observable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;IACvD,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC/B,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAAG;AAEzG;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnG;;OAEG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAEnC;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAErC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;IAEhD;;;;;;OAMG;IACH,WAAW,EAAE,oBAAoB,CAAC;IAElC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC;IAEhD;;OAEG;IACH,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACxE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACxE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;;;OAKG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CACvG,SAAQ,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACxE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACxE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IAEhC,KAAK,CAAC,OAAO,GAAG,KAAK,EACjB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GACtE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,eAA8B,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAE,SAAQ,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAAG;AAE7G;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC;CAAG;AAMxH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAE1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;AAE5G;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAE,YAAW,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;;gBAY3E,WAAW,CAAC,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,sBAAsB,GAAG,OAAO;IAS9F,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAEnC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;IAMhB,IAAI,WAAW,CAAC,WAAW,EAAE,oBAAoB,EAEhD;IAED,IAAI,WAAW,IAJc,oBAAoB,CAMhD;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAyB3B;IAED,IAAI,OAAO,IA3BU,OAAO,CA6B3B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAGtD;IAED,IAAI,aAAa,IALgB,sBAAsB,CAOtD;IAED,IAAI,UAAU,YAkBb;IAED,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAIrC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAyGlC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAO3B,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAI5B,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ7B,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACxE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACxE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAQxB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAgBpD,eAAe,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAWtD,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;CAqDpD;AAID;;GAEG;AACH,eAAO,MAAM,UAAU,EAAqC;IACxD,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACtF,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,eAAe,EAA0C;IAClE,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1F,CAAC;AAcF;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CACnE,SAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,CAC/B,YAAW,eAAe,CAAC,CAAC,CAAC;;gBASjB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,sBAAsB,GAAG,OAAO;IAM5G;;;;OAIG;IACH,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAE5B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAEhC;IAED,IAAI,KAAK,sBAER;IAED,MAAM,CAAC,KAAK,EAAE,OAAO;IA4BZ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACxC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACrE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACxE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAgB/B,KAAK,CAAC,OAAO,GAAG,KAAK,EACjB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GACtE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAIvB,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,CAAC,MAAM,CAAC,WAAW,CAAC,SAAa;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAA0C;IAClE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;CACtG,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAA+C;IAC5E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC3G,CAAC;AAMF;;;;;GAKG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,MAAM,CAAC,CAA8C;IAE7D,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAIjH,WAAW,CAAC,IAAI,EAAE,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAClD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAK7C,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAK7C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe;IAQ9C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAQrB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ;IAIhD,IAAI,UAAU,aAEb;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;CAWnB;AAED,yBAAiB,YAAY,CAAC;IAC1B;;;OAGG;IACH,KAAY,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAE3F,KAAY,UAAU,CAAC,IAAI,IAAI,MAAM,GACjC,MAAM;SACD,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,UAAU,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI;KACpE,CAAC;IAEN;;;OAGG;IACH,KAAY,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjF,GAAG,EAAE,GACL,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5B,KAAY,YAAY,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,IAAI,IAAI,SAAS;SAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;KAAE,GACzG,CAAC,GACD,KAAK,CAAC;IAEZ,KAAY,UAAU,CAAC,IAAI,EAAE,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CACnF;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,eAAe;;gBAIpC,MAAM,EAAE,UAAU;IAcrB,CAAC,MAAM,CAAC,OAAO,CAAC;IAKzB,IAAa,UAAU,IAAI,OAAO,CAEjC;IAEQ,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,SAAS,CAAC;IAEpD,SAAS,KAAK,MAAM,4BAEnB;CACJ;AAED;;;GAGG;AACH,qBAAa,aAAa;;gBAKV,MAAM,CAAC,EAAE,EAAE;IAIvB,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EACjB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EACjE,MAAM,CAAC,EAAE,EAAE,GACZ,IAAI;IAEP,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EACjB,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EACtE,MAAM,CAAC,EAAE,EAAE,GACZ,IAAI;IA0BP;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EACf,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,EAC9C,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC9B,MAAM,iBAAsB;IA0BhC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC;IAIlE;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;IAI7F;;OAEG;IACH,KAAK;CASR;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI;IAChE,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9B;AAED,yBAAiB,aAAa,CAAC;IAC3B;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;CACrH;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CACrF,SAAQ,eAAe,CAAC,CAAC,EAAE,CAAC,CAC5B,YAAW,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;gBAc1B,MAAM,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAOxD,IAAI,MAAM,IAIS,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAFrD;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EA4BrD;IAED,IAAI,iBAAiB,IAIQ,OAAO,CAFnC;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAOnC;IAED,IAAI,kBAAkB,IAIQ,OAAO,CAFpC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAI,mBAAmB,IAIQ,QAAQ,CAFtC;IAED,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAYtC;IAED,IAAI,MAAM,IAIS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAF9C;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAa9C;IAED,IAAI,IAAI,IAIO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAF1C;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAa1C;IAED,IAAI,UAAU,IAIa,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAFtE;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,EAMtE;IAED,IAAa,UAAU,YAEtB;IAEQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO;IAI/C,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAuB3C;;OAEG;IACH,OAAO;IAQP;;OAEG;IACH,QAAQ;IAMC,CAAC,MAAM,CAAC,OAAO,CAAC;CAqC5B;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;QAC/E;;;WAGG;QACH,iBAAiB,EAAE,OAAO,CAAC;QAE3B;;WAEG;QACH,kBAAkB,EAAE,OAAO,CAAC;QAE5B;;WAEG;QACH,mBAAmB,EAAE,QAAQ,CAAC;QAE9B;;WAEG;QACH,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1B;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAExB;;WAEG;QACH,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B;;WAEG;QACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;QAEnC;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;WAEG;QACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;KAC1C;IAED;;OAEG;IACI,MAAM,GAAG,QAAQ,CAAC;IAEzB;;;OAGG;IACH,KAAY,aAAa,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC;IAEtD;;OAEG;IACH,UAAiB,aAAa,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;QAClD,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC;KAClC;IAED,UAAiB,aAAa,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAE,SAAQ,OAAO,CACxG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACd;KAAG;IAEG,MAAM,QAAQ,EAAE,KAItB,CAAC;CACL"}
1
+ {"version":3,"file":"Observable.d.ts","sourceRoot":"","sources":["../../../src/util/Observable.ts"],"names":[],"mappings":"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"}
@@ -184,8 +184,25 @@ class BasicObservable {
184
184
  }
185
185
  this.#observers.add(observer);
186
186
  }
187
+ use(observer) {
188
+ this.on(observer);
189
+ return {
190
+ [Symbol.dispose]: () => {
191
+ this.off(observer);
192
+ }
193
+ };
194
+ }
195
+ useOnce(observer) {
196
+ this.once(observer);
197
+ return {
198
+ [Symbol.dispose]: () => {
199
+ this.off(observer);
200
+ }
201
+ };
202
+ }
187
203
  off(observer) {
188
204
  this.#observers?.delete(observer);
205
+ this.#once?.delete(observer);
189
206
  }
190
207
  once(observer) {
191
208
  this.on(observer);
@@ -291,13 +308,10 @@ class BasicObservableValue extends BasicObservable {
291
308
  constructor(value, handleError, asyncConfig) {
292
309
  super(handleError, asyncConfig);
293
310
  this.#value = value;
294
- this.on(this.#maybeResolve.bind(this));
311
+ const maybeResolve = this.#maybeResolve.bind(this);
312
+ Object.defineProperty(maybeResolve, observant, { value: false });
313
+ this.on(maybeResolve);
295
314
  }
296
- /**
297
- * The current value.
298
- *
299
- * This will resolve the promise interface but you must use {@link emit} to also emit an event..
300
- */
301
315
  get value() {
302
316
  return this.#value;
303
317
  }
@@ -349,6 +363,23 @@ class BasicObservableValue extends BasicObservable {
349
363
  catch(onrejected) {
350
364
  return this.then(void 0, onrejected);
351
365
  }
366
+ onError(handler) {
367
+ if (!this.#awaiters) {
368
+ this.#awaiters = [];
369
+ }
370
+ this.#awaiters?.push({ resolve: void 0, reject: handler });
371
+ }
372
+ offError(handler) {
373
+ this.#awaiters = this.#awaiters?.filter((awaiter) => awaiter.resolve === void 0 && awaiter.reject === handler);
374
+ }
375
+ useError(handler) {
376
+ this.onError(handler);
377
+ return {
378
+ [Symbol.dispose]: () => {
379
+ this.offError(handler);
380
+ }
381
+ };
382
+ }
352
383
  finally(onfinally) {
353
384
  return Promise.resolve(this).finally(onfinally);
354
385
  }
@@ -514,6 +545,9 @@ class ObserverGroup {
514
545
  this.#observers.clear();
515
546
  this.#boundObservers.clear();
516
547
  }
548
+ [Symbol.dispose]() {
549
+ this.close();
550
+ }
517
551
  }
518
552
  class QuietObservable extends BasicObservable {
519
553
  #emitAutomatically = QuietObservable.defaults.emitAutomatically;