UNPKG

@atomist/clj-editors

Version:

editor functions that use rewrite-clj and other important things from the clojurescript ecosystem

1,492 lines (1,259 loc) 60.3 kB
// Compiled by ClojureScript 1.10.238 {:target :nodejs} goog.provide('cljs_node_io.async'); goog.require('cljs.core'); goog.require('cljs.core.async'); /** * Sets up an infinite go-loop with a kill method. Continuously takes from _in_ * and applies supplied handler to the read value asynchronously. If killed or input closes, * exits the loop, and calls the supplied exit cb. If (exit? (<! in)) the go-proc * is killed, though that same val is handled + events may still be processed * depending on next round of alts!. The error handler should be a function of 1 arg * and is called with errors from handler+exit? applications to incoming values. * The go-proc will continue processing after errors & must be manually killed. */ cljs_node_io.async.go_proc = (function cljs_node_io$async$go_proc(var_args){ var G__22164 = arguments.length; switch (G__22164) { case 2: return cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; case 4: return cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)])); break; case 5: return cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$2 = (function (in$,handler){ return cljs_node_io.async.go_proc.call(null,in$,handler,null,null,null); }); cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$3 = (function (in$,handler,error_handler){ return cljs_node_io.async.go_proc.call(null,in$,handler,error_handler,null,null); }); cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$4 = (function (in$,handler,error_handler,exit_cb){ return cljs_node_io.async.go_proc.call(null,in$,handler,error_handler,exit_cb,null); }); cljs_node_io.async.go_proc.cljs$core$IFn$_invoke$arity$5 = (function (in$,handler,error_handler,exit_cb,exit_QMARK_){ if(((!((in$ == null)))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === in$.cljs$core$async$impl$protocols$ReadPort$))))?true:false):false)){ } else { throw (new Error("Assert failed: (implements? cljs.core.async.impl.protocols/ReadPort in)")); } if(cljs.core.fn_QMARK_.call(null,handler)){ } else { throw (new Error("Assert failed: (fn? handler)")); } if((cljs.core.truth_(error_handler)?cljs.core.fn_QMARK_.call(null,error_handler):true)){ } else { throw (new Error("Assert failed: (if error-handler (fn? error-handler) true)")); } if((cljs.core.truth_(exit_cb)?cljs.core.fn_QMARK_.call(null,exit_cb):true)){ } else { throw (new Error("Assert failed: (if exit-cb (fn? exit-cb) true)")); } if((cljs.core.truth_(exit_QMARK_)?cljs.core.fn_QMARK_.call(null,exit_QMARK_):true)){ } else { throw (new Error("Assert failed: (if exit? (fn? exit?) true)")); } var eh = (function (){var or__3922__auto__ = error_handler; if(cljs.core.truth_(or__3922__auto__)){ return or__3922__auto__; } else { return console.error.bind(console); } })(); var kill_ch = cljs.core.async.promise_chan.call(null); var gblock = (function (){var c__4714__auto__ = cljs.core.async.chan.call(null,(1)); cljs.core.async.impl.dispatch.run.call(null,((function (c__4714__auto__,eh,kill_ch){ return (function (){ var f__4715__auto__ = (function (){var switch__4668__auto__ = ((function (c__4714__auto__,eh,kill_ch){ return (function (state_22222){ var state_val_22223 = (state_22222[(1)]); if((state_val_22223 === (7))){ var inst_22218 = (state_22222[(2)]); var state_22222__$1 = state_22222; var statearr_22224_22259 = state_22222__$1; (statearr_22224_22259[(2)] = inst_22218); (statearr_22224_22259[(1)] = (3)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (20))){ var inst_22212 = exit_cb.call(null); var state_22222__$1 = state_22222; var statearr_22225_22260 = state_22222__$1; (statearr_22225_22260[(2)] = inst_22212); (statearr_22225_22260[(1)] = (22)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (1))){ var state_22222__$1 = state_22222; var statearr_22226_22261 = state_22222__$1; (statearr_22226_22261[(2)] = null); (statearr_22226_22261[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (4))){ var inst_22175 = (state_22222[(7)]); var inst_22174 = (state_22222[(2)]); var inst_22175__$1 = cljs.core.nth.call(null,inst_22174,(0),null); var inst_22176 = cljs.core.nth.call(null,inst_22174,(1),null); var state_22222__$1 = (function (){var statearr_22227 = state_22222; (statearr_22227[(7)] = inst_22175__$1); (statearr_22227[(8)] = inst_22176); return statearr_22227; })(); if(cljs.core.truth_(inst_22175__$1)){ var statearr_22228_22262 = state_22222__$1; (statearr_22228_22262[(1)] = (5)); } else { var statearr_22229_22263 = state_22222__$1; (statearr_22229_22263[(1)] = (6)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (15))){ var state_22222__$1 = state_22222; var statearr_22230_22264 = state_22222__$1; (statearr_22230_22264[(2)] = null); (statearr_22230_22264[(1)] = (16)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (21))){ var state_22222__$1 = state_22222; var statearr_22231_22265 = state_22222__$1; (statearr_22231_22265[(2)] = null); (statearr_22231_22265[(1)] = (22)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (13))){ var inst_22175 = (state_22222[(7)]); var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_22222,(12),Error,null,(11)); var inst_22187 = exit_QMARK_.call(null,inst_22175); var state_22222__$1 = state_22222; var statearr_22232_22266 = state_22222__$1; (statearr_22232_22266[(2)] = inst_22187); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22222__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (22))){ var inst_22215 = (state_22222[(2)]); var inst_22216 = cljs.core.async.close_BANG_.call(null,kill_ch); var state_22222__$1 = (function (){var statearr_22233 = state_22222; (statearr_22233[(9)] = inst_22215); return statearr_22233; })(); var statearr_22234_22267 = state_22222__$1; (statearr_22234_22267[(2)] = inst_22216); (statearr_22234_22267[(1)] = (7)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (6))){ var state_22222__$1 = state_22222; if(cljs.core.truth_(exit_cb)){ var statearr_22235_22268 = state_22222__$1; (statearr_22235_22268[(1)] = (20)); } else { var statearr_22236_22269 = state_22222__$1; (statearr_22236_22269[(1)] = (21)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (17))){ var inst_22208 = (state_22222[(2)]); var state_22222__$1 = (function (){var statearr_22237 = state_22222; (statearr_22237[(10)] = inst_22208); return statearr_22237; })(); var statearr_22238_22270 = state_22222__$1; (statearr_22238_22270[(2)] = null); (statearr_22238_22270[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (3))){ var inst_22220 = (state_22222[(2)]); var state_22222__$1 = state_22222; return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_22222__$1,inst_22220); } else { if((state_val_22223 === (12))){ var inst_22179 = (state_22222[(2)]); var inst_22180 = [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"msg","msg",-1386103444)]; var inst_22181 = [inst_22179,"go-proc: uncaught exit condition error"]; var inst_22182 = cljs.core.PersistentHashMap.fromArrays(inst_22180,inst_22181); var inst_22183 = eh.call(null,inst_22182); var state_22222__$1 = (function (){var statearr_22239 = state_22222; (statearr_22239[(11)] = inst_22183); return statearr_22239; })(); var statearr_22240_22271 = state_22222__$1; (statearr_22240_22271[(2)] = false); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22222__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (2))){ var inst_22170 = cljs.core.PersistentVector.EMPTY_NODE; var inst_22171 = [kill_ch,in$]; var inst_22172 = (new cljs.core.PersistentVector(null,2,(5),inst_22170,inst_22171,null)); var state_22222__$1 = state_22222; return cljs.core.async.ioc_alts_BANG_.call(null,state_22222__$1,(4),inst_22172); } else { if((state_val_22223 === (19))){ var inst_22175 = (state_22222[(7)]); var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_22222,(18),Error,null,(17)); var inst_22206 = handler.call(null,inst_22175); var state_22222__$1 = state_22222; var statearr_22241_22272 = state_22222__$1; (statearr_22241_22272[(2)] = inst_22206); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22222__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (11))){ var inst_22189 = (state_22222[(2)]); var state_22222__$1 = state_22222; var statearr_22242_22273 = state_22222__$1; (statearr_22242_22273[(2)] = inst_22189); (statearr_22242_22273[(1)] = (10)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (9))){ var state_22222__$1 = state_22222; var statearr_22243_22274 = state_22222__$1; (statearr_22243_22274[(2)] = exit_QMARK_); (statearr_22243_22274[(1)] = (10)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (5))){ var state_22222__$1 = state_22222; if(cljs.core.truth_(exit_QMARK_)){ var statearr_22244_22275 = state_22222__$1; (statearr_22244_22275[(1)] = (8)); } else { var statearr_22245_22276 = state_22222__$1; (statearr_22245_22276[(1)] = (9)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (14))){ var inst_22194 = cljs.core.async.close_BANG_.call(null,kill_ch); var state_22222__$1 = state_22222; var statearr_22246_22277 = state_22222__$1; (statearr_22246_22277[(2)] = inst_22194); (statearr_22246_22277[(1)] = (16)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (16))){ var inst_22197 = (state_22222[(2)]); var state_22222__$1 = (function (){var statearr_22247 = state_22222; (statearr_22247[(12)] = inst_22197); return statearr_22247; })(); var statearr_22248_22278 = state_22222__$1; (statearr_22248_22278[(2)] = null); (statearr_22248_22278[(1)] = (19)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (10))){ var inst_22192 = (state_22222[(2)]); var state_22222__$1 = state_22222; if(cljs.core.truth_(inst_22192)){ var statearr_22249_22279 = state_22222__$1; (statearr_22249_22279[(1)] = (14)); } else { var statearr_22250_22280 = state_22222__$1; (statearr_22250_22280[(1)] = (15)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (18))){ var inst_22198 = (state_22222[(2)]); var inst_22199 = [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"msg","msg",-1386103444)]; var inst_22200 = [inst_22198,"go-proc: uncaught handler error"]; var inst_22201 = cljs.core.PersistentHashMap.fromArrays(inst_22199,inst_22200); var inst_22202 = eh.call(null,inst_22201); var state_22222__$1 = state_22222; var statearr_22251_22281 = state_22222__$1; (statearr_22251_22281[(2)] = inst_22202); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22222__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22223 === (8))){ var state_22222__$1 = state_22222; var statearr_22252_22282 = state_22222__$1; (statearr_22252_22282[(2)] = null); (statearr_22252_22282[(1)] = (13)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { return null; } } } } } } } } } } } } } } } } } } } } } } });})(c__4714__auto__,eh,kill_ch)) ; return ((function (switch__4668__auto__,c__4714__auto__,eh,kill_ch){ return (function() { var cljs_node_io$async$state_machine__4669__auto__ = null; var cljs_node_io$async$state_machine__4669__auto____0 = (function (){ var statearr_22253 = [null,null,null,null,null,null,null,null,null,null,null,null,null]; (statearr_22253[(0)] = cljs_node_io$async$state_machine__4669__auto__); (statearr_22253[(1)] = (1)); return statearr_22253; }); var cljs_node_io$async$state_machine__4669__auto____1 = (function (state_22222){ while(true){ var ret_value__4670__auto__ = (function (){try{while(true){ var result__4671__auto__ = switch__4668__auto__.call(null,state_22222); if(cljs.core.keyword_identical_QMARK_.call(null,result__4671__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){ continue; } else { return result__4671__auto__; } break; } }catch (e22254){if((e22254 instanceof Object)){ var ex__4672__auto__ = e22254; var statearr_22255_22283 = state_22222; (statearr_22255_22283[(5)] = ex__4672__auto__); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22222); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { throw e22254; } }})(); if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__4670__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){ var G__22284 = state_22222; state_22222 = G__22284; continue; } else { return ret_value__4670__auto__; } break; } }); cljs_node_io$async$state_machine__4669__auto__ = function(state_22222){ switch(arguments.length){ case 0: return cljs_node_io$async$state_machine__4669__auto____0.call(this); case 1: return cljs_node_io$async$state_machine__4669__auto____1.call(this,state_22222); } throw(new Error('Invalid arity: ' + (arguments.length - 1))); }; cljs_node_io$async$state_machine__4669__auto__.cljs$core$IFn$_invoke$arity$0 = cljs_node_io$async$state_machine__4669__auto____0; cljs_node_io$async$state_machine__4669__auto__.cljs$core$IFn$_invoke$arity$1 = cljs_node_io$async$state_machine__4669__auto____1; return cljs_node_io$async$state_machine__4669__auto__; })() ;})(switch__4668__auto__,c__4714__auto__,eh,kill_ch)) })(); var state__4716__auto__ = (function (){var statearr_22256 = f__4715__auto__.call(null); (statearr_22256[(6)] = c__4714__auto__); return statearr_22256; })(); return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__4716__auto__); });})(c__4714__auto__,eh,kill_ch)) ); return c__4714__auto__; })(); gblock.active = true; cljs.core.async.take_BANG_.call(null,kill_ch,((function (eh,kill_ch,gblock){ return (function (){ return gblock.active = false; });})(eh,kill_ch,gblock)) ); var x22257 = gblock; x22257.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL; x22257.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = ((function (x22257,eh,kill_ch,gblock){ return (function (this$,writer,opts){ var this$__$1 = this; return cljs.core._write.call(null,writer,"#object [cljs-node-io.async/go-proc]"); });})(x22257,eh,kill_ch,gblock)) ; x22257.kill = ((function (x22257,eh,kill_ch,gblock){ return (function (){ var _ = this; return cljs.core.async.close_BANG_.call(null,kill_ch); });})(x22257,eh,kill_ch,gblock)) ; return x22257; }); cljs_node_io.async.go_proc.cljs$lang$maxFixedArity = 5; /** * @interface */ cljs_node_io.async.IMux = function(){}; /** * add a Readport to the Mux */ cljs_node_io.async.admux = (function cljs_node_io$async$admux(this$,port){ if(((!((this$ == null))) && (!((this$.cljs_node_io$async$IMux$admux$arity$2 == null))))){ return this$.cljs_node_io$async$IMux$admux$arity$2(this$,port); } else { var x__4211__auto__ = (((this$ == null))?null:this$); var m__4212__auto__ = (cljs_node_io.async.admux[goog.typeOf(x__4211__auto__)]); if(!((m__4212__auto__ == null))){ return m__4212__auto__.call(null,this$,port); } else { var m__4212__auto____$1 = (cljs_node_io.async.admux["_"]); if(!((m__4212__auto____$1 == null))){ return m__4212__auto____$1.call(null,this$,port); } else { throw cljs.core.missing_protocol.call(null,"IMux.admux",this$); } } } }); /** * remove a Readport from the Mux */ cljs_node_io.async.unmux = (function cljs_node_io$async$unmux(this$,port){ if(((!((this$ == null))) && (!((this$.cljs_node_io$async$IMux$unmux$arity$2 == null))))){ return this$.cljs_node_io$async$IMux$unmux$arity$2(this$,port); } else { var x__4211__auto__ = (((this$ == null))?null:this$); var m__4212__auto__ = (cljs_node_io.async.unmux[goog.typeOf(x__4211__auto__)]); if(!((m__4212__auto__ == null))){ return m__4212__auto__.call(null,this$,port); } else { var m__4212__auto____$1 = (cljs_node_io.async.unmux["_"]); if(!((m__4212__auto____$1 == null))){ return m__4212__auto____$1.call(null,this$,port); } else { throw cljs.core.missing_protocol.call(null,"IMux.unmux",this$); } } } }); /** * remove all ports from Mux reading */ cljs_node_io.async.unmux_all = (function cljs_node_io$async$unmux_all(this$){ if(((!((this$ == null))) && (!((this$.cljs_node_io$async$IMux$unmux_all$arity$1 == null))))){ return this$.cljs_node_io$async$IMux$unmux_all$arity$1(this$); } else { var x__4211__auto__ = (((this$ == null))?null:this$); var m__4212__auto__ = (cljs_node_io.async.unmux_all[goog.typeOf(x__4211__auto__)]); if(!((m__4212__auto__ == null))){ return m__4212__auto__.call(null,this$); } else { var m__4212__auto____$1 = (cljs_node_io.async.unmux_all["_"]); if(!((m__4212__auto____$1 == null))){ return m__4212__auto____$1.call(null,this$); } else { throw cljs.core.missing_protocol.call(null,"IMux.unmux-all",this$); } } } }); /** * Inspired by core.async/mix, mux is a 'multiplex' of readports. Instead of building * a mix and then having a separate consumption and processing step, this skips * the middle-man and continuously processes values from a collection of ReadPorts * using the given handler. This saves an extra chan+go-loop and skips unecessary * asynchronicity. It can be view as an *extensible* border between asynchronous * data reception and synchronous handling of that data (though there is no reason * you cannot reintroduce asynchronicity downstream). * * Added ReadPorts are continually read from using a shared alts! go-loop, and * the user supplied handler is called with the port & recieved values. When a * port closes, it is removed from the mux. An empty mux will persist until killed. * Mux knows nothing about msg content or ReadPorts' lifecycle. * * Mux is meant to serve as an entry point for external connections into your * application. Structure your input values and handler fn for data based routing * @return {!IMux} */ cljs_node_io.async.mux = (function cljs_node_io$async$mux(var_args){ var G__22287 = arguments.length; switch (G__22287) { case 1: return cljs_node_io.async.mux.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return cljs_node_io.async.mux.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.mux.cljs$core$IFn$_invoke$arity$1 = (function (handler){ return cljs_node_io.async.mux.call(null,handler,null); }); cljs_node_io.async.mux.cljs$core$IFn$_invoke$arity$2 = (function (handler,err_handler){ var eh = (function (){var or__3922__auto__ = err_handler; if(cljs.core.truth_(or__3922__auto__)){ return or__3922__auto__; } else { return console.error.bind(console); } })(); var ports = cljs.core.atom.call(null,cljs.core.PersistentHashSet.EMPTY); var change_ch = cljs.core.async.chan.call(null); var kill_ch = cljs.core.async.promise_chan.call(null); var calc_state = ((function (eh,ports,change_ch,kill_ch){ return (function (){ return cljs.core.vec.call(null,cljs.core.conj.call(null,cljs.core.deref.call(null,ports),change_ch,kill_ch)); });})(eh,ports,change_ch,kill_ch)) ; var remove_port = ((function (eh,ports,change_ch,kill_ch,calc_state){ return (function (p1__22285_SHARP_){ return cljs.core.swap_BANG_.call(null,ports,cljs.core.disj,p1__22285_SHARP_); });})(eh,ports,change_ch,kill_ch,calc_state)) ; var gblock = (function (){var c__4714__auto__ = cljs.core.async.chan.call(null,(1)); cljs.core.async.impl.dispatch.run.call(null,((function (c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port){ return (function (){ var f__4715__auto__ = (function (){var switch__4668__auto__ = ((function (c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port){ return (function (state_22337){ var state_val_22338 = (state_22337[(1)]); if((state_val_22338 === (7))){ var inst_22333 = (state_22337[(2)]); var state_22337__$1 = state_22337; var statearr_22339_22372 = state_22337__$1; (statearr_22339_22372[(2)] = inst_22333); (statearr_22339_22372[(1)] = (3)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (1))){ var inst_22288 = calc_state.call(null); var inst_22289 = inst_22288; var state_22337__$1 = (function (){var statearr_22340 = state_22337; (statearr_22340[(7)] = inst_22289); return statearr_22340; })(); var statearr_22341_22373 = state_22337__$1; (statearr_22341_22373[(2)] = null); (statearr_22341_22373[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (4))){ var inst_22297 = (state_22337[(8)]); var inst_22295 = (state_22337[(2)]); var inst_22296 = cljs.core.nth.call(null,inst_22295,(0),null); var inst_22297__$1 = cljs.core.nth.call(null,inst_22295,(1),null); var inst_22298 = cljs.core._EQ_.call(null,inst_22297__$1,kill_ch); var state_22337__$1 = (function (){var statearr_22342 = state_22337; (statearr_22342[(8)] = inst_22297__$1); (statearr_22342[(9)] = inst_22296); return statearr_22342; })(); if(inst_22298){ var statearr_22343_22374 = state_22337__$1; (statearr_22343_22374[(1)] = (5)); } else { var statearr_22344_22375 = state_22337__$1; (statearr_22344_22375[(1)] = (6)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (15))){ var state_22337__$1 = state_22337; var statearr_22345_22376 = state_22337__$1; (statearr_22345_22376[(2)] = null); (statearr_22345_22376[(1)] = (16)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (13))){ var inst_22329 = (state_22337[(2)]); var state_22337__$1 = state_22337; var statearr_22347_22377 = state_22337__$1; (statearr_22347_22377[(2)] = inst_22329); (statearr_22347_22377[(1)] = (10)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (6))){ var inst_22297 = (state_22337[(8)]); var inst_22301 = cljs.core._EQ_.call(null,inst_22297,change_ch); var state_22337__$1 = state_22337; if(inst_22301){ var statearr_22348_22378 = state_22337__$1; (statearr_22348_22378[(1)] = (8)); } else { var statearr_22349_22379 = state_22337__$1; (statearr_22349_22379[(1)] = (9)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (17))){ var inst_22289 = (state_22337[(7)]); var inst_22323 = (state_22337[(2)]); var tmp22346 = inst_22289; var inst_22289__$1 = tmp22346; var state_22337__$1 = (function (){var statearr_22350 = state_22337; (statearr_22350[(7)] = inst_22289__$1); (statearr_22350[(10)] = inst_22323); return statearr_22350; })(); var statearr_22351_22380 = state_22337__$1; (statearr_22351_22380[(2)] = null); (statearr_22351_22380[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (3))){ var inst_22335 = (state_22337[(2)]); var state_22337__$1 = state_22337; return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_22337__$1,inst_22335); } else { if((state_val_22338 === (12))){ var state_22337__$1 = state_22337; var statearr_22352_22381 = state_22337__$1; (statearr_22352_22381[(1)] = (14)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (2))){ var inst_22289 = (state_22337[(7)]); var state_22337__$1 = state_22337; return cljs.core.async.ioc_alts_BANG_.call(null,state_22337__$1,(4),inst_22289); } else { if((state_val_22338 === (19))){ var inst_22297 = (state_22337[(8)]); var inst_22296 = (state_22337[(9)]); var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_22337,(18),Error,null,(17)); var inst_22321 = handler.call(null,inst_22297,inst_22296); var state_22337__$1 = state_22337; var statearr_22354_22382 = state_22337__$1; (statearr_22354_22382[(2)] = inst_22321); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22337__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (11))){ var inst_22297 = (state_22337[(8)]); var inst_22308 = remove_port.call(null,inst_22297); var inst_22309 = calc_state.call(null); var inst_22289 = inst_22309; var state_22337__$1 = (function (){var statearr_22355 = state_22337; (statearr_22355[(11)] = inst_22308); (statearr_22355[(7)] = inst_22289); return statearr_22355; })(); var statearr_22356_22383 = state_22337__$1; (statearr_22356_22383[(2)] = null); (statearr_22356_22383[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (9))){ var inst_22296 = (state_22337[(9)]); var inst_22306 = (inst_22296 == null); var state_22337__$1 = state_22337; if(cljs.core.truth_(inst_22306)){ var statearr_22357_22384 = state_22337__$1; (statearr_22357_22384[(1)] = (11)); } else { var statearr_22358_22385 = state_22337__$1; (statearr_22358_22385[(1)] = (12)); } return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (5))){ var state_22337__$1 = state_22337; var statearr_22359_22386 = state_22337__$1; (statearr_22359_22386[(2)] = null); (statearr_22359_22386[(1)] = (7)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (14))){ var state_22337__$1 = state_22337; var statearr_22360_22387 = state_22337__$1; (statearr_22360_22387[(2)] = null); (statearr_22360_22387[(1)] = (19)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (16))){ var inst_22327 = (state_22337[(2)]); var state_22337__$1 = state_22337; var statearr_22361_22388 = state_22337__$1; (statearr_22361_22388[(2)] = inst_22327); (statearr_22361_22388[(1)] = (13)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (10))){ var inst_22331 = (state_22337[(2)]); var state_22337__$1 = state_22337; var statearr_22362_22389 = state_22337__$1; (statearr_22362_22389[(2)] = inst_22331); (statearr_22362_22389[(1)] = (7)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (18))){ var inst_22296 = (state_22337[(9)]); var inst_22313 = (state_22337[(2)]); var inst_22314 = [new cljs.core.Keyword(null,"e","e",1381269198),new cljs.core.Keyword(null,"v","v",21465059),new cljs.core.Keyword(null,"msg","msg",-1386103444)]; var inst_22315 = [inst_22313,inst_22296,"mux: data handler error"]; var inst_22316 = cljs.core.PersistentHashMap.fromArrays(inst_22314,inst_22315); var inst_22317 = eh.call(null,inst_22316); var state_22337__$1 = state_22337; var statearr_22363_22390 = state_22337__$1; (statearr_22363_22390[(2)] = inst_22317); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22337__$1); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { if((state_val_22338 === (8))){ var inst_22303 = calc_state.call(null); var inst_22289 = inst_22303; var state_22337__$1 = (function (){var statearr_22364 = state_22337; (statearr_22364[(7)] = inst_22289); return statearr_22364; })(); var statearr_22365_22391 = state_22337__$1; (statearr_22365_22391[(2)] = null); (statearr_22365_22391[(1)] = (2)); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { return null; } } } } } } } } } } } } } } } } } } } });})(c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port)) ; return ((function (switch__4668__auto__,c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port){ return (function() { var cljs_node_io$async$state_machine__4669__auto__ = null; var cljs_node_io$async$state_machine__4669__auto____0 = (function (){ var statearr_22366 = [null,null,null,null,null,null,null,null,null,null,null,null]; (statearr_22366[(0)] = cljs_node_io$async$state_machine__4669__auto__); (statearr_22366[(1)] = (1)); return statearr_22366; }); var cljs_node_io$async$state_machine__4669__auto____1 = (function (state_22337){ while(true){ var ret_value__4670__auto__ = (function (){try{while(true){ var result__4671__auto__ = switch__4668__auto__.call(null,state_22337); if(cljs.core.keyword_identical_QMARK_.call(null,result__4671__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){ continue; } else { return result__4671__auto__; } break; } }catch (e22367){if((e22367 instanceof Object)){ var ex__4672__auto__ = e22367; var statearr_22368_22392 = state_22337; (statearr_22368_22392[(5)] = ex__4672__auto__); cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22337); return new cljs.core.Keyword(null,"recur","recur",-437573268); } else { throw e22367; } }})(); if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__4670__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){ var G__22393 = state_22337; state_22337 = G__22393; continue; } else { return ret_value__4670__auto__; } break; } }); cljs_node_io$async$state_machine__4669__auto__ = function(state_22337){ switch(arguments.length){ case 0: return cljs_node_io$async$state_machine__4669__auto____0.call(this); case 1: return cljs_node_io$async$state_machine__4669__auto____1.call(this,state_22337); } throw(new Error('Invalid arity: ' + (arguments.length - 1))); }; cljs_node_io$async$state_machine__4669__auto__.cljs$core$IFn$_invoke$arity$0 = cljs_node_io$async$state_machine__4669__auto____0; cljs_node_io$async$state_machine__4669__auto__.cljs$core$IFn$_invoke$arity$1 = cljs_node_io$async$state_machine__4669__auto____1; return cljs_node_io$async$state_machine__4669__auto__; })() ;})(switch__4668__auto__,c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port)) })(); var state__4716__auto__ = (function (){var statearr_22369 = f__4715__auto__.call(null); (statearr_22369[(6)] = c__4714__auto__); return statearr_22369; })(); return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__4716__auto__); });})(c__4714__auto__,eh,ports,change_ch,kill_ch,calc_state,remove_port)) ); return c__4714__auto__; })(); gblock.active = true; cljs.core.async.take_BANG_.call(null,kill_ch,((function (eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (){ return gblock.active = false; });})(eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ); var x22370 = gblock; x22370.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL; x22370.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (this$,writer,opts){ var this$__$1 = this; return cljs.core._write.call(null,writer,"#object [cljs-node-io.async/mux]"); });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; x22370.cljs_node_io$async$IMux$ = cljs.core.PROTOCOL_SENTINEL; x22370.cljs_node_io$async$IMux$admux$arity$2 = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (_,port){ var ___$1 = this; if(!(cljs.core.async.poll_BANG_.call(null,kill_ch))){ cljs.core.swap_BANG_.call(null,ports,cljs.core.conj,port); cljs.core.async.put_BANG_.call(null,change_ch,true); return port; } else { return false; } });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; x22370.cljs_node_io$async$IMux$unmux$arity$2 = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (_,port){ var ___$1 = this; cljs.core.swap_BANG_.call(null,ports,cljs.core.disj,port); cljs.core.async.put_BANG_.call(null,change_ch,true); return port; });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; x22370.cljs_node_io$async$IMux$unmux_all$arity$1 = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (_){ var ___$1 = this; cljs.core.reset_BANG_.call(null,ports,cljs.core.PersistentHashSet.EMPTY); return cljs.core.async.put_BANG_.call(null,change_ch,true); });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; x22370.ports = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (){ var _ = this; return cljs.core.deref.call(null,ports); });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; x22370.kill = ((function (x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock){ return (function (){ var _ = this; cljs.core.reset_BANG_.call(null,ports,null); return cljs.core.async.put_BANG_.call(null,kill_ch,true); });})(x22370,eh,ports,change_ch,kill_ch,calc_state,remove_port,gblock)) ; return x22370; }); cljs_node_io.async.mux.cljs$lang$maxFixedArity = 2; cljs_node_io.async.stream = require("stream"); cljs_node_io.async.handle_vals = (function cljs_node_io$async$handle_vals(event,vals){ if(!(cljs.core.empty_QMARK_.call(null,vals))){ return cljs.core.vec.call(null,vals); } else { return null; } }); /** * Converts a event cb into a core.async put!. Event Cb params are put into vectors. * cb() -> [:event nil] * cb(a) -> [:event [a]] * cb(a,b) -> [:event [a b]] * @param {!events.EventEmitter} emitter * @param {!Channel} out :: unblocking buffers will drop data, including errors * @param {!string} event * @return {!events.EventEmitter} */ cljs_node_io.async.event_onto_ch = (function cljs_node_io$async$event_onto_ch(var_args){ var G__22395 = arguments.length; switch (G__22395) { case 3: return cljs_node_io.async.event_onto_ch.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; case 4: return cljs_node_io.async.event_onto_ch.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.event_onto_ch.cljs$core$IFn$_invoke$arity$3 = (function (emitter,out,event){ return cljs_node_io.async.event_onto_ch.call(null,emitter,out,event,null); }); cljs_node_io.async.event_onto_ch.cljs$core$IFn$_invoke$arity$4 = (function (emitter,out,event,cb){ if(typeof event === 'string'){ } else { throw (new Error("Assert failed: (string? event)")); } if(!((emitter instanceof cljs_node_io.async.stream.Readable))){ return emitter.on(event,(function() { var G__22397__delegate = function (vals){ return cljs.core.async.put_BANG_.call(null,out,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,event),cljs_node_io.async.handle_vals.call(null,event,vals)], null),(function (){ if(cljs.core.truth_(cb)){ return cb.call(null); } else { return null; } })); }; var G__22397 = function (var_args){ var vals = null; if (arguments.length > 0) { var G__22398__i = 0, G__22398__a = new Array(arguments.length - 0); while (G__22398__i < G__22398__a.length) {G__22398__a[G__22398__i] = arguments[G__22398__i + 0]; ++G__22398__i;} vals = new cljs.core.IndexedSeq(G__22398__a,0,null); } return G__22397__delegate.call(this,vals);}; G__22397.cljs$lang$maxFixedArity = 0; G__22397.cljs$lang$applyTo = (function (arglist__22399){ var vals = cljs.core.seq(arglist__22399); return G__22397__delegate(vals); }); G__22397.cljs$core$IFn$_invoke$arity$variadic = G__22397__delegate; return G__22397; })() ); } else { return emitter.on(event,(function() { var G__22400__delegate = function (vals){ var this$ = this; var val = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,event),cljs_node_io.async.handle_vals.call(null,event,vals)], null); if(cljs.core.async.offer_BANG_.call(null,out,val)){ if(cljs.core.truth_(cb)){ return cb.call(null,event); } else { return null; } } else { this$.pause(); return cljs.core.async.put_BANG_.call(null,out,val,((function (val,this$){ return (function (){ this$.resume(); if(cljs.core.truth_(cb)){ return cb.call(null,event); } else { return null; } });})(val,this$)) ); } }; var G__22400 = function (var_args){ var vals = null; if (arguments.length > 0) { var G__22401__i = 0, G__22401__a = new Array(arguments.length - 0); while (G__22401__i < G__22401__a.length) {G__22401__a[G__22401__i] = arguments[G__22401__i + 0]; ++G__22401__i;} vals = new cljs.core.IndexedSeq(G__22401__a,0,null); } return G__22400__delegate.call(this,vals);}; G__22400.cljs$lang$maxFixedArity = 0; G__22400.cljs$lang$applyTo = (function (arglist__22402){ var vals = cljs.core.seq(arglist__22402); return G__22400__delegate(vals); }); G__22400.cljs$core$IFn$_invoke$arity$variadic = G__22400__delegate; return G__22400; })() ); } }); cljs_node_io.async.event_onto_ch.cljs$lang$maxFixedArity = 4; /** * Generic interface so you can write reloadable handlers. Removes the need to * manage stream listener reload lifecycle. Supply your configured chan. * 'data', 'end', & 'error' events are caught and put! as [:event [cb-arg0 cb-arg1]]. * * If your stream fires other events (such as 'close'), provide them as a vector * of strings. 'close' is automatically recognized as an exit condition. The chan * will be closed when exit conditions have been met. * * Be aware that nonblocking buffers may drop error events too. Parking chans * behave just like stream.pipe methods. Note pending put! limits * @return {!cljs.core.async.impl.protocols/Channel} */ cljs_node_io.async.readable_onto_ch = (function cljs_node_io$async$readable_onto_ch(var_args){ var G__22405 = arguments.length; switch (G__22405) { case 2: return cljs_node_io.async.readable_onto_ch.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs_node_io.async.readable_onto_ch.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.readable_onto_ch.cljs$core$IFn$_invoke$arity$2 = (function (rstream,out_ch){ return cljs_node_io.async.readable_onto_ch.call(null,rstream,out_ch,null); }); cljs_node_io.async.readable_onto_ch.cljs$core$IFn$_invoke$arity$3 = (function (rstream,out_ch,events){ if(cljs.core.truth_(events)){ if(((cljs.core.coll_QMARK_.call(null,events)) && (cljs.core.every_QMARK_.call(null,cljs.core.string_QMARK_,events)))){ } else { throw (new Error("Assert failed: (and (coll? events) (every? string? events))")); } } else { } var close_QMARK_ = cljs.core.some.call(null,(function (p1__22403_SHARP_){ return cljs.core._EQ_.call(null,"close",p1__22403_SHARP_); }),events); var exits = cljs.core.atom.call(null,cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,(cljs.core.truth_(close_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["close","end"], null):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["end"], null)))); var exit_cb = ((function (close_QMARK_,exits){ return (function (ev){ cljs.core.swap_BANG_.call(null,exits,cljs.core.disj,ev); if(cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,exits))){ return cljs.core.async.close_BANG_.call(null,out_ch); } else { return null; } });})(close_QMARK_,exits)) ; var common = new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["data","error","end"], null); var events__$1 = cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,((cljs.core.not.call(null,events))?common:cljs.core.concat.call(null,common,events))); var seq__22406_22411 = cljs.core.seq.call(null,events__$1); var chunk__22407_22412 = null; var count__22408_22413 = (0); var i__22409_22414 = (0); while(true){ if((i__22409_22414 < count__22408_22413)){ var ev_22415 = cljs.core._nth.call(null,chunk__22407_22412,i__22409_22414); if(cljs.core.truth_(cljs.core.deref.call(null,exits).call(null,ev_22415))){ cljs_node_io.async.event_onto_ch.call(null,rstream,out_ch,ev_22415,exit_cb); } else { cljs_node_io.async.event_onto_ch.call(null,rstream,out_ch,ev_22415); } var G__22416 = seq__22406_22411; var G__22417 = chunk__22407_22412; var G__22418 = count__22408_22413; var G__22419 = (i__22409_22414 + (1)); seq__22406_22411 = G__22416; chunk__22407_22412 = G__22417; count__22408_22413 = G__22418; i__22409_22414 = G__22419; continue; } else { var temp__5457__auto___22420 = cljs.core.seq.call(null,seq__22406_22411); if(temp__5457__auto___22420){ var seq__22406_22421__$1 = temp__5457__auto___22420; if(cljs.core.chunked_seq_QMARK_.call(null,seq__22406_22421__$1)){ var c__4319__auto___22422 = cljs.core.chunk_first.call(null,seq__22406_22421__$1); var G__22423 = cljs.core.chunk_rest.call(null,seq__22406_22421__$1); var G__22424 = c__4319__auto___22422; var G__22425 = cljs.core.count.call(null,c__4319__auto___22422); var G__22426 = (0); seq__22406_22411 = G__22423; chunk__22407_22412 = G__22424; count__22408_22413 = G__22425; i__22409_22414 = G__22426; continue; } else { var ev_22427 = cljs.core.first.call(null,seq__22406_22421__$1); if(cljs.core.truth_(cljs.core.deref.call(null,exits).call(null,ev_22427))){ cljs_node_io.async.event_onto_ch.call(null,rstream,out_ch,ev_22427,exit_cb); } else { cljs_node_io.async.event_onto_ch.call(null,rstream,out_ch,ev_22427); } var G__22428 = cljs.core.next.call(null,seq__22406_22421__$1); var G__22429 = null; var G__22430 = (0); var G__22431 = (0); seq__22406_22411 = G__22428; chunk__22407_22412 = G__22429; count__22408_22413 = G__22430; i__22409_22414 = G__22431; continue; } } else { } } break; } return out_ch; }); cljs_node_io.async.readable_onto_ch.cljs$lang$maxFixedArity = 3; /** * Generic interface so you can write reloadable handlers. Removes the need to * manage stream listener reload lifecycle. Supply your configured chan. * 'finish', 'drain', & 'error' events are caught and put! as [:event [cb-arg0 cb-arg1]]. * * If your stream fires other events (such as 'close'), provide them as a vector * of strings. 'close' is automatically recognized as an exit condition. The chan * will be closed when exit conditions have been met. * * Be aware that nonblocking buffers may drop error events too. Parking chans * behave just like stream.pipe methods. Note pending put! limits * @return {!cljs.core.async.impl.protocols/Channel} */ cljs_node_io.async.writable_onto_ch = (function cljs_node_io$async$writable_onto_ch(var_args){ var G__22434 = arguments.length; switch (G__22434) { case 2: return cljs_node_io.async.writable_onto_ch.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs_node_io.async.writable_onto_ch.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.writable_onto_ch.cljs$core$IFn$_invoke$arity$2 = (function (wstream,out_ch){ return cljs_node_io.async.writable_onto_ch.call(null,wstream,out_ch,null); }); cljs_node_io.async.writable_onto_ch.cljs$core$IFn$_invoke$arity$3 = (function (wstream,out_ch,events){ if(cljs.core.truth_(events)){ if(((cljs.core.coll_QMARK_.call(null,events)) && (cljs.core.every_QMARK_.call(null,cljs.core.string_QMARK_,events)))){ } else { throw (new Error("Assert failed: (and (coll? events) (every? string? events))")); } } else { } var close_QMARK_ = cljs.core.some.call(null,(function (p1__22432_SHARP_){ return cljs.core._EQ_.call(null,"close",p1__22432_SHARP_); }),events); var exits = cljs.core.atom.call(null,cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,(cljs.core.truth_(close_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["close","finish"], null):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["finish"], null)))); var exit_cb = ((function (close_QMARK_,exits){ return (function (ev){ cljs.core.swap_BANG_.call(null,exits,cljs.core.disj,ev); if(cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,exits))){ return cljs.core.async.close_BANG_.call(null,out_ch); } else { return null; } });})(close_QMARK_,exits)) ; var common = new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["finish","error","drain"], null); var events__$1 = cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,((cljs.core.not.call(null,events))?common:cljs.core.concat.call(null,common,events))); var seq__22435_22440 = cljs.core.seq.call(null,events__$1); var chunk__22436_22441 = null; var count__22437_22442 = (0); var i__22438_22443 = (0); while(true){ if((i__22438_22443 < count__22437_22442)){ var ev_22444 = cljs.core._nth.call(null,chunk__22436_22441,i__22438_22443); if(cljs.core.truth_(cljs.core.deref.call(null,exits).call(null,ev_22444))){ cljs_node_io.async.event_onto_ch.call(null,wstream,out_ch,ev_22444,exit_cb); } else { cljs_node_io.async.event_onto_ch.call(null,wstream,out_ch,ev_22444); } var G__22445 = seq__22435_22440; var G__22446 = chunk__22436_22441; var G__22447 = count__22437_22442; var G__22448 = (i__22438_22443 + (1)); seq__22435_22440 = G__22445; chunk__22436_22441 = G__22446; count__22437_22442 = G__22447; i__22438_22443 = G__22448; continue; } else { var temp__5457__auto___22449 = cljs.core.seq.call(null,seq__22435_22440); if(temp__5457__auto___22449){ var seq__22435_22450__$1 = temp__5457__auto___22449; if(cljs.core.chunked_seq_QMARK_.call(null,seq__22435_22450__$1)){ var c__4319__auto___22451 = cljs.core.chunk_first.call(null,seq__22435_22450__$1); var G__22452 = cljs.core.chunk_rest.call(null,seq__22435_22450__$1); var G__22453 = c__4319__auto___22451; var G__22454 = cljs.core.count.call(null,c__4319__auto___22451); var G__22455 = (0); seq__22435_22440 = G__22452; chunk__22436_22441 = G__22453; count__22437_22442 = G__22454; i__22438_22443 = G__22455; continue; } else { var ev_22456 = cljs.core.first.call(null,seq__22435_22450__$1); if(cljs.core.truth_(cljs.core.deref.call(null,exits).call(null,ev_22456))){ cljs_node_io.async.event_onto_ch.call(null,wstream,out_ch,ev_22456,exit_cb); } else { cljs_node_io.async.event_onto_ch.call(null,wstream,out_ch,ev_22456); } var G__22457 = cljs.core.next.call(null,seq__22435_22450__$1); var G__22458 = null; var G__22459 = (0); var G__22460 = (0); seq__22435_22440 = G__22457; chunk__22436_22441 = G__22458; count__22437_22442 = G__22459; i__22438_22443 = G__22460; continue; } } else { } } break; } return out_ch; }); cljs_node_io.async.writable_onto_ch.cljs$lang$maxFixedArity = 3; /** * Wraps all ChildProcess events into messages put! on a core.async channel. * The chan will close when all underlying data sources close. * See doc for cljs-node-io.proc/child for opts. * If key is provided, msgs below are prefixed as [key msg] * [:error [js/Error]] * [:disconnect nil] * [:message [#js{} ?handle]] * [:exit [?code ?signal]] * [:close [?code ?signal]] * [:stdout [:data [chunk]]] * [:stdout [:error [js/Error]]] * [:stdout [:end nil]] * [:stderr [:data [chunk]]] * [:stderr [:error [js/Error]]] * [:stderr [:end nil]] * [:stdin [:error [js/Error]]] * [:stdin [:end nil]] * @return {!cljs.core.async.impl.protocols/Channel} */ cljs_node_io.async.cp__GT_ch = (function cljs_node_io$async$cp__GT_ch(var_args){ var G__22464 = arguments.length; switch (G__22464) { case 1: return cljs_node_io.async.cp__GT_ch.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return cljs_node_io.async.cp__GT_ch.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); cljs_node_io.async.cp__GT_ch.cljs$core$IFn$_invoke$arity$1 = (function (proc){ return cljs_node_io.async.cp__GT_ch.call(null,proc,null); }); cljs_node_io.async.cp__GT_ch.cljs$core$IFn$_invoke$arity$2 = (function (proc,p__22465){ var map__22466 = p__22465; var map__22466__$1 = ((((!((map__22466 == null)))?(((((map__22466.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__22466.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__22466):map__22466); var key = cljs.core.get.call(null,map__22466__$1,new cljs.core.Keyword(null,"key","key",-1516042587)); var buf_or_n = cljs.core.get.call(null,map__22466__$1,new cljs.core.Keyword(null,"buf-or-n","buf-or-n",1007620719),(10)); var tag_xf = ((function (map__22466,map__22466__$1,key,buf_or_n){ return (function (tag){ if(cljs.core.not.call(null,key)){ return cljs.core.map.call(null,((function (map__22466,map__22466__$1,key,buf_or_n){ return (function (p1__22461_SHARP_){ return cljs.core.conj.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [tag], null),p1__22461_SHARP_); });})(map__22466,map__22466__$1,key,buf_or_n)) ); } else { return cljs.core.map.call(null,((function (map__22466,map__22466__$1,key,buf_or_n){ return (function (p1__22462_SHARP_){ return cljs.core.assoc_in.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [key,new cljs.core.PersistentVector(null