Changes in new versions / TypeScript 4.9

// *** before: ***
type Colors = "red" | "green" | "blue";
const palette: Record<Colorsstring | [numbernumbernumber]> = {
    red: [25500],
    green: "#00ff00",
    blue: [00255],
};
//palette.red имеет тип string | [number, number, number] - без сужения до
//кортежа

// *** in version 4.9: ***
const paletteChecked = {
    red: [25500],
    green: "#00ff00",
    blue: [00255],
} satisfies Record<Colors, string | [number, number, number]>;
//paletteChecked.red - именно [number, number, number], и ключи всё ещё
//проверены