japji/resources/public/js/cljs-runtime/replicant.string.js

500 lines
19 KiB
JavaScript

goog.provide('replicant.string');
/**
* @interface
*/
replicant.string.IStringifier = function(){};
var replicant$string$IStringifier$append$dyn_51715 = (function (this$,s){
var x__5373__auto__ = (((this$ == null))?null:this$);
var m__5374__auto__ = (replicant.string.append[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,s) : m__5374__auto__.call(null,this$,s));
} else {
var m__5372__auto__ = (replicant.string.append["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,s) : m__5372__auto__.call(null,this$,s));
} else {
throw cljs.core.missing_protocol("IStringifier.append",this$);
}
}
});
replicant.string.append = (function replicant$string$append(this$,s){
if((((!((this$ == null)))) && ((!((this$.replicant$string$IStringifier$append$arity$2 == null)))))){
return this$.replicant$string$IStringifier$append$arity$2(this$,s);
} else {
return replicant$string$IStringifier$append$dyn_51715(this$,s);
}
});
var replicant$string$IStringifier$to_string$dyn_51716 = (function (this$){
var x__5373__auto__ = (((this$ == null))?null:this$);
var m__5374__auto__ = (replicant.string.to_string[goog.typeOf(x__5373__auto__)]);
if((!((m__5374__auto__ == null)))){
return (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));
} else {
var m__5372__auto__ = (replicant.string.to_string["_"]);
if((!((m__5372__auto__ == null)))){
return (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));
} else {
throw cljs.core.missing_protocol("IStringifier.to-string",this$);
}
}
});
replicant.string.to_string = (function replicant$string$to_string(this$){
if((((!((this$ == null)))) && ((!((this$.replicant$string$IStringifier$to_string$arity$1 == null)))))){
return this$.replicant$string$IStringifier$to_string$arity$1(this$);
} else {
return replicant$string$IStringifier$to_string$dyn_51716(this$);
}
});
/**
* @constructor
* @implements {cljs.core.IMeta}
* @implements {replicant.string.IStringifier}
* @implements {cljs.core.IWithMeta}
*/
replicant.string.t_replicant$string51650 = (function (sb,meta51651){
this.sb = sb;
this.meta51651 = meta51651;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(replicant.string.t_replicant$string51650.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_51652,meta51651__$1){
var self__ = this;
var _51652__$1 = this;
return (new replicant.string.t_replicant$string51650(self__.sb,meta51651__$1));
}));
(replicant.string.t_replicant$string51650.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_51652){
var self__ = this;
var _51652__$1 = this;
return self__.meta51651;
}));
(replicant.string.t_replicant$string51650.prototype.replicant$string$IStringifier$ = cljs.core.PROTOCOL_SENTINEL);
(replicant.string.t_replicant$string51650.prototype.replicant$string$IStringifier$append$arity$2 = (function (_,s){
var self__ = this;
var ___$1 = this;
return self__.sb.push(s);
}));
(replicant.string.t_replicant$string51650.prototype.replicant$string$IStringifier$to_string$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.sb.join("");
}));
(replicant.string.t_replicant$string51650.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"sb","sb",-1249746442,null),new cljs.core.Symbol(null,"meta51651","meta51651",1402662230,null)], null);
}));
(replicant.string.t_replicant$string51650.cljs$lang$type = true);
(replicant.string.t_replicant$string51650.cljs$lang$ctorStr = "replicant.string/t_replicant$string51650");
(replicant.string.t_replicant$string51650.cljs$lang$ctorPrWriter = (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){
return cljs.core._write(writer__5311__auto__,"replicant.string/t_replicant$string51650");
}));
/**
* Positional factory function for replicant.string/t_replicant$string51650.
*/
replicant.string.__GT_t_replicant$string51650 = (function replicant$string$__GT_t_replicant$string51650(sb,meta51651){
return (new replicant.string.t_replicant$string51650(sb,meta51651));
});
replicant.string.create_renderer = (function replicant$string$create_renderer(){
var sb = [];
return (new replicant.string.t_replicant$string51650(sb,cljs.core.PersistentArrayMap.EMPTY));
});
replicant.string.self_closing_QMARK_ = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 15, ["track",null,"br",null,"img",null,"area",null,"base",null,"hr",null,"col",null,"param",null,"input",null,"link",null,"source",null,"audio",null,"meta",null,"wbr",null,"embed",null], null), null);
replicant.string.str_join = (function replicant$string$str_join(stringifier,sep,xs){
var G__51656_51719 = cljs.core.first(xs);
if((G__51656_51719 == null)){
} else {
replicant.string.append(stringifier,G__51656_51719);
}
var seq__51657_51720 = cljs.core.seq(cljs.core.rest(xs));
var chunk__51658_51721 = null;
var count__51659_51722 = (0);
var i__51660_51723 = (0);
while(true){
if((i__51660_51723 < count__51659_51722)){
var x_51724 = chunk__51658_51721.cljs$core$IIndexed$_nth$arity$2(null,i__51660_51723);
if(cljs.core.truth_(x_51724)){
replicant.string.append(stringifier,sep);
replicant.string.append(stringifier,x_51724);
} else {
}
var G__51725 = seq__51657_51720;
var G__51726 = chunk__51658_51721;
var G__51727 = count__51659_51722;
var G__51728 = (i__51660_51723 + (1));
seq__51657_51720 = G__51725;
chunk__51658_51721 = G__51726;
count__51659_51722 = G__51727;
i__51660_51723 = G__51728;
continue;
} else {
var temp__5823__auto___51729 = cljs.core.seq(seq__51657_51720);
if(temp__5823__auto___51729){
var seq__51657_51730__$1 = temp__5823__auto___51729;
if(cljs.core.chunked_seq_QMARK_(seq__51657_51730__$1)){
var c__5548__auto___51731 = cljs.core.chunk_first(seq__51657_51730__$1);
var G__51732 = cljs.core.chunk_rest(seq__51657_51730__$1);
var G__51733 = c__5548__auto___51731;
var G__51734 = cljs.core.count(c__5548__auto___51731);
var G__51735 = (0);
seq__51657_51720 = G__51732;
chunk__51658_51721 = G__51733;
count__51659_51722 = G__51734;
i__51660_51723 = G__51735;
continue;
} else {
var x_51736 = cljs.core.first(seq__51657_51730__$1);
if(cljs.core.truth_(x_51736)){
replicant.string.append(stringifier,sep);
replicant.string.append(stringifier,x_51736);
} else {
}
var G__51737 = cljs.core.next(seq__51657_51730__$1);
var G__51738 = null;
var G__51739 = (0);
var G__51740 = (0);
seq__51657_51720 = G__51737;
chunk__51658_51721 = G__51738;
count__51659_51722 = G__51739;
i__51660_51723 = G__51740;
continue;
}
} else {
}
}
break;
}
return stringifier;
});
replicant.string.render_attrs = (function replicant$string$render_attrs(stringifier,attrs){
return cljs.core.reduce_kv((function (_,k,v){
if(cljs.core.truth_((function (){var and__5023__auto__ = cljs.core.not((function (){var fexpr__51667 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"innerHTML","innerHTML",-1856751343),null,new cljs.core.Keyword(null,"on","on",173873944),null], null), null);
return (fexpr__51667.cljs$core$IFn$_invoke$arity$1 ? fexpr__51667.cljs$core$IFn$_invoke$arity$1(k) : fexpr__51667.call(null,k));
})());
if(and__5023__auto__){
var and__5023__auto____$1 = v;
if(cljs.core.truth_(and__5023__auto____$1)){
return (cljs.core.namespace(k) == null);
} else {
return and__5023__auto____$1;
}
} else {
return and__5023__auto__;
}
})())){
var v_51742__$1 = (function (){var G__51668 = v;
if((v instanceof cljs.core.Keyword)){
return cljs.core.name(G__51668);
} else {
return G__51668;
}
})();
replicant.string.append(stringifier," ");
var G__51669_51743 = k;
var G__51669_51744__$1 = (((G__51669_51743 instanceof cljs.core.Keyword))?G__51669_51743.fqn:null);
switch (G__51669_51744__$1) {
case "classes":
replicant.string.append(stringifier,"class=\"");
replicant.string.str_join(stringifier," ",v_51742__$1);
replicant.string.append(stringifier,"\"");
break;
case "style":
replicant.string.append(stringifier,"style=\"");
replicant.string.str_join(stringifier," ",cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p__51670){
var vec__51671 = p__51670;
var prop = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__51671,(0),null);
var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__51671,(1),null);
var temp__5823__auto__ = replicant.core.get_style_val(prop,val);
if(cljs.core.truth_(temp__5823__auto__)){
var val__$1 = temp__5823__auto__;
return [cljs.core.name(prop),": ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(val__$1),";"].join('');
} else {
return null;
}
}),v_51742__$1));
replicant.string.append(stringifier,"\"");
break;
default:
if(((typeof v_51742__$1 === 'number') || (((typeof v_51742__$1 === 'string') && (((0) < cljs.core.count(v_51742__$1))))))){
var G__51674_51747 = stringifier;
replicant.string.append(G__51674_51747,cljs.core.name(k));
replicant.string.append(G__51674_51747,"=\"");
replicant.string.append(G__51674_51747,v_51742__$1);
replicant.string.append(G__51674_51747,"\"");
} else {
replicant.string.append(stringifier,cljs.core.name(k));
}
}
} else {
}
return null;
}),null,attrs);
});
/**
* Change special characters into HTML character entities.
*
* Taken from Hiccup:
* https://github.com/weavejester/hiccup/blob/5a6d45c17728dcbcb3aeb32ea890fd9dc1508547/src/hiccup/util.clj#L80-L88
*/
replicant.string.escape_html = (function replicant$string$escape_html(text){
return clojure.string.replace(clojure.string.replace(clojure.string.replace(clojure.string.replace(clojure.string.replace(text,"&","&amp;"),"<","&lt;"),">","&gt;"),"\"","&quot;"),"'","&apos;");
});
replicant.string.get_expanded_headers = (function replicant$string$get_expanded_headers(opt,headers){
if(((cljs.core.qualified_keyword_QMARK_((headers[(0)]))) && ((cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"aliases","aliases",1346874714).cljs$core$IFn$_invoke$arity$1(opt),(headers[(0)])) == null)))){
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["Tried to expand undefined alias ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((headers[(0)]))].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"missing","missing",362507769),(headers[(0)]),new cljs.core.Keyword(null,"available","available",-1470697127),new cljs.core.Keyword(null,"aliases","aliases",1346874714).cljs$core$IFn$_invoke$arity$1(opt)], null));
} else {
}
var or__5025__auto__ = (function (){var temp__5823__auto__ = replicant.core.get_alias_headers(opt,headers);
if(cljs.core.truth_(temp__5823__auto__)){
var aliased = temp__5823__auto__;
return (replicant.string.get_expanded_headers.cljs$core$IFn$_invoke$arity$2 ? replicant.string.get_expanded_headers.cljs$core$IFn$_invoke$arity$2(opt,aliased) : replicant.string.get_expanded_headers.call(null,opt,aliased));
} else {
return null;
}
})();
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return headers;
}
});
replicant.string.render_node = (function replicant$string$render_node(stringifier,headers,p__51675){
var map__51676 = p__51675;
var map__51676__$1 = cljs.core.__destructure_map(map__51676);
var depth = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51676__$1,new cljs.core.Keyword(null,"depth","depth",1768663640));
var indent = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51676__$1,new cljs.core.Keyword(null,"indent","indent",-148200125));
var aliases = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51676__$1,new cljs.core.Keyword(null,"aliases","aliases",1346874714));
var alias_data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51676__$1,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930));
var indent_QMARK_ = (indent > (0));
var indent_s = ((indent_QMARK_)?clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((depth * indent)," ")):"");
var newline = ((indent_QMARK_)?"\n":"");
var headers__$1 = replicant.string.get_expanded_headers(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"aliases","aliases",1346874714),aliases,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930),alias_data], null),headers);
var temp__5821__auto__ = (headers__$1[(8)]);
if(cljs.core.truth_(temp__5821__auto__)){
var text = temp__5821__auto__;
var G__51680 = stringifier;
replicant.string.append(G__51680,indent_s);
replicant.string.append(G__51680,replicant.string.escape_html(text));
replicant.string.append(G__51680,newline);
return G__51680;
} else {
var tag_name = (headers__$1[(0)]);
var attrs = replicant.core.get_attrs(headers__$1);
var ns_string = ((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("svg",tag_name)) && (cljs.core.not(new cljs.core.Keyword(null,"xmlns","xmlns",-1862095571).cljs$core$IFn$_invoke$arity$1(attrs)))))?" xmlns=\"http://www.w3.org/2000/svg\"":"");
var G__51681_51753 = stringifier;
replicant.string.append(G__51681_51753,indent_s);
replicant.string.append(G__51681_51753,"<");
replicant.string.append(G__51681_51753,tag_name);
replicant.string.append(G__51681_51753,ns_string);
replicant.string.render_attrs(stringifier,attrs);
var G__51687_51754 = stringifier;
replicant.string.append(G__51687_51754,">");
replicant.string.append(G__51687_51754,newline);
if(cljs.core.truth_(new cljs.core.Keyword(null,"innerHTML","innerHTML",-1856751343).cljs$core$IFn$_invoke$arity$1(attrs))){
replicant.string.append(stringifier,new cljs.core.Keyword(null,"innerHTML","innerHTML",-1856751343).cljs$core$IFn$_invoke$arity$1(attrs));
} else {
cljs.core.run_BANG_((function (child){
if(cljs.core.truth_(child)){
var G__51688 = stringifier;
var G__51689 = child;
var G__51690 = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"depth","depth",1768663640),(depth + (1)),new cljs.core.Keyword(null,"indent","indent",-148200125),indent,new cljs.core.Keyword(null,"aliases","aliases",1346874714),aliases,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930),alias_data], null);
return (replicant.string.render_node.cljs$core$IFn$_invoke$arity$3 ? replicant.string.render_node.cljs$core$IFn$_invoke$arity$3(G__51688,G__51689,G__51690) : replicant.string.render_node.call(null,G__51688,G__51689,G__51690));
} else {
return null;
}
}),replicant.core.get_children(headers__$1,(headers__$1[(6)])));
}
if(cljs.core.truth_((replicant.string.self_closing_QMARK_.cljs$core$IFn$_invoke$arity$1 ? replicant.string.self_closing_QMARK_.cljs$core$IFn$_invoke$arity$1(tag_name) : replicant.string.self_closing_QMARK_.call(null,tag_name)))){
} else {
var G__51691_51755 = stringifier;
replicant.string.append(G__51691_51755,indent_s);
replicant.string.append(G__51691_51755,"</");
replicant.string.append(G__51691_51755,tag_name);
replicant.string.append(G__51691_51755,">");
replicant.string.append(G__51691_51755,newline);
}
return stringifier;
}
});
/**
* Render `hiccup` to a string of HTML. `hiccup` can be either a single hiccup
* node or a list of multiple nodes.
*/
replicant.string.render = (function replicant$string$render(var_args){
var args__5755__auto__ = [];
var len__5749__auto___51759 = arguments.length;
var i__5750__auto___51760 = (0);
while(true){
if((i__5750__auto___51760 < len__5749__auto___51759)){
args__5755__auto__.push((arguments[i__5750__auto___51760]));
var G__51761 = (i__5750__auto___51760 + (1));
i__5750__auto___51760 = G__51761;
continue;
} else {
}
break;
}
var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);
return replicant.string.render.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);
});
(replicant.string.render.cljs$core$IFn$_invoke$arity$variadic = (function (hiccup,p__51701){
var vec__51702 = p__51701;
var map__51705 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__51702,(0),null);
var map__51705__$1 = cljs.core.__destructure_map(map__51705);
var aliases = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51705__$1,new cljs.core.Keyword(null,"aliases","aliases",1346874714));
var alias_data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51705__$1,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930));
var indent = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__51705__$1,new cljs.core.Keyword(null,"indent","indent",-148200125));
var opt = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"indent","indent",-148200125),(function (){var or__5025__auto__ = indent;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return (0);
}
})(),new cljs.core.Keyword(null,"depth","depth",1768663640),(0),new cljs.core.Keyword(null,"aliases","aliases",1346874714),(function (){var or__5025__auto__ = aliases;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return replicant.alias.get_registered_aliases();
}
})(),new cljs.core.Keyword(null,"alias-data","alias-data",1743863930),alias_data], null);
if(replicant.hiccup.hiccup_QMARK_(hiccup)){
var stringifier = replicant.string.create_renderer();
replicant.string.render_node(stringifier,replicant.core.get_hiccup_headers(null,hiccup),opt);
return stringifier.replicant$string$IStringifier$to_string$arity$1(null);
} else {
if(cljs.core.list_QMARK_(hiccup)){
var stringifier = replicant.string.create_renderer();
var seq__51708_51765 = cljs.core.seq(hiccup);
var chunk__51709_51766 = null;
var count__51710_51767 = (0);
var i__51711_51768 = (0);
while(true){
if((i__51711_51768 < count__51710_51767)){
var hiccup_node_51769 = chunk__51709_51766.cljs$core$IIndexed$_nth$arity$2(null,i__51711_51768);
replicant.string.render_node(stringifier,replicant.core.get_hiccup_headers(null,hiccup_node_51769),opt);
var G__51770 = seq__51708_51765;
var G__51771 = chunk__51709_51766;
var G__51772 = count__51710_51767;
var G__51773 = (i__51711_51768 + (1));
seq__51708_51765 = G__51770;
chunk__51709_51766 = G__51771;
count__51710_51767 = G__51772;
i__51711_51768 = G__51773;
continue;
} else {
var temp__5823__auto___51774 = cljs.core.seq(seq__51708_51765);
if(temp__5823__auto___51774){
var seq__51708_51775__$1 = temp__5823__auto___51774;
if(cljs.core.chunked_seq_QMARK_(seq__51708_51775__$1)){
var c__5548__auto___51776 = cljs.core.chunk_first(seq__51708_51775__$1);
var G__51777 = cljs.core.chunk_rest(seq__51708_51775__$1);
var G__51778 = c__5548__auto___51776;
var G__51779 = cljs.core.count(c__5548__auto___51776);
var G__51780 = (0);
seq__51708_51765 = G__51777;
chunk__51709_51766 = G__51778;
count__51710_51767 = G__51779;
i__51711_51768 = G__51780;
continue;
} else {
var hiccup_node_51781 = cljs.core.first(seq__51708_51775__$1);
replicant.string.render_node(stringifier,replicant.core.get_hiccup_headers(null,hiccup_node_51781),opt);
var G__51785 = cljs.core.next(seq__51708_51775__$1);
var G__51786 = null;
var G__51787 = (0);
var G__51788 = (0);
seq__51708_51765 = G__51785;
chunk__51709_51766 = G__51786;
count__51710_51767 = G__51787;
i__51711_51768 = G__51788;
continue;
}
} else {
}
}
break;
}
return stringifier.replicant$string$IStringifier$to_string$arity$1(null);
} else {
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccup);
}
}
}));
(replicant.string.render.cljs$lang$maxFixedArity = (1));
/** @this {Function} */
(replicant.string.render.cljs$lang$applyTo = (function (seq51696){
var G__51698 = cljs.core.first(seq51696);
var seq51696__$1 = cljs.core.next(seq51696);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__51698,seq51696__$1);
}));
//# sourceMappingURL=replicant.string.js.map