ski-din-calculator
Version:
Calculate a skier's DIN binding release value based on height, weight, age, skill level, and boot sole length
26 lines (25 loc) • 1.41 kB
TypeScript
import { DINResult } from "../types";
/**
* Calculates the DIN binding release value for a skier based on their physical characteristics and skiing style.
*
* @param skierHeightCm - Skier's height in centimeters (1-250)
* @param skierWeightKg - Skier's weight in kilograms (1-150)
* @param skierAge - Skier's age in years (3-100)
* @param skierType - Skiing style: 1 (Cautious), 2 (Moderate), 3 (Aggressive)
* @param bootSoleLengthMm - Boot sole length in millimeters (200-360)
* @returns DIN calculation result or null if no matching entry found
* @throws {InvalidHeightError} When height is outside valid range
* @throws {InvalidWeightError} When weight is outside valid range
* @throws {InvalidAgeError} When age is outside valid range
* @throws {InvalidSkierTypeError} When skier type is not 1, 2, or 3
* @throws {InvalidBootSoleLengthError} When boot sole length is outside valid range
*/
export declare function calculateDIN(skierHeightCm: number, skierWeightKg: number, skierAge: number, skierType: number, bootSoleLengthMm: number): DINResult | null;
/**
* Looks up DIN value based on skier code and boot sole length.
*
* @param skierCode - Numeric skier code (1-16)
* @param bootSoleLengthMm - Boot sole length in millimeters
* @returns DIN result or null if no matching entry found
*/
export declare function lookupDIN(skierCode: number, bootSoleLengthMm: number): DINResult | null;