fp-pack

Compose JS/TS pipelines with pipe, pipeAsync, and SideEffect-aware utilities.

112|8|Updated Dec 16, 2025
One-click install
npx skills add https://github.com/superlucky84/fp-pack --skill fp-pack
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fp-pack
Source: https://github.com/superlucky84/fp-pack/tree/main/skills/fp-pack
Command: npx skills add https://github.com/superlucky84/fp-pack --skill fp-pack

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

fp-pack streamlines building functional pipelines in JavaScript/TypeScript by providing a pipe-first API, with strong type inference and a dedicated SideEffect pattern to handle early exits safely.

Core Features & Use Cases

  • Pipe-first composition using pipe/pipeAsync for clean, left-to-right data transformation.
  • SideEffect-aware pipelines for safe, explicit early exits and error signaling.
  • Currying and data-last helpers that promote reusable, readable pipelines across codebases.
  • Optional streaming support via fp-pack/stream for large or infinite data sources.

Quick Start

Install fp-pack in your project and begin composing pipelines with pipe and pipeAsync to transform data.

Frequently Asked Questions about fp-pack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build composable pipelines in TypeScript for data transforms?

TypeScript pipelines are built using a pipe-first API that chains unary helpers left-to-right, enforcing data-first wiring and strong type inference to cleanly transform data across API calls and UI flows.

What is a SideEffect pattern in functional pipelines and when do I need it?

The SideEffect pattern in functional pipelines handles early exits and error signaling safely and explicitly. You need it when composable transforms require boundary handling to reduce runtime errors without breaking flow.

How do I handle asynchronous data flows in a functional pipe?

Asynchronous data flows in a functional pipe are handled using pipeAsync to compose promises within the pipeline, maintaining clean left-to-right transformation while safely processing API calls and async sources.

Does fp-pack work with streaming data or large infinite sources?

fp-pack works with streaming data via its optional fp-pack/stream module, providing dedicated support to process large or infinite data sources through composable pipeline transformations.

What's the best way to reduce runtime errors in JavaScript data transformation pipelines?

The best way to reduce runtime errors in JavaScript pipelines is enforcing data-first value wiring with currying and SideEffect-aware boundaries, promoting reusable helpers and explicit early exits for maintainability.

When should I not use currying for functional composition?

You should avoid currying for functional composition when transforms require multi-argument functions that cannot be refactored into unary helpers, as pipe-first pipelines strictly enforce unary helper wiring.