/
45case
/
ptable
Обзор
Документация
Войти
/
45case
/
ptable
Код
Запросы
3
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
src/entities/element/model/phase.ts
30 строк
967 B
Olya
feat: панель свойств на Главной — статья, агр. сост., температура
21 июл 2026, 10:51
21 июл 2026, 10:51
b46e871
Код
Авторство
О чём код?
import { CHEMISTRY_CONSTANTS } from "@/shared/lib/chemistry/constants"; import { resolveElementState } from "@/entities/temperature/lib/getElementState"; import type { ElementPhaseAtStp, PeriodicElement } from "./elements"; export const elementPhaseLabels: Record<ElementPhaseAtStp, string> = { gas: "Газ", liquid: "Жидкость", solid: "Твёрдое", unknown: "Неизвестно", }; function toKelvin(temperatureCelsius: number) { return temperatureCelsius + CHEMISTRY_CONSTANTS.ZERO_CELSIUS_IN_KELVIN; } export function getElementPhaseAtTemperature( element: Pick<PeriodicElement, "boilingPointKelvin" | "meltingPointKelvin" | "phaseAtStp">, temperatureCelsius: number, ): ElementPhaseAtStp { return resolveElementState( element.meltingPointKelvin, element.boilingPointKelvin, toKelvin(temperatureCelsius), ); } export function getElementPhaseLabel(phase: ElementPhaseAtStp) { return elementPhaseLabels[phase]; }