Files
snort/packages/system/src/pow-worker.ts
2023-08-18 00:35:48 +01:00

22 lines
451 B
TypeScript

/// <reference lib="webworker" />
import { minePow, NostrPowEvent } from "./pow-util";
export interface PowWorkerMessage {
id: string;
cmd: "req" | "rsp";
event: NostrPowEvent;
target: number;
}
globalThis.onmessage = ev => {
const data = ev.data as PowWorkerMessage;
if (data.cmd === "req") {
queueMicrotask(() => {
minePow(data.event, data.target);
data.cmd = "rsp";
globalThis.postMessage(data);
});
}
};