@vielzeug/familiar 3.0.0 → 26.10.1
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/README.md +1 -1
- package/dist/_pool-core.cjs +1 -1
- package/dist/_pool-core.cjs.map +1 -1
- package/dist/_pool-core.d.ts +38 -18
- package/dist/_pool-core.d.ts.map +1 -1
- package/dist/_pool-core.js +1 -117
- package/dist/_pool-core.js.map +1 -1
- package/dist/_pool.cjs +1 -1
- package/dist/_pool.cjs.map +1 -1
- package/dist/_pool.d.ts +1 -1
- package/dist/_pool.d.ts.map +1 -1
- package/dist/_pool.js +1 -158
- package/dist/_pool.js.map +1 -1
- package/dist/_stream-pool.cjs +1 -1
- package/dist/_stream-pool.cjs.map +1 -1
- package/dist/_stream-pool.d.ts +8 -3
- package/dist/_stream-pool.d.ts.map +1 -1
- package/dist/_stream-pool.js +1 -117
- package/dist/_stream-pool.js.map +1 -1
- package/dist/_timers.cjs +1 -1
- package/dist/_timers.cjs.map +1 -1
- package/dist/_timers.js +1 -7
- package/dist/_timers.js.map +1 -1
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +0 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -33
- package/dist/errors.js.map +1 -1
- package/dist/familiar.cjs +1 -1
- package/dist/familiar.cjs.map +1 -1
- package/dist/familiar.iife.js +1 -1
- package/dist/familiar.iife.js.map +1 -1
- package/dist/familiar.js +1 -1
- package/dist/familiar.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/protocol.cjs +1 -1
- package/dist/protocol.cjs.map +1 -1
- package/dist/protocol.js +1 -78
- package/dist/protocol.js.map +1 -1
- package/dist/testing/testing.cjs +1 -1
- package/dist/testing/testing.cjs.map +1 -1
- package/dist/testing/testing.d.ts +1 -1
- package/dist/testing/testing.d.ts.map +1 -1
- package/dist/testing/testing.js +1 -76
- package/dist/testing/testing.js.map +1 -1
- package/dist/testing.js +1 -3
- package/dist/types.d.ts +16 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.cjs +1 -1
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.ts +0 -8
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +1 -189
- package/dist/worker.js.map +1 -1
- package/package.json +6 -6
- package/dist/_dev.cjs +0 -2
- package/dist/_dev.cjs.map +0 -1
- package/dist/_dev.d.ts +0 -2
- package/dist/_dev.d.ts.map +0 -1
- package/dist/_dev.js +0 -6
- package/dist/_dev.js.map +0 -1
- package/dist/_queue.cjs +0 -2
- package/dist/_queue.cjs.map +0 -1
- package/dist/_queue.d.ts +0 -19
- package/dist/_queue.d.ts.map +0 -1
- package/dist/_queue.js +0 -54
- package/dist/_queue.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vielzeug/familiar",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "26.10.1",
|
|
4
|
+
"description": "Web Worker pool with tasks, timeouts, cancellation",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/helmuthdu/vielzeug",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"verify:exports": "node verify-exports.mjs"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@vielzeug/arsenal": "
|
|
65
|
+
"@vielzeug/arsenal": "26.10.1"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@types/node": "^26.
|
|
68
|
+
"@types/node": "^26.6.2",
|
|
69
69
|
"typescript": "^6.0.3",
|
|
70
|
-
"vite": "^8.
|
|
71
|
-
"vitest": "^5.0.
|
|
70
|
+
"vite": "^8.3.0",
|
|
71
|
+
"vitest": "^5.0.1"
|
|
72
72
|
}
|
|
73
73
|
}
|
package/dist/_dev.cjs
DELETED
package/dist/_dev.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dev.cjs","names":[],"sources":["../src/_dev.ts"],"sourcesContent":["const isDev = !(globalThis as { __FAMILIAR_PROD__?: boolean }).__FAMILIAR_PROD__;\n\n/** @internal */\nexport function warn(msg: string): void {\n if (isDev) console.warn(`[@vielzeug/familiar] ${msg}`);\n}\n\n/** @internal — Run fn only in dev builds. Use when dev-only logic goes beyond a single warn() / error() call. */\nexport function devOnly(fn: () => void): void {\n if (isDev) fn();\n}\n"],"mappings":"AAGA,SAAgB,EAAK,EAAmB,CAExC"}
|
package/dist/_dev.d.ts
DELETED
package/dist/_dev.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dev.d.ts","sourceRoot":"","sources":["../src/_dev.ts"],"names":[],"mappings":""}
|
package/dist/_dev.js
DELETED
package/dist/_dev.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dev.js","names":[],"sources":["../src/_dev.ts"],"sourcesContent":["const isDev = !(globalThis as { __FAMILIAR_PROD__?: boolean }).__FAMILIAR_PROD__;\n\n/** @internal */\nexport function warn(msg: string): void {\n if (isDev) console.warn(`[@vielzeug/familiar] ${msg}`);\n}\n\n/** @internal — Run fn only in dev builds. Use when dev-only logic goes beyond a single warn() / error() call. */\nexport function devOnly(fn: () => void): void {\n if (isDev) fn();\n}\n"],"mappings":";AAGA,SAAgB,EAAK,GAAmB,CAExC"}
|
package/dist/_queue.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=class{#e=[];#t=0;#n=0;get size(){return this.#t}enqueue(e,t){return t!==void 0&&this.#t>=t?!1:(this.#e.push({item:e,sequence:this.#n++}),this.#a(this.#e.length-1),this.#t+=1,!0)}remove(e){let t=this.#e.findIndex(t=>t.item===e);if(t===-1)return!1;let n=this.#e.pop();if(--this.#t,t<this.#e.length){this.#e[t]=n;let e=t-1>>1;t>0&&this.#i(this.#e[t],this.#e[e])?this.#a(t):this.#o(t)}return!0}shift(){if(this.#e.length!==0)return--this.#t,this.#r().item}#r(){let e=this.#e[0],t=this.#e.pop();return this.#e.length>0&&(this.#e[0]=t,this.#o(0)),e}#i(e,t){return e.item.priority===t.item.priority?e.sequence<t.sequence:e.item.priority>t.item.priority}#a(e){for(;e>0;){let t=e-1>>1;if(!this.#i(this.#e[e],this.#e[t]))return;[this.#e[e],this.#e[t]]=[this.#e[t],this.#e[e]],e=t}}#o(e){for(;;){let t=e*2+1,n=t+1,r=e;if(t<this.#e.length&&this.#i(this.#e[t],this.#e[r])&&(r=t),n<this.#e.length&&this.#i(this.#e[n],this.#e[r])&&(r=n),r===e)return;[this.#e[e],this.#e[r]]=[this.#e[r],this.#e[e]],e=r}}};exports.TaskQueue=e;
|
|
2
|
-
//# sourceMappingURL=_queue.cjs.map
|
package/dist/_queue.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_queue.cjs","names":[],"sources":["../src/_queue.ts"],"sourcesContent":["export type QueueItem<TInput, TOutput> = {\n aborted?: boolean;\n cleanupAbort?: () => void;\n input: TInput;\n priority: number;\n reject: (reason: unknown) => void;\n resolve: (value: TOutput) => void;\n signal?: AbortSignal;\n timeout?: number;\n transferables: Transferable[];\n};\n\ntype Entry<TInput, TOutput> = { readonly item: QueueItem<TInput, TOutput>; readonly sequence: number };\n\nexport class TaskQueue<TInput, TOutput> {\n readonly #heap: Entry<TInput, TOutput>[] = [];\n #live = 0;\n #sequence = 0;\n\n get size(): number {\n return this.#live;\n }\n\n enqueue(item: QueueItem<TInput, TOutput>, maxSize: number | undefined): boolean {\n if (maxSize !== undefined && this.#live >= maxSize) return false;\n\n this.#heap.push({ item, sequence: this.#sequence++ });\n this.#siftUp(this.#heap.length - 1);\n this.#live += 1;\n\n return true;\n }\n\n remove(item: QueueItem<TInput, TOutput>): boolean {\n const index = this.#heap.findIndex((entry) => entry.item === item);\n if (index === -1) return false;\n\n const last = this.#heap.pop()!;\n this.#live -= 1;\n\n if (index < this.#heap.length) {\n this.#heap[index] = last;\n const parent = (index - 1) >> 1;\n if (index > 0 && this.#before(this.#heap[index]!, this.#heap[parent]!)) this.#siftUp(index);\n else this.#siftDown(index);\n }\n\n return true;\n }\n\n shift(): QueueItem<TInput, TOutput> | undefined {\n if (this.#heap.length === 0) return undefined;\n this.#live -= 1;\n return this.#extract().item;\n }\n\n #extract(): Entry<TInput, TOutput> {\n const top = this.#heap[0]!;\n const last = this.#heap.pop()!;\n\n if (this.#heap.length > 0) {\n this.#heap[0] = last;\n this.#siftDown(0);\n }\n\n return top;\n }\n\n #before(a: Entry<TInput, TOutput>, b: Entry<TInput, TOutput>): boolean {\n return a.item.priority === b.item.priority ? a.sequence < b.sequence : a.item.priority > b.item.priority;\n }\n\n #siftUp(index: number): void {\n while (index > 0) {\n const parent = (index - 1) >> 1;\n\n if (!this.#before(this.#heap[index]!, this.#heap[parent]!)) return;\n\n [this.#heap[index], this.#heap[parent]] = [this.#heap[parent]!, this.#heap[index]!];\n index = parent;\n }\n }\n\n #siftDown(index: number): void {\n for (;;) {\n const left = index * 2 + 1;\n const right = left + 1;\n let next = index;\n\n if (left < this.#heap.length && this.#before(this.#heap[left]!, this.#heap[next]!)) next = left;\n\n if (right < this.#heap.length && this.#before(this.#heap[right]!, this.#heap[next]!)) next = right;\n\n if (next === index) return;\n\n [this.#heap[index], this.#heap[next]] = [this.#heap[next]!, this.#heap[index]!];\n index = next;\n }\n }\n}\n"],"mappings":"AAcA,IAAa,EAAb,KAAwC,CACtC,GAA2C,CAAC,EAC5C,GAAQ,EACR,GAAY,EAEZ,IAAI,MAAe,CACjB,OAAO,KAAK,EACd,CAEA,QAAQ,EAAkC,EAAsC,CAO9E,OANI,IAAY,IAAA,IAAa,KAAK,IAAS,EAAgB,IAE3D,KAAK,GAAM,KAAK,CAAE,OAAM,SAAU,KAAK,IAAY,CAAC,EACpD,KAAK,GAAQ,KAAK,GAAM,OAAS,CAAC,EAClC,KAAK,IAAS,EAEP,GACT,CAEA,OAAO,EAA2C,CAChD,IAAM,EAAQ,KAAK,GAAM,UAAW,GAAU,EAAM,OAAS,CAAI,EACjE,GAAI,IAAU,GAAI,MAAO,GAEzB,IAAM,EAAO,KAAK,GAAM,IAAI,EAG5B,GAFA,OAAK,GAED,EAAQ,KAAK,GAAM,OAAQ,CAC7B,KAAK,GAAM,GAAS,EACpB,IAAM,EAAU,EAAQ,GAAM,EAC1B,EAAQ,GAAK,KAAK,GAAQ,KAAK,GAAM,GAAS,KAAK,GAAM,EAAQ,EAAG,KAAK,GAAQ,CAAK,EACrF,KAAK,GAAU,CAAK,CAC3B,CAEA,MAAO,EACT,CAEA,OAAgD,CAC1C,QAAK,GAAM,SAAW,EAE1B,MADA,OAAK,GACE,KAAK,GAAS,CAAC,CAAC,IACzB,CAEA,IAAmC,CACjC,IAAM,EAAM,KAAK,GAAM,GACjB,EAAO,KAAK,GAAM,IAAI,EAO5B,OALI,KAAK,GAAM,OAAS,IACtB,KAAK,GAAM,GAAK,EAChB,KAAK,GAAU,CAAC,GAGX,CACT,CAEA,GAAQ,EAA2B,EAAoC,CACrE,OAAO,EAAE,KAAK,WAAa,EAAE,KAAK,SAAW,EAAE,SAAW,EAAE,SAAW,EAAE,KAAK,SAAW,EAAE,KAAK,QAClG,CAEA,GAAQ,EAAqB,CAC3B,KAAO,EAAQ,GAAG,CAChB,IAAM,EAAU,EAAQ,GAAM,EAE9B,GAAI,CAAC,KAAK,GAAQ,KAAK,GAAM,GAAS,KAAK,GAAM,EAAQ,EAAG,OAE5D,CAAC,KAAK,GAAM,GAAQ,KAAK,GAAM,IAAW,CAAC,KAAK,GAAM,GAAU,KAAK,GAAM,EAAO,EAClF,EAAQ,CACV,CACF,CAEA,GAAU,EAAqB,CAC7B,OAAS,CACP,IAAM,EAAO,EAAQ,EAAI,EACnB,EAAQ,EAAO,EACjB,EAAO,EAMX,GAJI,EAAO,KAAK,GAAM,QAAU,KAAK,GAAQ,KAAK,GAAM,GAAQ,KAAK,GAAM,EAAM,IAAG,EAAO,GAEvF,EAAQ,KAAK,GAAM,QAAU,KAAK,GAAQ,KAAK,GAAM,GAAS,KAAK,GAAM,EAAM,IAAG,EAAO,GAEzF,IAAS,EAAO,OAEpB,CAAC,KAAK,GAAM,GAAQ,KAAK,GAAM,IAAS,CAAC,KAAK,GAAM,GAAQ,KAAK,GAAM,EAAO,EAC9E,EAAQ,CACV,CACF,CACF"}
|
package/dist/_queue.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type QueueItem<TInput, TOutput> = {
|
|
2
|
-
aborted?: boolean;
|
|
3
|
-
cleanupAbort?: () => void;
|
|
4
|
-
input: TInput;
|
|
5
|
-
priority: number;
|
|
6
|
-
reject: (reason: unknown) => void;
|
|
7
|
-
resolve: (value: TOutput) => void;
|
|
8
|
-
signal?: AbortSignal;
|
|
9
|
-
timeout?: number;
|
|
10
|
-
transferables: Transferable[];
|
|
11
|
-
};
|
|
12
|
-
export declare class TaskQueue<TInput, TOutput> {
|
|
13
|
-
#private;
|
|
14
|
-
get size(): number;
|
|
15
|
-
enqueue(item: QueueItem<TInput, TOutput>, maxSize: number | undefined): boolean;
|
|
16
|
-
remove(item: QueueItem<TInput, TOutput>): boolean;
|
|
17
|
-
shift(): QueueItem<TInput, TOutput> | undefined;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=_queue.d.ts.map
|
package/dist/_queue.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_queue.d.ts","sourceRoot":"","sources":["../src/_queue.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,IAAI;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAIF,qBAAa,SAAS,CAAC,MAAM,EAAE,OAAO;;IAKpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAU/E,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAiBjD,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;CAiDhD"}
|
package/dist/_queue.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
//#region src/_queue.ts
|
|
2
|
-
var e = class {
|
|
3
|
-
#e = [];
|
|
4
|
-
#t = 0;
|
|
5
|
-
#n = 0;
|
|
6
|
-
get size() {
|
|
7
|
-
return this.#t;
|
|
8
|
-
}
|
|
9
|
-
enqueue(e, t) {
|
|
10
|
-
return t !== void 0 && this.#t >= t ? !1 : (this.#e.push({
|
|
11
|
-
item: e,
|
|
12
|
-
sequence: this.#n++
|
|
13
|
-
}), this.#a(this.#e.length - 1), this.#t += 1, !0);
|
|
14
|
-
}
|
|
15
|
-
remove(e) {
|
|
16
|
-
let t = this.#e.findIndex((t) => t.item === e);
|
|
17
|
-
if (t === -1) return !1;
|
|
18
|
-
let n = this.#e.pop();
|
|
19
|
-
if (--this.#t, t < this.#e.length) {
|
|
20
|
-
this.#e[t] = n;
|
|
21
|
-
let e = t - 1 >> 1;
|
|
22
|
-
t > 0 && this.#i(this.#e[t], this.#e[e]) ? this.#a(t) : this.#o(t);
|
|
23
|
-
}
|
|
24
|
-
return !0;
|
|
25
|
-
}
|
|
26
|
-
shift() {
|
|
27
|
-
if (this.#e.length !== 0) return --this.#t, this.#r().item;
|
|
28
|
-
}
|
|
29
|
-
#r() {
|
|
30
|
-
let e = this.#e[0], t = this.#e.pop();
|
|
31
|
-
return this.#e.length > 0 && (this.#e[0] = t, this.#o(0)), e;
|
|
32
|
-
}
|
|
33
|
-
#i(e, t) {
|
|
34
|
-
return e.item.priority === t.item.priority ? e.sequence < t.sequence : e.item.priority > t.item.priority;
|
|
35
|
-
}
|
|
36
|
-
#a(e) {
|
|
37
|
-
for (; e > 0;) {
|
|
38
|
-
let t = e - 1 >> 1;
|
|
39
|
-
if (!this.#i(this.#e[e], this.#e[t])) return;
|
|
40
|
-
[this.#e[e], this.#e[t]] = [this.#e[t], this.#e[e]], e = t;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
#o(e) {
|
|
44
|
-
for (;;) {
|
|
45
|
-
let t = e * 2 + 1, n = t + 1, r = e;
|
|
46
|
-
if (t < this.#e.length && this.#i(this.#e[t], this.#e[r]) && (r = t), n < this.#e.length && this.#i(this.#e[n], this.#e[r]) && (r = n), r === e) return;
|
|
47
|
-
[this.#e[e], this.#e[r]] = [this.#e[r], this.#e[e]], e = r;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
//#endregion
|
|
52
|
-
export { e as TaskQueue };
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=_queue.js.map
|
package/dist/_queue.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_queue.js","names":[],"sources":["../src/_queue.ts"],"sourcesContent":["export type QueueItem<TInput, TOutput> = {\n aborted?: boolean;\n cleanupAbort?: () => void;\n input: TInput;\n priority: number;\n reject: (reason: unknown) => void;\n resolve: (value: TOutput) => void;\n signal?: AbortSignal;\n timeout?: number;\n transferables: Transferable[];\n};\n\ntype Entry<TInput, TOutput> = { readonly item: QueueItem<TInput, TOutput>; readonly sequence: number };\n\nexport class TaskQueue<TInput, TOutput> {\n readonly #heap: Entry<TInput, TOutput>[] = [];\n #live = 0;\n #sequence = 0;\n\n get size(): number {\n return this.#live;\n }\n\n enqueue(item: QueueItem<TInput, TOutput>, maxSize: number | undefined): boolean {\n if (maxSize !== undefined && this.#live >= maxSize) return false;\n\n this.#heap.push({ item, sequence: this.#sequence++ });\n this.#siftUp(this.#heap.length - 1);\n this.#live += 1;\n\n return true;\n }\n\n remove(item: QueueItem<TInput, TOutput>): boolean {\n const index = this.#heap.findIndex((entry) => entry.item === item);\n if (index === -1) return false;\n\n const last = this.#heap.pop()!;\n this.#live -= 1;\n\n if (index < this.#heap.length) {\n this.#heap[index] = last;\n const parent = (index - 1) >> 1;\n if (index > 0 && this.#before(this.#heap[index]!, this.#heap[parent]!)) this.#siftUp(index);\n else this.#siftDown(index);\n }\n\n return true;\n }\n\n shift(): QueueItem<TInput, TOutput> | undefined {\n if (this.#heap.length === 0) return undefined;\n this.#live -= 1;\n return this.#extract().item;\n }\n\n #extract(): Entry<TInput, TOutput> {\n const top = this.#heap[0]!;\n const last = this.#heap.pop()!;\n\n if (this.#heap.length > 0) {\n this.#heap[0] = last;\n this.#siftDown(0);\n }\n\n return top;\n }\n\n #before(a: Entry<TInput, TOutput>, b: Entry<TInput, TOutput>): boolean {\n return a.item.priority === b.item.priority ? a.sequence < b.sequence : a.item.priority > b.item.priority;\n }\n\n #siftUp(index: number): void {\n while (index > 0) {\n const parent = (index - 1) >> 1;\n\n if (!this.#before(this.#heap[index]!, this.#heap[parent]!)) return;\n\n [this.#heap[index], this.#heap[parent]] = [this.#heap[parent]!, this.#heap[index]!];\n index = parent;\n }\n }\n\n #siftDown(index: number): void {\n for (;;) {\n const left = index * 2 + 1;\n const right = left + 1;\n let next = index;\n\n if (left < this.#heap.length && this.#before(this.#heap[left]!, this.#heap[next]!)) next = left;\n\n if (right < this.#heap.length && this.#before(this.#heap[right]!, this.#heap[next]!)) next = right;\n\n if (next === index) return;\n\n [this.#heap[index], this.#heap[next]] = [this.#heap[next]!, this.#heap[index]!];\n index = next;\n }\n }\n}\n"],"mappings":";AAcA,IAAa,IAAb,MAAwC;CACtC,KAA2C,CAAC;CAC5C,KAAQ;CACR,KAAY;CAEZ,IAAI,OAAe;EACjB,OAAO,KAAK;CACd;CAEA,QAAQ,GAAkC,GAAsC;EAO9E,OANI,MAAY,KAAA,KAAa,KAAK,MAAS,IAAgB,MAE3D,KAAK,GAAM,KAAK;GAAE;GAAM,UAAU,KAAK;EAAY,CAAC,GACpD,KAAK,GAAQ,KAAK,GAAM,SAAS,CAAC,GAClC,KAAK,MAAS,GAEP;CACT;CAEA,OAAO,GAA2C;EAChD,IAAM,IAAQ,KAAK,GAAM,WAAW,MAAU,EAAM,SAAS,CAAI;EACjE,IAAI,MAAU,IAAI,OAAO;EAEzB,IAAM,IAAO,KAAK,GAAM,IAAI;EAG5B,IAFA,OAAK,IAED,IAAQ,KAAK,GAAM,QAAQ;GAC7B,KAAK,GAAM,KAAS;GACpB,IAAM,IAAU,IAAQ,KAAM;GAC9B,AAAI,IAAQ,KAAK,KAAK,GAAQ,KAAK,GAAM,IAAS,KAAK,GAAM,EAAQ,IAAG,KAAK,GAAQ,CAAK,IACrF,KAAK,GAAU,CAAK;EAC3B;EAEA,OAAO;CACT;CAEA,QAAgD;EAC1C,SAAK,GAAM,WAAW,GAE1B,OADA,OAAK,IACE,KAAK,GAAS,CAAC,CAAC;CACzB;CAEA,KAAmC;EACjC,IAAM,IAAM,KAAK,GAAM,IACjB,IAAO,KAAK,GAAM,IAAI;EAO5B,OALI,KAAK,GAAM,SAAS,MACtB,KAAK,GAAM,KAAK,GAChB,KAAK,GAAU,CAAC,IAGX;CACT;CAEA,GAAQ,GAA2B,GAAoC;EACrE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK;CAClG;CAEA,GAAQ,GAAqB;EAC3B,OAAO,IAAQ,IAAG;GAChB,IAAM,IAAU,IAAQ,KAAM;GAE9B,IAAI,CAAC,KAAK,GAAQ,KAAK,GAAM,IAAS,KAAK,GAAM,EAAQ,GAAG;GAG5D,AADA,CAAC,KAAK,GAAM,IAAQ,KAAK,GAAM,MAAW,CAAC,KAAK,GAAM,IAAU,KAAK,GAAM,EAAO,GAClF,IAAQ;EACV;CACF;CAEA,GAAU,GAAqB;EAC7B,SAAS;GACP,IAAM,IAAO,IAAQ,IAAI,GACnB,IAAQ,IAAO,GACjB,IAAO;GAMX,IAJI,IAAO,KAAK,GAAM,UAAU,KAAK,GAAQ,KAAK,GAAM,IAAQ,KAAK,GAAM,EAAM,MAAG,IAAO,IAEvF,IAAQ,KAAK,GAAM,UAAU,KAAK,GAAQ,KAAK,GAAM,IAAS,KAAK,GAAM,EAAM,MAAG,IAAO,IAEzF,MAAS,GAAO;GAGpB,AADA,CAAC,KAAK,GAAM,IAAQ,KAAK,GAAM,MAAS,CAAC,KAAK,GAAM,IAAQ,KAAK,GAAM,EAAO,GAC9E,IAAQ;EACV;CACF;AACF"}
|