UNPKG

@kellanjs/actioncraft

Version:

Fluent, type-safe builder for Next.js server actions.

62 lines 1.83 kB
// ============================================================================ // Core Result Type // ============================================================================ export function ok(value) { return { type: "ok", value: value }; } export function err(error) { return { type: "err", error: error }; } /** * Tests if a Result is successful. * @param result The Result to check * @returns true if result is Ok, false if Err */ export function isOk(result) { return result.type === "ok"; } /** * Tests if a Result is failed. * @param result The Result to check * @returns true if result is Err, false if Ok */ export function isErr(result) { return result.type === "err"; } /** * Tests if an unknown value is a valid Result. * @param value The value to check * @returns true if value is a Result (Ok or Err), false otherwise */ export function isResult(value) { return (typeof value === "object" && value !== null && "type" in value && ((value.type === "ok" && "value" in value) || (value.type === "err" && "error" in value))); } /** * Tests if an unknown value is a valid Ok Result. * @param value The value to check * @returns true if value is an Ok Result, false otherwise */ export function isResultOk(value) { return (typeof value === "object" && value !== null && "type" in value && value.type === "ok" && "value" in value); } /** * Tests if an unknown value is a valid Err Result. * @param value The value to check * @returns true if value is an Err Result, false otherwise */ export function isResultErr(value) { return (typeof value === "object" && value !== null && "type" in value && value.type === "err" && "error" in value); } //# sourceMappingURL=result.js.map