import type {ReadonlyDeep} from 'type-fest'; import {expandMacro, Macros} from '../macros/index.js'; import type {Family} from '../types/index.js'; import {KelvinNames, Id} from '../types/index.js'; export const temperature: ReadonlyDeep<Family> = { id: Id.Temperature, best: {metric: ['C'], imperial: ['F']}, /** @see https://en.wikipedia.org/wiki/Conversion_of_scales_of_temperature#Kelvin */ conversions: [ {names: [KelvinNames.kelvin, KelvinNames.kelvins], symbols: [KelvinNames.K], ratio: 1}, ...expandMacro(Macros.si, {names: [KelvinNames.kelvin, KelvinNames.kelvins], symbols: [KelvinNames.K], ratio: 1}), {names: ['fahrenheit'], symbols: ['F'], ratio: 5 / 9, difference: 459.67}, {names: ['celsius'], symbols: ['C'], ratio: 1, difference: 273.15}, {names: ['rankine'], symbols: ['R'], ratio: 5 / 9}, ], };