Practical satisfies Patterns
Apply satisfies to config objects and lookup tables.
Validating a Color Palette
A common pattern is satisfies Record<string, Color> for a palette: every value is checked to be a valid color, while keys stay exact for autocomplete.
type Color = "red" | "green" | "blue";
const palette = {
primary: "blue",
secondary: "green"
} satisfies Record<string, Color>;
console.log(palette.primary);Catching Invalid Palette Values
If a value is not a valid Color, satisfies errors, while the keys remain precisely typed.
type Color = "red" | "green" | "blue";
// const bad = { primary: "purple" } satisfies Record<string, Color>; // Error
const ok = { primary: "red" } satisfies Record<string, Color>;
console.log(ok.primary);All lessons in this course
- Why satisfies Exists
- satisfies vs Type Annotation
- satisfies vs as Assertion
- Practical satisfies Patterns