UNPKG

longdown

Version:

Convert longform markdown files to outline format used by Logseq

986 lines (941 loc) 88.5 kB
import "./cljs_env.js"; goog.provide('clojure.tools.cli'); /** * Reduce arguments sequence into [opt-type opt ?optarg?] vectors and a vector * of remaining arguments. Returns as [option-tokens remaining-args]. * * Expands clumped short options like "-abc" into: * [[:short-opt "-a"] [:short-opt "-b"] [:short-opt "-c"]] * * If "-b" were in the set of options that require arguments, "-abc" would * then be interpreted as: [[:short-opt "-a"] [:short-opt "-b" "c"]] * * Long options with `=` are always parsed as option + optarg, even if nothing * follows the `=` sign. * * If the :in-order flag is true, the first non-option, non-optarg argument * stops options processing. This is useful for handling subcommand options. */ clojure.tools.cli.tokenize_args = (function clojure$tools$cli$tokenize_args(var_args){ var args__5775__auto__ = []; var len__5769__auto___21825 = arguments.length; var i__5770__auto___21826 = (0); while(true){ if((i__5770__auto___21826 < len__5769__auto___21825)){ args__5775__auto__.push((arguments[i__5770__auto___21826])); var G__21827 = (i__5770__auto___21826 + (1)); i__5770__auto___21826 = G__21827; continue; } else { } break; } var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null); return clojure.tools.cli.tokenize_args.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__); }); (clojure.tools.cli.tokenize_args.cljs$core$IFn$_invoke$arity$variadic = (function (required_set,args,options){ var map__21504 = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options); var map__21504__$1 = cljs.core.__destructure_map(map__21504); var in_order = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21504__$1,new cljs.core.Keyword(null,"in-order","in-order",-1605651796)); var opts = cljs.core.PersistentVector.EMPTY; var argv = cljs.core.PersistentVector.EMPTY; var G__21508 = args; var vec__21509 = G__21508; var seq__21510 = cljs.core.seq(vec__21509); var first__21511 = cljs.core.first(seq__21510); var seq__21510__$1 = cljs.core.next(seq__21510); var car = first__21511; var cdr = seq__21510__$1; var opts__$1 = opts; var argv__$1 = argv; var G__21508__$1 = G__21508; while(true){ var opts__$2 = opts__$1; var argv__$2 = argv__$1; var vec__21556 = G__21508__$1; var seq__21557 = cljs.core.seq(vec__21556); var first__21558 = cljs.core.first(seq__21557); var seq__21557__$1 = cljs.core.next(seq__21557); var car__$1 = first__21558; var cdr__$1 = seq__21557__$1; if(cljs.core.truth_(car__$1)){ var pred__21559 = cljs.core.re_seq; var expr__21560 = car__$1; if(cljs.core.truth_((function (){var G__21562 = /^--$/; var G__21563 = expr__21560; return (pred__21559.cljs$core$IFn$_invoke$arity$2 ? pred__21559.cljs$core$IFn$_invoke$arity$2(G__21562,G__21563) : pred__21559.call(null,G__21562,G__21563)); })())){ var G__21830 = opts__$2; var G__21831 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(argv__$2,cdr__$1); var G__21832 = cljs.core.PersistentVector.EMPTY; opts__$1 = G__21830; argv__$1 = G__21831; G__21508__$1 = G__21832; continue; } else { if(cljs.core.truth_((function (){var G__21565 = /^--\S+=/; var G__21566 = expr__21560; return (pred__21559.cljs$core$IFn$_invoke$arity$2 ? pred__21559.cljs$core$IFn$_invoke$arity$2(G__21565,G__21566) : pred__21559.call(null,G__21565,G__21566)); })())){ var G__21833 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(opts__$2,cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"long-opt","long-opt",-386094553)], null),clojure.string.split.cljs$core$IFn$_invoke$arity$3(car__$1,/=/,(2)))); var G__21834 = argv__$2; var G__21835 = cdr__$1; opts__$1 = G__21833; argv__$1 = G__21834; G__21508__$1 = G__21835; continue; } else { if(cljs.core.truth_((function (){var G__21567 = /^--/; var G__21568 = expr__21560; return (pred__21559.cljs$core$IFn$_invoke$arity$2 ? pred__21559.cljs$core$IFn$_invoke$arity$2(G__21567,G__21568) : pred__21559.call(null,G__21567,G__21568)); })())){ var vec__21569 = ((cljs.core.contains_QMARK_(required_set,car__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(cdr__$1),cljs.core.rest(cdr__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cdr__$1], null)); var optarg = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21569,(0),null); var cdr__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21569,(1),null); var G__21836 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(opts__$2,cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"long-opt","long-opt",-386094553),car__$1], null),(cljs.core.truth_(optarg)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [optarg], null):cljs.core.PersistentVector.EMPTY))); var G__21837 = argv__$2; var G__21838 = cdr__$2; opts__$1 = G__21836; argv__$1 = G__21837; G__21508__$1 = G__21838; continue; } else { if(cljs.core.truth_((function (){var G__21572 = /^-./; var G__21573 = expr__21560; return (pred__21559.cljs$core$IFn$_invoke$arity$2 ? pred__21559.cljs$core$IFn$_invoke$arity$2(G__21572,G__21573) : pred__21559.call(null,G__21572,G__21573)); })())){ var vec__21574 = (function (){var os = cljs.core.PersistentVector.EMPTY; var G__21580 = cljs.core.rest(car__$1); var vec__21581 = G__21580; var seq__21582 = cljs.core.seq(vec__21581); var first__21583 = cljs.core.first(seq__21582); var seq__21582__$1 = cljs.core.next(seq__21582); var c = first__21583; var cs = seq__21582__$1; var os__$1 = os; var G__21580__$1 = G__21580; while(true){ var os__$2 = os__$1; var vec__21590 = G__21580__$1; var seq__21591 = cljs.core.seq(vec__21590); var first__21592 = cljs.core.first(seq__21591); var seq__21591__$1 = cljs.core.next(seq__21591); var c__$1 = first__21592; var cs__$1 = seq__21591__$1; var o = ["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c__$1)].join(''); if(cljs.core.contains_QMARK_(required_set,o)){ if(cljs.core.seq(cs__$1)){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(os__$2,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),o,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cs__$1)], null)),cdr__$1], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(os__$2,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),o,cljs.core.first(cdr__$1)], null)),cljs.core.rest(cdr__$1)], null); } } else { if(cljs.core.seq(cs__$1)){ var G__21840 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(os__$2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),o], null)); var G__21841 = cs__$1; os__$1 = G__21840; G__21580__$1 = G__21841; continue; } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(os__$2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),o], null)),cdr__$1], null); } } break; } })(); var os = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21574,(0),null); var cdr__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21574,(1),null); var G__21843 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(opts__$2,os); var G__21844 = argv__$2; var G__21845 = cdr__$2; opts__$1 = G__21843; argv__$1 = G__21844; G__21508__$1 = G__21845; continue; } else { if(cljs.core.truth_(in_order)){ var G__21846 = opts__$2; var G__21847 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(argv__$2,cljs.core.cons(car__$1,cdr__$1)); var G__21848 = cljs.core.PersistentVector.EMPTY; opts__$1 = G__21846; argv__$1 = G__21847; G__21508__$1 = G__21848; continue; } else { var G__21849 = opts__$2; var G__21850 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(argv__$2,car__$1); var G__21851 = cdr__$1; opts__$1 = G__21849; argv__$1 = G__21850; G__21508__$1 = G__21851; continue; } } } } } } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [opts__$2,argv__$2], null); } break; } })); (clojure.tools.cli.tokenize_args.cljs$lang$maxFixedArity = (2)); /** @this {Function} */ (clojure.tools.cli.tokenize_args.cljs$lang$applyTo = (function (seq21499){ var G__21500 = cljs.core.first(seq21499); var seq21499__$1 = cljs.core.next(seq21499); var G__21501 = cljs.core.first(seq21499__$1); var seq21499__$2 = cljs.core.next(seq21499__$1); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21500,G__21501,seq21499__$2); })); /** * Given a sequence of column widths, return a string suitable for use in * format to print a sequences of strings in those columns. */ clojure.tools.cli.make_format = (function clojure$tools$cli$make_format(lens){ return clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21594_SHARP_){ return [" %",(((p1__21594_SHARP_ === (0)))?null:["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__21594_SHARP_)].join('')),"s"].join(''); }),lens)); }); clojure.tools.cli.build_doc = (function clojure$tools$cli$build_doc(p__21603){ var map__21604 = p__21603; var map__21604__$1 = cljs.core.__destructure_map(map__21604); var switches = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21604__$1,new cljs.core.Keyword(null,"switches","switches",2013040888)); var docs = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21604__$1,new cljs.core.Keyword(null,"docs","docs",-1974280502)); var default$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21604__$1,new cljs.core.Keyword(null,"default","default",-1987822328)); return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(", ",switches)),(function (){var or__5045__auto__ = cljs.core.str.cljs$core$IFn$_invoke$arity$1(default$); if(cljs.core.truth_(or__5045__auto__)){ return or__5045__auto__; } else { return ""; } })(),(function (){var or__5045__auto__ = docs; if(cljs.core.truth_(or__5045__auto__)){ return or__5045__auto__; } else { return ""; } })()], null); }); clojure.tools.cli.format = (function clojure$tools$cli$format(var_args){ var args__5775__auto__ = []; var len__5769__auto___21853 = arguments.length; var i__5770__auto___21854 = (0); while(true){ if((i__5770__auto___21854 < len__5769__auto___21853)){ args__5775__auto__.push((arguments[i__5770__auto___21854])); var G__21855 = (i__5770__auto___21854 + (1)); i__5770__auto___21854 = G__21855; continue; } else { } break; } var argseq__5776__auto__ = ((((1) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null); return clojure.tools.cli.format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__); }); (clojure.tools.cli.format.cljs$core$IFn$_invoke$arity$variadic = (function (fmt,args){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(goog.string.format,fmt,args); })); (clojure.tools.cli.format.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (clojure.tools.cli.format.cljs$lang$applyTo = (function (seq21605){ var G__21606 = cljs.core.first(seq21605); var seq21605__$1 = cljs.core.next(seq21605); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21606,seq21605__$1); })); clojure.tools.cli.banner_for = (function clojure$tools$cli$banner_for(desc,specs){ if(cljs.core.truth_(desc)){ cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([desc], 0)); cljs.core.println(); } else { } var docs = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.tools.cli.build_doc,specs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["--------","-------","----"], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Switches","Default","Desc"], null)], null)); var max_cols = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21611_SHARP_){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,p1__21611_SHARP_); }),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,(function() { var G__21857__delegate = function (c){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,c); }; var G__21857 = function (var_args){ var c = null; if (arguments.length > 0) { var G__21858__i = 0, G__21858__a = new Array(arguments.length - 0); while (G__21858__i < G__21858__a.length) {G__21858__a[G__21858__i] = arguments[G__21858__i + 0]; ++G__21858__i;} c = new cljs.core.IndexedSeq(G__21858__a,0,null); } return G__21857__delegate.call(this,c);}; G__21857.cljs$lang$maxFixedArity = 0; G__21857.cljs$lang$applyTo = (function (arglist__21859){ var c = cljs.core.seq(arglist__21859); return G__21857__delegate(c); }); G__21857.cljs$core$IFn$_invoke$arity$variadic = G__21857__delegate; return G__21857; })() ,(function (){var iter__5523__auto__ = (function clojure$tools$cli$banner_for_$_iter__21616(s__21617){ return (new cljs.core.LazySeq(null,(function (){ var s__21617__$1 = s__21617; while(true){ var temp__5804__auto__ = cljs.core.seq(s__21617__$1); if(temp__5804__auto__){ var s__21617__$2 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(s__21617__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21617__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21619 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21618 = (0); while(true){ if((i__21618 < size__5522__auto__)){ var d = cljs.core._nth(c__5521__auto__,i__21618); cljs.core.chunk_append(b__21619,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,d)); var G__21861 = (i__21618 + (1)); i__21618 = G__21861; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21619),clojure$tools$cli$banner_for_$_iter__21616(cljs.core.chunk_rest(s__21617__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21619),null); } } else { var d = cljs.core.first(s__21617__$2); return cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,d),clojure$tools$cli$banner_for_$_iter__21616(cljs.core.rest(s__21617__$2))); } } else { return null; } break; } }),null,null)); }); return iter__5523__auto__(docs); })())); var vs = (function (){var iter__5523__auto__ = (function clojure$tools$cli$banner_for_$_iter__21622(s__21623){ return (new cljs.core.LazySeq(null,(function (){ var s__21623__$1 = s__21623; while(true){ var temp__5804__auto__ = cljs.core.seq(s__21623__$1); if(temp__5804__auto__){ var s__21623__$2 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(s__21623__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21623__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21625 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21624 = (0); while(true){ if((i__21624 < size__5522__auto__)){ var d = cljs.core._nth(c__5521__auto__,i__21624); cljs.core.chunk_append(b__21625,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(((function (i__21624,d,c__5521__auto__,size__5522__auto__,b__21625,s__21623__$2,temp__5804__auto__,docs,max_cols){ return (function() { var G__21867__delegate = function (x){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,x); }; var G__21867 = function (var_args){ var x = null; if (arguments.length > 0) { var G__21868__i = 0, G__21868__a = new Array(arguments.length - 0); while (G__21868__i < G__21868__a.length) {G__21868__a[G__21868__i] = arguments[G__21868__i + 0]; ++G__21868__i;} x = new cljs.core.IndexedSeq(G__21868__a,0,null); } return G__21867__delegate.call(this,x);}; G__21867.cljs$lang$maxFixedArity = 0; G__21867.cljs$lang$applyTo = (function (arglist__21869){ var x = cljs.core.seq(arglist__21869); return G__21867__delegate(x); }); G__21867.cljs$core$IFn$_invoke$arity$variadic = G__21867__delegate; return G__21867; })() ;})(i__21624,d,c__5521__auto__,size__5522__auto__,b__21625,s__21623__$2,temp__5804__auto__,docs,max_cols)) ,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_cols,d], 0))); var G__21870 = (i__21624 + (1)); i__21624 = G__21870; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21625),clojure$tools$cli$banner_for_$_iter__21622(cljs.core.chunk_rest(s__21623__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21625),null); } } else { var d = cljs.core.first(s__21623__$2); return cljs.core.cons(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(((function (d,s__21623__$2,temp__5804__auto__,docs,max_cols){ return (function() { var G__21871__delegate = function (x){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,x); }; var G__21871 = function (var_args){ var x = null; if (arguments.length > 0) { var G__21872__i = 0, G__21872__a = new Array(arguments.length - 0); while (G__21872__i < G__21872__a.length) {G__21872__a[G__21872__i] = arguments[G__21872__i + 0]; ++G__21872__i;} x = new cljs.core.IndexedSeq(G__21872__a,0,null); } return G__21871__delegate.call(this,x);}; G__21871.cljs$lang$maxFixedArity = 0; G__21871.cljs$lang$applyTo = (function (arglist__21874){ var x = cljs.core.seq(arglist__21874); return G__21871__delegate(x); }); G__21871.cljs$core$IFn$_invoke$arity$variadic = G__21871__delegate; return G__21871; })() ;})(d,s__21623__$2,temp__5804__auto__,docs,max_cols)) ,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_cols,d], 0)),clojure$tools$cli$banner_for_$_iter__21622(cljs.core.rest(s__21623__$2))); } } else { return null; } break; } }),null,null)); }); return iter__5523__auto__(docs); })(); var seq__21626 = cljs.core.seq(vs); var chunk__21627 = null; var count__21628 = (0); var i__21629 = (0); while(true){ if((i__21629 < count__21628)){ var v = chunk__21627.cljs$core$IIndexed$_nth$arity$2(null,i__21629); var fmt_21875 = clojure.tools.cli.make_format(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),v)); cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$3(clojure.tools.cli.format,fmt_21875,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(v)))], 0)); cljs.core.prn(); var G__21876 = seq__21626; var G__21877 = chunk__21627; var G__21878 = count__21628; var G__21879 = (i__21629 + (1)); seq__21626 = G__21876; chunk__21627 = G__21877; count__21628 = G__21878; i__21629 = G__21879; continue; } else { var temp__5804__auto__ = cljs.core.seq(seq__21626); if(temp__5804__auto__){ var seq__21626__$1 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(seq__21626__$1)){ var c__5568__auto__ = cljs.core.chunk_first(seq__21626__$1); var G__21881 = cljs.core.chunk_rest(seq__21626__$1); var G__21882 = c__5568__auto__; var G__21883 = cljs.core.count(c__5568__auto__); var G__21884 = (0); seq__21626 = G__21881; chunk__21627 = G__21882; count__21628 = G__21883; i__21629 = G__21884; continue; } else { var v = cljs.core.first(seq__21626__$1); var fmt_21885 = clojure.tools.cli.make_format(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),v)); cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$3(clojure.tools.cli.format,fmt_21885,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(v)))], 0)); cljs.core.prn(); var G__21886 = cljs.core.next(seq__21626__$1); var G__21887 = null; var G__21888 = (0); var G__21889 = (0); seq__21626 = G__21886; chunk__21627 = G__21887; count__21628 = G__21888; i__21629 = G__21889; continue; } } else { return null; } } break; } }); clojure.tools.cli.name_for = (function clojure$tools$cli$name_for(k){ return clojure.string.replace(k,/^--no-|^--\[no-\]|^--|^-/,""); }); clojure.tools.cli.flag_for = (function clojure$tools$cli$flag_for(v){ return (!(clojure.string.starts_with_QMARK_(v,"--no-"))); }); clojure.tools.cli.opt_QMARK_ = (function clojure$tools$cli$opt_QMARK_(x){ return clojure.string.starts_with_QMARK_(x,"-"); }); clojure.tools.cli.flag_QMARK_ = (function clojure$tools$cli$flag_QMARK_(x){ return clojure.string.starts_with_QMARK_(x,"--[no-]"); }); clojure.tools.cli.end_of_args_QMARK_ = (function clojure$tools$cli$end_of_args_QMARK_(x){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("--",x); }); clojure.tools.cli.spec_for = (function clojure$tools$cli$spec_for(arg,specs){ return cljs.core.first(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (s){ var switches = cljs.core.set((s.cljs$core$IFn$_invoke$arity$1 ? s.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"switches","switches",2013040888)) : s.call(null,new cljs.core.Keyword(null,"switches","switches",2013040888)))); return cljs.core.contains_QMARK_(switches,arg); }),specs)); }); clojure.tools.cli.default_values_for = (function clojure$tools$cli$default_values_for(specs){ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,s){ if(cljs.core.contains_QMARK_(s,new cljs.core.Keyword(null,"default","default",-1987822328))){ var G__21631 = m; var G__21632 = new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(s); var G__21633 = new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(s); var fexpr__21630 = new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603).cljs$core$IFn$_invoke$arity$1(s); return (fexpr__21630.cljs$core$IFn$_invoke$arity$3 ? fexpr__21630.cljs$core$IFn$_invoke$arity$3(G__21631,G__21632,G__21633) : fexpr__21630.call(null,G__21631,G__21632,G__21633)); } else { return m; } }),cljs.core.PersistentArrayMap.EMPTY,specs); }); clojure.tools.cli.apply_specs = (function clojure$tools$cli$apply_specs(specs,args){ var options = clojure.tools.cli.default_values_for(specs); var extra_args = cljs.core.PersistentVector.EMPTY; var args__$1 = args; while(true){ if(cljs.core.not(cljs.core.seq(args__$1))){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [options,extra_args], null); } else { var opt = cljs.core.first(args__$1); var spec = clojure.tools.cli.spec_for(opt,specs); if(clojure.tools.cli.end_of_args_QMARK_(opt)){ var G__21892 = options; var G__21893 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(extra_args,cljs.core.vec(cljs.core.rest(args__$1))); var G__21894 = null; options = G__21892; extra_args = G__21893; args__$1 = G__21894; continue; } else { if(((clojure.tools.cli.opt_QMARK_(opt)) && ((spec == null)))){ throw (new Error(["'",cljs.core.str.cljs$core$IFn$_invoke$arity$1(opt),"' is not a valid argument"].join(''))); } else { if(cljs.core.truth_((function (){var and__5043__auto__ = clojure.tools.cli.opt_QMARK_(opt); if(and__5043__auto__){ return (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"flag","flag",1088647881)) : spec.call(null,new cljs.core.Keyword(null,"flag","flag",1088647881))); } else { return and__5043__auto__; } })())){ var G__21896 = (function (){var G__21645 = options; var G__21646 = (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name","name",1843675177)) : spec.call(null,new cljs.core.Keyword(null,"name","name",1843675177))); var G__21647 = clojure.tools.cli.flag_for(opt); var fexpr__21644 = (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603)) : spec.call(null,new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603))); return (fexpr__21644.cljs$core$IFn$_invoke$arity$3 ? fexpr__21644.cljs$core$IFn$_invoke$arity$3(G__21645,G__21646,G__21647) : fexpr__21644.call(null,G__21645,G__21646,G__21647)); })(); var G__21897 = extra_args; var G__21898 = cljs.core.rest(args__$1); options = G__21896; extra_args = G__21897; args__$1 = G__21898; continue; } else { if(clojure.tools.cli.opt_QMARK_(opt)){ var G__21902 = (function (){var G__21649 = options; var G__21650 = (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name","name",1843675177)) : spec.call(null,new cljs.core.Keyword(null,"name","name",1843675177))); var G__21651 = (function (){var G__21653 = cljs.core.second(args__$1); var fexpr__21652 = (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"parse-fn","parse-fn",1818406345)) : spec.call(null,new cljs.core.Keyword(null,"parse-fn","parse-fn",1818406345))); return (fexpr__21652.cljs$core$IFn$_invoke$arity$1 ? fexpr__21652.cljs$core$IFn$_invoke$arity$1(G__21653) : fexpr__21652.call(null,G__21653)); })(); var fexpr__21648 = (spec.cljs$core$IFn$_invoke$arity$1 ? spec.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603)) : spec.call(null,new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603))); return (fexpr__21648.cljs$core$IFn$_invoke$arity$3 ? fexpr__21648.cljs$core$IFn$_invoke$arity$3(G__21649,G__21650,G__21651) : fexpr__21648.call(null,G__21649,G__21650,G__21651)); })(); var G__21903 = extra_args; var G__21904 = cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),args__$1); options = G__21902; extra_args = G__21903; args__$1 = G__21904; continue; } else { var G__21906 = options; var G__21907 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(extra_args,cljs.core.first(args__$1)); var G__21908 = cljs.core.rest(args__$1); options = G__21906; extra_args = G__21907; args__$1 = G__21908; continue; } } } } } break; } }); clojure.tools.cli.switches_for = (function clojure$tools$cli$switches_for(switches,flag){ return cljs.core.flatten((function (){var iter__5523__auto__ = (function clojure$tools$cli$switches_for_$_iter__21654(s__21655){ return (new cljs.core.LazySeq(null,(function (){ var s__21655__$1 = s__21655; while(true){ var temp__5804__auto__ = cljs.core.seq(s__21655__$1); if(temp__5804__auto__){ var s__21655__$2 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(s__21655__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21655__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21657 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21656 = (0); while(true){ if((i__21656 < size__5522__auto__)){ var s = cljs.core._nth(c__5521__auto__,i__21656); cljs.core.chunk_append(b__21657,(cljs.core.truth_((function (){var and__5043__auto__ = flag; if(cljs.core.truth_(and__5043__auto__)){ return clojure.tools.cli.flag_QMARK_(s); } else { return and__5043__auto__; } })())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.string.replace(s,/\[no-\]/,"no-"),clojure.string.replace(s,/\[no-\]/,"")], null):(cljs.core.truth_((function (){var and__5043__auto__ = flag; if(cljs.core.truth_(and__5043__auto__)){ return clojure.string.starts_with_QMARK_(s,"--"); } else { return and__5043__auto__; } })())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.string.replace(s,/--/,"--no-"),s], null):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [s], null) ))); var G__21910 = (i__21656 + (1)); i__21656 = G__21910; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21657),clojure$tools$cli$switches_for_$_iter__21654(cljs.core.chunk_rest(s__21655__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21657),null); } } else { var s = cljs.core.first(s__21655__$2); return cljs.core.cons((cljs.core.truth_((function (){var and__5043__auto__ = flag; if(cljs.core.truth_(and__5043__auto__)){ return clojure.tools.cli.flag_QMARK_(s); } else { return and__5043__auto__; } })())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.string.replace(s,/\[no-\]/,"no-"),clojure.string.replace(s,/\[no-\]/,"")], null):(cljs.core.truth_((function (){var and__5043__auto__ = flag; if(cljs.core.truth_(and__5043__auto__)){ return clojure.string.starts_with_QMARK_(s,"--"); } else { return and__5043__auto__; } })())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.string.replace(s,/--/,"--no-"),s], null):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [s], null) )),clojure$tools$cli$switches_for_$_iter__21654(cljs.core.rest(s__21655__$2))); } } else { return null; } break; } }),null,null)); }); return iter__5523__auto__(switches); })()); }); clojure.tools.cli.generate_spec = (function clojure$tools$cli$generate_spec(raw_spec){ var vec__21659 = cljs.core.split_with((function (p1__21658_SHARP_){ return ((typeof p1__21658_SHARP_ === 'string') && (clojure.tools.cli.opt_QMARK_(p1__21658_SHARP_))); }),raw_spec); var switches = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21659,(0),null); var raw_spec__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21659,(1),null); var vec__21662 = cljs.core.split_with(cljs.core.string_QMARK_,raw_spec__$1); var docs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21662,(0),null); var raw_spec__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21662,(1),null); var options = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,raw_spec__$2); var aliases = cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.tools.cli.name_for,switches); var flag = (function (){var or__5045__auto__ = clojure.tools.cli.flag_QMARK_(cljs.core.last(switches)); if(or__5045__auto__){ return or__5045__auto__; } else { return (options.cljs$core$IFn$_invoke$arity$1 ? options.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"flag","flag",1088647881)) : options.call(null,new cljs.core.Keyword(null,"flag","flag",1088647881))); } })(); return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"switches","switches",2013040888),clojure.tools.cli.switches_for(switches,flag),new cljs.core.Keyword(null,"docs","docs",-1974280502),cljs.core.first(docs),new cljs.core.Keyword(null,"aliases","aliases",1346874714),cljs.core.set(aliases),new cljs.core.Keyword(null,"name","name",1843675177),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.last(aliases)),new cljs.core.Keyword(null,"parse-fn","parse-fn",1818406345),cljs.core.identity,new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603),cljs.core.assoc,new cljs.core.Keyword(null,"flag","flag",1088647881),flag], null),(cljs.core.truth_(flag)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"default","default",-1987822328),false], null):null),options], 0)); }); /** * Rewrite arguments sequence into a normalized form that is parsable by cli. */ clojure.tools.cli.normalize_args = (function clojure$tools$cli$normalize_args(specs,args){ var required_opts = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,"switches","switches",2013040888),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(new cljs.core.Keyword(null,"flag","flag",1088647881)),specs)], 0))); var largs = cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.not_EQ_,"--"),args); var rargs = cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(largs),args); var vec__21665 = clojure.tools.cli.tokenize_args(required_opts,largs); var opts = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21665,(0),null); var largs__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21665,(1),null); return cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.rest,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([opts], 0)),largs__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([rargs], 0)); }); /** * THIS IS A LEGACY FUNCTION and may be deprecated in the future. Please use * clojure.tools.cli/parse-opts in new applications. * * Parse the provided args using the given specs. Specs are vectors * describing a command line argument. For example: * * ["-p" "--port" "Port to listen on" :default 3000 :parse-fn #(Integer/parseInt %)] * * First provide the switches (from least to most specific), then a doc * string, and pairs of options. * * Valid options are :default, :parse-fn, and :flag. See * https://github.com/clojure/tools.cli/wiki/Documentation-for-0.2.4 for more * detailed examples. * * Returns a vector containing a map of the parsed arguments, a vector * of extra arguments that did not match known switches, and a * documentation banner to provide usage instructions. */ clojure.tools.cli.cli = (function clojure$tools$cli$cli(var_args){ var args__5775__auto__ = []; var len__5769__auto___21931 = arguments.length; var i__5770__auto___21932 = (0); while(true){ if((i__5770__auto___21932 < len__5769__auto___21931)){ args__5775__auto__.push((arguments[i__5770__auto___21932])); var G__21934 = (i__5770__auto___21932 + (1)); i__5770__auto___21932 = G__21934; continue; } else { } break; } var argseq__5776__auto__ = ((((1) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null); return clojure.tools.cli.cli.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__); }); (clojure.tools.cli.cli.cljs$core$IFn$_invoke$arity$variadic = (function (args,specs){ var vec__21670 = ((typeof cljs.core.first(specs) === 'string')?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(specs),cljs.core.rest(specs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,specs], null)); var desc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21670,(0),null); var specs__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21670,(1),null); var specs__$2 = cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.tools.cli.generate_spec,specs__$1); var args__$1 = clojure.tools.cli.normalize_args(specs__$2,args); var vec__21673 = clojure.tools.cli.apply_specs(specs__$2,args__$1); var options = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21673,(0),null); var extra_args = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21673,(1),null); var banner = (function (){var sb__5690__auto__ = (new goog.string.StringBuffer()); var _STAR_print_newline_STAR__orig_val__21676_21936 = cljs.core._STAR_print_newline_STAR_; var _STAR_print_fn_STAR__orig_val__21677_21937 = cljs.core._STAR_print_fn_STAR_; var _STAR_print_newline_STAR__temp_val__21678_21938 = true; var _STAR_print_fn_STAR__temp_val__21679_21939 = (function (x__5691__auto__){ return sb__5690__auto__.append(x__5691__auto__); }); (cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__21678_21938); (cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__21679_21939); try{clojure.tools.cli.banner_for(desc,specs__$2); }finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__21677_21937); (cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__21676_21936); } return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__); })(); return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [options,extra_args,banner], null); })); (clojure.tools.cli.cli.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (clojure.tools.cli.cli.cljs$lang$applyTo = (function (seq21668){ var G__21669 = cljs.core.first(seq21668); var seq21668__$1 = cljs.core.next(seq21668); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21669,seq21668__$1); })); clojure.tools.cli.spec_keys = new cljs.core.PersistentVector(null, 16, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),new cljs.core.Keyword(null,"long-opt","long-opt",-386094553),new cljs.core.Keyword(null,"required","required",1807647006),new cljs.core.Keyword(null,"desc","desc",2093485764),new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword(null,"default-desc","default-desc",324577013),new cljs.core.Keyword(null,"default-fn","default-fn",-473729550),new cljs.core.Keyword(null,"parse-fn","parse-fn",1818406345),new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603),new cljs.core.Keyword(null,"update-fn","update-fn",711087313),new cljs.core.Keyword(null,"multi","multi",-190293005),new cljs.core.Keyword(null,"post-validation","post-validation",-1787936392),new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),new cljs.core.Keyword(null,"validate-msg","validate-msg",-1415932287),new cljs.core.Keyword(null,"missing","missing",362507769)], null); /** * Select only known spec entries from map and warn the user about unknown * entries at development time. */ clojure.tools.cli.select_spec_keys = (function clojure$tools$cli$select_spec_keys(map){ if(cljs.core.truth_(cljs.core._STAR_assert_STAR_)){ var unknown_keys_21941 = cljs.core.keys(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,clojure.tools.cli.spec_keys)); if(cljs.core.seq(unknown_keys_21941)){ var msg_21942 = ["Warning: The following options to parse-opts are unrecognized: ",clojure.string.join.cljs$core$IFn$_invoke$arity$2(", ",unknown_keys_21941)].join(''); var _STAR_print_fn_STAR__orig_val__21680_21943 = cljs.core._STAR_print_fn_STAR_; var _STAR_print_fn_STAR__temp_val__21681_21944 = cljs.core._STAR_print_err_fn_STAR_; (cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__21681_21944); try{cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg_21942], 0)); }finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__21680_21943); }} else { } } else { } return cljs.core.select_keys(map,clojure.tools.cli.spec_keys); }); clojure.tools.cli.compile_spec = (function clojure$tools$cli$compile_spec(spec){ var sopt_lopt_desc = cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__21682_SHARP_){ return ((typeof p1__21682_SHARP_ === 'string') || ((p1__21682_SHARP_ == null))); }),spec); var spec_map = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(sopt_lopt_desc),spec)); var vec__21683 = sopt_lopt_desc; var short_opt = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21683,(0),null); var long_opt = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21683,(1),null); var desc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21683,(2),null); var long_opt__$1 = (function (){var or__5045__auto__ = long_opt; if(cljs.core.truth_(or__5045__auto__)){ return or__5045__auto__; } else { return new cljs.core.Keyword(null,"long-opt","long-opt",-386094553).cljs$core$IFn$_invoke$arity$1(spec_map); } })(); var vec__21686 = (cljs.core.truth_(long_opt__$1)?cljs.core.rest(cljs.core.re_find(/^(--[^ =]+)(?:[ =](.*))?/,long_opt__$1)):null); var long_opt__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21686,(0),null); var req = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21686,(1),null); var id = (cljs.core.truth_(long_opt__$2)?cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.re_find(/^--(\[no-\])?(.*)/,long_opt__$2),(2))):null); var validate = new cljs.core.Keyword(null,"validate","validate",-201300827).cljs$core$IFn$_invoke$arity$1(spec_map); var vec__21689 = ((cljs.core.seq(validate))?cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,cljs.core.vector,cljs.core.partition.cljs$core$IFn$_invoke$arity$4((2),(2),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null),validate)):null); var validate_fn = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21689,(0),null); var validate_msg = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21689,(1),null); return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"id","id",-1388402092),id,new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),short_opt,new cljs.core.Keyword(null,"long-opt","long-opt",-386094553),long_opt__$2,new cljs.core.Keyword(null,"required","required",1807647006),req,new cljs.core.Keyword(null,"desc","desc",2093485764),desc,new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),validate_fn,new cljs.core.Keyword(null,"validate-msg","validate-msg",-1415932287),validate_msg], null),clojure.tools.cli.select_spec_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(spec_map,new cljs.core.Keyword(null,"validate","validate",-201300827)))], 0)); }); clojure.tools.cli.distinct_QMARK__STAR_ = (function clojure$tools$cli$distinct_QMARK__STAR_(coll){ if(cljs.core.seq(coll)){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,coll); } else { return true; } }); clojure.tools.cli.wrap_val = (function clojure$tools$cli$wrap_val(map,key){ if(cljs.core.contains_QMARK_(map,key)){ return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(map,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [key], null),(function (p1__21693_SHARP_){ if((p1__21693_SHARP_ == null)){ return null; } else { if(cljs.core.coll_QMARK_(p1__21693_SHARP_)){ return p1__21693_SHARP_; } else { return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21693_SHARP_], null); } } })); } else { return map; } }); /** * Map a sequence of option specification vectors to a sequence of: * * {:id Keyword ; :server * :short-opt String ; "-s" * :long-opt String ; "--server" * :required String ; "HOSTNAME" * :desc String ; "Remote server" * :default Object ; #<Inet4Address example.com/93.184.216.119> * :default-desc String ; "example.com" * :default-fn IFn ; (constantly 0) * :parse-fn IFn ; #(InetAddress/getByName %) * :assoc-fn IFn ; assoc * :update-fn IFn ; identity * :validate-fn [IFn] ; [#(instance? Inet4Address %) * ; #(not (.isMulticastAddress %)] * :validate-msg [String] ; ["Must be an IPv4 host" * ; "Must not be a multicast address"] * ; can also be a function (of the invalid argument) * :post-validation Boolean ; default false * :missing String ; "server must be specified" * } * * :id defaults to the keywordized name of long-opt without leading dashes, but * may be overridden in the option spec. * * The option spec entry `:validate [fn msg ...]` desugars into the two vector * entries :validate-fn and :validate-msg. Multiple pairs of validation * functions and error messages may be provided. * * A :default(-fn) entry will not be included in the compiled spec unless * specified. The :default is applied before options are parsed, the :default-fn * is applied after options are parsed (only where an option was not specified, * and is passed the whole options map as its single argument, so defaults can * be computed from other options if needed). * * An option spec may also be passed as a map containing the entries above, * in which case that subset of the map is transferred directly to the result * vector. * * An assertion error is thrown if any :id values are unset, or if there exist * any duplicate :id, :short-opt, or :long-opt values, or if both :assoc-fn and * :update-fn are provided for any single option. */ clojure.tools.cli.compile_option_specs = (function clojure$tools$cli$compile_option_specs(option_specs){ var _PERCENT_ = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (spec){ return clojure.tools.cli.wrap_val(clojure.tools.cli.wrap_val(((cljs.core.map_QMARK_(spec))?clojure.tools.cli.select_spec_keys(spec):clojure.tools.cli.compile_spec(spec)),new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944)),new cljs.core.Keyword(null,"validate-msg","validate-msg",-1415932287)); }),option_specs); if(cljs.core.every_QMARK_(new cljs.core.Keyword(null,"id","id",-1388402092),_PERCENT_)){ } else { throw (new Error("Assert failed: (every? :id %)")); } if(cljs.core.truth_(clojure.tools.cli.distinct_QMARK__STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"default","default",-1987822328),_PERCENT_))))){ } else { throw (new Error("Assert failed: (distinct?* (map :id (filter :default %)))")); } if(cljs.core.truth_(clojure.tools.cli.distinct_QMARK__STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"default-fn","default-fn",-473729550),_PERCENT_))))){ } else { throw (new Error("Assert failed: (distinct?* (map :id (filter :default-fn %)))")); } if(cljs.core.truth_(clojure.tools.cli.distinct_QMARK__STAR_(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"short-opt","short-opt",-384995699),_PERCENT_))))){ } else { throw (new Error("Assert failed: (distinct?* (remove nil? (map :short-opt %)))")); } if(cljs.core.truth_(clojure.tools.cli.distinct_QMARK__STAR_(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"long-opt","long-opt",-386094553),_PERCENT_))))){ } else { throw (new Error("Assert failed: (distinct?* (remove nil? (map :long-opt %)))")); } if(cljs.core.every_QMARK_(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.not,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.every_QMARK_,cljs.core.identity)),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603),new cljs.core.Keyword(null,"update-fn","update-fn",711087313)),_PERCENT_))){ } else { throw (new Error("Assert failed: (every? (comp not (partial every? identity)) (map (juxt :assoc-fn :update-fn) %))")); } return _PERCENT_; }); clojure.tools.cli.default_option_map = (function clojure$tools$cli$default_option_map(specs,default_key){ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,s){ if(cljs.core.contains_QMARK_(s,default_key)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),(default_key.cljs$core$IFn$_invoke$arity$1 ? default_key.cljs$core$IFn$_invoke$arity$1(s) : default_key.call(null,s))); } else { return m; } }),cljs.core.PersistentArrayMap.EMPTY,specs); }); /** * Given specs, returns a map of spec id to error message if missing. */ clojure.tools.cli.missing_errors = (function clojure$tools$cli$missing_errors(specs){ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,s){ if(cljs.core.truth_(new cljs.core.Keyword(null,"missing","missing",362507769).cljs$core$IFn$_invoke$arity$1(s))){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),new cljs.core.Keyword(null,"missing","missing",362507769).cljs$core$IFn$_invoke$arity$1(s)); } else { return m; } }),cljs.core.PersistentArrayMap.EMPTY,specs); }); clojure.tools.cli.find_spec = (function clojure$tools$cli$find_spec(specs,opt_type,opt){ return cljs.core.first(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (spec){ var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,opt_type); if(cljs.core.truth_(temp__5804__auto__)){ var spec_opt = temp__5804__auto__; var flag_tail = cljs.core.second(cljs.core.re_find(/^--\[no-\](.*)/,spec_opt)); var candidates = (cljs.core.truth_(flag_tail)?cljs.core.PersistentHashSet.createAsIfByAssoc([["--",cljs.core.str.cljs$core$IFn$_invoke$arity$1(flag_tail)].join(''),["--no-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(flag_tail)].join('')]):cljs.core.PersistentHashSet.createAsIfByAssoc([spec_opt])); return cljs.core.contains_QMARK_(candidates,opt); } else { return null; } }),specs)); }); clojure.tools.cli.pr_join = (function clojure$tools$cli$pr_join(var_args){ var args__5775__auto__ = []; var len__5769__auto___21952 = arguments.length; var i__5770__auto___21953 = (0); while(true){ if((i__5770__auto___21953 < len__5769__auto___21952)){ args__5775__auto__.push((arguments[i__5770__auto___21953])); var G__21954 = (i__5770__auto___21953 + (1)); i__5770__auto___21953 = G__21954; continue; } else { } break; } var argseq__5776__auto__ = ((((0) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null); return clojure.tools.cli.pr_join.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__); }); (clojure.tools.cli.pr_join.cljs$core$IFn$_invoke$arity$variadic = (function (xs){ return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$v