@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
JavaScript
// 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