「byethrow」を入れたら、catch忘れが型でバレるようになった
- 公開
- 正式公開 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) |
| gqlkit | GraphQL スキーマ構築 | TypeScript の型定義と関数から GraphQL Schema を作る | TypeScript ライブラリ | 無料(OSS, MIT) |