OpenAIソフトウェア開発⭐ リポ 0品質スコア 55/100
fp-types-ref
fp-ts型の素早いリファレンスです。ユーザーがどの型を使用すべきか質問したときや、Option/Either/Taskの選択について助言が必要な場合、またはfp-tsのインポートを確認したいときに使用します。
description の原文を見る
Quick reference for fp-ts types. Use when user asks which type to use, needs Option/Either/Task decision help, or wants fp-ts imports.
SKILL.md 本文
fp-ts クイックリファレンス
どの型を使うべき?
操作は非同期?
├─ いいえ: エラー処理が必要?
│ ├─ はい → Either<Error, Value>
│ └─ いいえ: 値が存在しない可能性がある?
│ ├─ はい → Option<Value>
│ └─ いいえ → 値をそのまま使用
└─ はい: エラー処理が必要?
├─ はい → TaskEither<Error, Value>
└─ いいえ: 値が存在しない可能性がある?
├─ はい → TaskOption<Value>
└─ いいえ → Task<Value>
よく使うインポート
// コア
import { pipe, flow } from 'fp-ts/function'
// 型
import * as O from 'fp-ts/Option' // 値が存在するか未定義
import * as E from 'fp-ts/Either' // 成功または失敗
import * as TE from 'fp-ts/TaskEither' // 非同期 + 失敗処理
import * as T from 'fp-ts/Task' // 非同期(失敗処理なし)
import * as A from 'fp-ts/Array' // 配列ユーティリティ
ワンラインパターン
| 用途 | コード |
|---|---|
| null許容値をラップ | O.fromNullable(value) |
| デフォルト値を設定 | O.getOrElse(() => default) |
| 値が存在すれば変換 | O.map(fn) |
| Optionalを連鎖 | O.flatMap(fn) |
| try/catchをラップ | E.tryCatch(() => risky(), toError) |
| 非同期をラップ | TE.tryCatch(() => fetch(url), toError) |
| パイプを実行 | pipe(value, fn1, fn2, fn3) |
パターンマッチング
// Option
pipe(maybe, O.match(
() => 'nothing',
(val) => `got ${val}`
))
// Either
pipe(result, E.match(
(err) => `error: ${err}`,
(val) => `success: ${val}`
))
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- Qureshi-1
- ライセンス
- MIT
- 最終更新
- 2026/5/9
Source: https://github.com/Qureshi-1/Backport-io / ライセンス: MIT