UNPKG

@atomist/clj-editors

Version:

We build a node module `@atomist/clj-editors` here. This allows us to construct clojure editors using `rewrite-cljs`. After adding this dependency, the node application will have access to javascript functions transpiled from clojurescript.

363 lines (323 loc) 15.8 kB
// Compiled by ClojureScript 1.9.946 {:target :nodejs} goog.provide('rewrite_clj.node.fn'); goog.require('cljs.core'); goog.require('rewrite_clj.node.protocols'); goog.require('clojure.walk'); /** * Construct function form. */ rewrite_clj.node.fn.construct_fn = (function rewrite_clj$node$fn$construct_fn(syms,vararg,body){ return cljs.core._conj.call(null,(function (){var x__8740__auto__ = cljs.core.vec.call(null,cljs.core.concat.call(null,syms,(cljs.core.truth_(vararg)?cljs.core._conj.call(null,(function (){var x__8740__auto__ = vararg; return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__8740__auto__); })(),new cljs.core.Symbol(null,"&","&",-2144855648,null)):null))); return cljs.core._conj.call(null,(function (){var x__8740__auto____$1 = body; return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__8740__auto____$1); })(),x__8740__auto__); })(),new cljs.core.Symbol(null,"fn*","fn*",-752876845,null)); }); /** * Get index based on the substring following the parameter's `%`. * Zero means vararg. */ rewrite_clj.node.fn.sym_index = (function rewrite_clj$node$fn$sym_index(n){ if(cljs.core._EQ_.call(null,n,"&")){ return (0); } else { if(cljs.core._EQ_.call(null,n,"")){ return (1); } else { if(cljs.core.truth_(cljs.core.re_matches.call(null,/\d+/,n))){ return parseInt(n); } else { throw (new Error("arg literal must be %, %& or %integer.")); } } } }); /** * If symbol starting with `%`, convert to respective gensym. */ rewrite_clj.node.fn.symbol__GT_gensym = (function rewrite_clj$node$fn$symbol__GT_gensym(sym_seq,vararg_QMARK_,max_n,sym){ if((sym instanceof cljs.core.Symbol)){ var nm = cljs.core.name.call(null,sym); if(cljs.core._EQ_.call(null,nm.indexOf("%"),(0))){ var i = rewrite_clj.node.fn.sym_index.call(null,cljs.core.subs.call(null,nm,(1))); cljs.core.swap_BANG_.call(null,max_n,cljs.core.max,i); return cljs.core.nth.call(null,sym_seq,i); } else { return null; } } else { return null; } }); /** * Walk the form and create an expand function form. */ rewrite_clj.node.fn.fn_walk = (function rewrite_clj$node$fn$fn_walk(form){ var syms = (function (){var iter__8686__auto__ = (function rewrite_clj$node$fn$fn_walk_$_iter__10148(s__10149){ return (new cljs.core.LazySeq(null,(function (){ var s__10149__$1 = s__10149; while(true){ var temp__4657__auto__ = cljs.core.seq.call(null,s__10149__$1); if(temp__4657__auto__){ var s__10149__$2 = temp__4657__auto__; if(cljs.core.chunked_seq_QMARK_.call(null,s__10149__$2)){ var c__8684__auto__ = cljs.core.chunk_first.call(null,s__10149__$2); var size__8685__auto__ = cljs.core.count.call(null,c__8684__auto__); var b__10151 = cljs.core.chunk_buffer.call(null,size__8685__auto__); if((function (){var i__10150 = (0); while(true){ if((i__10150 < size__8685__auto__)){ var i = cljs.core._nth.call(null,c__8684__auto__,i__10150); var base = ((cljs.core._EQ_.call(null,i,(0)))?"rest__":["p",cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),"__"].join('')); var s = cljs.core.name.call(null,cljs.core.gensym.call(null,base)); cljs.core.chunk_append.call(null,b__10151,cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),"#"].join(''))); var G__10156 = (i__10150 + (1)); i__10150 = G__10156; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__10151),rewrite_clj$node$fn$fn_walk_$_iter__10148.call(null,cljs.core.chunk_rest.call(null,s__10149__$2))); } else { return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__10151),null); } } else { var i = cljs.core.first.call(null,s__10149__$2); var base = ((cljs.core._EQ_.call(null,i,(0)))?"rest__":["p",cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),"__"].join('')); var s = cljs.core.name.call(null,cljs.core.gensym.call(null,base)); return cljs.core.cons.call(null,cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),"#"].join('')),rewrite_clj$node$fn$fn_walk_$_iter__10148.call(null,cljs.core.rest.call(null,s__10149__$2))); } } else { return null; } break; } }),null,null)); }); return iter__8686__auto__.call(null,cljs.core.range.call(null)); })(); var vararg_QMARK_ = false; var max_n = cljs.core.atom.call(null,(0)); var body = clojure.walk.prewalk.call(null,((function (syms,vararg_QMARK_,max_n){ return (function (p1__10147_SHARP_){ var or__7878__auto__ = rewrite_clj.node.fn.symbol__GT_gensym.call(null,syms,vararg_QMARK_,max_n,p1__10147_SHARP_); if(cljs.core.truth_(or__7878__auto__)){ return or__7878__auto__; } else { return p1__10147_SHARP_; } });})(syms,vararg_QMARK_,max_n)) ,form); return rewrite_clj.node.fn.construct_fn.call(null,cljs.core.take.call(null,cljs.core.deref.call(null,max_n),cljs.core.rest.call(null,syms)),null,body); }); /** * @constructor * @implements {cljs.core.IRecord} * @implements {cljs.core.IEquiv} * @implements {cljs.core.IHash} * @implements {cljs.core.ICollection} * @implements {cljs.core.ICounted} * @implements {rewrite_clj.node.protocols.InnerNode} * @implements {cljs.core.ISeqable} * @implements {cljs.core.IMeta} * @implements {cljs.core.ICloneable} * @implements {cljs.core.IPrintWithWriter} * @implements {cljs.core.IIterable} * @implements {rewrite_clj.node.fn.Object} * @implements {rewrite_clj.node.protocols.Node} * @implements {cljs.core.IWithMeta} * @implements {cljs.core.IAssociative} * @implements {cljs.core.IMap} * @implements {cljs.core.ILookup} */ rewrite_clj.node.fn.FnNode = (function (children,__meta,__extmap,__hash){ this.children = children; this.__meta = __meta; this.__extmap = __extmap; this.__hash = __hash; this.cljs$lang$protocol_mask$partition0$ = 2229667594; this.cljs$lang$protocol_mask$partition1$ = 139264; }); rewrite_clj.node.fn.FnNode.prototype.toString = (function (){ var self__ = this; var this$ = this; return this$.rewrite_clj$node$protocols$Node$string$arity$1(null); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__8518__auto__,k__8519__auto__){ var self__ = this; var this__8518__auto____$1 = this; return this__8518__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__8519__auto__,null); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__8520__auto__,k10160,else__8521__auto__){ var self__ = this; var this__8520__auto____$1 = this; var G__10164 = k10160; var G__10164__$1 = (((G__10164 instanceof cljs.core.Keyword))?G__10164.fqn:null); switch (G__10164__$1) { case "children": return self__.children; break; default: return cljs.core.get.call(null,self__.__extmap,k10160,else__8521__auto__); } }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__8532__auto__,writer__8533__auto__,opts__8534__auto__){ var self__ = this; var this__8532__auto____$1 = this; var pr_pair__8535__auto__ = ((function (this__8532__auto____$1){ return (function (keyval__8536__auto__){ return cljs.core.pr_sequential_writer.call(null,writer__8533__auto__,cljs.core.pr_writer,""," ","",opts__8534__auto__,keyval__8536__auto__); });})(this__8532__auto____$1)) ; return cljs.core.pr_sequential_writer.call(null,writer__8533__auto__,pr_pair__8535__auto__,"#rewrite-clj.node.fn.FnNode{",", ","}",opts__8534__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"children","children",-940561982),self__.children],null))], null),self__.__extmap)); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__10159){ var self__ = this; var G__10159__$1 = this; return (new cljs.core.RecordIter((0),G__10159__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"children","children",-940561982)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator.call(null,self__.__extmap):cljs.core.nil_iter.call(null)))); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__8516__auto__){ var self__ = this; var this__8516__auto____$1 = this; return self__.__meta; }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__8513__auto__){ var self__ = this; var this__8513__auto____$1 = this; return (new rewrite_clj.node.fn.FnNode(self__.children,self__.__meta,self__.__extmap,self__.__hash)); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__8522__auto__){ var self__ = this; var this__8522__auto____$1 = this; return (1 + cljs.core.count.call(null,self__.__extmap)); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__8514__auto__){ var self__ = this; var this__8514__auto____$1 = this; var h__8332__auto__ = self__.__hash; if(!((h__8332__auto__ == null))){ return h__8332__auto__; } else { var h__8332__auto____$1 = ((function (h__8332__auto__,this__8514__auto____$1){ return (function (coll__8515__auto__){ return (-1740346885 ^ cljs.core.hash_unordered_coll.call(null,coll__8515__auto__)); });})(h__8332__auto__,this__8514__auto____$1)) .call(null,this__8514__auto____$1); self__.__hash = h__8332__auto____$1; return h__8332__auto____$1; } }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this10161,other10162){ var self__ = this; var this10161__$1 = this; return (!((other10162 == null))) && ((this10161__$1.constructor === other10162.constructor)) && (cljs.core._EQ_.call(null,this10161__$1.children,other10162.children)) && (cljs.core._EQ_.call(null,this10161__$1.__extmap,other10162.__extmap)); }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$ = cljs.core.PROTOCOL_SENTINEL; rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$tag$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return new cljs.core.Keyword(null,"fn","fn",-1175266204); }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$printable_only_QMARK_$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return false; }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$sexpr$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return rewrite_clj.node.fn.fn_walk.call(null,rewrite_clj.node.protocols.sexprs.call(null,self__.children)); }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$length$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return ((3) + rewrite_clj.node.protocols.sum_lengths.call(null,self__.children)); }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$Node$string$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return ["#(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(rewrite_clj.node.protocols.concat_strings.call(null,self__.children)),")"].join(''); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__8527__auto__,k__8528__auto__){ var self__ = this; var this__8527__auto____$1 = this; if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"children","children",-940561982),null], null), null),k__8528__auto__)){ return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__8527__auto____$1),self__.__meta),k__8528__auto__); } else { return (new rewrite_clj.node.fn.FnNode(self__.children,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__8528__auto__)),null)); } }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$InnerNode$ = cljs.core.PROTOCOL_SENTINEL; rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$InnerNode$inner_QMARK_$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return true; }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$InnerNode$children$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return self__.children; }); rewrite_clj.node.fn.FnNode.prototype.rewrite_clj$node$protocols$InnerNode$replace_children$arity$2 = (function (this$,children_SINGLEQUOTE_){ var self__ = this; var this$__$1 = this; return cljs.core.assoc.call(null,this$__$1,new cljs.core.Keyword(null,"children","children",-940561982),children_SINGLEQUOTE_); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__8525__auto__,k__8526__auto__,G__10159){ var self__ = this; var this__8525__auto____$1 = this; var pred__10165 = cljs.core.keyword_identical_QMARK_; var expr__10166 = k__8526__auto__; if(cljs.core.truth_(pred__10165.call(null,new cljs.core.Keyword(null,"children","children",-940561982),expr__10166))){ return (new rewrite_clj.node.fn.FnNode(G__10159,self__.__meta,self__.__extmap,null)); } else { return (new rewrite_clj.node.fn.FnNode(self__.children,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__8526__auto__,G__10159),null)); } }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__8530__auto__){ var self__ = this; var this__8530__auto____$1 = this; return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"children","children",-940561982),self__.children],null))], null),self__.__extmap)); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__8517__auto__,G__10159){ var self__ = this; var this__8517__auto____$1 = this; return (new rewrite_clj.node.fn.FnNode(self__.children,G__10159,self__.__extmap,self__.__hash)); }); rewrite_clj.node.fn.FnNode.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__8523__auto__,entry__8524__auto__){ var self__ = this; var this__8523__auto____$1 = this; if(cljs.core.vector_QMARK_.call(null,entry__8524__auto__)){ return this__8523__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__8524__auto__,(0)),cljs.core._nth.call(null,entry__8524__auto__,(1))); } else { return cljs.core.reduce.call(null,cljs.core._conj,this__8523__auto____$1,entry__8524__auto__); } }); rewrite_clj.node.fn.FnNode.getBasis = (function (){ return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"children","children",699969545,null)], null); }); rewrite_clj.node.fn.FnNode.cljs$lang$type = true; rewrite_clj.node.fn.FnNode.cljs$lang$ctorPrSeq = (function (this__8554__auto__){ return cljs.core._conj.call(null,cljs.core.List.EMPTY,"rewrite-clj.node.fn/FnNode"); }); rewrite_clj.node.fn.FnNode.cljs$lang$ctorPrWriter = (function (this__8554__auto__,writer__8555__auto__){ return cljs.core._write.call(null,writer__8555__auto__,"rewrite-clj.node.fn/FnNode"); }); rewrite_clj.node.fn.__GT_FnNode = (function rewrite_clj$node$fn$__GT_FnNode(children){ return (new rewrite_clj.node.fn.FnNode(children,null,null,null)); }); rewrite_clj.node.fn.map__GT_FnNode = (function rewrite_clj$node$fn$map__GT_FnNode(G__10163){ return (new rewrite_clj.node.fn.FnNode(new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(G__10163),null,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,G__10163,new cljs.core.Keyword(null,"children","children",-940561982))),null)); }); /** * Create node representing an anonymous function. */ rewrite_clj.node.fn.fn_node = (function rewrite_clj$node$fn$fn_node(children){ return rewrite_clj.node.fn.__GT_FnNode.call(null,children); }); //# sourceMappingURL=fn.js.map