Unit conversion source specification for the conversion system.

Flexible specification allowing conversion by specific unit name or by measurement system with automatic unit selection. The conversion system intelligently selects appropriate default units when only system/measure is provided.

Example: Specific Unit Conversion

const fahrenheitSource: UnitSource = { unit: 'fahrenheit' };
const celsiusSource: UnitSource = { unit: 'celsius' };

const result = regionModel.convert(72, fahrenheitSource, celsiusSource);
console.log(result); // '22.22'

Example: System-Based Conversion (Auto Unit Selection)

const imperialLength: UnitSource = { measure: 'length', system: 'imperial' };
const metricLength: UnitSource = { measure: 'length', system: 'metric' };

// Automatically uses miles → kilometers
const result = regionModel.convert(5, imperialLength, metricLength);
console.log(result); // '8.047'
interface UnitSource {
    system?: string;
    measure?: string;
    unit?: string;
}

Properties

system?: string

Measurement system identifier (e.g., 'metric', 'imperial', 'us')

measure?: string

Type of measurement (e.g., 'length', 'weight', 'temperature', 'volume')

unit?: string

Specific unit name (e.g., 'meter', 'kilogram', 'fahrenheit')