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
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.