From b107b48d8177d5c667bf63eac7edf0997cac9181 Mon Sep 17 00:00:00 2001 From: JackAttack-365 <142643773+jackattack-4@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:26:09 -0800 Subject: [PATCH 1/3] round literally all analysis outputs to two decimal places --- src/handler/analysis/analysisFunction.ts | 25 +++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/handler/analysis/analysisFunction.ts b/src/handler/analysis/analysisFunction.ts index 2f9ac89e..af10b887 100644 --- a/src/handler/analysis/analysisFunction.ts +++ b/src/handler/analysis/analysisFunction.ts @@ -41,8 +41,22 @@ export async function runAnalysis( }, }; + const roundAllNumbers = (val: any): any => { + if (val === null || val === undefined) return val; + if (typeof val === "number") return Math.round(val * 100) / 100; + if (Array.isArray(val)) return val.map(roundAllNumbers); + if (typeof val === "object") { + const out: Record = {}; + for (const k of Object.keys(val)) out[k] = roundAllNumbers(val[k]); + return out; + } + return val; + }; + if (!config.shouldCache) { - return await config.calculateAnalysis(passedArgs, context); + const fresh = await config.calculateAnalysis(passedArgs, context); + const rounded = roundAllNumbers(fresh); + return rounded as z.infer; } const { @@ -63,8 +77,9 @@ export async function runAnalysis( if (!cacheRow) { const result = await config.calculateAnalysis(passedArgs, context); + const rounded = roundAllNumbers(result); - await kv.set(key, JSON.stringify(result)); + await kv.set(key, JSON.stringify(rounded)); await prismaClient.cachedAnalysis.create({ data: { key, @@ -72,7 +87,11 @@ export async function runAnalysis( tournamentDependencies: tournamentDependencies ?? [], }, }); - return result; + + console.log(result) + console.log(rounded) + + return rounded as z.infer; } const parsed = JSON.parse(cacheRow.toString()); From 313230ff4e580d184ebf5b5fcd26b2f0ea2583b5 Mon Sep 17 00:00:00 2001 From: jackattack-4 <142643773+jackattack-4@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:30:30 -0800 Subject: [PATCH 2/3] Update src/handler/analysis/analysisFunction.ts oops lol Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/handler/analysis/analysisFunction.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/handler/analysis/analysisFunction.ts b/src/handler/analysis/analysisFunction.ts index af10b887..04b1a889 100644 --- a/src/handler/analysis/analysisFunction.ts +++ b/src/handler/analysis/analysisFunction.ts @@ -88,9 +88,6 @@ export async function runAnalysis( }, }); - console.log(result) - console.log(rounded) - return rounded as z.infer; } From 848c4c8799548567ae0b1355e1d4a8327a5e2cd2 Mon Sep 17 00:00:00 2001 From: JackAttack-365 <142643773+jackattack-4@users.noreply.github.com> Date: Thu, 8 Jan 2026 16:29:54 -0800 Subject: [PATCH 3/3] implement suggestions --- src/handler/analysis/analysisFunction.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/handler/analysis/analysisFunction.ts b/src/handler/analysis/analysisFunction.ts index 04b1a889..9956eefb 100644 --- a/src/handler/analysis/analysisFunction.ts +++ b/src/handler/analysis/analysisFunction.ts @@ -41,22 +41,24 @@ export async function runAnalysis( }, }; - const roundAllNumbers = (val: any): any => { + const roundAllNumbers = (val: T): T => { if (val === null || val === undefined) return val; - if (typeof val === "number") return Math.round(val * 100) / 100; - if (Array.isArray(val)) return val.map(roundAllNumbers); + if (typeof val === "number") return Math.round(val * 100) / 100 as T; + if (Array.isArray(val)) return val.map(roundAllNumbers) as T; if (typeof val === "object") { - const out: Record = {}; - for (const k of Object.keys(val)) out[k] = roundAllNumbers(val[k]); - return out; + const out: Record = {}; + for (const k of Object.keys(val as Record)) { + out[k] = roundAllNumbers((val as Record)[k]); + } + return out as T; } - return val; + return val as T; }; if (!config.shouldCache) { const fresh = await config.calculateAnalysis(passedArgs, context); const rounded = roundAllNumbers(fresh); - return rounded as z.infer; + return rounded; } const {