Result Type for Safe Division
Medium · Discriminated Unions
A Result<T, E> is either { ok: true, value } or { ok: false, error }. Checking ok narrows it to the right shape.
Write divideAll(pairs: [number, number][]): Result<number[], string> that divides each [a, b] pair. If every division works, return { ok: true, value: [...results] }. At the first pair with b === 0, return { ok: false, error: "Division by zero at index <i>" }.
Next: Summarize UI Events