Code Explainers
Code explainers tagged #discriminated-unions
typescript
type Change = | { kind: "added"; path: string; value: unknown } | { kind: "removed"; path: string; value: unknown } | { kind: "updated"; path: string; from: unknown; to: unknown };
Building a recursive deep-diff in TypeScript
recursion
discriminated-unions
type-guards
Intermediate
9 steps
typescript
type RequestState<T, E = string> = | { status: "idle" } | { status: "loading" } | { status: "success"; data: T; fetchedAt: number }
Modeling request state with discriminated unions
discriminated-unions
exhaustiveness-checking
state-machine
Intermediate
8 steps