λ Moduł functional

use "functional";

Iteracja

FunkcjaOpis
map(list, fn)Transformuj elementy
filter(list, fn)Filtruj elementy
reduce(list, fn, init)Zredukuj do wartości
forEach(list, fn)Iteruj bez zwracania (fn(item, index))
scan(list, fn, init)Reduce ze wszystkimi krokami

Wyszukiwanie

FunkcjaOpis
find(list, fn)Znajdź pierwszy pasujący
findIndex(list, fn)Indeks pierwszego (-1 jeśli brak)
every(list, fn)Czy wszystkie spełniają?
some(list, fn)Czy którykolwiek?

Kompozycja funkcji

FunkcjaOpis
compose(...fns)f(g(x)) - od prawej do lewej
pipe(...fns) / pipeFunc(...fns)g(f(x)) - od lewej do prawej

Currying i Partial

FunkcjaOpis
curry(fn)Currying funkcji
curryApply(curried, arg)Zastosuj argument do curry
partial(fn, ...args)Częściowe zastosowanie
flip(fn)Zamień kolejność pierwszych 2 argumentów

Kontrola wywołań

FunkcjaOpis
once(fn)Wywołaj tylko raz, potem cache
after(n, fn)Wykonuj dopiero po n wywołaniach
before(n, fn)Wykonuj tylko do n wywołań
memoize(fn)Cache wyników
retry(fn, attempts?, delayMs?)Ponawiaj przy błędzie

Utility

FunkcjaOpis
tap(value, fn)Wykonaj fn, zwróć value (debug)
times(n, fn)Wywołaj fn(i) n razy, zwróć listę
measure(fn)Zmierz czas → {result, time}
always(value)Funkcja zawsze zwracająca value