bigml-nodered-core
Version:
BigML bindings for Node-RED
383 lines (364 loc) • 17.6 kB
JavaScript
// Compiled by ClojureScript 1.10.520 {:target :nodejs}
goog.provide('bigml_nodered_core.wz');
goog.require('cljs.core');
goog.require('clojure.string');
goog.require('bigml_nodered_core.bigml');
goog.require('bigml_nodered_core.wz.tasks');
goog.require('bigml_nodered_core.wz.marshal');
goog.require('bigml_nodered_core.wz.stack');
bigml_nodered_core.wz.wz_fn = (function bigml_nodered_core$wz$wz_fn(fun,inputs,outputs,in_pars,out_pars){
return (function (name,msg){
return bigml_nodered_core.wz.stack.add_step.call(null,msg,name,fun.call(null,name,inputs,outputs,msg,in_pars,out_pars),inputs,in_pars,(function (){var or__4131__auto__ = outputs;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return out_pars;
}
})());
});
});
bigml_nodered_core.wz.from_env = (function bigml_nodered_core$wz$from_env(var_args){
var args__4736__auto__ = [];
var len__4730__auto___2593 = arguments.length;
var i__4731__auto___2594 = (0);
while(true){
if((i__4731__auto___2594 < len__4730__auto___2593)){
args__4736__auto__.push((arguments[i__4731__auto___2594]));
var G__2595 = (i__4731__auto___2594 + (1));
i__4731__auto___2594 = G__2595;
continue;
} else {
}
break;
}
var argseq__4737__auto__ = ((((3) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((3)),(0),null)):null);
return bigml_nodered_core.wz.from_env.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__4737__auto__);
});
bigml_nodered_core.wz.from_env.cljs$core$IFn$_invoke$arity$variadic = (function (node,msg,key,p__2589){
var vec__2590 = p__2589;
var default$ = cljs.core.nth.call(null,vec__2590,(0),null);
var flow = node.context().flow;
var payload = (function (){var or__4131__auto__ = msg.payload;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return cljs.core.PersistentArrayMap.EMPTY;
}
})();
var or__4131__auto__ = (payload[key]);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
var or__4131__auto____$1 = flow.get(key);
if(cljs.core.truth_(or__4131__auto____$1)){
return or__4131__auto____$1;
} else {
return default$;
}
}
});
bigml_nodered_core.wz.from_env.cljs$lang$maxFixedArity = (3);
/** @this {Function} */
bigml_nodered_core.wz.from_env.cljs$lang$applyTo = (function (seq2585){
var G__2586 = cljs.core.first.call(null,seq2585);
var seq2585__$1 = cljs.core.next.call(null,seq2585);
var G__2587 = cljs.core.first.call(null,seq2585__$1);
var seq2585__$2 = cljs.core.next.call(null,seq2585__$1);
var G__2588 = cljs.core.first.call(null,seq2585__$2);
var seq2585__$3 = cljs.core.next.call(null,seq2585__$2);
var self__4717__auto__ = this;
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__2586,G__2587,G__2588,seq2585__$3);
});
bigml_nodered_core.wz.pars_from_labels = (function bigml_nodered_core$wz$pars_from_labels(labels){
var labels__$1 = cljs.core.js__GT_clj.call(null,labels);
if(cljs.core.sequential_QMARK_.call(null,labels__$1)){
return cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.re_seq.call(null,/[\w_\-]+/,cljs.core.first.call(null,labels__$1)));
} else {
return null;
}
});
bigml_nodered_core.wz.extract_diagnostics = (function bigml_nodered_core$wz$extract_diagnostics(result,error){
if((!(((function (){var and__4120__auto__ = result;
if(cljs.core.truth_(and__4120__auto__)){
return result.status;
} else {
return and__4120__auto__;
}
})() == null)))){
var message = result.status.message;
var cause = (function (){var or__4131__auto__ = result.status.cause;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return cljs.core.PersistentArrayMap.EMPTY;
}
})();
var code = (function (){var or__4131__auto__ = cause.code;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return "unknown";
}
})();
var extra = (function (){var or__4131__auto__ = cause.extra;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return "";
}
})();
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),"(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(code),")"," - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(JSON.stringify(extra))].join('');
} else {
var or__4131__auto__ = error;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return result;
}
}
});
bigml_nodered_core.wz.results_to_output = (function bigml_nodered_core$wz$results_to_output(name,result,msg,red){
var to_out = (function (x){
var msg__$1 = red.util.cloneMessage(msg);
var _ = msg__$1.payload = x;
return msg__$1;
});
return to_out.call(null,result);
});
bigml_nodered_core.wz.set_status_and_run = (function bigml_nodered_core$wz$set_status_and_run(node,status,c){
return node.status(cljs.core.clj__GT_js.call(null,status));
});
bigml_nodered_core.wz.handle_error = (function bigml_nodered_core$wz$handle_error(err,node,config,msg,extra){
msg.wzError = err;
node.error(extra,msg);
cljs.core.println.call(null,extra);
return msg;
});
bigml_nodered_core.wz.node_result_cbk = (function bigml_nodered_core$wz$node_result_cbk(name,msg,red,node,config,opts,error_msg,fun){
return (function() {
var G__2600__delegate = function (error,result,p__2596){
var vec__2597 = p__2596;
var flag = cljs.core.nth.call(null,vec__2597,(0),null);
if((((error == null)) && ((((!((result == null)))) || (cljs.core._EQ_.call(null,flag,new cljs.core.Keyword(null,"ignore","ignore",-1631542033))))))){
var msg__$1 = ((cljs.core._EQ_.call(null,flag,new cljs.core.Keyword(null,"ignore","ignore",-1631542033)))?msg:bigml_nodered_core.wz.results_to_output.call(null,name,result,msg,red));
if(((cljs.core.not_EQ_.call(null,flag,new cljs.core.Keyword(null,"stop","stop",-2140911342))) && ((!((fun == null)))))){
return fun.call(null,name,opts,msg__$1,bigml_nodered_core.wz.node_result_cbk.call(null,name,msg__$1,red,node,config,opts,error_msg,null));
} else {
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","green","text","completed"], null),node.send(msg__$1));
}
} else {
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","red","text","failed"], null),bigml_nodered_core.wz.handle_error.call(null,bigml_nodered_core.wz.extract_diagnostics.call(null,result,error),node,config,msg,error_msg));
}
};
var G__2600 = function (error,result,var_args){
var p__2596 = null;
if (arguments.length > 2) {
var G__2601__i = 0, G__2601__a = new Array(arguments.length - 2);
while (G__2601__i < G__2601__a.length) {G__2601__a[G__2601__i] = arguments[G__2601__i + 2]; ++G__2601__i;}
p__2596 = new cljs.core.IndexedSeq(G__2601__a,0,null);
}
return G__2600__delegate.call(this,error,result,p__2596);};
G__2600.cljs$lang$maxFixedArity = 2;
G__2600.cljs$lang$applyTo = (function (arglist__2602){
var error = cljs.core.first(arglist__2602);
arglist__2602 = cljs.core.next(arglist__2602);
var result = cljs.core.first(arglist__2602);
var p__2596 = cljs.core.rest(arglist__2602);
return G__2600__delegate(error,result,p__2596);
});
G__2600.cljs$core$IFn$_invoke$arity$variadic = G__2600__delegate;
return G__2600;
})()
;
});
bigml_nodered_core.wz.reify_node = (function bigml_nodered_core$wz$reify_node(msg,red,node,config,opts,pre,wzf,i_pars,o_pars,post){
var name = config.name;
var vec__2603 = new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [bigml_nodered_core.wz.from_env.call(null,node,msg,"BIGML_USERNAME"),bigml_nodered_core.wz.from_env.call(null,node,msg,"BIGML_API_KEY"),bigml_nodered_core.wz.from_env.call(null,node,msg,"BIGML_DOMAIN")], null);
var un = cljs.core.nth.call(null,vec__2603,(0),null);
var ak = cljs.core.nth.call(null,vec__2603,(1),null);
var dm = cljs.core.nth.call(null,vec__2603,(2),null);
var trace_QMARK_ = bigml_nodered_core.wz.from_env.call(null,node,msg,"BIGML_DEBUG_TRACE");
var pre__$1 = (((!((pre == null))))?pre.call(null,red,node,config,i_pars,o_pars,un,ak,dm):null);
var post__$1 = (((!((post == null))))?post.call(null,red,node,config,i_pars,o_pars,un,ak,dm):null);
var chain_task = ((function (name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1){
return (function (task,error_msg){
return bigml_nodered_core.wz.node_result_cbk.call(null,name,msg,red,node,config,opts,error_msg,task);
});})(name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1))
;
var run_wz_task = ((function (name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task){
return (function (name__$1,opts__$1,msg__$1,cbk){
var whizzml = msg__$1.whizzml;
var trace = ((function (whizzml,name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task){
return (function (){
return cljs.core.println.call(null,"WhizzML for ",name__$1,": ",whizzml);
});})(whizzml,name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task))
;
return bigml_nodered_core.bigml.wz_exec.call(null,name__$1,whizzml,un,ak,dm,((function (whizzml,trace,name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task){
return (function (e,i){
bigml_nodered_core.wz.stack.wz_stack_reset.call(null,msg__$1);
delete msg__$1["wzSendingPort"];
if(cljs.core.truth_(trace_QMARK_)){
trace.call(null);
} else {
delete msg__$1["whizzml"];
}
return cbk.call(null,e,(function (){var or__4131__auto__ = (function (){var and__4120__auto__ = i;
if(cljs.core.truth_(and__4120__auto__)){
var and__4120__auto____$1 = i.execution;
if(cljs.core.truth_(and__4120__auto____$1)){
return i.execution.result;
} else {
return and__4120__auto____$1;
}
} else {
return and__4120__auto__;
}
})();
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return i;
}
})());
});})(whizzml,trace,name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task))
);
});})(name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task))
;
var wz_task = ((function (name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task){
return (function (name__$1,opts__$1,msg__$1){
var msg__$2 = wzf.call(null,name__$1,msg__$1);
var whizzml = msg__$2.whizzml;
return run_wz_task.call(null,name__$1,opts__$1,msg__$2,chain_task.call(null,post__$1,["Failed WhizzML: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(whizzml)].join('')));
});})(name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task))
;
var run_task = ((function (name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task,wz_task){
return (function (){
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","yellow","text","running"], null),(((!((pre__$1 == null))))?pre__$1.call(null,name,cljs.core.js__GT_clj.call(null,config),msg,chain_task.call(null,wz_task,"Failed Pre-step")):(((!((wzf == null))))?wz_task.call(null,name,config,msg):post__$1.call(null,name,cljs.core.js__GT_clj.call(null,config),msg,chain_task.call(null,null,"Failed Post-step")))));
});})(name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task,wz_task))
;
var auth_error = ((function (name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task,wz_task,run_task){
return (function (){
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","red","text","failed"], null),bigml_nodered_core.wz.handle_error.call(null,"Missing credentials. Check payload or flow context.",node,config,msg,"whizzml"));
});})(name,vec__2603,un,ak,dm,trace_QMARK_,pre__$1,post__$1,chain_task,run_wz_task,wz_task,run_task))
;
if((((!((un == null)))) && ((!((ak == null)))))){
return run_task.call(null);
} else {
return auth_error.call(null);
}
});
bigml_nodered_core.wz.node_fun = (function bigml_nodered_core$wz$node_fun(fun,opts_fun,io_fun,node,config,red){
return (function (msg){
try{var name = config.name;
var payload = cljs.core.js__GT_clj.call(null,msg.payload);
var reify_QMARK_ = (function (){var or__4131__auto__ = config.reify;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return bigml_nodered_core.wz.from_env.call(null,node,msg,"BIGML_DEBUG_REIFY");
}
})();
var def_i_o = io_fun.call(null);
var i_pars = (function (){var or__4131__auto__ = bigml_nodered_core.wz.pars_from_labels.call(null,config.inputLabels);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return cljs.core.first.call(null,def_i_o);
}
})();
var o_pars = (function (){var or__4131__auto__ = bigml_nodered_core.wz.pars_from_labels.call(null,config.outputLabels);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return cljs.core.last.call(null,def_i_o);
}
})();
var ins = opts_fun.call(null,cljs.core.js__GT_clj.call(null,config),payload);
var outs = cljs.core.get.call(null,config.outputLabels,(0));
var outs__$1 = (((((outs == null)) || (cljs.core.sequential_QMARK_.call(null,outs))))?outs:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [outs], null));
var vec__2607 = ((cljs.core.map_QMARK_.call(null,fun))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"wz","wz",-1711391981).cljs$core$IFn$_invoke$arity$1(fun),new cljs.core.Keyword(null,"pre","pre",2118456869).cljs$core$IFn$_invoke$arity$1(fun),new cljs.core.Keyword(null,"post","post",269697687).cljs$core$IFn$_invoke$arity$1(fun)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [fun,null,null], null));
var wzf = cljs.core.nth.call(null,vec__2607,(0),null);
var pre = cljs.core.nth.call(null,vec__2607,(1),null);
var post = cljs.core.nth.call(null,vec__2607,(2),null);
var wz_ins = cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__4523__auto__ = ((function (name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post){
return (function bigml_nodered_core$wz$node_fun_$_iter__2610(s__2611){
return (new cljs.core.LazySeq(null,((function (name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post){
return (function (){
var s__2611__$1 = s__2611;
while(true){
var temp__5720__auto__ = cljs.core.seq.call(null,s__2611__$1);
if(temp__5720__auto__){
var s__2611__$2 = temp__5720__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__2611__$2)){
var c__4521__auto__ = cljs.core.chunk_first.call(null,s__2611__$2);
var size__4522__auto__ = cljs.core.count.call(null,c__4521__auto__);
var b__2613 = cljs.core.chunk_buffer.call(null,size__4522__auto__);
if((function (){var i__2612 = (0);
while(true){
if((i__2612 < size__4522__auto__)){
var vec__2614 = cljs.core._nth.call(null,c__4521__auto__,i__2612);
var k = cljs.core.nth.call(null,vec__2614,(0),null);
var v = cljs.core.nth.call(null,vec__2614,(1),null);
cljs.core.chunk_append.call(null,b__2613,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,bigml_nodered_core.wz.marshal.wz_marshal.call(null,v)], null));
var G__2620 = (i__2612 + (1));
i__2612 = G__2620;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__2613),bigml_nodered_core$wz$node_fun_$_iter__2610.call(null,cljs.core.chunk_rest.call(null,s__2611__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__2613),null);
}
} else {
var vec__2617 = cljs.core.first.call(null,s__2611__$2);
var k = cljs.core.nth.call(null,vec__2617,(0),null);
var v = cljs.core.nth.call(null,vec__2617,(1),null);
return cljs.core.cons.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,bigml_nodered_core.wz.marshal.wz_marshal.call(null,v)], null),bigml_nodered_core$wz$node_fun_$_iter__2610.call(null,cljs.core.rest.call(null,s__2611__$2)));
}
} else {
return null;
}
break;
}
});})(name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post))
,null,null));
});})(name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post))
;
return iter__4523__auto__.call(null,ins);
})());
var wzf__$1 = (((!((wzf == null))))?bigml_nodered_core.wz.wz_fn.call(null,wzf,wz_ins,outs__$1,i_pars,o_pars):null);
if(cljs.core.truth_((function (){var or__4131__auto__ = reify_QMARK_;
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return (((!((pre == null)))) || ((!((post == null)))));
}
})())){
return bigml_nodered_core.wz.reify_node.call(null,msg,red,node,config,ins,pre,wzf__$1,i_pars,o_pars,post);
} else {
var msg__$1 = wzf__$1.call(null,name,msg);
var whizzml = msg__$1.whizzml;
var trace_QMARK_ = bigml_nodered_core.wz.from_env.call(null,node,msg__$1,"BIGML_DEBUG_TRACE");
var trace = ((function (msg__$1,whizzml,trace_QMARK_,name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post,wz_ins,wzf__$1){
return (function (){
return cljs.core.println.call(null,"WhizzML for ",name,": ",whizzml);
});})(msg__$1,whizzml,trace_QMARK_,name,payload,reify_QMARK_,def_i_o,i_pars,o_pars,ins,outs,outs__$1,vec__2607,wzf,pre,post,wz_ins,wzf__$1))
;
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","green","text","compiled"], null),(function (){
if(cljs.core.truth_(trace_QMARK_)){
trace.call(null);
} else {
}
return node.send(msg__$1);
})()
);
}
}catch (e2606){var e = e2606;
return bigml_nodered_core.wz.set_status_and_run.call(null,node,new cljs.core.PersistentArrayMap(null, 2, ["fill","red","text","failed"], null),bigml_nodered_core.wz.handle_error.call(null,e,node,config,msg,""));
}});
});
//# sourceMappingURL=wz.js.map?rel=1628192450661