@matter/general 0.16.1 → 0.16.2-alpha.0-20260114-b38c6b796
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/cjs/net/Network.d.ts +2 -0
- package/dist/cjs/net/Network.d.ts.map +1 -1
- package/dist/cjs/net/Network.js +3 -0
- package/dist/cjs/net/Network.js.map +1 -1
- package/dist/cjs/net/RetrySchedule.d.ts +1 -1
- package/dist/cjs/net/ServerAddress.d.ts +52 -14
- package/dist/cjs/net/ServerAddress.d.ts.map +1 -1
- package/dist/cjs/net/ServerAddress.js +41 -6
- package/dist/cjs/net/ServerAddress.js.map +2 -2
- package/dist/cjs/net/ServerAddressSet.d.ts +65 -0
- package/dist/cjs/net/ServerAddressSet.d.ts.map +1 -0
- package/dist/cjs/net/ServerAddressSet.js +144 -0
- package/dist/cjs/net/ServerAddressSet.js.map +6 -0
- package/dist/cjs/net/dns-sd/MdnsSocket.d.ts +40 -0
- package/dist/cjs/net/dns-sd/MdnsSocket.d.ts.map +1 -0
- package/dist/cjs/net/dns-sd/MdnsSocket.js +164 -0
- package/dist/cjs/net/dns-sd/MdnsSocket.js.map +6 -0
- package/dist/cjs/net/dns-sd/index.d.ts +7 -0
- package/dist/cjs/net/dns-sd/index.d.ts.map +1 -0
- package/dist/cjs/net/dns-sd/index.js +24 -0
- package/dist/cjs/net/dns-sd/index.js.map +6 -0
- package/dist/cjs/net/index.d.ts +2 -0
- package/dist/cjs/net/index.d.ts.map +1 -1
- package/dist/cjs/net/index.js +2 -0
- package/dist/cjs/net/index.js.map +1 -1
- package/dist/cjs/time/TimeUnit.d.ts +4 -0
- package/dist/cjs/time/TimeUnit.d.ts.map +1 -1
- package/dist/cjs/time/TimeUnit.js +2 -0
- package/dist/cjs/time/TimeUnit.js.map +1 -1
- package/dist/cjs/time/Timestamp.d.ts +1 -1
- package/dist/cjs/time/Timestamp.d.ts.map +1 -1
- package/dist/cjs/time/Timestamp.js +1 -1
- package/dist/cjs/time/Timestamp.js.map +1 -1
- package/dist/cjs/util/Abort.d.ts +9 -0
- package/dist/cjs/util/Abort.d.ts.map +1 -1
- package/dist/cjs/util/Abort.js +20 -0
- package/dist/cjs/util/Abort.js.map +1 -1
- package/dist/cjs/util/Heap.d.ts +84 -0
- package/dist/cjs/util/Heap.d.ts.map +1 -0
- package/dist/cjs/util/Heap.js +286 -0
- package/dist/cjs/util/Heap.js.map +6 -0
- package/dist/cjs/util/Observable.d.ts +29 -6
- package/dist/cjs/util/Observable.d.ts.map +1 -1
- package/dist/cjs/util/Observable.js +40 -6
- package/dist/cjs/util/Observable.js.map +1 -1
- package/dist/cjs/util/Promises.d.ts +3 -0
- package/dist/cjs/util/Promises.d.ts.map +1 -1
- package/dist/cjs/util/Promises.js +33 -3
- package/dist/cjs/util/Promises.js.map +2 -2
- package/dist/cjs/util/Scheduler.d.ts +68 -0
- package/dist/cjs/util/Scheduler.d.ts.map +1 -0
- package/dist/cjs/util/Scheduler.js +207 -0
- package/dist/cjs/util/Scheduler.js.map +6 -0
- package/dist/cjs/util/Semaphore.d.ts +0 -4
- package/dist/cjs/util/Semaphore.d.ts.map +1 -1
- package/dist/cjs/util/Semaphore.js.map +1 -1
- package/dist/cjs/util/Set.d.ts.map +1 -1
- package/dist/cjs/util/Set.js +14 -8
- package/dist/cjs/util/Set.js.map +1 -1
- package/dist/cjs/util/index.d.ts +2 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +2 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/esm/net/Network.d.ts +2 -0
- package/dist/esm/net/Network.d.ts.map +1 -1
- package/dist/esm/net/Network.js +3 -0
- package/dist/esm/net/Network.js.map +1 -1
- package/dist/esm/net/RetrySchedule.d.ts +1 -1
- package/dist/esm/net/ServerAddress.d.ts +52 -14
- package/dist/esm/net/ServerAddress.d.ts.map +1 -1
- package/dist/esm/net/ServerAddress.js +41 -6
- package/dist/esm/net/ServerAddress.js.map +2 -2
- package/dist/esm/net/ServerAddressSet.d.ts +65 -0
- package/dist/esm/net/ServerAddressSet.d.ts.map +1 -0
- package/dist/esm/net/ServerAddressSet.js +124 -0
- package/dist/esm/net/ServerAddressSet.js.map +6 -0
- package/dist/esm/net/dns-sd/MdnsSocket.d.ts +40 -0
- package/dist/esm/net/dns-sd/MdnsSocket.d.ts.map +1 -0
- package/dist/esm/net/dns-sd/MdnsSocket.js +149 -0
- package/dist/esm/net/dns-sd/MdnsSocket.js.map +6 -0
- package/dist/esm/net/dns-sd/index.d.ts +7 -0
- package/dist/esm/net/dns-sd/index.d.ts.map +1 -0
- package/dist/esm/net/dns-sd/index.js +7 -0
- package/dist/esm/net/dns-sd/index.js.map +6 -0
- package/dist/esm/net/index.d.ts +2 -0
- package/dist/esm/net/index.d.ts.map +1 -1
- package/dist/esm/net/index.js +2 -0
- package/dist/esm/net/index.js.map +1 -1
- package/dist/esm/time/TimeUnit.d.ts +4 -0
- package/dist/esm/time/TimeUnit.d.ts.map +1 -1
- package/dist/esm/time/TimeUnit.js +2 -0
- package/dist/esm/time/TimeUnit.js.map +1 -1
- package/dist/esm/time/Timestamp.d.ts +1 -1
- package/dist/esm/time/Timestamp.d.ts.map +1 -1
- package/dist/esm/time/Timestamp.js +1 -1
- package/dist/esm/time/Timestamp.js.map +1 -1
- package/dist/esm/util/Abort.d.ts +9 -0
- package/dist/esm/util/Abort.d.ts.map +1 -1
- package/dist/esm/util/Abort.js +20 -0
- package/dist/esm/util/Abort.js.map +1 -1
- package/dist/esm/util/Heap.d.ts +84 -0
- package/dist/esm/util/Heap.d.ts.map +1 -0
- package/dist/esm/util/Heap.js +266 -0
- package/dist/esm/util/Heap.js.map +6 -0
- package/dist/esm/util/Observable.d.ts +29 -6
- package/dist/esm/util/Observable.d.ts.map +1 -1
- package/dist/esm/util/Observable.js +40 -6
- package/dist/esm/util/Observable.js.map +1 -1
- package/dist/esm/util/Promises.d.ts +3 -0
- package/dist/esm/util/Promises.d.ts.map +1 -1
- package/dist/esm/util/Promises.js +33 -3
- package/dist/esm/util/Promises.js.map +2 -2
- package/dist/esm/util/Scheduler.d.ts +68 -0
- package/dist/esm/util/Scheduler.d.ts.map +1 -0
- package/dist/esm/util/Scheduler.js +187 -0
- package/dist/esm/util/Scheduler.js.map +6 -0
- package/dist/esm/util/Semaphore.d.ts +0 -4
- package/dist/esm/util/Semaphore.d.ts.map +1 -1
- package/dist/esm/util/Semaphore.js.map +1 -1
- package/dist/esm/util/Set.d.ts.map +1 -1
- package/dist/esm/util/Set.js +14 -8
- package/dist/esm/util/Set.js.map +1 -1
- package/dist/esm/util/index.d.ts +2 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +2 -0
- package/dist/esm/util/index.js.map +1 -1
- package/package.json +2 -2
- package/src/net/Network.ts +2 -0
- package/src/net/RetrySchedule.ts +1 -1
- package/src/net/ServerAddress.ts +93 -19
- package/src/net/ServerAddressSet.ts +225 -0
- package/src/net/dns-sd/MdnsSocket.ts +203 -0
- package/src/net/dns-sd/index.ts +7 -0
- package/src/net/index.ts +2 -0
- package/src/time/TimeUnit.ts +5 -0
- package/src/time/Timestamp.ts +1 -1
- package/src/util/Abort.ts +25 -0
- package/src/util/Heap.ts +332 -0
- package/src/util/Observable.ts +74 -10
- package/src/util/Promises.ts +61 -4
- package/src/util/Scheduler.ts +185 -0
- package/src/util/Semaphore.ts +0 -5
- package/src/util/Set.ts +15 -8
- package/src/util/index.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeUnit.d.ts","sourceRoot":"","sources":["../../../src/time/TimeUnit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAEvB;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnG;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAE7G;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC,MAAM,EAAE,KAAK,CAAC;CACjB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,KAAY,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CAC3F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAS,CAAC,GAAG,QAAQ,GAAG,CAAC,CA8BhH;AA0BD;;GAEG;AACH,eAAO,MAAM,YAAY,UAAuC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,MAAM,UAAmC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAiC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAkC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,KAAK,UAAmC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,IAAI,UAAmC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"TimeUnit.d.ts","sourceRoot":"","sources":["../../../src/time/TimeUnit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAEvB;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnG;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAE7G;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC,MAAM,EAAE,KAAK,CAAC;CACjB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,KAAY,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CAC3F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAS,CAAC,GAAG,QAAQ,GAAG,CAAC,CA8BhH;AA0BD;;GAEG;AACH,eAAO,MAAM,YAAY,UAAuC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,MAAM,UAAmC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAiC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAkC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,KAAK,UAAmC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,IAAI,UAAmC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAY,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,UAAmB,CAAC"}
|
|
@@ -56,8 +56,10 @@ const Minutes = TimeUnit("minute", "m", 6e4);
|
|
|
56
56
|
const Hours = TimeUnit("hour", "h", 36e5);
|
|
57
57
|
const Days = TimeUnit("day", "d", 864e5);
|
|
58
58
|
const Instant = Millis(0);
|
|
59
|
+
const Forever = Millis(Infinity);
|
|
59
60
|
export {
|
|
60
61
|
Days,
|
|
62
|
+
Forever,
|
|
61
63
|
Hours,
|
|
62
64
|
Instant,
|
|
63
65
|
Microseconds,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/TimeUnit.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,8BAA8B;AAiEhC,SAAS,SAAiB,MAAqB,QAAgB,KAAa,QAAQ,CAAC,GAAsB;AAC9G,QAAM,OAAO;AAAA,IACT,CAAC,IAAI,GAAG,CAAC,UAAuC;AAC5C,UAAI,UAAU,QAAW;AACrB,eAAO;AAAA,MACX;AACA,UAAI,OAAO,UAAU,UAAU;AAC3B,gBAAQ,OAAO,KAAK;AAAA,MACxB;AACA,aAAQ,QAAQ;AAAA,IACpB;AAAA,EACJ,EAAE,IAAI;AAGN,SAAO,OAAO,MAAM;AAAA,IAChB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACd,CAAC;AAED,yBAAuB,MAAM,MAAM;AAEnC,SAAO;AACX;AAEA,SAAS,GAAmB,UAAoB;AAC5C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG;AACzC;AAEA,SAAS,aAA6B,UAAoB;AACtD,SAAO,WAAW,KAAK;AAC3B;AAEA,SAAS,KAAqB,UAAoB;AAC9C,SAAO,KAAK,KAAK,WAAW,KAAK,GAAG,IAAI,KAAK;AACjD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,SAAuB;AAC5B,SAAO,KAAK;AAChB;AAKO,MAAM,eAAe,SAAS,eAAe,WAAM,IAAK;AAKxD,MAAM,SAAS,SAAS,eAAe,MAAM,CAAC;AAK9C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAK;AAK7C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAM;AAK9C,MAAM,QAAQ,SAAS,QAAQ,KAAK,IAAS;AAK7C,MAAM,OAAO,SAAS,OAAO,KAAK,KAAU;AAK5C,MAAM,UAAU,OAAO,CAAC;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,8BAA8B;AAiEhC,SAAS,SAAiB,MAAqB,QAAgB,KAAa,QAAQ,CAAC,GAAsB;AAC9G,QAAM,OAAO;AAAA,IACT,CAAC,IAAI,GAAG,CAAC,UAAuC;AAC5C,UAAI,UAAU,QAAW;AACrB,eAAO;AAAA,MACX;AACA,UAAI,OAAO,UAAU,UAAU;AAC3B,gBAAQ,OAAO,KAAK;AAAA,MACxB;AACA,aAAQ,QAAQ;AAAA,IACpB;AAAA,EACJ,EAAE,IAAI;AAGN,SAAO,OAAO,MAAM;AAAA,IAChB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACd,CAAC;AAED,yBAAuB,MAAM,MAAM;AAEnC,SAAO;AACX;AAEA,SAAS,GAAmB,UAAoB;AAC5C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG;AACzC;AAEA,SAAS,aAA6B,UAAoB;AACtD,SAAO,WAAW,KAAK;AAC3B;AAEA,SAAS,KAAqB,UAAoB;AAC9C,SAAO,KAAK,KAAK,WAAW,KAAK,GAAG,IAAI,KAAK;AACjD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,SAAuB;AAC5B,SAAO,KAAK;AAChB;AAKO,MAAM,eAAe,SAAS,eAAe,WAAM,IAAK;AAKxD,MAAM,SAAS,SAAS,eAAe,MAAM,CAAC;AAK9C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAK;AAK7C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAM;AAK9C,MAAM,QAAQ,SAAS,QAAQ,KAAK,IAAS;AAK7C,MAAM,OAAO,SAAS,OAAO,KAAK,KAAU;AAK5C,MAAM,UAAU,OAAO,CAAC;AAKxB,MAAM,UAAU,OAAO,QAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -47,6 +47,6 @@ export declare namespace Timestamp {
|
|
|
47
47
|
/**
|
|
48
48
|
* Compute the duration between two timestamps.
|
|
49
49
|
*/
|
|
50
|
-
function delta(from: Timestamp, to
|
|
50
|
+
function delta(from: Timestamp, to?: Timestamp): Duration;
|
|
51
51
|
}
|
|
52
52
|
//# sourceMappingURL=Timestamp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/time/Timestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAC,UAAU,EAChE,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CA4BzD;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,aAKvD;IAED;;OAEG;IACI,MAAM,IAAI,WAAe,CAAC;IAEjC;;OAEG;IACH,SAAgB,MAAM,CAAC,SAAS,EAAE,SAAS,QAE1C;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/time/Timestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAC,UAAU,EAChE,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CA4BzD;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,aAKvD;IAED;;OAEG;IACI,MAAM,IAAI,WAAe,CAAC;IAEjC;;OAEG;IACH,SAAgB,MAAM,CAAC,SAAS,EAAE,SAAS,QAE1C;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAE,SAAsB,GACvC,QAAQ,CACjC;CACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/Timestamp.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAGpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,GAAG;AAClC,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,GAAG;AACpC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,qBAAqB,qCAAqC;AAAA,IACxE;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAOT,WAAS,MAAM,MAAiB,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAGpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,GAAG;AAClC,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,GAAG;AACpC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,qBAAqB,qCAAqC;AAAA,IACxE;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAOT,WAAS,MAAM,MAAiB,KAAgB,KAAK,OAAO;AAC/D,WAAQ,KAAK;AAAA,EACjB;AAFO,EAAAA,WAAS;AAAA,GAtCH;",
|
|
5
5
|
"names": ["Timestamp"]
|
|
6
6
|
}
|
package/dist/esm/util/Abort.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export declare class Abort extends Callable<[reason?: Error]> implements AbortCo
|
|
|
28
28
|
* If aborted returns undefined.
|
|
29
29
|
*/
|
|
30
30
|
race<T>(...promises: Array<T | PromiseLike<T>>): Promise<Awaited<T> | void>;
|
|
31
|
+
/**
|
|
32
|
+
* Race with throw on abort.
|
|
33
|
+
*/
|
|
34
|
+
attempt<T>(...promises: Array<T | PromiseLike<T>>): Promise<T>;
|
|
31
35
|
/**
|
|
32
36
|
* Free resources.
|
|
33
37
|
*
|
|
@@ -36,6 +40,7 @@ export declare class Abort extends Callable<[reason?: Error]> implements AbortCo
|
|
|
36
40
|
*/
|
|
37
41
|
close(): void;
|
|
38
42
|
[Symbol.dispose](): void;
|
|
43
|
+
if(condition?: unknown, reason?: Error): void;
|
|
39
44
|
get aborted(): boolean;
|
|
40
45
|
set onabort(onabort: ((this: AbortSignal, ev: Event) => any) | null);
|
|
41
46
|
get onabort(): ((this: AbortSignal, ev: Event) => any) | null;
|
|
@@ -91,6 +96,10 @@ export declare namespace Abort {
|
|
|
91
96
|
* abort reason.
|
|
92
97
|
*/
|
|
93
98
|
function race<T>(signal: Signal | undefined, ...promises: Array<T | PromiseLike<T>>): Promise<Awaited<T> | void>;
|
|
99
|
+
/**
|
|
100
|
+
* Race with throw on abort.
|
|
101
|
+
*/
|
|
102
|
+
function attempt<T>(signal: Signal | undefined, ...promises: Array<T | PromiseLike<T>>): Promise<T>;
|
|
94
103
|
/**
|
|
95
104
|
* Perform abortable sleep.
|
|
96
105
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Abort.d.ts","sourceRoot":"","sources":["../../../src/util/Abort.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Abort.d.ts","sourceRoot":"","sources":["../../../src/util/Abort.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/util/Abort.js
CHANGED
|
@@ -64,6 +64,12 @@ class Abort extends Callable {
|
|
|
64
64
|
async race(...promises) {
|
|
65
65
|
return Abort.race(this, ...promises);
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Race with throw on abort.
|
|
69
|
+
*/
|
|
70
|
+
async attempt(...promises) {
|
|
71
|
+
return Abort.attempt(this, ...promises);
|
|
72
|
+
}
|
|
67
73
|
/**
|
|
68
74
|
* Free resources.
|
|
69
75
|
*
|
|
@@ -81,6 +87,11 @@ class Abort extends Callable {
|
|
|
81
87
|
[Symbol.dispose]() {
|
|
82
88
|
this.close();
|
|
83
89
|
}
|
|
90
|
+
if(condition, reason) {
|
|
91
|
+
if (condition) {
|
|
92
|
+
this.abort(reason);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
84
95
|
get aborted() {
|
|
85
96
|
return this.signal.aborted;
|
|
86
97
|
}
|
|
@@ -143,6 +154,15 @@ class Abort extends Callable {
|
|
|
143
154
|
return SafePromise.race(promises);
|
|
144
155
|
}
|
|
145
156
|
Abort2.race = race;
|
|
157
|
+
async function attempt(signal, ...promises) {
|
|
158
|
+
if (signal && "signal" in signal) {
|
|
159
|
+
signal = signal.signal;
|
|
160
|
+
}
|
|
161
|
+
const result = await race(signal, ...promises);
|
|
162
|
+
signal?.throwIfAborted();
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
Abort2.attempt = attempt;
|
|
146
166
|
function sleep(description, abort, duration) {
|
|
147
167
|
let timer;
|
|
148
168
|
const rested = new Promise((resolve) => {
|
|
@@ -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,
|
|
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}.
|