fp-pipe-ref
🤖 AI Summary
Creates a pipe or flow chain in fp-ts, composing multiple functions left-to-right for sequential data transformation. Use it to build explicit, type-safe data pipelines without nesting function calls.
How to Install
This skill comes from a community source.
pipe & flow Quick Reference
pipe - Transform a Value
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
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
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
// 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.
Details
| Category | Coding → generation |
| Source | community |
| SKILL.md | View on GitHub → |
| Repo Stars | N/A |
| Est. per Skill | N/A (shared across 1230 skills from this repo) |
| Difficulty | Beginner |
| Risk Level | N/A |
Related Skills
docx
DOCX creation, editing, and analysis Overview A .docx file is a ZIP archive containing XML files. Qu
n8n-code-javascript
JavaScript Code Node Expert guidance for writing JavaScript code in n8n Code nodes. --- Quick Start
Mobile Development
import { View, Text, FlatList, StyleSheet, Platform } from "react-native"; import { SafeAreaView } f
Performance Optimization
// Dynamic import for route-level code splitting const Dashboard = lazy(() => import("./pages/Dashbo
Works Well With
Skills from the same repository — often designed to work together
007
007 — Licenca para Auditar Overview Security audit, hardening, threat modeling (STRIDE/PASTA), Red/B
2d-games
2D Game Development Principles for 2D game systems. 1. Sprite Systems Sprite Organization Component
2slides-ppt-generator
2slides Presentation Generation Overview Generate professional presentations using the 2slides AI AP