capypad
0 Tage Serie
javascript / expert
Snippet

Funktionale Komposition via Pipe-Kombinatoren

Pipe ist ein funktionales Programmiermuster, das mehrere Funktionen zu einer einzigen Transformations-Pipeline zusammensetzt. Es verbessert die Lesbarkeit, indem es Daten von links nach rechts fließen lässt, wodurch tief verschachtelte Funktionsaufrufe vermieden und imperativer Boilerplate reduziert wird.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
const pipe = (...fns) => (initialValue) =>
fns.reduce((acc, fn) => fn(acc), initialValue);
 
const normalize = s => s.trim().toLowerCase();
const slugify = s => s.replace(/\s+/g, '-');
const label = s => `id:${s}`;
 
const createSlug = pipe(normalize, slugify, label);
console.log(createSlug(' Expert JS Snippet ')); // 'id:expert-js-snippet'
Erklärung
1
fns.reduce((acc, fn) => fn(acc), initialValue)
Wendet nacheinander jede Funktion im Array auf das akkumulierte Ergebnis an.
2
const createSlug = pipe(...)
Erstellt eine neue wiederverwendbare Funktion durch Komposition kleinerer, spezialisierter Funktionen.