TypeScript 97.6%
SQL 1.4%
JavaScript 0.5%
1import { parentPort, workerData } from "node:worker_threads";2import { simulate } from "@spinza/game-core";3import { RAW_GAMES } from "@spinza/games";45interface WorkerInput {6 slug: string;7 spins: number;8 bet: number;9 payScale: number;10 seed?: number;11}1213const input = workerData as WorkerInput;14const base = RAW_GAMES.find((g) => g.slug === input.slug);15if (!base) throw new Error(`unknown game ${input.slug}`);16const def = { ...base, payScale: input.payScale };17const result = simulate(def, {18 spins: input.spins,19 bet: input.bet,20 seed: input.seed,21 progressEvery: 100_000,22 onProgress: (done) => parentPort?.postMessage({ type: "progress", done }),23});24parentPort?.postMessage({ type: "done", result });25