54 lines
3.7 KiB
JavaScript
54 lines
3.7 KiB
JavaScript
goog.provide('sci.impl.reify');
|
|
sci.impl.reify.reify = (function sci$impl$reify$reify(var_args){
|
|
var args__5755__auto__ = [];
|
|
var len__5749__auto___43584 = arguments.length;
|
|
var i__5750__auto___43585 = (0);
|
|
while(true){
|
|
if((i__5750__auto___43585 < len__5749__auto___43584)){
|
|
args__5755__auto__.push((arguments[i__5750__auto___43585]));
|
|
|
|
var G__43586 = (i__5750__auto___43585 + (1));
|
|
i__5750__auto___43585 = G__43586;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__5756__auto__ = ((((2) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);
|
|
return sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);
|
|
});
|
|
|
|
(sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic = (function (form,_,args){
|
|
var map__43568 = cljs.core.group_by(cljs.core.symbol_QMARK_,args);
|
|
var map__43568__$1 = cljs.core.__destructure_map(map__43568);
|
|
var classes = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43568__$1,true);
|
|
var methods$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43568__$1,false);
|
|
var methods$__$1 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43569){
|
|
var vec__43570 = p__43569;
|
|
var meth = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43570,(0),null);
|
|
var bodies = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43570,(1),null);
|
|
var meth__$1 = ((cljs.core.simple_symbol_QMARK_(meth))?meth:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(meth)));
|
|
return cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,meth__$1,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies)))),null,(1),null))))));
|
|
}),cljs.core.group_by(cljs.core.first,methods$)));
|
|
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","reify*","cljs.core/reify*",1256833160,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(classes),null,(1),null)),(new cljs.core.List(null,methods$__$1,null,(1),null))], 0))));
|
|
}));
|
|
|
|
(sci.impl.reify.reify.cljs$lang$maxFixedArity = (2));
|
|
|
|
/** @this {Function} */
|
|
(sci.impl.reify.reify.cljs$lang$applyTo = (function (seq43549){
|
|
var G__43551 = cljs.core.first(seq43549);
|
|
var seq43549__$1 = cljs.core.next(seq43549);
|
|
var G__43552 = cljs.core.first(seq43549__$1);
|
|
var seq43549__$2 = cljs.core.next(seq43549__$1);
|
|
var self__5734__auto__ = this;
|
|
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43551,G__43552,seq43549__$2);
|
|
}));
|
|
|
|
sci.impl.reify.reify_STAR_ = (function sci$impl$reify$reify_STAR_(_form,classes,methods$){
|
|
return sci.impl.types.__GT_Reified(classes,methods$,cljs.core.set(classes));
|
|
});
|
|
|
|
//# sourceMappingURL=sci.impl.reify.js.map
|