// Compiled by ClojureScript 1.11.60 {:static-fns true, :optimize-constants true, :optimizations :advanced} goog.provide('cljs.tools.reader.impl.utils'); goog.require('cljs.core'); goog.require('cljs.core.constants'); goog.require('clojure.string'); goog.require('goog.string'); cljs.tools.reader.impl.utils.char$ = (function cljs$tools$reader$impl$utils$char(x){ if((x == null)){ return null; } else { return cljs.core.char$(x); } }); cljs.tools.reader.impl.utils.ex_info_QMARK_ = (function cljs$tools$reader$impl$utils$ex_info_QMARK_(ex){ return (ex instanceof cljs.core.ExceptionInfo); }); /** * @constructor * @implements {cljs.core.IRecord} * @implements {cljs.core.IKVReduce} * @implements {cljs.core.IEquiv} * @implements {cljs.core.IHash} * @implements {cljs.core.ICollection} * @implements {cljs.core.ICounted} * @implements {cljs.core.ISeqable} * @implements {cljs.core.IMeta} * @implements {cljs.core.ICloneable} * @implements {cljs.core.IPrintWithWriter} * @implements {cljs.core.IIterable} * @implements {cljs.core.IWithMeta} * @implements {cljs.core.IAssociative} * @implements {cljs.core.IMap} * @implements {cljs.core.ILookup} */ cljs.tools.reader.impl.utils.ReaderConditional = (function (splicing_QMARK_,form,__meta,__extmap,__hash){ this.splicing_QMARK_ = splicing_QMARK_; this.form = form; this.__meta = __meta; this.__extmap = __extmap; this.__hash = __hash; this.cljs$lang$protocol_mask$partition0$ = 2230716170; this.cljs$lang$protocol_mask$partition1$ = 139264; }); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5343__auto__,k__5344__auto__){ var self__ = this; var this__5343__auto____$1 = this; return this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5345__auto__,k5233,else__5346__auto__){ var self__ = this; var this__5345__auto____$1 = this; var G__5237 = k5233; var G__5237__$1 = (((G__5237 instanceof cljs.core.Keyword))?G__5237.fqn:null); switch (G__5237__$1) { case "splicing?": return self__.splicing_QMARK_; break; case "form": return self__.form; break; default: return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k5233,else__5346__auto__); } })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){ var self__ = this; var this__5363__auto____$1 = this; return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__5238){ var vec__5239 = p__5238; var k__5367__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5239,(0),null); var v__5368__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5239,(1),null); return (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__)); }),init__5365__auto__,this__5363__auto____$1); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){ var self__ = this; var this__5358__auto____$1 = this; var pr_pair__5361__auto__ = (function (keyval__5362__auto__){ return cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,""," ","",opts__5360__auto__,keyval__5362__auto__); }); return cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,"#cljs.tools.reader.impl.utils.ReaderConditional{",", ","}",opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$splicing_QMARK_,self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.cst$kw$form,self__.form],null))], null),self__.__extmap)); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__5232){ var self__ = this; var G__5232__$1 = this; return (new cljs.core.RecordIter((0),G__5232__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$kw$splicing_QMARK_,cljs.core.cst$kw$form], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter()))); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5341__auto__){ var self__ = this; var this__5341__auto____$1 = this; return self__.__meta; })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5338__auto__){ var self__ = this; var this__5338__auto____$1 = this; return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,self__.__extmap,self__.__hash)); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5347__auto__){ var self__ = this; var this__5347__auto____$1 = this; return (2 + cljs.core.count(self__.__extmap)); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5339__auto__){ var self__ = this; var this__5339__auto____$1 = this; var h__5154__auto__ = self__.__hash; if((!((h__5154__auto__ == null)))){ return h__5154__auto__; } else { var h__5154__auto____$1 = (function (){var fexpr__5242 = (function (coll__5340__auto__){ return (-209062840 ^ cljs.core.hash_unordered_coll(coll__5340__auto__)); }); return fexpr__5242(this__5339__auto____$1); })(); (self__.__hash = h__5154__auto____$1); return h__5154__auto____$1; } })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this5234,other5235){ var self__ = this; var this5234__$1 = this; return (((!((other5235 == null)))) && ((((this5234__$1.constructor === other5235.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this5234__$1.splicing_QMARK_,other5235.splicing_QMARK_)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this5234__$1.form,other5235.form)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this5234__$1.__extmap,other5235.__extmap))))))))); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5353__auto__,k__5354__auto__){ var self__ = this; var this__5353__auto____$1 = this; if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [cljs.core.cst$kw$splicing_QMARK_,null,cljs.core.cst$kw$form,null], null), null),k__5354__auto__)){ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__); } else { return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null)); } })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5350__auto__,k5233){ var self__ = this; var this__5350__auto____$1 = this; var G__5243 = k5233; var G__5243__$1 = (((G__5243 instanceof cljs.core.Keyword))?G__5243.fqn:null); switch (G__5243__$1) { case "splicing?": case "form": return true; break; default: return cljs.core.contains_QMARK_(self__.__extmap,k5233); } })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5351__auto__,k__5352__auto__,G__5232){ var self__ = this; var this__5351__auto____$1 = this; var pred__5244 = cljs.core.keyword_identical_QMARK_; var expr__5245 = k__5352__auto__; if(cljs.core.truth_((function (){var G__5247 = cljs.core.cst$kw$splicing_QMARK_; var G__5248 = expr__5245; return (pred__5244.cljs$core$IFn$_invoke$arity$2 ? pred__5244.cljs$core$IFn$_invoke$arity$2(G__5247,G__5248) : pred__5244.call(null,G__5247,G__5248)); })())){ return (new cljs.tools.reader.impl.utils.ReaderConditional(G__5232,self__.form,self__.__meta,self__.__extmap,null)); } else { if(cljs.core.truth_((function (){var G__5249 = cljs.core.cst$kw$form; var G__5250 = expr__5245; return (pred__5244.cljs$core$IFn$_invoke$arity$2 ? pred__5244.cljs$core$IFn$_invoke$arity$2(G__5249,G__5250) : pred__5244.call(null,G__5249,G__5250)); })())){ return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,G__5232,self__.__meta,self__.__extmap,null)); } else { return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__5232),null)); } } })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5356__auto__){ var self__ = this; var this__5356__auto____$1 = this; return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(cljs.core.cst$kw$splicing_QMARK_,self__.splicing_QMARK_,null)),(new cljs.core.MapEntry(cljs.core.cst$kw$form,self__.form,null))], null),self__.__extmap)); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5342__auto__,G__5232){ var self__ = this; var this__5342__auto____$1 = this; return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,G__5232,self__.__extmap,self__.__hash)); })); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5348__auto__,entry__5349__auto__){ var self__ = this; var this__5348__auto____$1 = this; if(cljs.core.vector_QMARK_(entry__5349__auto__)){ return this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry__5349__auto__,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry__5349__auto__,(1))); } else { return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__); } })); (cljs.tools.reader.impl.utils.ReaderConditional.getBasis = (function (){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$splicing_QMARK_,cljs.core.cst$sym$form], null); })); (cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type = true); (cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq = (function (this__5389__auto__){ return (new cljs.core.List(null,"cljs.tools.reader.impl.utils/ReaderConditional",null,(1),null)); })); (cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter = (function (this__5389__auto__,writer__5390__auto__){ return cljs.core._write(writer__5390__auto__,"cljs.tools.reader.impl.utils/ReaderConditional"); })); /** * Positional factory function for cljs.tools.reader.impl.utils/ReaderConditional. */ cljs.tools.reader.impl.utils.__GT_ReaderConditional = (function cljs$tools$reader$impl$utils$__GT_ReaderConditional(splicing_QMARK_,form){ return (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null)); }); /** * Factory function for cljs.tools.reader.impl.utils/ReaderConditional, taking a map of keywords to field values. */ cljs.tools.reader.impl.utils.map__GT_ReaderConditional = (function cljs$tools$reader$impl$utils$map__GT_ReaderConditional(G__5236){ var extmap__5385__auto__ = (function (){var G__5251 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__5236,cljs.core.cst$kw$splicing_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$form], 0)); if(cljs.core.record_QMARK_(G__5236)){ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__5251); } else { return G__5251; } })(); return (new cljs.tools.reader.impl.utils.ReaderConditional(cljs.core.cst$kw$splicing_QMARK_.cljs$core$IFn$_invoke$arity$1(G__5236),cljs.core.cst$kw$form.cljs$core$IFn$_invoke$arity$1(G__5236),null,cljs.core.not_empty(extmap__5385__auto__),null)); }); /** * Return true if the value is the data representation of a reader conditional */ cljs.tools.reader.impl.utils.reader_conditional_QMARK_ = (function cljs$tools$reader$impl$utils$reader_conditional_QMARK_(value){ return (value instanceof cljs.tools.reader.impl.utils.ReaderConditional); }); /** * Construct a data representation of a reader conditional. * If true, splicing? indicates read-cond-splicing. */ cljs.tools.reader.impl.utils.reader_conditional = (function cljs$tools$reader$impl$utils$reader_conditional(form,splicing_QMARK_){ return (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null)); }); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL); (cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){ var coll__$1 = this; cljs.core._write(writer,["#?",(cljs.core.truth_(coll__$1.splicing_QMARK_)?"@":null)].join('')); return cljs.core.pr_writer(coll__$1.form,writer,opts); })); cljs.tools.reader.impl.utils.ws_rx = /[\s]/; /** * Checks whether a given character is whitespace */ cljs.tools.reader.impl.utils.whitespace_QMARK_ = (function cljs$tools$reader$impl$utils$whitespace_QMARK_(ch){ if((ch == null)){ return null; } else { if((ch === ",")){ return true; } else { return cljs.tools.reader.impl.utils.ws_rx.test(ch); } } }); /** * Checks whether a given character is numeric */ cljs.tools.reader.impl.utils.numeric_QMARK_ = (function cljs$tools$reader$impl$utils$numeric_QMARK_(ch){ if((ch == null)){ return null; } else { return goog.string.isNumeric(ch); } }); /** * Checks whether the character is a newline */ cljs.tools.reader.impl.utils.newline_QMARK_ = (function cljs$tools$reader$impl$utils$newline_QMARK_(c){ return ((("\n" === c)) || (((("\n" === c)) || ((c == null))))); }); /** * Resolves syntactical sugar in metadata */ cljs.tools.reader.impl.utils.desugar_meta = (function cljs$tools$reader$impl$utils$desugar_meta(f){ if((f instanceof cljs.core.Keyword)){ return cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]); } else { if((f instanceof cljs.core.Symbol)){ return new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,f], null); } else { if(typeof f === 'string'){ return new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,f], null); } else { return f; } } } }); cljs.tools.reader.impl.utils.last_id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)); cljs.tools.reader.impl.utils.next_id = (function cljs$tools$reader$impl$utils$next_id(){ return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.utils.last_id,cljs.core.inc); }); cljs.tools.reader.impl.utils.namespace_keys = (function cljs$tools$reader$impl$utils$namespace_keys(ns,keys){ var iter__5523__auto__ = (function cljs$tools$reader$impl$utils$namespace_keys_$_iter__5254(s__5255){ return (new cljs.core.LazySeq(null,(function (){ var s__5255__$1 = s__5255; while(true){ var temp__4657__auto__ = cljs.core.seq(s__5255__$1); if(temp__4657__auto__){ var s__5255__$2 = temp__4657__auto__; if(cljs.core.chunked_seq_QMARK_(s__5255__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__5255__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__5257 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__5256 = (0); while(true){ if((i__5256 < size__5522__auto__)){ var key = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c__5521__auto__,i__5256); cljs.core.chunk_append(b__5257,(((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__5258 = (function (){var fexpr__5261 = cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name); return (fexpr__5261.cljs$core$IFn$_invoke$arity$1 ? fexpr__5261.cljs$core$IFn$_invoke$arity$1(key) : fexpr__5261.call(null,key)); })(); var key_ns = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5258,(0),null); var key_name = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5258,(1),null); var __GT_key = (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword); if((key_ns == null)){ return (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name)); } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("_",key_ns)){ return (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name)); } else { return key; } } })():key)); var G__5266 = (i__5256 + (1)); i__5256 = G__5266; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__5257),cljs$tools$reader$impl$utils$namespace_keys_$_iter__5254(cljs.core.chunk_rest(s__5255__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__5257),null); } } else { var key = cljs.core.first(s__5255__$2); return cljs.core.cons((((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__5262 = (function (){var fexpr__5265 = cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name); return (fexpr__5265.cljs$core$IFn$_invoke$arity$1 ? fexpr__5265.cljs$core$IFn$_invoke$arity$1(key) : fexpr__5265.call(null,key)); })(); var key_ns = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5262,(0),null); var key_name = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5262,(1),null); var __GT_key = (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword); if((key_ns == null)){ return (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name)); } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("_",key_ns)){ return (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name)); } else { return key; } } })():key),cljs$tools$reader$impl$utils$namespace_keys_$_iter__5254(cljs.core.rest(s__5255__$2))); } } else { return null; } break; } }),null,null)); }); return iter__5523__auto__(keys); }); cljs.tools.reader.impl.utils.second_SINGLEQUOTE_ = (function cljs$tools$reader$impl$utils$second_SINGLEQUOTE_(p__5267){ var vec__5268 = p__5267; var a = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5268,(0),null); var b = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__5268,(1),null); if(cljs.core.truth_(a)){ return null; } else { return b; } }); cljs.tools.reader.impl.utils.char_code = (function cljs$tools$reader$impl$utils$char_code(ch,base){ var code = parseInt(ch,base); if(cljs.core.truth_(isNaN(code))){ return (-1); } else { return code; } });