More work on calc config

This commit is contained in:
Dominic Ferrando
2026-07-04 02:13:02 -04:00
parent 1da9795d84
commit f85225e08f
6 changed files with 39 additions and 96 deletions
+6 -5
View File
@@ -12,10 +12,10 @@ import {
} from "@blade-and-brawn/domain";
import { levenbergMarquardt as LM } from "ml-levenberg-marquardt";
import { Type, type Static } from "@sinclair/typebox";
import { Value } from "@sinclair/typebox/value";
import defaultConfig from "./config.json" with { type: "json" };
import defaultStandardsJson from "./data/default-standards.json" with { type: "json" };
import defaultConfig from "./default-config.json" with { type: "json" };
import defaultStandardsData from "./data/default-standards.json" with { type: "json" };
import { getAvgWeight } from "./avg-weights";
import { Value } from "@sinclair/typebox/value";
// SOURCES
// Squat, Bench, Dead Lift:
@@ -64,7 +64,7 @@ const metricPriority = (m: NumberMetric) => {
return 2;
};
export const DEFAULT_STANDARDS_DATA = defaultStandardsJson as StandardsData;
export const DEFAULT_STANDARDS_DATA = defaultStandardsData as StandardsData;
export class LevelCalculator {
readonly standards: Standards;
@@ -240,7 +240,8 @@ export class Standards {
private standardsData: StandardsData;
constructor(standardsData: StandardsData, cfg?: Partial<StandardsConfig>) {
this.cfg = Object.assign(defaultConfig, cfg);
Value.Assert(StandardsConfigSchema, defaultConfig);
this.cfg = Object.assign({}, defaultConfig, cfg);
// prepare data
this.standardsData = structuredClone(standardsData);