squint-cljs 0.4.50 → 0.4.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +31 -31
- package/lib/cljs.pprint.js +65 -65
- package/lib/compiler.js +248 -246
- package/lib/compiler.node.js +30 -30
- package/lib/compiler.sci.js +1022 -1023
- package/lib/node.nrepl_server.js +6 -6
- package/lib/squint.core.umd.js +1 -1
- package/package.json +1 -1
- package/src/squint/core.js +56 -9
package/lib/node.nrepl_server.js
CHANGED
|
@@ -4,20 +4,20 @@ import "./node.js";
|
|
|
4
4
|
import "./compiler.node.js";
|
|
5
5
|
const shadow_esm_import = function(x) { return import(x) };
|
|
6
6
|
import*as esm_import$fs from"fs";import*as esm_import$net from"net";
|
|
7
|
-
var K9=function(a,b){a=a.indexOf(b);if(0>a)throw Error("out of input");return a},L9=function(a,b){if(a.length<b)throw Error("out of input");return a.slice(b)},M9=function(a,b){if(b>a.length)throw Error("out of input");return a.slice(0,b)},N9=function(a){return console.debug($APP.jp.g(" ",a))},ofa=function(a){return function(b,c){b=$APP.kf(b);var d=$APP.fe.g(b,$APP.
|
|
7
|
+
var K9=function(a,b){a=a.indexOf(b);if(0>a)throw Error("out of input");return a},L9=function(a,b){if(a.length<b)throw Error("out of input");return a.slice(b)},M9=function(a,b){if(b>a.length)throw Error("out of input");return a.slice(0,b)},N9=function(a){return console.debug($APP.jp.g(" ",a))},ofa=function(a){return function(b,c){b=$APP.kf(b);var d=$APP.fe.g(b,$APP.tF),e=$APP.fe.g(b,nfa);c=$APP.wi.j(c,"id",d);c=$APP.r(e)?$APP.wi.j(c,"session",e):c;return a.g?a.g(b,c):a.call(null,b,c)}},qfa=function(){var a=
|
|
8
8
|
pfa;return function(b,c){b=$APP.Jm.j(b,O9,$APP.oi);return a.g?a.g(b,c):a.call(null,b,c)}},sfa=function(){var a=rfa();return function(b,c){N9($APP.F(["request",b]));return a.g?a.g(b,c):a.call(null,b,c)}},tfa=function(a){return function(b,c){N9($APP.F(["response",c]));return a.g?a.g(b,c):a.call(null,b,c)}},rfa=function(){var a=qfa();return function(b,c){return a.g?a.g(b,c):a.call(null,b,c)}},P9=function(a){return $APP.wi.j($APP.Vh(new $APP.J(null,3,5,$APP.N,["major","minor","incremental"],null),$APP.uu.h(a.split("."))),
|
|
9
9
|
"version-string",a)},ufa=function(a,b,c){if($APP.r(a))if(a=Q9.h?Q9.h(a):Q9.call(null,a),$APP.r(a)){b=$APP.kf(b);var d=$APP.fe.g(b,$APP.s9),e=$APP.fe.g(b,$APP.l9),f=$APP.fe.g(b,$APP.u9);b=$APP.Qa;var k=$APP.ei,l=$APP.T6;$APP.Qa=e;$APP.ei=f;$APP.T6=d;try{var m=new $APP.Fa;d=$APP.Ta;e=$APP.Ua;$APP.Ta=!0;$APP.Ua=function(g){return m.append(g)};try{a.h?a.h(c):a.call(null,c)}finally{$APP.Ua=e,$APP.Ta=d}return $APP.t.h(m)}finally{$APP.T6=l,$APP.ei=k,$APP.Qa=b}}else return N9($APP.F(["Pretty-Printing is only supported for cider.nrepl.pprint/pprint"])),
|
|
10
10
|
$APP.Fs.l($APP.F([c]));else return $APP.Fs.l($APP.F([c]))},wfa=function(a){a:{var b=$APP.gq;$APP.gq=$APP.v(R9);try{var c=$APP.Ct(a,new $APP.n(null,5,[$APP.ep,$APP.dp,$APP.Ps,vfa,$APP.rt,!0,$APP.Ts,!0,$APP.as,!0],null));break a}finally{$APP.gq=b}c=void 0}c=$APP.kf(c);a=$APP.fe.g(c,$APP.Bt);c=$APP.fe.g(c,$APP.S);a=$APP.Pj("(async function () {\n%s\n}) ()","%s",a);$APP.Jf(R9,c);return a},Cfa=function(a,b){var c=$APP.kf(a);$APP.fe.g(c,$APP.S);a=$APP.fe.g(c,xfa);$APP.fe.g(c,$APP.Qk);$APP.fe.g(c,yfa);$APP.fe.g(c,
|
|
11
|
-
zfa);return Promise.resolve(a).then(wfa).then(function(d){$APP.
|
|
11
|
+
zfa);return Promise.resolve(a).then(wfa).then(function(d){$APP.oF.l($APP.F(["About to eval:"]));$APP.oF.l($APP.F([d]));return eval(d)}).then(function(d){d=new $APP.n(null,2,["ns",$APP.t.h($APP.v(R9)),"value",ufa(Afa.h(c),Bfa.h(c),d)],null);return b.g?b.g(c,d):b.call(null,c,d)}).catch(function(d){console.error(d);var e=$APP.sF.h($APP.fj(d));e=$APP.r(e)?e:d.message;$APP.r(e)&&(e=new $APP.n(null,1,["err",[$APP.t.h(e),"\n"].join("")],null),b.g?b.g(c,e):b.call(null,c,e));d=new $APP.n(null,2,["ex",$APP.t.h(d),
|
|
12
12
|
"ns",$APP.t.h($APP.gq)],null);return b.g?b.g(c,d):b.call(null,c,d)}).finally(function(){var d=new $APP.n(null,2,["ns",$APP.t.h($APP.v(R9)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(c,d):b.call(null,c,d)})},S9=function(a){a=$APP.kf(a);$APP.fe.g(a,$APP.S);return null},pfa=function(a,b){a=$APP.kf(a);var c=$APP.fe.g(a,O9),d=$APP.fe.g(T9,c);if($APP.r(d))return d.g?d.g(a,b):d.call(null,a,b);console.warn($APP.jp.g(" ",$APP.F(["Unhandled operation",c])));c=new $APP.n(null,1,
|
|
13
13
|
["status",new $APP.J(null,3,5,$APP.N,["error","unknown-op","done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},Dfa=function(a){return function(b,c){return a.write(U9(c))}},Efa=function(a,b){N9($APP.F(["Connection accepted"]));b.setNoDelay(!0);var c=sfa(),d=ofa(tfa(Dfa(b))),e=$APP.Li.h(null);b.on("data",function(f){var k=$APP.v(e);if($APP.r(k)){f=[$APP.t.h(k),$APP.t.h(f)].join("");$APP.Jf(e,null);var l=f}else l=f;a:for(f=$APP.F([$APP.vu,!0]),k=$APP.ig;;){var m=$APP.Gf.j(V9,l,f);l=$APP.C.j(m,
|
|
14
|
-
0,null);m=$APP.C.j(m,1,null);if(null==l){k=new $APP.J(null,2,5,$APP.N,[k,m],null);break a}k=$APP.Ee.g(k,l);l=m}f=$APP.C.j(k,0,null);k=$APP.C.j(k,1,null);$APP.
|
|
14
|
+
0,null);m=$APP.C.j(m,1,null);if(null==l){k=new $APP.J(null,2,5,$APP.N,[k,m],null);break a}k=$APP.Ee.g(k,l);l=m}f=$APP.C.j(k,0,null);k=$APP.C.j(k,1,null);$APP.OE(k)||$APP.Jf(e,k);f=$APP.x(f);k=null;for(var g=m=0;;)if(g<m)l=k.ba(null,g),c(l,d),g+=1;else if(f=$APP.x(f))k=f,$APP.Zd(k)?(f=$APP.uc(k),m=$APP.vc(k),k=f,l=$APP.xd(f),f=m,m=l):(l=$APP.y(k),c(l,d),f=$APP.z(k),k=null,m=0),g=0;else return null});return b.on("close",function(f){return $APP.r(f)?N9($APP.F(["Connection lost"])):N9($APP.F(["Connection closed"]))})},
|
|
15
15
|
zfa=new $APP.I(null,"_line","_line",232847719),Bfa=new $APP.I("nrepl.middleware.print","options","nrepl.middleware.print/options",868480159),nfa=new $APP.I(null,"session","session",1008279103),Ffa=new $APP.I(null,"lookup","lookup",1225356838),Gfa=new $APP.I(null,"load-file","load-file",-424586670),yfa=new $APP.I(null,"_load-file?","_load-file?",-1198848711),O9=new $APP.I(null,"op","op",-1882987955),Hfa=new $APP.I(null,"describe","describe",1369790582),xfa=new $APP.I(null,"code","code",1586293142),
|
|
16
16
|
Ifa=new $APP.I(null,"eldoc","eldoc",-1321421900),Jfa=new $APP.I(null,"log_level","log_level",-1756736313),Afa=new $APP.I("nrepl.middleware.print","print","nrepl.middleware.print/print",-1616742548),Kfa=new $APP.I(null,"clone","clone",711747572),Lfa=new $APP.I(null,"close","close",1835149582),Mfa=new $APP.I(null,"info","info",-317069002),Nfa=new $APP.I(null,"host","host",-1558485167),Ofa=new $APP.I(null,"complete","complete",-500388775);var W9=function W9(a,b){switch($APP.t.h(M9(a,1))){case "i":return a=L9(a,1),b=K9(a,"e"),new $APP.J(null,2,5,$APP.N,[parseInt(M9(a,b)),L9(a,b+1)],null);case "l":var d=a=L9(a,1);for(a=$APP.mc($APP.ig);;){if($APP.A.g($APP.t.h(M9(d,1)),"e"))return new $APP.J(null,2,5,$APP.N,[$APP.pc(a),L9(d,1)],null);var e=W9.g?W9.g(d,b):W9.call(null,d,b),f=$APP.C.j(e,0,null),k=$APP.C.j(e,1,null);e=k;a=$APP.cg.g(a,f);d=e}case "d":for(a=L9(a,1),f=$APP.kf(b),f=$APP.fe.g(f,$APP.vu),d=a,e=$APP.mc($APP.hf);;){if($APP.A.g($APP.t.h(M9(d,
|
|
17
17
|
1)),"e"))return new $APP.J(null,2,5,$APP.N,[$APP.pc(e),L9(d,1)],null);a=W9.g?W9.g(d,b):W9.call(null,d,b);d=$APP.C.j(a,0,null);k=$APP.C.j(a,1,null);k=W9.g?W9.g(k,b):W9.call(null,k,b);a=$APP.C.j(k,0,null);k=$APP.C.j(k,1,null);d=$APP.r(f)?$APP.oi.h(d):d;a=$APP.Rg.j(e,d,a);d=k;e=a}default:return b=K9(a,":"),f=parseInt(M9(a,b)),a=L9(a,b+1),new $APP.J(null,2,5,$APP.N,[$APP.t.h(M9(a,f)),L9(a,f)],null)}},V9=function V9(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return V9.l(arguments[0],
|
|
18
18
|
1<c.length?new $APP.Zc(c.slice(1),0,null):null)};V9.l=function(a,b){try{return W9(a,b)}catch(c){if(c instanceof Error)return new $APP.J(null,2,5,$APP.N,[null,a],null);throw c;}};V9.m=1;V9.o=function(a){var b=$APP.y(a);a=$APP.z(a);return this.l(b,a)};
|
|
19
19
|
var U9=function U9(a){for(;;){if("string"===typeof a)return[$APP.t.h(Buffer.from(a).length),":",a].join("");if(a instanceof $APP.I||a instanceof $APP.w)a=[function(){var c=$APP.Oe(a);return $APP.r(c)?[c,"/"].join(""):null}(),$APP.Uh(a)].join("");else return"number"===typeof a?["i",$APP.t.h(a),"e"].join(""):$APP.Td(a)||$APP.Yd(a)||null==a?["l",$APP.t.h($APP.Gf.g($APP.t,$APP.ni.g(U9,a))),"e"].join(""):$APP.Vd(a)?["d",$APP.t.h($APP.Gf.g($APP.t,$APP.ni.g(function(){return function(c){var d=$APP.C.j(c,
|
|
20
|
-
0,null);c=$APP.C.j(c,1,null);return[$APP.t.h(U9.h?U9.h(d):U9.call(null,d)),$APP.t.h(U9.h?U9.h(c):U9.call(null,c))].join("")}}(a),$APP.
|
|
21
|
-
var vfa=$APP.Li.h($APP.hf),T9=$APP.sh([Ffa,Lfa,Gfa,Ifa,Kfa,Hfa,Mfa,Ofa,$APP.
|
|
22
|
-
2,["nbb-nrepl",P9("TODO"),"node",P9(process.version)],null),"aux",$APP.hf,"ops",$APP.Vh($APP.ni.g($APP.Uh,$APP.Jh(T9)),$APP.Xt.h($APP.hf)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},S9,function(){return null},function(a,b){a=$APP.kf(a);var c=$APP.fe.g(a,$APP.S);$APP.
|
|
20
|
+
0,null);c=$APP.C.j(c,1,null);return[$APP.t.h(U9.h?U9.h(d):U9.call(null,d)),$APP.t.h(U9.h?U9.h(c):U9.call(null,c))].join("")}}(a),$APP.mF.g($APP.y,a)))),"e"].join(""):null}};var R9=$APP.Li.h($APP.gq),Q9=new $APP.n(null,1,["cider.nrepl.pprint/pprint",$APP.B9],null);$APP.Li.h(!1);
|
|
21
|
+
var vfa=$APP.Li.h($APP.hf),T9=$APP.sh([Ffa,Lfa,Gfa,Ifa,Kfa,Hfa,Mfa,Ofa,$APP.uF],[S9,function(a,b){var c=new $APP.n(null,1,["status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},function(a){a=$APP.kf(a);$APP.fe.g(a,$APP.Qk);return null},S9,function(a,b){var c=new $APP.n(null,2,["new-session",$APP.t.h($APP.LE()),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},function(a,b){var c=new $APP.n(null,4,["versions",new $APP.n(null,
|
|
22
|
+
2,["nbb-nrepl",P9("TODO"),"node",P9(process.version)],null),"aux",$APP.hf,"ops",$APP.Vh($APP.ni.g($APP.Uh,$APP.Jh(T9)),$APP.Xt.h($APP.hf)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},S9,function(){return null},function(a,b){a=$APP.kf(a);var c=$APP.fe.g(a,$APP.S);$APP.nF.l($APP.F([$APP.S,c]));return Cfa($APP.wi.j(a,$APP.S,$APP.v(R9)),b)}]),Pfa=$APP.Li.h(null);export const startServer=function(a){return Promise.resolve(null).then(function(){var b=function(){var e=$APP.qF.h(a);return $APP.r(e)?e:0}(),c=function(){var e=Nfa.h(a);return $APP.r(e)?e:"127.0.0.1"}();(function(){var e=$APP.$a(a)?a.bg:Jfa.h(a);return $APP.r(e)?e:"info"})();var d=esm_import$net.createServer($APP.Ik.g(Efa,$APP.hf));d.listen(b,c,function(){var e=d.address(),f=e.port;e=e.address;$APP.oF.l($APP.F([["nREPL server started on port ",$APP.t.h(f)," on host ",$APP.t.h(e)," - nrepl://",$APP.t.h(e),
|
|
23
23
|
":",$APP.t.h(f)].join("")]));try{return esm_import$fs.writeFileSync(".nrepl-port",$APP.t.h(f))}catch(k){return console.warn($APP.jp.g(" ",$APP.F(["Could not write .nrepl-port",k])))}});return $APP.Jf(Pfa,d)})};
|
package/lib/squint.core.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var squint;(squint||={}).core=(()=>{var I=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var $e=Object.prototype.hasOwnProperty;var Ve=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0})},We=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ce(t))!$e.call(e,o)&&o!==n&&I(e,o,{get:()=>t[o],enumerable:!(r=qe(t,o))||r.enumerable});return e};var Fe=e=>We(I({},"__esModule",{value:!0}),e);var ir={};Ve(ir,{Atom:()=>se,Cons:()=>ue,IIterable:()=>L,IIterable__iterator:()=>re,LazySeq:()=>an,NaN_QMARK_:()=>zn,PROTOCOL_SENTINEL:()=>mt,_:()=>Ue,_GT_:()=>Je,_PLUS_:()=>De,_iterator:()=>S,aclone:()=>Qn,add_watch:()=>Sn,alength:()=>Mn,apply:()=>St,array_QMARK_:()=>de,aset:()=>En,assoc:()=>b,assoc_BANG_:()=>m,assoc_in:()=>D,assoc_in_BANG_:()=>et,atom:()=>At,boolean$:()=>mn,boolean_QMARK_:()=>Zn,bounded_count:()=>Hn,butlast:()=>pn,coll_QMARK_:()=>Cn,comp:()=>tt,compare:()=>W,complement:()=>_e,concat:()=>he,conj:()=>U,conj_BANG_:()=>B,cons:()=>ie,constantly:()=>Nt,contains_QMARK_:()=>Z,count:()=>R,counted_QMARK_:()=>Ye,cycle:()=>Wt,dec:()=>ut,deref:()=>le,disj:()=>nt,disj_BANG_:()=>X,dissoc:()=>ot,dissoc_BANG_:()=>rt,distinct:()=>Ft,doall:()=>Kn,dorun:()=>Rn,drop:()=>k,drop_last:()=>xn,drop_while:()=>Ee,empty:()=>ge,empty_QMARK_:()=>on,es6_iterator:()=>j,even_QMARK_:()=>xe,every_QMARK_:()=>Ke,every_pred:()=>In,ex_cause:()=>Fn,ex_data:()=>Vn,ex_info:()=>Jn,ex_message:()=>Wn,false_QMARK_:()=>yn,ffirst:()=>ft,filter:()=>Y,filterv:()=>xt,find:()=>er,first:()=>M,fn_QMARK_:()=>Pn,fnil:()=>$,frequencies:()=>ln,get:()=>y,get_in:()=>Re,group_by:()=>sn,identical_QMARK_:()=>Ct,identity:()=>ye,inc:()=>H,int_QMARK_:()=>Pe,integer_QMARK_:()=>Dn,interleave:()=>we,interpose:()=>Tt,into:()=>ve,into_array:()=>Oe,iterable:()=>f,iterate:()=>Gn,js_keys:()=>Yn,js_obj:()=>vn,juxt:()=>Bn,keep:()=>Xt,keep_indexed:()=>ht,key:()=>be,keys:()=>Be,last:()=>st,lazy:()=>c,list:()=>kt,list_QMARK_:()=>Ot,map:()=>A,map_QMARK_:()=>kn,map_indexed:()=>dt,mapcat:()=>It,mapv:()=>pe,max:()=>Ne,max_key:()=>rr,merge:()=>zt,merge_with:()=>Yt,meta:()=>Un,min:()=>On,min_key:()=>nr,mod:()=>tr,neg_QMARK_:()=>bn,next:()=>ke,nil_QMARK_:()=>wt,not:()=>fe,not_any_QMARK_:()=>nn,not_every_QMARK_:()=>Ut,nth:()=>te,number_QMARK_:()=>Ge,object_QMARK_:()=>Ze,odd_QMARK_:()=>jt,parse_long:()=>ur,partial:()=>Vt,partition:()=>Lt,partition_all:()=>Bt,partition_by:()=>Pt,pos_QMARK_:()=>An,pr_str:()=>ce,println:()=>ee,prn:()=>bt,rand_int:()=>je,rand_nth:()=>un,range:()=>Mt,re_matches:()=>Et,re_seq:()=>Te,reduce:()=>T,reduce_kv:()=>Nn,reduced:()=>lt,reduced_QMARK_:()=>at,regexp_QMARK_:()=>$n,remove:()=>_t,remove_watch:()=>jn,repeat:()=>C,repeatedly:()=>cn,replace:()=>rn,reset_BANG_:()=>ae,rest:()=>ct,reverse:()=>Zt,satisfies_QMARK_:()=>Xe,second:()=>it,select_keys:()=>Gt,seq:()=>P,seqable_QMARK_:()=>ne,set:()=>Qt,shuffle:()=>tn,some:()=>Se,some_QMARK_:()=>wn,some_fn:()=>Tn,sort:()=>Qe,sort_by:()=>en,split_at:()=>_n,split_with:()=>dn,str:()=>yt,string_QMARK_:()=>Le,subs:()=>Ie,subvec:()=>Rt,swap_BANG_:()=>vt,system_time:()=>qt,take:()=>O,take_nth:()=>$t,take_while:()=>Me,to_array:()=>Ln,true_QMARK_:()=>hn,update:()=>Jt,update_BANG_:()=>V,update_in:()=>Dt,val:()=>Ae,vals:()=>qn,vec:()=>v,vector:()=>q,vector_QMARK_:()=>Kt,warn_on_lazy_reusage_BANG_:()=>pt,with_meta:()=>Xn,zero_QMARK_:()=>gn});function Je(e,t){return e>t}function De(...e){return e.reduce((t,n)=>t+n,0)}function Ue(...e){return e.length==1?0-e[0]:e.reduce((t,n)=>t-n)}function Xe(e,t){return t[e]}function m(e,t,n,...r){if(r.length%2!==0)throw new Error("Illegal argument: assoc expects an odd number of arguments.");switch(a(e)){case p:e.set(t,n);for(let o=0;o<r.length;o+=2)e.set(r[o],r[o+1]);break;case x:case d:e[t]=n;for(let o=0;o<r.length;o+=2)e[r[o]]=r[o+1];break;default:throw new Error("Illegal argument: assoc! expects a Map, Array, or Object as the first argument.")}return e}function J(e){switch(a(e)){case p:return new Map(e.entries());case x:return[...e];case d:return{...e};default:throw new Error(`Don't know how to copy object of type ${typeof e}.`)}}function b(e,t,n,...r){e||(e={});let o=J(e);return m(o,t,n,...r),o}const p=1,x=2,d=3,g=4,h=5,K=6;function Q(e){switch(e){case p:return new Map;case x:return[];case d:return{};case g:return new N;case h:return new Set;case K:return c(function*(){})}}function G(e){return e.constructor===Object}function Ze(e){return e!=null&&G(e)}function a(e){if(e!=null){if(G(e))return d;if(e instanceof Map)return p;if(e instanceof Set)return h;if(e instanceof N)return g;if(e instanceof Array)return x;if(e instanceof z)return K;if(e instanceof Object)return d}}function He(e,t,n,r,o){let u=a(n);if(u!==p&&u!==x&&u!==d)throw new Error(`Illegal argument: ${t} expects the first argument to be a Map, Array, or Object.`);const i=[n];let s=n;for(let l=0;l<r.length-1;l+=1){let w=r[l],_;s instanceof Map?_=s.get(w):_=s[w],_||(_=Q(u)),i.push(_),s=_}i.push(o);for(let l=i.length-2;l>=0;l-=1)i[l]=e(i[l],r[l],i[l+1]);return i[0]}function D(e,t,n){return He(b,"assoc-in",e,t,n)}function et(e,t,n){var r=e;let o=a(e);for(const u of t.splice(0,t.length-1)){let i=y(r,u);i===void 0&&(i=Q(o),m(r,u,i)),r=i}return m(r,t[t.length-1],n),e}function tt(...e){if(e.length===0)return ye;if(e.length===1)return e[0];let[t,...n]=e.slice().reverse();return function(...r){let o=t(...r);for(const u of n)o=u(o);return o}}function B(...e){if(e.length===0)return q();let[t,...n]=e;switch(t==null&&(t=[]),a(t)){case h:for(const r of n)t.add(r);break;case g:t.unshift(...n.reverse());break;case x:t.push(...n);break;case p:for(const r of n)r instanceof Array?t.set(r[0],r[1]):f(r).forEach(o=>{t.set(o[0],o[1])});break;case d:for(const r of n)r instanceof Array?t[r[0]]=r[1]:Object.assign(t,r);break;default:throw new Error("Illegal argument: conj! expects a Set, Array, List, Map, or Object as the first argument.")}return t}function U(...e){if(e.length===0)return q();let[t,...n]=e;switch(t==null&&(t=[]),a(t)){case h:return new Set([...t,...n]);case g:return new N(...n.reverse(),...t);case x:return[...t,...n];case p:const r=new Map(t);for(const u of n)u instanceof Array?r.set(u[0],u[1]):f(u).forEach(i=>{r.set(i[0],i[1])});return r;case K:return c(function*(){yield*n,yield*t});case d:const o={...t};for(const u of n)u instanceof Array?o[u[0]]=u[1]:Object.assign(o,u);return o;default:throw new Error("Illegal argument: conj expects a Set, Array, List, Map, or Object as the first argument.")}}function X(e,...t){for(const n of t)e.delete(n);return e}function nt(e,...t){let n=new Set([...e]);return X(n,...t)}function Z(e,t){switch(a(e)){case h:case p:return e.has(t);case void 0:return!1;default:return t in e}}function rt(e,...t){for(const n of t)delete e[n];return e}function ot(e,...t){let n={...e};for(const r of t)delete n[r];return n}function H(e){return e+1}function ut(e){return e-1}function ee(...e){console.log(...e)}function te(e,t,n){if(e){var r=void 0;if(e instanceof Array)r=e[t];else{let o=f(e),u=0;for(let i of o)if(u++==t){r=i;break}}if(r!==void 0)return r}return n}function y(e,t,n=void 0){if(e==null)return n;let r;if(G(e))return r=e[t],r===void 0?n:r;switch(a(e)){case h:e.has(t)&&(r=t);break;case p:r=e.get(t);break;case void 0:break;default:r=e[t];break}return r!==void 0?r:n}function ne(e){return typeof e=="string"||e===null||e===void 0||e instanceof Object&&Symbol.iterator in e}function f(e){return e==null?[]:ne(e)?e:Object.entries(e)}const L=Symbol("Iterable"),re=Symbol.iterator;function S(e){return e[Symbol.iterator]()}const j=S;function P(e){let t=f(e);return t.length===0||t.size===0?null:t}function M(e){let[t]=f(e);return t}function it(e){let[t,n]=f(e);return n}function ft(e){return M(M(e))}function ct(e){return c(function*(){let t=!0;for(const n of f(e))t?t=!1:yield n})}class E{value;constructor(t){this.value=t}_deref(){return this.value}}function st(e){switch(e=f(e),a(e)){case x:return e[e.length-1];default:let t;for(const n of e)t=n;return t}}function lt(e){return new E(e)}function at(e){return e instanceof E}function T(e,t,n){let r,o;if(n===void 0){let u=f(t)[Symbol.iterator]();o=u.next().value,r=u}else o=t,r=f(n);if(o instanceof E)return o.value;for(const u of r)if(o=e(o,u),o instanceof E){o=o.value;break}return o}var oe=!1;function pt(){oe=!0}class z{constructor(t){this.gen=t,this.usages=0}[Symbol.iterator](){if(this.usages++,this.usages>=2&&oe)try{throw new Error}catch(t){console.warn("Re-use of lazy value",t.stack)}return this.gen()}}z.prototype[L]=!0;function c(e){return new z(e)}class ue{constructor(t,n){this.x=t,this.coll=n}*[Symbol.iterator](){yield this.x,yield*f(this.coll)}}function ie(e,t){return new ue(e,t)}function A(e,...t){switch(t.length){case 0:throw new Error("map with 2 arguments is not supported yet");case 1:return c(function*(){for(const n of f(t[0]))yield e(n)});default:return c(function*(){const n=t.map(r=>j(f(r)));for(;;){let r=[];for(const o of n){const u=o.next();if(u.done)return;r.push(u.value)}yield e(...r)}})}}function Y(e,t){return c(function*(){for(const n of f(t))e(n)&&(yield n)})}function xt(e,t){return[...Y(e,t)]}function _t(e,t){return Y(_e(e),t)}function dt(e,t){let n=[],r=0;for(const o of f(t))n.push(e(r,o)),r++;return n}function ht(e,t){let n=[],r=0;for(const o of f(t)){let u=e(r,o);u&&n.push(u),r++}return n}function yt(...e){return e.join("")}function fe(e){return!e}function wt(e){return e==null}const mt={};function gt(e){return e===null?"null":JSON.stringify(e,(t,n)=>{switch(a(n)){case h:case K:return[...n];case p:return Object.fromEntries(n);default:return n}})}function ce(...e){return e.map(gt).join(" ")}function bt(...e){ee(ce(...e))}function se(e){this.val=e,this._watches={},this._deref=()=>this.val,this._hasWatches=!1,this._reset_BANG_=t=>{let n=this.val;if(this.val=t,this._hasWatches)for(let r of Object.entries(this._watches)){let o=r[0],u=r[1];u(o,this,n,t)}return t},this._add_watch=(t,n)=>{this._watches[t]=n,this._hasWatches=!0},this._remove_watch=t=>{delete this._watches[t]}}function At(e){return new se(e)}function le(e){return e._deref()}function ae(e,t){e._reset_BANG_(t)}function vt(e,t,...n){const r=t(le(e),...n);return ae(e,r),r}function Mt(e,t,n){return c(function*(){let r=e,o=t,u=n;t===void 0&&(r=0,o=e);let i=r||0;for(u=n||1;o===void 0||i<o;)yield i,i+=u})}function Et(e,t){let n=e.exec(t);if(n&&t===n[0])return n.length===1?n[0]:n}function Rt(e,t,n){return e.slice(t,n)}function q(...e){return e}function Kt(e){return a(e)===x}function pe(...e){return[...A(...e)]}function v(e){return de(e)?e:[...f(e)]}function Qt(e){return new Set(f(e))}function St(e,...t){const n=t.slice(0,t.length-1),r=t[t.length-1];return e(...n,...r)}function xe(e){return e%2==0}function jt(e){return!xe(e)}function _e(e){return(...t)=>fe(e(...t))}function Nt(e){return(...t)=>e}class N extends Array{constructor(...t){super(),this.push(...t)}}function Ot(e){return a(e)===g}function kt(...e){return new N(...e)}function de(e){return e instanceof Array}function he(...e){return c(function*(){for(const t of e)yield*f(t)})}function It(e,...t){return he(...A(e,...t))}function ye(e){return e}function we(...e){return c(function*(){const t=e.map(n=>j(f(n)));for(;;){let n=[];for(const r of t){const o=r.next();if(o.done)return;n.push(o.value)}yield*n}})}function Tt(e,t){return k(1,we(C(e),t))}function Gt(e,t){const n=a(e),r=Q(n)||{};for(const o of t){const u=y(e,o);u!=null&&m(r,o,u)}return r}function Bt(e,...t){let n=e,r=t[0];return t.length===2&&([n,r]=t),me(e,n,[],r,!0)}function Lt(e,...t){let n=e,r=[],o=t[0];return t.length===2?[n,o]=t:t.length>2&&([n,r,o]=t),me(e,n,r,o,!1)}function me(e,t,n,r,o){return c(function*(){let u=[],i=0;for(let s of f(r))i<e&&(u.push(s),u.length===e&&(yield u,u=t<e?u.slice(t):[])),i++,i===t&&(i=0);u.length>0&&(u.length===e||o?yield u:n.length&&(u.push(...n.slice(0,e-u.length)),yield u))})}function Pt(e,t){return c(function*(){let n=j(t),r=n.next();r.done&&(yield*null);let o=r.value,u=e(o),i=[o],s=[];for(;;){let l=n.next();if(l.done){yield i;break}let w=l.value,_=e(w);u==_?i.push(w):(yield i,s.push(w),i=s,u=_,s=[])}})}function ge(e){const t=a(e);if(t!=null)return Q(t);throw new Error(`Can't create empty of ${typeof e}`)}function zt(...e){const t=e[0];let n;return t==null?n={}:n=ve(ge(t),t),B(n,...e.slice(1))}function be(e){return e[0]}function Ae(e){return e[1]}function Yt(e,...t){var n=!1;for(const r of t)if(r!=null){n=!0;break}if(n){let r=(u,i)=>{let s=be(i),l=Ae(i);return Z(u,s)?b(u,s,e(y(u,s),l)):b(u,s,l)};return T((u,i)=>T(r,u||{},P(i)),t)}else return null}function qt(){return performance.now()}function ve(...e){switch(e.length){case 0:return[];case 1:return e[0];default:return U(e[0]??[],...f(e[1]))}}function Ct(e,t){return e===t}function C(...e){if(e.length==0||e.length>2)throw new Error(`Invalid arity: ${e.length}`);return{[L]:!0,[re]:e.length==1?function*(){let t=e[0];for(;;)yield t}:function*(){let[t,n]=e;for(var r=0;r<t;r++)yield n}}}function O(e,t){return c(function*(){let n=e-1;for(const r of f(t))if(n-->=0&&(yield r),n<0)return})}function Me(e,t){return c(function*(){for(const n of f(t))if(e(n))yield n;else return})}function $t(e,t){return e<=0?C(M(t)):c(function*(){let n=0;for(let r of f(t))n%e===0&&(yield r),n++})}function Vt(e,...t){return function(...n){return e(...t,...n)}}function Wt(e){return c(function*(){for(;;)yield*e})}function k(e,t){return c(function*(){let n=S(f(t));for(let r=0;r<e;r++)n.next();yield*n})}function Ee(e,t){return c(function*(){let n=S(f(t));for(;;){let r=n.next();if(r.done)break;let o=r.value;if(!e(o)){yield o;break}}yield*n})}function Ft(e){return c(function*(){let t=new Set;for(const n of f(e))t.has(n)||(yield n),t.add(n)})}function Jt(e,t,n,...r){return b(e,t,n(y(e,t),...r))}function Re(e,t,n){let r=e;for(const o of t)r=y(r,o);return r===void 0?n:r}function Dt(e,t,n,...r){return D(e,t,n(Re(e,t),...r))}function $(e,t,...n){return function(r,...o){return r?e(r,...n,...o):e(t,...n,...o)}}function Ke(e,t){for(let n of f(t))if(!e(n))return!1;return!0}function Ut(e,t){return!Ke(e,t)}function Xt(e,t){return c(function*(){for(const n of f(t)){const r=e(n);r&&(yield r)}})}function Zt(e){return e instanceof Array?e.reverse():[...e].reverse()}function Qe(e,t){return t===void 0&&(t=e,e=void 0),[...t].sort(e)}function Ht(e){return e===W?e:(t,n)=>{let r=e(t,n);return Ge(r)?r:r?-1:e(n,t)?1:0}}function en(e,t,n){return n===void 0&&(n=t,t=W),Qe((r,o)=>{let u=Ht(t),i=e(r),s=e(o);return u(i,s)},n)}function tn(e){return[...e].sort(function(t,n){return Math.random()-.5})}function Se(e,t){for(const n of f(t)){const r=e(n);if(r)return r}}function nn(e,t){return!Se(e,t)}function rn(e,t){return(t instanceof Array?pe:A)(r=>{const o=e[r];return o!==void 0?o:r},t)}function on(e){return!P(e)}function je(e){return Math.floor(Math.random()*e)}function un(e){let t=je(R(e));return te(e,t)}function fn(e){return c(function*(){for(;;)yield e()})}function cn(e,t){t===void 0&&(t=e,e=void 0);const n=fn(t);return e?O(e,n):n}function V(e,t,n,...r){const o=y(e,t);return m(e,t,n(o,...r))}function sn(e,t){const n={};for(const r of f(t)){const o=e(r);V(n,o,$(B,[]),r)}return n}function ln(e){const t={},n=$(H,0);for(const r of f(e))V(t,r,n);return t}class an{constructor(t){this.f=t,this.res=void 0}*[Symbol.iterator](){this.res===void 0&&(this.res=this.f(),this.f=null),yield*f(this.res)}}function pn(e){let t=[...f(e)];return t.pop(),t.length>0?t:null}function xn(...e){let[t,n]=e.length>1?e:[1,e[0]];return A((r,o)=>r,n,k(t,n))}function _n(e,t){return[O(e,t),k(e,t)]}function dn(e,t){return[Me(e,t),Ee(e,t)]}function R(e){if(!e)return 0;const t=e.length||e.size;if(typeof t=="number")return t;let n=0;for(const r of f(e))n++;return n}function hn(e){return e===!0}function yn(e){return e===!1}function wn(e){return e!=null}function mn(e){return!!e}function gn(e){return e===0}function bn(e){return e<0}function An(e){return e>0}function vn(...e){var t=0;let n={};for(;!(t>=e.length);)n[e[t]]=e[t+1],t=t+2;return n}function Mn(e){return e.length}function En(e,t,n,...r){if(r.length==0)return e[t]=n,n;{let o=[t,n,...r],u=o[o.length-1],i=e,s=0,l=o.length-2;for(;s<l;s++)i=i[o[s]];return i[o[s]]=u,n}}function Rn(e){for(const t of f(e));return null}function Kn(e){return v(e)}function Qn(e){return[...e]}function Sn(e,t,n){return e._add_watch(t,n)}function jn(e,t){return e._remove_watch(t)}function Nn(e,t,n){if(!n)return t;var r=t;for(let o of Object.entries(n))r=e(r,o[0],o[1]);return r}function Ne(e,t,...n){return t==null?e:Math.max(e,t,...n)}function On(e,t,...n){return t==null?e:Math.min(e,t,...n)}function kn(e){return e instanceof Object}function In(...e){return(...t)=>{for(let n of e)for(let r of t)if(!n(r))return!1;return!0}}function Tn(...e){return(...t)=>{for(let n of e)for(let r of t){let o=n(r);if(o)return o}}}function Oe(e,t){return v(t||e)}function Gn(e,t){var n=t;return c(function*(){for(;;)yield n,n=e(n)})}function Bn(...e){return(...t)=>{let n=[];for(let r of e)n.push(r(...t));return n}}function ke(e){if(e instanceof Array){let t=e.slice(1);return t.length>0?t:null}else return ke(v(e))}function W(e,t){if(e===t)return 0;if(e==null)return-1;if(t==null)return 1;if(typeof e=="number"){if(typeof t=="number")return e===t?0:e<t?-1:1;throw new Error("comparing number to other type")}else throw new Error("comparing number to other type")}function Ln(e){return Oe(e)}function Ie(e,t,n){return e.substring(t,n)}function Pn(e){return typeof e=="function"}function*Te(e,t){let n=e.exec(t);if(n){let r=n[0],o=n.length===1?r:v(n);yield*ie(o,c(function*(){let u=n.index+Ne(1,r.length);u<=t.length&&(yield*Te(e,Ie(t,u)))}))}}function zn(e){return Number.isNaN(e)}function Ge(e){return typeof e=="number"}function Be(e){return e?Object.keys(e):null}function Yn(e){return Be(e)}function qn(e){return e?Object.values(e):null}function Le(e){return typeof e=="string"}function Cn(e){return a(e)!=null}function $n(e){return e instanceof RegExp}class F extends Error{constructor(t,n,r){super(t),this._data=n,this._cause=r}}function Vn(e){return e instanceof F?e._data:null}function Wn(e){return e instanceof Error?e.message:null}function Fn(e){return e instanceof F?e._cause:null}function Jn(e,t,n){return new F(e,t,n)}function Pe(e){return Number.isInteger(e)}const Dn=Pe,ze=Symbol("meta");function Un(e){return e instanceof Object?e[ze]:null}function Xn(e,t){let n=J(e);return n[ze]=t,n}function Zn(e){return e===!0||e===!1}function Ye(e){switch(a(e)){case h:return!0}return!1}function Hn(e,t){return Ye(t)?R(t):R(O(e,t))}function er(e,t){let n=y(e,t);if(n!==void 0)return[t,n]}function tr(e,t){return(e%t+t)%t}function nr(e,t,...n){if(n.length==0)return t;var r=e(t),o=t;return n.forEach(u=>{var i=e(u);i<=r&&(r=i,o=u)}),o}function rr(e,t,...n){if(n.length==0)return t;var r=e(t),o=t;return n.forEach(u=>{var i=e(u);i>=r&&(r=i,o=u)}),o}function or(e){throw new Error(`Expected string, got: ${typeof e}`)}function ur(e){if(Le(e)){if(/^[+-]?\d+$/.test(e)){let t=parseInt(e);if(Number.MIN_SAFE_INTEGER<=t<=Number.MAX_SAFE_INTEGER)return t}return null}return or(e)}return Fe(ir);})();
|
|
1
|
+
var squint;(squint||={}).core=(()=>{var G=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Fe=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var We=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})},Je=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Fe(t))!Ve.call(e,o)&&o!==n&&G(e,o,{get:()=>t[o],enumerable:!(r=$e(t,o))||r.enumerable});return e};var De=e=>Je(G({},"__esModule",{value:!0}),e);var cr={};We(cr,{Atom:()=>ae,Cons:()=>fe,IIterable:()=>z,IIterable__iterator:()=>ue,LazySeq:()=>xn,NaN_QMARK_:()=>qn,PROTOCOL_SENTINEL:()=>bt,_:()=>Ze,_GT_:()=>Ue,_PLUS_:()=>Xe,_iterator:()=>N,aclone:()=>jn,add_watch:()=>Nn,alength:()=>Rn,apply:()=>Nt,array_QMARK_:()=>ye,aset:()=>Kn,assoc:()=>v,assoc_BANG_:()=>b,assoc_in:()=>X,assoc_in_BANG_:()=>nt,atom:()=>Mt,boolean$:()=>bn,boolean_QMARK_:()=>er,bounded_count:()=>tr,butlast:()=>_n,coll_QMARK_:()=>Fn,comp:()=>rt,compare:()=>J,complement:()=>de,concat:()=>we,conj:()=>Z,conj_BANG_:()=>P,cons:()=>ce,constantly:()=>It,contains_QMARK_:()=>ee,count:()=>Q,counted_QMARK_:()=>Ce,cycle:()=>Jt,dec:()=>ft,deref:()=>pe,disj:()=>ot,disj_BANG_:()=>H,dissoc:()=>it,dissoc_BANG_:()=>ut,distinct:()=>Dt,doall:()=>Sn,dorun:()=>Qn,drop:()=>T,drop_last:()=>hn,drop_while:()=>Ke,empty:()=>Ae,empty_QMARK_:()=>fn,es6_iterator:()=>O,even_QMARK_:()=>he,every_QMARK_:()=>Se,every_pred:()=>Gn,ex_cause:()=>Dn,ex_data:()=>Wn,ex_info:()=>Un,ex_message:()=>Jn,false_QMARK_:()=>mn,ffirst:()=>st,filter:()=>C,filterv:()=>ht,find:()=>nr,first:()=>R,fn_QMARK_:()=>Yn,fnil:()=>V,frequencies:()=>pn,get:()=>_,get_in:()=>Qe,group_by:()=>an,identical_QMARK_:()=>Ft,identity:()=>me,inc:()=>te,int_QMARK_:()=>Ye,integer_QMARK_:()=>Xn,interleave:()=>ge,interpose:()=>Bt,into:()=>Ee,into_array:()=>ke,iterable:()=>f,iterate:()=>Ln,js_keys:()=>Cn,js_obj:()=>En,juxt:()=>Pn,keep:()=>Ht,keep_indexed:()=>wt,key:()=>ve,keys:()=>Pe,last:()=>at,lazy:()=>s,list:()=>Tt,list_QMARK_:()=>kt,map:()=>M,map_QMARK_:()=>Tn,map_indexed:()=>yt,mapcat:()=>Gt,mapv:()=>_e,max:()=>Ie,max_key:()=>ur,merge:()=>qt,merge_with:()=>Ct,meta:()=>Zn,min:()=>kn,min_key:()=>or,mod:()=>rr,neg_QMARK_:()=>vn,next:()=>Te,nil_QMARK_:()=>gt,not:()=>se,not_any_QMARK_:()=>on,not_every_QMARK_:()=>Zt,nth:()=>re,number_QMARK_:()=>Le,object_QMARK_:()=>et,odd_QMARK_:()=>Ot,parse_long:()=>fr,partial:()=>Wt,partition:()=>zt,partition_all:()=>Pt,partition_by:()=>Yt,pos_QMARK_:()=>Mn,pr_str:()=>le,println:()=>ne,prn:()=>vt,rand_int:()=>Oe,rand_nth:()=>cn,range:()=>Rt,re_matches:()=>Kt,re_seq:()=>Be,reduce:()=>B,reduce_kv:()=>In,reduced:()=>pt,reduced_QMARK_:()=>xt,regexp_QMARK_:()=>Vn,remove:()=>dt,remove_watch:()=>On,repeat:()=>F,repeatedly:()=>ln,replace:()=>un,reset_BANG_:()=>xe,rest:()=>lt,reverse:()=>en,satisfies_QMARK_:()=>He,second:()=>ct,select_keys:()=>Lt,seq:()=>Y,seqable_QMARK_:()=>oe,set:()=>jt,shuffle:()=>rn,some:()=>Ne,some_QMARK_:()=>gn,some_fn:()=>Bn,sort:()=>je,sort_by:()=>nn,split_at:()=>dn,split_with:()=>yn,str:()=>mt,string_QMARK_:()=>ze,subs:()=>Ge,subvec:()=>Qt,swap_BANG_:()=>Et,system_time:()=>$t,t:()=>m,take:()=>k,take_nth:()=>Vt,take_while:()=>Re,to_array:()=>zn,true_QMARK_:()=>wn,update:()=>Ut,update_BANG_:()=>W,update_in:()=>Xt,val:()=>Me,vals:()=>$n,vec:()=>E,vector:()=>$,vector_QMARK_:()=>St,warn_on_lazy_reusage_BANG_:()=>_t,with_meta:()=>Hn,zero_QMARK_:()=>An});function c(e){if(e==null||e instanceof Function)return e;let t=typeof e;return t==="string"?(n,r)=>_(n,e,r):t==="object"?(n,r)=>_(e,n,r):e}globalThis.toFn=c;function Ue(e,t){return e>t}function Xe(...e){return e.reduce((t,n)=>t+n,0)}function Ze(...e){return e.length==1?0-e[0]:e.reduce((t,n)=>t-n)}function He(e,t){return t[e]}function b(e,t,n,...r){if(r.length%2!==0)throw new Error("Illegal argument: assoc expects an odd number of arguments.");switch(p(e)){case x:e.set(t,n);for(let o=0;o<r.length;o+=2)e.set(r[o],r[o+1]);break;case h:case y:e[t]=n;for(let o=0;o<r.length;o+=2)e[r[o]]=r[o+1];break;default:throw new Error("Illegal argument: assoc! expects a Map, Array, or Object as the first argument.")}return e}function U(e){switch(p(e)){case x:return new Map(e.entries());case h:return[...e];case y:return{...e};default:throw new Error(`Don't know how to copy object of type ${typeof e}.`)}}function v(e,t,n,...r){e||(e={});let o=U(e);return b(o,t,n,...r),o}const x=1,h=2,y=3,A=4,w=5,S=6;function j(e){switch(e){case x:return new Map;case h:return[];case y:return{};case A:return new I;case w:return new Set;case S:return s(function*(){})}}function L(e){return e.constructor===Object}function et(e){return e!=null&&L(e)}function p(e){if(e!=null){if(L(e))return y;if(e instanceof Map)return x;if(e instanceof Set)return w;if(e instanceof I)return A;if(e instanceof Array)return h;if(e instanceof q)return S;if(e instanceof Object)return y}}function tt(e,t,n,r,o){let u=p(n);if(u!==x&&u!==h&&u!==y)throw new Error(`Illegal argument: ${t} expects the first argument to be a Map, Array, or Object.`);const i=[n];let l=n;for(let a=0;a<r.length-1;a+=1){let g=r[a],d;l instanceof Map?d=l.get(g):d=l[g],d||(d=j(u)),i.push(d),l=d}i.push(o);for(let a=i.length-2;a>=0;a-=1)i[a]=e(i[a],r[a],i[a+1]);return i[0]}function X(e,t,n){return tt(v,"assoc-in",e,t,n)}function nt(e,t,n){var r=e;let o=p(e);for(const u of t.splice(0,t.length-1)){let i=_(r,u);i===void 0&&(i=j(o),b(r,u,i)),r=i}return b(r,t[t.length-1],n),e}function rt(...e){if(e=e.map(c),e.length===0)return me;if(e.length===1)return e[0];let[t,...n]=e.slice().reverse();return function(...r){let o=t(...r);for(const u of n)o=u(o);return o}}function P(...e){if(e.length===0)return $();let[t,...n]=e;switch(t==null&&(t=[]),p(t)){case w:for(const r of n)t.add(r);break;case A:t.unshift(...n.reverse());break;case h:t.push(...n);break;case x:for(const r of n)r instanceof Array?t.set(r[0],r[1]):f(r).forEach(o=>{t.set(o[0],o[1])});break;case y:for(const r of n)r instanceof Array?t[r[0]]=r[1]:Object.assign(t,r);break;default:throw new Error("Illegal argument: conj! expects a Set, Array, List, Map, or Object as the first argument.")}return t}function Z(...e){if(e.length===0)return $();let[t,...n]=e;switch(t==null&&(t=[]),p(t)){case w:return new Set([...t,...n]);case A:return new I(...n.reverse(),...t);case h:return[...t,...n];case x:const r=new Map(t);for(const u of n)u instanceof Array?r.set(u[0],u[1]):f(u).forEach(i=>{r.set(i[0],i[1])});return r;case S:return s(function*(){yield*n,yield*t});case y:const o={...t};for(const u of n)u instanceof Array?o[u[0]]=u[1]:Object.assign(o,u);return o;default:throw new Error("Illegal argument: conj expects a Set, Array, List, Map, or Object as the first argument.")}}function H(e,...t){for(const n of t)e.delete(n);return e}function ot(e,...t){let n=new Set([...e]);return H(n,...t)}function ee(e,t){switch(p(e)){case w:case x:return e.has(t);case void 0:return!1;default:return t in e}}function ut(e,...t){for(const n of t)delete e[n];return e}function it(e,...t){let n={...e};for(const r of t)delete n[r];return n}function te(e){return e+1}function ft(e){return e-1}function ne(...e){console.log(...e)}function re(e,t,n){if(e){var r=void 0;if(e instanceof Array)r=e[t];else{let o=f(e),u=0;for(let i of o)if(u++==t){r=i;break}}if(r!==void 0)return r}return n}function _(e,t,n=void 0){if(e==null)return n;let r;if(L(e))return r=e[t],r===void 0?n:r;switch(p(e)){case w:e.has(t)&&(r=t);break;case x:r=e.get(t);break;case void 0:break;default:r=e[t];break}return r!==void 0?r:n}function oe(e){return typeof e=="string"||e===null||e===void 0||e instanceof Object&&Symbol.iterator in e}function f(e){return e==null?[]:oe(e)?e:Object.entries(e)}const z=Symbol("Iterable"),ue=Symbol.iterator;function N(e){return e[Symbol.iterator]()}const O=N;function Y(e){let t=f(e);return t.length===0||t.size===0?null:t}function R(e){let[t]=f(e);return t}function ct(e){let[t,n]=f(e);return n}function st(e){return R(R(e))}function lt(e){return s(function*(){let t=!0;for(const n of f(e))t?t=!1:yield n})}class K{value;constructor(t){this.value=t}_deref(){return this.value}}function at(e){switch(e=f(e),p(e)){case h:return e[e.length-1];default:let t;for(const n of e)t=n;return t}}function pt(e){return new K(e)}function xt(e){return e instanceof K}function B(e,t,n){e=c(e);let r,o;if(n===void 0){let u=f(t)[Symbol.iterator]();o=u.next().value,r=u}else o=t,r=f(n);if(o instanceof K)return o.value;for(const u of r)if(o=e(o,u),o instanceof K){o=o.value;break}return o}var ie=!1;function _t(){ie=!0}class q{constructor(t){this.gen=t,this.usages=0}[Symbol.iterator](){if(this.usages++,this.usages>=2&&ie)try{throw new Error}catch(t){console.warn("Re-use of lazy value",t.stack)}return this.gen()}}q.prototype[z]=!0;function s(e){return new q(e)}class fe{constructor(t,n){this.x=t,this.coll=n}*[Symbol.iterator](){yield this.x,yield*f(this.coll)}}function ce(e,t){return new fe(e,t)}function M(e,...t){switch(e=c(e),t.length){case 0:throw new Error("map with 2 arguments is not supported yet");case 1:return s(function*(){for(const n of f(t[0]))yield e(n)});default:return s(function*(){const n=t.map(r=>O(f(r)));for(;;){let r=[];for(const o of n){const u=o.next();if(u.done)return;r.push(u.value)}yield e(...r)}})}}function C(e,t){return e=c(e),s(function*(){for(const n of f(t))m(e(n))&&(yield n)})}function ht(e,t){return[...C(e,t)]}function dt(e,t){return C(de(e),t)}function yt(e,t){e=c(e);let n=[],r=0;for(const o of f(t))n.push(e(r,o)),r++;return n}function wt(e,t){e=c(e);let n=[],r=0;for(const o of f(t)){let u=e(r,o);m(u)&&n.push(u),r++}return n}function mt(...e){return e.join("")}function se(e){return!e}function gt(e){return e==null}const bt={};function At(e){return e===null?"null":JSON.stringify(e,(t,n)=>{switch(p(n)){case w:case S:return[...n];case x:return Object.fromEntries(n);default:return n}})}function le(...e){return e.map(At).join(" ")}function vt(...e){ne(le(...e))}function ae(e){this.val=e,this._watches={},this._deref=()=>this.val,this._hasWatches=!1,this._reset_BANG_=t=>{let n=this.val;if(this.val=t,this._hasWatches)for(let r of Object.entries(this._watches)){let o=r[0],u=r[1];u(o,this,n,t)}return t},this._add_watch=(t,n)=>{this._watches[t]=n,this._hasWatches=!0},this._remove_watch=t=>{delete this._watches[t]}}function Mt(e){return new ae(e)}function pe(e){return e._deref()}function xe(e,t){e._reset_BANG_(t)}function Et(e,t,...n){t=c(t);const r=t(pe(e),...n);return xe(e,r),r}function Rt(e,t,n){return s(function*(){let r=e,o=t,u=n;t===void 0&&(r=0,o=e);let i=r||0;for(u=n||1;o===void 0||i<o;)yield i,i+=u})}function Kt(e,t){let n=e.exec(t);if(n&&t===n[0])return n.length===1?n[0]:n}function Qt(e,t,n){return e.slice(t,n)}function $(...e){return e}function St(e){return p(e)===h}function _e(...e){return[...M(...e)]}function E(e){return ye(e)?e:[...f(e)]}function jt(e){return new Set(f(e))}function Nt(e,...t){e=c(e);const n=t.slice(0,t.length-1),r=t[t.length-1];return e(...n,...r)}function he(e){return e%2==0}function Ot(e){return!he(e)}function de(e){return e=c(e),(...t)=>se(e(...t))}function It(e){return(...t)=>e}class I extends Array{constructor(...t){super(),this.push(...t)}}function kt(e){return p(e)===A}function Tt(...e){return new I(...e)}function ye(e){return e instanceof Array}function we(...e){return s(function*(){for(const t of e)yield*f(t)})}function Gt(e,...t){return we(...M(e,...t))}function me(e){return e}function ge(...e){return s(function*(){const t=e.map(n=>O(f(n)));for(;;){let n=[];for(const r of t){const o=r.next();if(o.done)return;n.push(o.value)}yield*n}})}function Bt(e,t){return T(1,ge(F(e),t))}function Lt(e,t){const n=p(e),r=j(n)||{};for(const o of t){const u=_(e,o);u!=null&&b(r,o,u)}return r}function Pt(e,...t){let n=e,r=t[0];return t.length===2&&([n,r]=t),be(e,n,[],r,!0)}function zt(e,...t){let n=e,r=[],o=t[0];return t.length===2?[n,o]=t:t.length>2&&([n,r,o]=t),be(e,n,r,o,!1)}function be(e,t,n,r,o){return s(function*(){let u=[],i=0;for(let l of f(r))i<e&&(u.push(l),u.length===e&&(yield u,u=t<e?u.slice(t):[])),i++,i===t&&(i=0);u.length>0&&(u.length===e||o?yield u:n.length&&(u.push(...n.slice(0,e-u.length)),yield u))})}function Yt(e,t){return e=c(e),s(function*(){let n=O(t),r=n.next();r.done&&(yield*null);let o=r.value,u=e(o),i=[o],l=[];for(;;){let a=n.next();if(a.done){yield i;break}let g=a.value,d=e(g);u==d?i.push(g):(yield i,l.push(g),i=l,u=d,l=[])}})}function Ae(e){const t=p(e);if(t!=null)return j(t);throw new Error(`Can't create empty of ${typeof e}`)}function qt(...e){const t=e[0];let n;return t==null?n={}:n=Ee(Ae(t),t),P(n,...e.slice(1))}function ve(e){return e[0]}function Me(e){return e[1]}function Ct(e,...t){e=c(e);var n=!1;for(const r of t)if(r!=null){n=!0;break}if(n){let r=(u,i)=>{let l=ve(i),a=Me(i);return ee(u,l)?v(u,l,e(_(u,l),a)):v(u,l,a)};return B((u,i)=>B(r,u||{},Y(i)),t)}else return null}function $t(){return performance.now()}function Ee(...e){switch(e.length){case 0:return[];case 1:return e[0];default:return Z(e[0]??[],...f(e[1]))}}function Ft(e,t){return e===t}function F(...e){if(e.length==0||e.length>2)throw new Error(`Invalid arity: ${e.length}`);return{[z]:!0,[ue]:e.length==1?function*(){let t=e[0];for(;;)yield t}:function*(){let[t,n]=e;for(var r=0;r<t;r++)yield n}}}function k(e,t){return s(function*(){let n=e-1;for(const r of f(t))if(n-->=0&&(yield r),n<0)return})}function Re(e,t){return e=c(e),s(function*(){for(const n of f(t))if(m(e(n)))yield n;else return})}function Vt(e,t){return e<=0?F(R(t)):s(function*(){let n=0;for(let r of f(t))n%e===0&&(yield r),n++})}function Wt(e,...t){return e=c(e),function(...n){return e(...t,...n)}}function Jt(e){return s(function*(){for(;;)yield*e})}function T(e,t){return s(function*(){let n=N(f(t));for(let r=0;r<e;r++)n.next();yield*n})}function Ke(e,t){return e=c(e),s(function*(){let n=N(f(t));for(;;){let r=n.next();if(r.done)break;let o=r.value;if(!m(e(o))){yield o;break}}yield*n})}function Dt(e){return s(function*(){let t=new Set;for(const n of f(e))t.has(n)||(yield n),t.add(n)})}function Ut(e,t,n,...r){return n=c(n),v(e,t,n(_(e,t),...r))}function Qe(e,t,n){let r=e;for(const o of t)r=_(r,o);return r===void 0?n:r}function Xt(e,t,n,...r){return n=c(n),X(e,t,n(Qe(e,t),...r))}function V(e,t,...n){return e=c(e),function(r,...o){return r?e(r,...n,...o):e(t,...n,...o)}}function Se(e,t){e=c(e);for(let n of f(t))if(!e(n))return!1;return!0}function Zt(e,t){return!Se(e,t)}function Ht(e,t){return e=c(e),s(function*(){for(const n of f(t)){const r=e(n);m(r)&&(yield r)}})}function en(e){return e instanceof Array?e.reverse():[...e].reverse()}function je(e,t){return t===void 0&&(t=e,e=void 0),e=c(e),[...t].sort(e)}function tn(e){return e===J?e:(t,n)=>{let r=e(t,n);return Le(r)?r:r?-1:e(n,t)?1:0}}function nn(e,t,n){return n===void 0&&(n=t,t=J),e=c(e),t=c(t),je((r,o)=>{let u=tn(t),i=e(r),l=e(o);return u(i,l)},n)}function rn(e){return[...e].sort(function(t,n){return Math.random()-.5})}function Ne(e,t){e=c(e);for(const n of f(t)){const r=e(n);if(m(r))return r}}function on(e,t){return e=c(e),!Ne(e,t)}function un(e,t){return(t instanceof Array?_e:M)(r=>{const o=e[r];return o!==void 0?o:r},t)}function fn(e){return!Y(e)}function Oe(e){return Math.floor(Math.random()*e)}function cn(e){let t=Oe(Q(e));return re(e,t)}function sn(e){return s(function*(){for(;;)yield e()})}function ln(e,t){t===void 0&&(t=e,e=void 0);const n=sn(t);return e?k(e,n):n}function W(e,t,n,...r){const o=_(e,t);return b(e,t,n(o,...r))}function an(e,t){const n={};for(const r of f(t)){const o=e(r);W(n,o,V(P,[]),r)}return n}function pn(e){const t={},n=V(te,0);for(const r of f(e))W(t,r,n);return t}class xn{constructor(t){this.f=t,this.res=void 0}*[Symbol.iterator](){this.res===void 0&&(this.res=this.f(),this.f=null),yield*f(this.res)}}function _n(e){let t=[...f(e)];return t.pop(),t.length>0?t:null}function hn(...e){let[t,n]=e.length>1?e:[1,e[0]];return M((r,o)=>r,n,T(t,n))}function dn(e,t){return[k(e,t),T(e,t)]}function yn(e,t){return[Re(e,t),Ke(e,t)]}function Q(e){if(!e)return 0;const t=e.length||e.size;if(typeof t=="number")return t;let n=0;for(const r of f(e))n++;return n}function wn(e){return e===!0}function mn(e){return e===!1}function gn(e){return e!=null}function bn(e){return!!e}function An(e){return e===0}function vn(e){return e<0}function Mn(e){return e>0}function En(...e){var t=0;let n={};for(;!(t>=e.length);)n[e[t]]=e[t+1],t=t+2;return n}function Rn(e){return e.length}function Kn(e,t,n,...r){if(r.length==0)return e[t]=n,n;{let o=[t,n,...r],u=o[o.length-1],i=e,l=0,a=o.length-2;for(;l<a;l++)i=i[o[l]];return i[o[l]]=u,n}}function Qn(e){for(const t of f(e));return null}function Sn(e){return E(e)}function jn(e){return[...e]}function Nn(e,t,n){return e._add_watch(t,n)}function On(e,t){return e._remove_watch(t)}function In(e,t,n){if(!n)return t;var r=t;for(let o of Object.entries(n))r=e(r,o[0],o[1]);return r}function Ie(e,t,...n){return t==null?e:Math.max(e,t,...n)}function kn(e,t,...n){return t==null?e:Math.min(e,t,...n)}function Tn(e){return e instanceof Object}function Gn(...e){return(...t)=>{for(let n of e)for(let r of t)if(!n(r))return!1;return!0}}function Bn(...e){return(...t)=>{for(let n of e)for(let r of t){let o=n(r);if(o)return o}}}function ke(e,t){return E(t||e)}function Ln(e,t){var n=t;return s(function*(){for(;;)yield n,n=e(n)})}function Pn(...e){return e=e.map(c),(...t)=>{let n=[];for(let r of e)n.push(r(...t));return n}}function Te(e){if(e instanceof Array){let t=e.slice(1);return t.length>0?t:null}else return Te(E(e))}function J(e,t){if(e===t)return 0;if(e==null)return-1;if(t==null)return 1;if(typeof e=="number"){if(typeof t=="number")return e===t?0:e<t?-1:1;throw new Error("comparing number to other type")}else throw new Error("comparing number to other type")}function zn(e){return ke(e)}function m(e){return e!=null&&e!==!1}function Ge(e,t,n){return e.substring(t,n)}function Yn(e){return typeof e=="function"}function*Be(e,t){let n=e.exec(t);if(n){let r=n[0],o=n.length===1?r:E(n);yield*ce(o,s(function*(){let u=n.index+Ie(1,r.length);u<=t.length&&(yield*Be(e,Ge(t,u)))}))}}function qn(e){return Number.isNaN(e)}function Le(e){return typeof e=="number"}function Pe(e){return e?Object.keys(e):null}function Cn(e){return Pe(e)}function $n(e){return e?Object.values(e):null}function ze(e){return typeof e=="string"}function Fn(e){return p(e)!=null}function Vn(e){return e instanceof RegExp}class D extends Error{constructor(t,n,r){super(t),this._data=n,this._cause=r}}function Wn(e){return e instanceof D?e._data:null}function Jn(e){return e instanceof Error?e.message:null}function Dn(e){return e instanceof D?e._cause:null}function Un(e,t,n){return new D(e,t,n)}function Ye(e){return Number.isInteger(e)}const Xn=Ye,qe=Symbol("meta");function Zn(e){return e instanceof Object?e[qe]:null}function Hn(e,t){let n=U(e);return n[qe]=t,n}function er(e){return e===!0||e===!1}function Ce(e){switch(p(e)){case w:return!0}return!1}function tr(e,t){return Ce(t)?Q(t):Q(k(e,t))}function nr(e,t){let n=_(e,t);if(n!==void 0)return[t,n]}function rr(e,t){return(e%t+t)%t}function or(e,t,...n){if(n.length==0)return t;var r=e(t),o=t;return n.forEach(u=>{var i=e(u);i<=r&&(r=i,o=u)}),o}function ur(e,t,...n){if(n.length==0)return t;var r=e(t),o=t;return n.forEach(u=>{var i=e(u);i>=r&&(r=i,o=u)}),o}function ir(e){throw new Error(`Expected string, got: ${typeof e}`)}function fr(e){if(ze(e)){if(/^[+-]?\d+$/.test(e)){let t=parseInt(e);if(Number.MIN_SAFE_INTEGER<=t<=Number.MAX_SAFE_INTEGER)return t}return null}return ir(e)}return De(cr);})();
|
package/package.json
CHANGED
package/src/squint/core.js
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
function toFn(x) {
|
|
3
|
+
if (x == null) return x;
|
|
4
|
+
if (x instanceof Function) {
|
|
5
|
+
return x;
|
|
6
|
+
}
|
|
7
|
+
let t = typeof x;
|
|
8
|
+
if (t === 'string') {
|
|
9
|
+
return (coll, d) => {
|
|
10
|
+
return get(coll, x, d);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
if (t === 'object') {
|
|
14
|
+
return (k, d) => {
|
|
15
|
+
return get(x, k, d);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return x;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
globalThis.toFn = toFn;
|
|
22
|
+
|
|
2
23
|
export function _GT_(x,y) {
|
|
3
24
|
return x > y;
|
|
4
25
|
}
|
|
@@ -173,6 +194,7 @@ export function assoc_in_BANG_(o, keys, value) {
|
|
|
173
194
|
}
|
|
174
195
|
|
|
175
196
|
export function comp(...fs) {
|
|
197
|
+
fs = fs.map(toFn);
|
|
176
198
|
if (fs.length === 0) {
|
|
177
199
|
return identity;
|
|
178
200
|
} else if (fs.length === 1) {
|
|
@@ -490,6 +512,7 @@ export function reduced_QMARK_(x) {
|
|
|
490
512
|
}
|
|
491
513
|
|
|
492
514
|
export function reduce(f, arg1, arg2) {
|
|
515
|
+
f = toFn(f);
|
|
493
516
|
let coll, val;
|
|
494
517
|
if (arg2 === undefined) {
|
|
495
518
|
// (reduce f coll)
|
|
@@ -568,6 +591,7 @@ export function map(f, ...colls) {
|
|
|
568
591
|
// if (! (f instanceof Function)) {
|
|
569
592
|
// throw new Error(`Argument f must be a function but is ${typeof(f)}`);
|
|
570
593
|
// }
|
|
594
|
+
f = toFn(f);
|
|
571
595
|
switch (colls.length) {
|
|
572
596
|
case 0:
|
|
573
597
|
throw new Error('map with 2 arguments is not supported yet');
|
|
@@ -596,9 +620,10 @@ export function map(f, ...colls) {
|
|
|
596
620
|
}
|
|
597
621
|
|
|
598
622
|
export function filter(pred, coll) {
|
|
623
|
+
pred = toFn(pred);
|
|
599
624
|
return lazy(function* () {
|
|
600
625
|
for (const x of iterable(coll)) {
|
|
601
|
-
if (pred(x)) {
|
|
626
|
+
if (t(pred(x))) {
|
|
602
627
|
yield x;
|
|
603
628
|
}
|
|
604
629
|
}
|
|
@@ -614,6 +639,7 @@ export function remove(pred, coll) {
|
|
|
614
639
|
}
|
|
615
640
|
|
|
616
641
|
export function map_indexed(f, coll) {
|
|
642
|
+
f = toFn(f);
|
|
617
643
|
let ret = [];
|
|
618
644
|
let i = 0;
|
|
619
645
|
for (const x of iterable(coll)) {
|
|
@@ -624,11 +650,12 @@ export function map_indexed(f, coll) {
|
|
|
624
650
|
}
|
|
625
651
|
|
|
626
652
|
export function keep_indexed(f, coll) {
|
|
653
|
+
f = toFn(f);
|
|
627
654
|
let ret = [];
|
|
628
655
|
let i = 0;
|
|
629
656
|
for (const x of iterable(coll)) {
|
|
630
657
|
let fret = f(i, x);
|
|
631
|
-
if (
|
|
658
|
+
if (t(fret)) {
|
|
632
659
|
ret.push(fret);
|
|
633
660
|
}
|
|
634
661
|
i++;
|
|
@@ -716,6 +743,7 @@ export function reset_BANG_(atm, v) {
|
|
|
716
743
|
}
|
|
717
744
|
|
|
718
745
|
export function swap_BANG_(atm, f, ...args) {
|
|
746
|
+
f = toFn(f);
|
|
719
747
|
const v = f(deref(atm), ...args);
|
|
720
748
|
reset_BANG_(atm, v);
|
|
721
749
|
return v;
|
|
@@ -779,6 +807,7 @@ export function set(coll) {
|
|
|
779
807
|
}
|
|
780
808
|
|
|
781
809
|
export function apply(f, ...args) {
|
|
810
|
+
f = toFn(f);
|
|
782
811
|
const xs = args.slice(0, args.length - 1);
|
|
783
812
|
const coll = args[args.length - 1];
|
|
784
813
|
return f(...xs, ...coll);
|
|
@@ -793,6 +822,7 @@ export function odd_QMARK_(x) {
|
|
|
793
822
|
}
|
|
794
823
|
|
|
795
824
|
export function complement(f) {
|
|
825
|
+
f = toFn(f);
|
|
796
826
|
return (...args) => not(f(...args));
|
|
797
827
|
}
|
|
798
828
|
|
|
@@ -922,6 +952,7 @@ function partitionInternal(n, step, pad, coll, all) {
|
|
|
922
952
|
}
|
|
923
953
|
|
|
924
954
|
export function partition_by(f, coll) {
|
|
955
|
+
f = toFn(f);
|
|
925
956
|
return lazy(function* () {
|
|
926
957
|
let iter = es6_iterator(coll);
|
|
927
958
|
let _fst = iter.next();
|
|
@@ -984,6 +1015,7 @@ export function val(entry) {
|
|
|
984
1015
|
}
|
|
985
1016
|
|
|
986
1017
|
export function merge_with(f, ...maps) {
|
|
1018
|
+
f = toFn(f);
|
|
987
1019
|
var hasMap = false;
|
|
988
1020
|
for (const m of maps) {
|
|
989
1021
|
if (m != null) {
|
|
@@ -1064,9 +1096,10 @@ export function take(n, coll) {
|
|
|
1064
1096
|
}
|
|
1065
1097
|
|
|
1066
1098
|
export function take_while(pred, coll) {
|
|
1099
|
+
pred = toFn(pred);
|
|
1067
1100
|
return lazy(function* () {
|
|
1068
1101
|
for (const o of iterable(coll)) {
|
|
1069
|
-
if (pred(o)) yield o;
|
|
1102
|
+
if (t(pred(o))) yield o;
|
|
1070
1103
|
else return;
|
|
1071
1104
|
}
|
|
1072
1105
|
});
|
|
@@ -1089,6 +1122,7 @@ export function take_nth(n, coll) {
|
|
|
1089
1122
|
}
|
|
1090
1123
|
|
|
1091
1124
|
export function partial(f, ...xs) {
|
|
1125
|
+
f = toFn(f);
|
|
1092
1126
|
return function (...args) {
|
|
1093
1127
|
return f(...xs, ...args);
|
|
1094
1128
|
};
|
|
@@ -1111,6 +1145,7 @@ export function drop(n, xs) {
|
|
|
1111
1145
|
}
|
|
1112
1146
|
|
|
1113
1147
|
export function drop_while(pred, xs) {
|
|
1148
|
+
pred = toFn(pred);
|
|
1114
1149
|
return lazy(function* () {
|
|
1115
1150
|
let iter = _iterator(iterable(xs));
|
|
1116
1151
|
while (true) {
|
|
@@ -1119,7 +1154,7 @@ export function drop_while(pred, xs) {
|
|
|
1119
1154
|
break;
|
|
1120
1155
|
}
|
|
1121
1156
|
let value = nextItem.value;
|
|
1122
|
-
if (!pred(value)) {
|
|
1157
|
+
if (!t(pred(value))) {
|
|
1123
1158
|
yield value;
|
|
1124
1159
|
break;
|
|
1125
1160
|
}
|
|
@@ -1140,6 +1175,7 @@ export function distinct(coll) {
|
|
|
1140
1175
|
}
|
|
1141
1176
|
|
|
1142
1177
|
export function update(coll, k, f, ...args) {
|
|
1178
|
+
f = toFn(f);
|
|
1143
1179
|
return assoc(coll, k, f(get(coll, k), ...args));
|
|
1144
1180
|
}
|
|
1145
1181
|
|
|
@@ -1153,10 +1189,12 @@ export function get_in(coll, path, orElse) {
|
|
|
1153
1189
|
}
|
|
1154
1190
|
|
|
1155
1191
|
export function update_in(coll, path, f, ...args) {
|
|
1192
|
+
f = toFn(f);
|
|
1156
1193
|
return assoc_in(coll, path, f(get_in(coll, path), ...args));
|
|
1157
1194
|
}
|
|
1158
1195
|
|
|
1159
1196
|
export function fnil(f, x, ...xs) {
|
|
1197
|
+
f = toFn(f);
|
|
1160
1198
|
return function (a, ...args) {
|
|
1161
1199
|
if (!a) {
|
|
1162
1200
|
return f(x, ...xs, ...args);
|
|
@@ -1167,6 +1205,7 @@ export function fnil(f, x, ...xs) {
|
|
|
1167
1205
|
}
|
|
1168
1206
|
|
|
1169
1207
|
export function every_QMARK_(pred, coll) {
|
|
1208
|
+
pred = toFn(pred);
|
|
1170
1209
|
for (let x of iterable(coll)) {
|
|
1171
1210
|
if (!pred(x)) return false;
|
|
1172
1211
|
}
|
|
@@ -1178,10 +1217,11 @@ export function not_every_QMARK_(pred, coll) {
|
|
|
1178
1217
|
}
|
|
1179
1218
|
|
|
1180
1219
|
export function keep(pred, coll) {
|
|
1220
|
+
pred = toFn(pred);
|
|
1181
1221
|
return lazy(function* () {
|
|
1182
1222
|
for (const o of iterable(coll)) {
|
|
1183
1223
|
const res = pred(o);
|
|
1184
|
-
if (res) yield res;
|
|
1224
|
+
if (t(res)) yield res;
|
|
1185
1225
|
}
|
|
1186
1226
|
});
|
|
1187
1227
|
}
|
|
@@ -1198,6 +1238,7 @@ export function sort(f, coll) {
|
|
|
1198
1238
|
coll = f;
|
|
1199
1239
|
f = undefined;
|
|
1200
1240
|
}
|
|
1241
|
+
f = toFn(f);
|
|
1201
1242
|
// we need to clone coll since .sort works in place and .toSorted isn't available on Node < 20
|
|
1202
1243
|
return [...coll].sort(f);
|
|
1203
1244
|
}
|
|
@@ -1224,6 +1265,8 @@ export function sort_by(keyfn, comp, coll) {
|
|
|
1224
1265
|
coll = comp;
|
|
1225
1266
|
comp = compare;
|
|
1226
1267
|
}
|
|
1268
|
+
keyfn = toFn(keyfn);
|
|
1269
|
+
comp = toFn(comp);
|
|
1227
1270
|
return sort((x, y) => {
|
|
1228
1271
|
let f = fnToComparator(comp);
|
|
1229
1272
|
let kx = keyfn(x);
|
|
@@ -1239,13 +1282,16 @@ export function shuffle(coll) {
|
|
|
1239
1282
|
}
|
|
1240
1283
|
|
|
1241
1284
|
export function some(pred, coll) {
|
|
1285
|
+
pred = toFn(pred);
|
|
1242
1286
|
for (const o of iterable(coll)) {
|
|
1243
1287
|
const res = pred(o);
|
|
1244
|
-
if (res) return res;
|
|
1288
|
+
if (t(res)) return res;
|
|
1245
1289
|
}
|
|
1290
|
+
return undefined;
|
|
1246
1291
|
}
|
|
1247
1292
|
|
|
1248
1293
|
export function not_any_QMARK_(pred, coll) {
|
|
1294
|
+
pred = toFn(pred);
|
|
1249
1295
|
return !some(pred, coll);
|
|
1250
1296
|
}
|
|
1251
1297
|
|
|
@@ -1523,6 +1569,7 @@ export function iterate(f, x) {
|
|
|
1523
1569
|
}
|
|
1524
1570
|
|
|
1525
1571
|
export function juxt(...fs) {
|
|
1572
|
+
fs = fs.map(toFn);
|
|
1526
1573
|
return (...args) => {
|
|
1527
1574
|
let ret = [];
|
|
1528
1575
|
for (let f of fs) {
|
|
@@ -1578,9 +1625,9 @@ export function to_array(aseq) {
|
|
|
1578
1625
|
return into_array(aseq);
|
|
1579
1626
|
}
|
|
1580
1627
|
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1628
|
+
export function t(x) {
|
|
1629
|
+
return ( x != null && x !== false );
|
|
1630
|
+
}
|
|
1584
1631
|
|
|
1585
1632
|
export function subs(s, start, end) {
|
|
1586
1633
|
return s.substring(start, end);
|