UNPKG

@tempots/std

Version:

Std library for TypeScript. Natural complement to the Tempo libraries.

40 lines (39 loc) 793 B
const i = (e) => e, o = (e) => (r) => (...t) => e(r, ...t), l = (e) => { let r; return () => (r === void 0 && (r = e()), r); }; function s(...e) { if (e.length === 0) return (n) => n; if (e.length === 1) return e[0]; const [r, ...t] = [...e].reverse(); return (...n) => t.reduce( (u, c) => c(u), r(...n) ); } function f(e, ...r) { return r.reduce((t, n) => n(t), e); } function a(e, ...r) { return (...t) => e(...r, ...t); } function p(e) { return (...r) => e(...r.slice().reverse()); } const d = (e) => { let r = !1, t; return (...n) => (r || (r = !0, t = e(...n)), t); }, v = (e) => (...r) => !e(...r); export { s as compose, o as curryLeft, p as flip, i as identity, l as memoize, v as negate, d as once, a as partial, f as pipe };