Agent Skills by ALSEL
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
リポジトリ
Qureshi-1/Backport-io
ライセンス
MIT
最終更新
2026/5/9

Source: https://github.com/Qureshi-1/Backport-io / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Qureshi-1 · Qureshi-1/Backport-io · ライセンス: MIT