「byethrow」を入れたら、catch忘れが型でバレるようになった

byethrow
TypeScript で例外を投げずに、失敗を Result 型の値として扱うためのライブラリ
GitHub公式サイト
公開
正式公開 2025-05-27
作り手
PrAha, Inc.(会社)
対応
TypeScript ライブラリ(npm)
言語
英語・日本語
価格
無料(MIT ライセンス)
評価
GitHub のスター 371(2026-10-15)

どんなアプリか

Say goodbye to throw, embrace type-safe results

PrAha, Inc.、byethrow 公式サイト

byethrow(パッケージ名 @praha/byethrow)は、JavaScript と TypeScript で失敗しうる処理を扱うための Result 型のパッケージです。関数は例外を投げる代わりに Result<T, E> を返します。成功なら値を、失敗ならエラーを持ち、その両方を扱っているかを型チェッカーが確かめます。

結果はクラスを使わないただのオブジェクトです。そのままログに出したり、シリアライズしたり、通信で送ったりできます。同期と非同期は同じ API で扱い、どの関数も Result と Promise の両方を受け取ります。

手順は pipe でつなぎます。各関数は成功したときに限って動き、失敗はそのまま最後まで流れます。関数はひとつずつ独立してエクスポートされているので、呼ばない関数はバンドラーが取り除きます。

公式サイトでは使い方の例も紹介されています。Result.fn は例外を投げる関数や非同期関数を、Result を返す関数に変えます。Result.parse は Zod・Valibot・ArkType などの Standard Schema を受け取ります。Result.collect はすべての結果を待ち、一つ目の失敗に限らず、すべての失敗を報告します。

本体のほかに、Oxlint のプラグイン、テスト用のマッチャー、AI アシスタント向けのドキュメントのパッケージがあります。チーム全員が同じ書き方をそろえるための道具として用意されています。

料金とデータの置き場所

MIT ライセンスで公開されているオープンソースのライブラリです。npm install @praha/byethrow で入れられます。

同じ分野のアプリ

名前型仕掛け対応料金
byethrowエラー処理例外を投げずに失敗を Result 型の値として返すTypeScript ライブラリ(npm)無料(OSS, MIT)
@praha/error-factoryエラー処理カスタムエラーのクラスを簡単に作るTypeScript ライブラリ(npm)無料(OSS, MIT)
routopia型安全な URL 構築ルート定義をもとにパスパラメータ・クエリを型で縛るTypeScript ライブラリ無料(OSS, MIT)
gqlkitGraphQL スキーマ構築TypeScript の型定義と関数から GraphQL Schema を作るTypeScript ライブラリ無料(OSS, MIT)