Forge Docs
ResultUtil

ResultUtil

成功/失敗を型安全に表現する Result 型

概要

ResultUtil は関数の成功/失敗を例外ではなく型で表現するユーティリティ。HttpUtil の戻り値にも使用される。

type Ok<T> = { ok: true; data: T };
type Err<E> = { ok: false; error: E };
type Result<T, E = unknown> = Ok<T> | Err<E>;

関数

関数シグネチャ説明
ok<T>(data: T) => Ok<T>成功値を作成
err<E>(error: E) => Err<E>エラー値を作成

使用例

import { ResultUtil } from "@unitto/utility";

// 成功
const success = ResultUtil.ok({ id: "1", name: "Taro" });
// { ok: true, data: { id: "1", name: "Taro" } }

// 失敗
const failure = ResultUtil.err("not found");
// { ok: false, error: "not found" }

// パターンマッチ
function handle(result: Result<User, string>) {
  if (result.ok) {
    console.log(result.data.name);
  } else {
    console.error(result.error);
  }
}

On this page