import { Type as t } from "@sinclair/typebox"; import type { Static } from "@sinclair/typebox"; export enum Attribute { Strength = "Strength", Power = "Power", Endurance = "Endurance", Agility = "Agility", } export enum Activity { BackSquat = "BackSquat", Deadlift = "Deadlift", BenchPress = "BenchPress", Run = "Run", BroadJump = "BroadJump", ConeDrill = "ConeDrill", } export enum Gender { Male = "Male", Female = "Female", } export type StandardUnit = "ms" | "cm" | "kg"; export const MetricsSchema = t.Object({ age: t.Number(), weight: t.Number(), gender: t.Enum(Gender), }); export type Metrics = Static; export const PlayerSchema = t.Object({ name: t.Optional(t.String()), metrics: MetricsSchema, }); export type Player = Static; export const ActivityPerformanceSchema = t.Object({ activity: t.Enum(Activity), performance: t.Number(), }); export type ActivityPerformance = Static;