fp-pipe-ref

تایید شده

Quick reference for pipe and flow. Use when user needs to chain functions, compose operations, or build data pipelines in fp-ts.

@sickn33
v1.0.0MIT۱۴۰۵/۲/۲۳
56از ۱۰۰
(0)
۳۷.۳k
۰
۷

نصب مهارت

مهارت‌ها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناخته‌شده را اسکن می‌کند اما نمی‌تواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.

نصب سراسری (سطح کاربر):

npx skillhub install sickn33/antigravity-awesome-skills/fp-pipe-ref

نصب در پروژه فعلی:

npx skillhub install sickn33/antigravity-awesome-skills/fp-pipe-ref --project

مسیر پیشنهادی: ~/.claude/skills/fp-pipe-ref/

بررسی هوش مصنوعی

کیفیت دستورالعمل60
دقت توضیحات58
کاربردی بودن47
صحت فنی60

Smaller and simpler than fp-taskeither-ref=62 — pipe/flow are even more fundamental fp-ts primitives, but the cheatsheet is too brief to add much value beyond what a quick search provides. IQ is limited by the size (1889 bytes). DP is clear with 'chain functions, compose operations, build data pipelines'. UF penalty for single-library reference that's extremely brief. The pipe/flow concepts could benefit from more complex real-world examples. Scored below fp-taskeither-ref due to brevity.

محتوای SKILL.md

---
name: fp-pipe-ref
description: Quick reference for pipe and flow. Use when user needs to chain functions, compose operations, or build data pipelines in fp-ts.
risk: unknown
source: community
version: 1.0.0
tags: [fp-ts, pipe, flow, composition, quick-reference]
---

# pipe & flow Quick Reference

## pipe - Transform a Value

```typescript
import { pipe } from 'fp-ts/function'

// pipe(startValue, fn1, fn2, fn3)
// = fn3(fn2(fn1(startValue)))

const result = pipe(
  '  hello world  ',
  s => s.trim(),
  s => s.toUpperCase(),
  s => s.split(' ')
)
// ['HELLO', 'WORLD']
```

## flow - Create Reusable Pipeline

```typescript
import { flow } from 'fp-ts/function'

// flow(fn1, fn2, fn3) returns a new function
const process = flow(
  (s: string) => s.trim(),
  s => s.toUpperCase(),
  s => s.split(' ')
)

process('  hello world  ') // ['HELLO', 'WORLD']
process('  foo bar  ')     // ['FOO', 'BAR']
```

## When to Use
| Use | When |
|-----|------|
| `pipe` | Transform a specific value now |
| `flow` | Create reusable transformation |

## With fp-ts Types

```typescript
import * as O from 'fp-ts/Option'
import * as A from 'fp-ts/Array'

// Option chain
pipe(
  O.fromNullable(user),
  O.map(u => u.email),
  O.getOrElse(() => 'no email')
)

// Array chain
pipe(
  users,
  A.filter(u => u.active),
  A.map(u => u.name)
)
```

## Common Pattern

```typescript
// Data last enables partial application
const getActiveNames = flow(
  A.filter((u: User) => u.active),
  A.map(u => u.name)
)

// Reuse anywhere
getActiveNames(users1)
getActiveNames(users2)
```

## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.