Remove standards config fallback and implement caching

This commit is contained in:
Dominic Ferrando
2026-07-06 11:42:12 -04:00
parent 49f4f209a6
commit 756e4f86d9
10 changed files with 95 additions and 5476 deletions
+4 -2
View File
@@ -1,10 +1,12 @@
import {
type Levels,
FALLBACK_STANDARDS_CONFIG,
} from "@blade-and-brawn/calculator";
import { Activity, clamp, Gender, range } from "@blade-and-brawn/domain";
import { levenbergMarquardt as LM } from "ml-levenberg-marquardt";
import { CalculatorService } from "../services/calculator";
const calculator = new CalculatorService();
const standardsConfig = await calculator.Standards.Config.get();
for (const activity of Object.values(Activity)) {
const DATASET_MAX_LEVEL = 5;
const NEW_LEVEL_COUNT = 2;
@@ -15,7 +17,7 @@ for (const activity of Object.values(Activity)) {
}
for (const gender of Object.values(Gender)) {
const standardsByGender = FALLBACK_STANDARDS_CONFIG.data[
const standardsByGender = standardsConfig.data[
activity
].standards.filter((s) => s["metrics"].gender === gender);
const ages = [...new Set(standardsByGender.map((s) => s.metrics.age))];