UNPKG

@dovca/fp

Version:

Minimal functional programming in JavaScript

1 lines 1.61 kB
const debug=require(`${__dirname}/../util/debug`);_=e=>e,y=(...e)=>e,Y=y(),x=(e,{[e]:a})=>a,q=([,...e])=>e,e=(e,a)=>e===a,E=e(),a=(e=L,a=E)=>e+a,l=(e,a=Y)=>e<a,L=l(),b=(e=L,r=E)=>a(e,a(~r,E)),$=(a,r,...d)=>Q=>i(Q=>e(r),Q=>a,Q=>a(r,...d)),z=(e=L)=>a(e,L),Z=z(),d=(e=E)=>a(e,e),n=a=>e(z(a),Z),o=(e,r=e)=>l(L,a(n(n(e)),n(n(r)))),i=(e,a,r=_)=>x(z(o(e())),y(r,a))(),w=(e,a,r=Z)=>i($(e,r),Q=>w(e,a,a(r)),$(r)),c=([r,...d],u=Z)=>i($(e,r),$(u),$(c,d,a(u))),k=(a,r,d=_)=>i($(e,x(Z,a)),d,r),t=(e,...a)=>y(...e,...k(a,$(a),$(Y))),g=(e,...a)=>r=>e(k(a,Q=>g(...a)(r),$(r))),v=(a,...r)=>i($(e,a),$(Y),Q=>y(...v(...r),a)),m=(e,a,...r)=>y(e(a),...k(r,$(m,e,...r),$(r))),p=(...e)=>g(...v(...e)),r=(e,a,...d)=>k(d,$(e,a,k(d,$(r,e,...d))),$(a)),s=(...e)=>r(a,...e,Y,Y),j=(...e)=>k(e,$(r,([e,a],r)=>_({...r,[e]:a}),...e,j),$({})),u=(e,a=d(),...r)=>g=>i($(l,a,d()),$(e,...r,g),$(u,e,b(a),...r,g)),h=(e,...a)=>i(...e,$(k,a,$(h,...a))),f=(e,...a)=>r((a,r)=>i($(e,a),$(y,a,...r),$(r)),...a,Y),$=debug.wrap($,"$"),_=debug.wrap(_,"_"),a=debug.wrap(a,"a"),b=debug.wrap(b,"b"),c=debug.wrap(c,"c"),d=debug.wrap(d,"d"),e=debug.wrap(e,"e"),f=debug.wrap(f,"f"),g=debug.wrap(g,"g"),h=debug.wrap(h,"h"),i=debug.wrap(i,"i"),j=debug.wrap(j,"j"),k=debug.wrap(k,"k"),l=debug.wrap(l,"l"),m=debug.wrap(m,"m"),n=debug.wrap(n,"n"),o=debug.wrap(o,"o"),p=debug.wrap(p,"p"),q=debug.wrap(q,"q"),r=debug.wrap(r,"r"),s=debug.wrap(s,"s"),t=debug.wrap(t,"t"),u=debug.wrap(u,"u"),v=debug.wrap(v,"v"),w=debug.wrap(w,"w"),x=debug.wrap(x,"x"),y=debug.wrap(y,"y"),z=debug.wrap(z,"z"),module.exports={$,_,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,...debug};