Unia dyskryminowana (discriminated union)
Typ w TypeScripcie złożony z wariantów, które mają wspólne pole z literałem, więc kompilator wie, z którym wariantem masz do czynienia.
Na przykład stan zapytania to albo { status: "loading" }, albo { status: "ok", data }, albo { status: "error", error }. Sprawdzenie status zawęża typ, więc nie da się odczytać data w gałęzi błędu. Z wyczerpującym switchem dodanie nowego wariantu sprawia, że kompilator wskaże każde miejsce, które go jeszcze nie obsługuje.
Powiązane hasła
- Walidacja w runtime (Zod): Sprawdzanie w czasie działania, czy dane z zewnątrz (zapytania, API, pliki, modele) pasują do typu, który zakłada kod.
- Ustrukturyzowane odpowiedzi (structured outputs): Odpowiedź modelu jest ograniczona do zgodności z podanym schematem JSON.
