UNPKG

thisdotrob-calvin-cljs

Version:

a minimalistic build tool for clojurescript in clojurescript

558 lines (482 loc) 20.8 kB
// Compiled by ClojureScript 1.9.293 {:target :nodejs} goog.provide('cljs.core.async.impl.channels'); goog.require('cljs.core'); goog.require('cljs.core.async.impl.protocols'); goog.require('cljs.core.async.impl.dispatch'); goog.require('cljs.core.async.impl.buffers'); cljs.core.async.impl.channels.box = (function cljs$core$async$impl$channels$box(val){ if(typeof cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751 !== 'undefined'){ } else { /** * @constructor * @implements {cljs.core.IMeta} * @implements {cljs.core.IDeref} * @implements {cljs.core.IWithMeta} */ cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751 = (function (val,meta20752){ this.val = val; this.meta20752 = meta20752; this.cljs$lang$protocol_mask$partition0$ = 425984; this.cljs$lang$protocol_mask$partition1$ = 0; }) cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_20753,meta20752__$1){ var self__ = this; var _20753__$1 = this; return (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751(self__.val,meta20752__$1)); }); cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_20753){ var self__ = this; var _20753__$1 = this; return self__.meta20752; }); cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return self__.val; }); cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.getBasis = (function (){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"meta20752","meta20752",1802780452,null)], null); }); cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.cljs$lang$type = true; cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.cljs$lang$ctorStr = "cljs.core.async.impl.channels/t_cljs$core$async$impl$channels20751"; cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){ return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async.impl.channels/t_cljs$core$async$impl$channels20751"); }); cljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels20751 = (function cljs$core$async$impl$channels$box_$___GT_t_cljs$core$async$impl$channels20751(val__$1,meta20752){ return (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751(val__$1,meta20752)); }); } return (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels20751(val,cljs.core.PersistentArrayMap.EMPTY)); }); /** * @constructor */ cljs.core.async.impl.channels.PutBox = (function (handler,val){ this.handler = handler; this.val = val; }) cljs.core.async.impl.channels.PutBox.getBasis = (function (){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"handler","handler",1444934915,null),new cljs.core.Symbol(null,"val","val",1769233139,null)], null); }); cljs.core.async.impl.channels.PutBox.cljs$lang$type = true; cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr = "cljs.core.async.impl.channels/PutBox"; cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){ return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async.impl.channels/PutBox"); }); cljs.core.async.impl.channels.__GT_PutBox = (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){ return (new cljs.core.async.impl.channels.PutBox(handler,val)); }); cljs.core.async.impl.channels.put_active_QMARK_ = (function cljs$core$async$impl$channels$put_active_QMARK_(box){ return cljs.core.async.impl.protocols.active_QMARK_.call(null,box.handler); }); cljs.core.async.impl.channels.MAX_DIRTY = (64); /** * @interface */ cljs.core.async.impl.channels.MMC = function(){}; cljs.core.async.impl.channels.abort = (function cljs$core$async$impl$channels$abort(this$){ if((!((this$ == null))) && (!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 == null)))){ return this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$); } else { var x__7206__auto__ = (((this$ == null))?null:this$); var m__7207__auto__ = (cljs.core.async.impl.channels.abort[goog.typeOf(x__7206__auto__)]); if(!((m__7207__auto__ == null))){ return m__7207__auto__.call(null,this$); } else { var m__7207__auto____$1 = (cljs.core.async.impl.channels.abort["_"]); if(!((m__7207__auto____$1 == null))){ return m__7207__auto____$1.call(null,this$); } else { throw cljs.core.missing_protocol.call(null,"MMC.abort",this$); } } } }); /** * @constructor * @implements {cljs.core.async.impl.channels.MMC} * @implements {cljs.core.async.impl.protocols.Channel} * @implements {cljs.core.async.impl.protocols.WritePort} * @implements {cljs.core.async.impl.protocols.ReadPort} */ cljs.core.async.impl.channels.ManyToManyChannel = (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){ this.takes = takes; this.dirty_takes = dirty_takes; this.puts = puts; this.dirty_puts = dirty_puts; this.buf = buf; this.closed = closed; this.add_BANG_ = add_BANG_; }) cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ = cljs.core.PROTOCOL_SENTINEL; cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 = (function (this$){ var self__ = this; var this$__$1 = this; while(true){ var putter_20804 = self__.puts.pop(); if((putter_20804 == null)){ } else { var put_handler_20805 = putter_20804.handler; var val_20806 = putter_20804.val; if(cljs.core.async.impl.protocols.active_QMARK_.call(null,put_handler_20805)){ var put_cb_20807 = cljs.core.async.impl.protocols.commit.call(null,put_handler_20805); cljs.core.async.impl.dispatch.run.call(null,((function (put_cb_20807,put_handler_20805,val_20806,putter_20804,this$__$1){ return (function (){ return put_cb_20807.call(null,true); });})(put_cb_20807,put_handler_20805,val_20806,putter_20804,this$__$1)) ); } else { continue; } } break; } self__.puts.cleanup(cljs.core.constantly.call(null,false)); return cljs.core.async.impl.protocols.close_BANG_.call(null,this$__$1); }); cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL; cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (this$,val,handler){ var self__ = this; var this$__$1 = this; if(!((val == null))){ } else { throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("Can't put nil in on a channel"),cljs.core.str("\n"),cljs.core.str("(not (nil? val))")].join(''))); } var closed__$1 = self__.closed; if((closed__$1) || (!(cljs.core.async.impl.protocols.active_QMARK_.call(null,handler)))){ return cljs.core.async.impl.channels.box.call(null,!(closed__$1)); } else { if(cljs.core.truth_((function (){var and__6531__auto__ = self__.buf; if(cljs.core.truth_(and__6531__auto__)){ return cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,self__.buf)); } else { return and__6531__auto__; } })())){ cljs.core.async.impl.protocols.commit.call(null,handler); var done_QMARK_ = cljs.core.reduced_QMARK_.call(null,self__.add_BANG_.call(null,self__.buf,val)); while(true){ if(((self__.takes.length > (0))) && ((cljs.core.count.call(null,self__.buf) > (0)))){ var taker_20812 = self__.takes.pop(); if(cljs.core.async.impl.protocols.active_QMARK_.call(null,taker_20812)){ var take_cb_20813 = cljs.core.async.impl.protocols.commit.call(null,taker_20812); var val_20814__$1 = cljs.core.async.impl.protocols.remove_BANG_.call(null,self__.buf); cljs.core.async.impl.dispatch.run.call(null,((function (take_cb_20813,val_20814__$1,taker_20812,done_QMARK_,closed__$1,this$__$1){ return (function (){ return take_cb_20813.call(null,val_20814__$1); });})(take_cb_20813,val_20814__$1,taker_20812,done_QMARK_,closed__$1,this$__$1)) ); } else { continue; } } else { } break; } if(done_QMARK_){ cljs.core.async.impl.channels.abort.call(null,this$__$1); } else { } return cljs.core.async.impl.channels.box.call(null,true); } else { var taker = (function (){while(true){ var taker = self__.takes.pop(); if(cljs.core.truth_(taker)){ if(cljs.core.truth_(cljs.core.async.impl.protocols.active_QMARK_.call(null,taker))){ return taker; } else { continue; } } else { return null; } break; } })(); if(cljs.core.truth_(taker)){ var take_cb = cljs.core.async.impl.protocols.commit.call(null,taker); cljs.core.async.impl.protocols.commit.call(null,handler); cljs.core.async.impl.dispatch.run.call(null,((function (take_cb,taker,closed__$1,this$__$1){ return (function (){ return take_cb.call(null,val); });})(take_cb,taker,closed__$1,this$__$1)) ); return cljs.core.async.impl.channels.box.call(null,true); } else { if((self__.dirty_puts > cljs.core.async.impl.channels.MAX_DIRTY)){ self__.dirty_puts = (0); self__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_); } else { self__.dirty_puts = (self__.dirty_puts + (1)); } if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,handler))){ if((self__.puts.length < cljs.core.async.impl.protocols.MAX_QUEUE_SIZE)){ } else { throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str([cljs.core.str("No more than "),cljs.core.str(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str(" pending puts are allowed on a single channel."),cljs.core.str(" Consider using a windowed buffer.")].join('')),cljs.core.str("\n"),cljs.core.str("(< (.-length puts) impl/MAX-QUEUE-SIZE)")].join(''))); } self__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val))); } else { } return null; } } } }); cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL; cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (this$,handler){ var self__ = this; var this$__$1 = this; if(!(cljs.core.async.impl.protocols.active_QMARK_.call(null,handler))){ return null; } else { if((!((self__.buf == null))) && ((cljs.core.count.call(null,self__.buf) > (0)))){ var _ = cljs.core.async.impl.protocols.commit.call(null,handler); var retval = cljs.core.async.impl.channels.box.call(null,cljs.core.async.impl.protocols.remove_BANG_.call(null,self__.buf)); while(true){ if(cljs.core.truth_(cljs.core.async.impl.protocols.full_QMARK_.call(null,self__.buf))){ } else { var putter_20820 = self__.puts.pop(); if((putter_20820 == null)){ } else { var put_handler_20821 = putter_20820.handler; var val_20822 = putter_20820.val; if(cljs.core.async.impl.protocols.active_QMARK_.call(null,put_handler_20821)){ var put_cb_20823 = cljs.core.async.impl.protocols.commit.call(null,put_handler_20821); cljs.core.async.impl.protocols.commit.call(null,handler); cljs.core.async.impl.dispatch.run.call(null,((function (put_cb_20823,put_handler_20821,val_20822,putter_20820,_,retval,this$__$1){ return (function (){ return put_cb_20823.call(null,true); });})(put_cb_20823,put_handler_20821,val_20822,putter_20820,_,retval,this$__$1)) ); if(cljs.core.reduced_QMARK_.call(null,self__.add_BANG_.call(null,self__.buf,val_20822))){ cljs.core.async.impl.channels.abort.call(null,this$__$1); } else { } } else { } continue; } } break; } return retval; } else { var putter = (function (){while(true){ var putter = self__.puts.pop(); if(cljs.core.truth_(putter)){ if(cljs.core.async.impl.protocols.active_QMARK_.call(null,putter.handler)){ return putter; } else { continue; } } else { return null; } break; } })(); if(cljs.core.truth_(putter)){ var put_cb = cljs.core.async.impl.protocols.commit.call(null,putter.handler); cljs.core.async.impl.protocols.commit.call(null,handler); cljs.core.async.impl.dispatch.run.call(null,((function (put_cb,putter,this$__$1){ return (function (){ return put_cb.call(null,true); });})(put_cb,putter,this$__$1)) ); return cljs.core.async.impl.channels.box.call(null,putter.val); } else { if(cljs.core.truth_(self__.closed)){ if(cljs.core.truth_(self__.buf)){ self__.add_BANG_.call(null,self__.buf); } else { } if(cljs.core.truth_((function (){var and__6531__auto__ = cljs.core.async.impl.protocols.active_QMARK_.call(null,handler); if(cljs.core.truth_(and__6531__auto__)){ return cljs.core.async.impl.protocols.commit.call(null,handler); } else { return and__6531__auto__; } })())){ var has_val = (function (){var and__6531__auto__ = self__.buf; if(cljs.core.truth_(and__6531__auto__)){ return (cljs.core.count.call(null,self__.buf) > (0)); } else { return and__6531__auto__; } })(); var val = (cljs.core.truth_(has_val)?cljs.core.async.impl.protocols.remove_BANG_.call(null,self__.buf):null); return cljs.core.async.impl.channels.box.call(null,val); } else { return null; } } else { if((self__.dirty_takes > cljs.core.async.impl.channels.MAX_DIRTY)){ self__.dirty_takes = (0); self__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_); } else { self__.dirty_takes = (self__.dirty_takes + (1)); } if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,handler))){ if((self__.takes.length < cljs.core.async.impl.protocols.MAX_QUEUE_SIZE)){ } else { throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str([cljs.core.str("No more than "),cljs.core.str(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str(" pending takes are allowed on a single channel.")].join('')),cljs.core.str("\n"),cljs.core.str("(< (.-length takes) impl/MAX-QUEUE-SIZE)")].join(''))); } self__.takes.unbounded_unshift(handler); } else { } return null; } } } } }); cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL; cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return self__.closed; }); cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (this$){ var self__ = this; var this$__$1 = this; if(self__.closed){ return null; } else { self__.closed = true; if(cljs.core.truth_((function (){var and__6531__auto__ = self__.buf; if(cljs.core.truth_(and__6531__auto__)){ return (self__.puts.length === (0)); } else { return and__6531__auto__; } })())){ self__.add_BANG_.call(null,self__.buf); } else { } while(true){ var taker_20825 = self__.takes.pop(); if((taker_20825 == null)){ } else { if(cljs.core.async.impl.protocols.active_QMARK_.call(null,taker_20825)){ var take_cb_20826 = cljs.core.async.impl.protocols.commit.call(null,taker_20825); var val_20827 = (cljs.core.truth_((function (){var and__6531__auto__ = self__.buf; if(cljs.core.truth_(and__6531__auto__)){ return (cljs.core.count.call(null,self__.buf) > (0)); } else { return and__6531__auto__; } })())?cljs.core.async.impl.protocols.remove_BANG_.call(null,self__.buf):null); cljs.core.async.impl.dispatch.run.call(null,((function (take_cb_20826,val_20827,taker_20825,this$__$1){ return (function (){ return take_cb_20826.call(null,val_20827); });})(take_cb_20826,val_20827,taker_20825,this$__$1)) ); } else { } continue; } break; } if(cljs.core.truth_(self__.buf)){ cljs.core.async.impl.protocols.close_buf_BANG_.call(null,self__.buf); } else { } return null; } }); cljs.core.async.impl.channels.ManyToManyChannel.getBasis = (function (){ return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"takes","takes",298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,"dirty-takes","dirty-takes",575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"puts","puts",-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,"dirty-puts","dirty-puts",57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"closed","closed",720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"add!","add!",2046056845,null)], null); }); cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type = true; cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr = "cljs.core.async.impl.channels/ManyToManyChannel"; cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){ return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async.impl.channels/ManyToManyChannel"); }); cljs.core.async.impl.channels.__GT_ManyToManyChannel = (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){ return (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_)); }); cljs.core.async.impl.channels.ex_handler = (function cljs$core$async$impl$channels$ex_handler(ex){ console.log(ex); return null; }); cljs.core.async.impl.channels.handle = (function cljs$core$async$impl$channels$handle(buf,exh,t){ var else$ = (function (){var or__6543__auto__ = exh; if(cljs.core.truth_(or__6543__auto__)){ return or__6543__auto__; } else { return cljs.core.async.impl.channels.ex_handler; } })().call(null,t); if((else$ == null)){ return buf; } else { return cljs.core.async.impl.protocols.add_BANG_.call(null,buf,else$); } }); cljs.core.async.impl.channels.chan = (function cljs$core$async$impl$channels$chan(var_args){ var args20830 = []; var len__7651__auto___20841 = arguments.length; var i__7652__auto___20842 = (0); while(true){ if((i__7652__auto___20842 < len__7651__auto___20841)){ args20830.push((arguments[i__7652__auto___20842])); var G__20844 = (i__7652__auto___20842 + (1)); i__7652__auto___20842 = G__20844; continue; } else { } break; } var G__20832 = args20830.length; switch (G__20832) { case 1: return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; default: throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args20830.length)].join(''))); } }); cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf){ return cljs.core.async.impl.channels.chan.call(null,buf,null); }); cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 = (function (buf,xform){ return cljs.core.async.impl.channels.chan.call(null,buf,xform,null); }); cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 = (function (buf,xform,exh){ return (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer.call(null,(32)),(0),cljs.core.async.impl.buffers.ring_buffer.call(null,(32)),(0),buf,false,(function (){var add_BANG_ = (cljs.core.truth_(xform)?xform.call(null,cljs.core.async.impl.protocols.add_BANG_):cljs.core.async.impl.protocols.add_BANG_); return ((function (add_BANG_){ return (function() { var G__20849 = null; var G__20849__1 = (function (buf__$1){ try{return add_BANG_.call(null,buf__$1); }catch (e20837){var t = e20837; return cljs.core.async.impl.channels.handle.call(null,buf__$1,exh,t); }}); var G__20849__2 = (function (buf__$1,val){ try{return add_BANG_.call(null,buf__$1,val); }catch (e20839){var t = e20839; return cljs.core.async.impl.channels.handle.call(null,buf__$1,exh,t); }}); G__20849 = function(buf__$1,val){ switch(arguments.length){ case 1: return G__20849__1.call(this,buf__$1); case 2: return G__20849__2.call(this,buf__$1,val); } throw(new Error('Invalid arity: ' + arguments.length)); }; G__20849.cljs$core$IFn$_invoke$arity$1 = G__20849__1; G__20849.cljs$core$IFn$_invoke$arity$2 = G__20849__2; return G__20849; })() ;})(add_BANG_)) })())); }); cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity = 3;