/** * Result type pattern for handling operation results * Success case contains data, failure case contains error */ export type Result = | { success: true; data: T } | { success: false; error: E }; /** * Creates a success result with the provided data */ export function createSuccessResult(data: T): { success: true; data: T } { return { data, success: true }; } /** * Creates an error result with the provided error */ export function createErrorResult( error: E, ): { success: false; error: E } { return { error, success: false }; }