macrovich
Version:
A set of three macros to ease writing `*.cljc` supporting Clojure, Clojurescript and self-hosted Clojurescript.
146 lines (122 loc) • 6.71 kB
JavaScript
// Compiled by ClojureScript 1.9.369 {}
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__9614__auto__ = [];
var len__9607__auto___10118 = arguments.length;
var i__9608__auto___10119 = (0);
while(true){
if((i__9608__auto___10119 < len__9607__auto___10118)){
args__9614__auto__.push((arguments[i__9608__auto___10119]));
var G__10120 = (i__9608__auto___10119 + (1));
i__9608__auto___10119 = G__10120;
continue;
} else {
}
break;
}
var argseq__9615__auto__ = ((((2) < args__9614__auto__.length))?(new cljs.core.IndexedSeq(args__9614__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.deftime.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9615__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,new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(_AMPERSAND_env)))))){
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 (seq10115){
var G__10116 = cljs.core.first.call(null,seq10115);
var seq10115__$1 = cljs.core.next.call(null,seq10115);
var G__10117 = cljs.core.first.call(null,seq10115__$1);
var seq10115__$2 = cljs.core.next.call(null,seq10115__$1);
return net.cgrand.macrovitch.deftime.cljs$core$IFn$_invoke$arity$variadic(G__10116,G__10117,seq10115__$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__9614__auto__ = [];
var len__9607__auto___10124 = arguments.length;
var i__9608__auto___10125 = (0);
while(true){
if((i__9608__auto___10125 < len__9607__auto___10124)){
args__9614__auto__.push((arguments[i__9608__auto___10125]));
var G__10126 = (i__9608__auto___10125 + (1));
i__9608__auto___10125 = G__10126;
continue;
} else {
}
break;
}
var argseq__9615__auto__ = ((((2) < args__9614__auto__.length))?(new cljs.core.IndexedSeq(args__9614__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.usetime.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9615__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,new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(_AMPERSAND_env)))))){
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 (seq10121){
var G__10122 = cljs.core.first.call(null,seq10121);
var seq10121__$1 = cljs.core.next.call(null,seq10121);
var G__10123 = cljs.core.first.call(null,seq10121__$1);
var seq10121__$2 = cljs.core.next.call(null,seq10121__$1);
return net.cgrand.macrovitch.usetime.cljs$core$IFn$_invoke$arity$variadic(G__10122,G__10123,seq10121__$2);
});
net.cgrand.macrovitch.usetime.cljs$lang$macro = true;
cljs.core.prn.call(null,"E");
net.cgrand.macrovitch.emit_case = (function net$cgrand$macrovitch$emit_case(var_args){
var args__9614__auto__ = [];
var len__9607__auto___10133 = arguments.length;
var i__9608__auto___10134 = (0);
while(true){
if((i__9608__auto___10134 < len__9607__auto___10133)){
args__9614__auto__.push((arguments[i__9608__auto___10134]));
var G__10135 = (i__9608__auto___10134 + (1));
i__9608__auto___10134 = G__10135;
continue;
} else {
}
break;
}
var argseq__9615__auto__ = ((((2) < args__9614__auto__.length))?(new cljs.core.IndexedSeq(args__9614__auto__.slice((2)),(0),null)):null);
return net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__9615__auto__);
});
net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic = (function (_AMPERSAND_form,_AMPERSAND_env,p__10130){
var map__10131 = p__10130;
var map__10131__$1 = ((((!((map__10131 == null)))?((((map__10131.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__10131.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__10131):map__10131);
var cljs__$1 = cljs.core.get.call(null,map__10131__$1,new cljs.core.Keyword(null,"cljs","cljs",1492417629));
var clj = cljs.core.get.call(null,map__10131__$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 (seq10127){
var G__10128 = cljs.core.first.call(null,seq10127);
var seq10127__$1 = cljs.core.next.call(null,seq10127);
var G__10129 = cljs.core.first.call(null,seq10127__$1);
var seq10127__$2 = cljs.core.next.call(null,seq10127__$1);
return net.cgrand.macrovitch.emit_case.cljs$core$IFn$_invoke$arity$variadic(G__10128,G__10129,seq10127__$2);
});
net.cgrand.macrovitch.emit_case.cljs$lang$macro = true;
cljs.core.prn.call(null,"F");
net.cgrand.macrovitch.ns_name2 = (function net$cgrand$macrovitch$ns_name2(_AMPERSAND_form,_AMPERSAND_env){
return new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(_AMPERSAND_env);
});
net.cgrand.macrovitch.ns_name2.cljs$lang$macro = true;
//# sourceMappingURL=macrovitch.js.map