From 6dd0f9333cf2cd12421c2b6d3b560e84190ca099 Mon Sep 17 00:00:00 2001 From: Dominic Ferrando Date: Tue, 16 Sep 2025 00:26:49 -0400 Subject: [PATCH] more --- calculator/calc.ts | 14 ++++++++++++-- data/standards.json | 25 +++++++++++++++++++------ 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/calculator/calc.ts b/calculator/calc.ts index e8e0da2..6adc06f 100644 --- a/calculator/calc.ts +++ b/calculator/calc.ts @@ -28,14 +28,24 @@ export interface Metrics { gender: Gender; }; +type DataMetric = Extract; + export interface Standard { metrics: Metrics; levels: Levels; } +type StandardsGeneratorOptions = { + metric: DataMetric, + spread: number, + step: number, + ratio: "normal" | "inverse" +} + export type ActivityStandards = Record; @@ -269,7 +279,7 @@ export class Standards { getOne: function() { return execMethods.getAll()[0]; }, - getNearest(metric: "age" | "weight", target: number) { + getNearest(metric: DataMetric, target: number) { const standards = execMethods.getAll(); const lower = [...standards] .sort((a, b) => a.metrics[metric] - b.metrics[metric]) diff --git a/data/standards.json b/data/standards.json index b03d0fc..396c239 100644 --- a/data/standards.json +++ b/data/standards.json @@ -1,7 +1,8 @@ { "BackSquat": { "metadata": { - "attribute": "Strength" + "attribute": "Strength", + "standardsGeneratorOptions": [] }, "standards": [ { @@ -1576,7 +1577,8 @@ }, "Deadlift": { "metadata": { - "attribute": "Strength" + "attribute": "Strength", + "standardsGeneratorOptions": [] }, "standards": [ { @@ -3151,7 +3153,8 @@ }, "BenchPress": { "metadata": { - "attribute": "Strength" + "attribute": "Strength", + "standardsGeneratorOptions": [] }, "standards": [ { @@ -4726,7 +4729,15 @@ }, "Run": { "metadata": { - "attribute": "Endurance" + "attribute": "Endurance", + "standardsGeneratorOptions": [ + { + "metric": "weight", + "spread": 50, + "step": 12, + "ratio": "inverse" + } + ] }, "standards": [ { @@ -5209,7 +5220,8 @@ }, "BroadJump": { "metadata": { - "attribute": "Power" + "attribute": "Power", + "standardsGeneratorOptions": [] }, "standards": [ { @@ -5244,7 +5256,8 @@ }, "ConeDrill": { "metadata": { - "attribute": "Agility" + "attribute": "Agility", + "standardsGeneratorOptions": [] }, "standards": [ {