fix(perf): finalize exact worker capture safely

This commit is contained in:
4gray committed 2026-07-27 02:15:59 +02:00
1 parent d3fdbaa2ef
commit 554eecfee0
23 files changed
+2685 -181

No files matched your search

@@ -0,0 +1,24 @@
export interface WorkerTerminationGenerationInput {
readonly capturedGeneration: number | null;
readonly currentGeneration: number;
readonly recordGeneration: number | null;
}
export interface WorkerTerminationGenerationApi {
isCurrent(input: WorkerTerminationGenerationInput): boolean;
}
export function createWorkerTerminationGenerationApi(): WorkerTerminationGenerationApi {
const isCaptureGeneration = (value: number | null): value is number =>
Number.isSafeInteger(value) && Number(value) > 0;
return Object.freeze({
isCurrent(input: WorkerTerminationGenerationInput): boolean {
return (
isCaptureGeneration(input.capturedGeneration) &&
input.capturedGeneration === input.currentGeneration &&
input.capturedGeneration === input.recordGeneration
);
},
});
}