UNPKG

@tempots/std

Version:

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

2 lines (1 loc) 704 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=e=>e,c=e=>t=>(...r)=>e(t,...r),l=e=>{let t;return()=>(t===void 0&&(t=e()),t)};function s(...e){if(e.length===0)return n=>n;if(e.length===1)return e[0];const[t,...r]=[...e].reverse();return(...n)=>r.reduce((i,u)=>u(i),t(...n))}function f(e,...t){return t.reduce((r,n)=>n(r),e)}function a(e,...t){return(...r)=>e(...t,...r)}function p(e){return(...t)=>e(...t.slice().reverse())}const d=e=>{let t=!1,r;return(...n)=>(t||(t=!0,r=e(...n)),r)},m=e=>(...t)=>!e(...t);exports.compose=s;exports.curryLeft=c;exports.flip=p;exports.identity=o;exports.memoize=l;exports.negate=m;exports.once=d;exports.partial=a;exports.pipe=f;