Sequence NODE_167
Medium

Create a Discriminated Union for API Status

TypeScript
Technical Specification

Create a discriminated union type representing loading, success, and error states of an API request.

Input/Output Samples
Input:status: 'success', data: T
Output:Valid success state
Optimal Logic Path
type ApiLoading = { status: "loading" };
type ApiSuccess<T> = { status: "success"; data: T };
type ApiError = { status: "error"; error: string };

type ApiState<T> = ApiLoading | ApiSuccess<T> | ApiError;
Architectural Deep-Dive
Discriminated unions help model finite states and enable exhaustive checks in switch statements.