macrovich
Version:
A set of three macros to ease writing `*.cljc` supporting Clojure, Clojurescript and self-hosted Clojurescript.
139 lines (116 loc) • 6.15 kB
JavaScript
// Compiled by ClojureScript 1.9.369 {:target :nodejs}
goog.provide('net.cgrand.macrovitch');
goog.require('cljs.core');
/**
* This block will only be evaluated at the correct time for macro definition, at other times its content
* are removed.
* For Clojure it always behaves like a `do` block.
* For Clojurescript/JVM the block is only visible to Clojure.
* For self-hosted Clojurescript the block is only visible when defining macros in the pseudo-namespace.
*/
net.cgrand.macrovitch.deftime = (function net$cgrand$macrovitch$deftime(var_args){
var args__9433__auto__ = [];
var len__9426__auto___11926 = arguments.length;
var i__9427__auto___11927 = (0);
while(true){
if((i__9427__auto___11927 < len__9426__auto___11926)){
args__9433__auto__.push((arguments[i__9427__auto___11927]));
var G__11928 = (i__9427__auto___11927 + (1));
i__9427__auto___11927 = G__11928;
continue;
} else {
}
break;
}
var argseq__9434__auto__ = ((((2) < args__9433__auto__.length))?(new cljs.core.IndexedSeq(args__9433__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.deftime.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9434__auto__);
});
net.cgrand.macrovitch.deftime.cljs$core$IFn$_invoke$arity$variadic = (function (_AMPERSAND_form,_AMPERSAND_env,body){
if(cljs.core.truth_(cljs.core.re_matches.call(null,/.*\$macros/,cljs.core.name.call(null,cljs.core.ns_name.call(null,cljs.core._STAR_ns_STAR_))))){
return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"do","do",1686842252,null)),body)));
} else {
return null;
}
});
net.cgrand.macrovitch.deftime.cljs$lang$maxFixedArity = (2);
net.cgrand.macrovitch.deftime.cljs$lang$applyTo = (function (seq11923){
var G__11924 = cljs.core.first.call(null,seq11923);
var seq11923__$1 = cljs.core.next.call(null,seq11923);
var G__11925 = cljs.core.first.call(null,seq11923__$1);
var seq11923__$2 = cljs.core.next.call(null,seq11923__$1);
return net.cgrand.macrovitch.deftime.cljs$core$IFn$_invoke$arity$variadic(G__11924,G__11925,seq11923__$2);
});
net.cgrand.macrovitch.deftime.cljs$lang$macro = true;
/**
* This block content is not included at macro definition time.
* For Clojure it always behaves like a `do` block.
* For Clojurescript/JVM the block is only visible to Clojurescript.
* For self-hosted Clojurescript the block is invisible when defining macros in the pseudo-namespace.
*/
net.cgrand.macrovitch.usetime = (function net$cgrand$macrovitch$usetime(var_args){
var args__9433__auto__ = [];
var len__9426__auto___11932 = arguments.length;
var i__9427__auto___11933 = (0);
while(true){
if((i__9427__auto___11933 < len__9426__auto___11932)){
args__9433__auto__.push((arguments[i__9427__auto___11933]));
var G__11934 = (i__9427__auto___11933 + (1));
i__9427__auto___11933 = G__11934;
continue;
} else {
}
break;
}
var argseq__9434__auto__ = ((((2) < args__9433__auto__.length))?(new cljs.core.IndexedSeq(args__9433__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.usetime.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9434__auto__);
});
net.cgrand.macrovitch.usetime.cljs$core$IFn$_invoke$arity$variadic = (function (_AMPERSAND_form,_AMPERSAND_env,body){
if(cljs.core.truth_(cljs.core.re_matches.call(null,/.*\$macros/,cljs.core.name.call(null,cljs.core.ns_name.call(null,cljs.core._STAR_ns_STAR_))))){
return null;
} else {
return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"do","do",1686842252,null)),body)));
}
});
net.cgrand.macrovitch.usetime.cljs$lang$maxFixedArity = (2);
net.cgrand.macrovitch.usetime.cljs$lang$applyTo = (function (seq11929){
var G__11930 = cljs.core.first.call(null,seq11929);
var seq11929__$1 = cljs.core.next.call(null,seq11929);
var G__11931 = cljs.core.first.call(null,seq11929__$1);
var seq11929__$2 = cljs.core.next.call(null,seq11929__$1);
return net.cgrand.macrovitch.usetime.cljs$core$IFn$_invoke$arity$variadic(G__11930,G__11931,seq11929__$2);
});
net.cgrand.macrovitch.usetime.cljs$lang$macro = true;
net.cgrand.macrovitch.emit_case = (function net$cgrand$macrovitch$emit_case(var_args){
var args__9433__auto__ = [];
var len__9426__auto___11941 = arguments.length;
var i__9427__auto___11942 = (0);
while(true){
if((i__9427__auto___11942 < len__9426__auto___11941)){
args__9433__auto__.push((arguments[i__9427__auto___11942]));
var G__11943 = (i__9427__auto___11942 + (1));
i__9427__auto___11942 = G__11943;
continue;
} else {
}
break;
}
var argseq__9434__auto__ = ((((2) < args__9433__auto__.length))?(new cljs.core.IndexedSeq(args__9433__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9434__auto__);
});
net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic = (function (_AMPERSAND_form,_AMPERSAND_env,p__11938){
var map__11939 = p__11938;
var map__11939__$1 = ((((!((map__11939 == null)))?((((map__11939.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__11939.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__11939):map__11939);
var cljs__$1 = cljs.core.get.call(null,map__11939__$1,new cljs.core.Keyword(null,"cljs","cljs",1492417629));
var clj = cljs.core.get.call(null,map__11939__$1,new cljs.core.Keyword(null,"clj","clj",-660495428));
return cljs__$1;
});
net.cgrand.macrovitch.emit_case.cljs$lang$maxFixedArity = (2);
net.cgrand.macrovitch.emit_case.cljs$lang$applyTo = (function (seq11935){
var G__11936 = cljs.core.first.call(null,seq11935);
var seq11935__$1 = cljs.core.next.call(null,seq11935);
var G__11937 = cljs.core.first.call(null,seq11935__$1);
var seq11935__$2 = cljs.core.next.call(null,seq11935__$1);
return net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic(G__11936,G__11937,seq11935__$2);
});
net.cgrand.macrovitch.emit_case.cljs$lang$macro = true;
//# sourceMappingURL=macrovitch.js.map