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___21833 = arguments.length; var i__5770__auto___21834 = (0); while(true){ if((i__5770__auto___21834 < len__5769__auto___21833)){ args__5775__auto__.push((arguments[i__5770__auto___21834])); var G__21835 = (i__5770__auto___21834 + (1)); i__5770__auto___21834 = G__21835; 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__21490 = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options); var map__21490__$1 = cljs.core.__destructure_map(map__21490); var in_order = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21490__$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__21497 = args; var vec__21498 = G__21497; var seq__21499 = cljs.core.seq(vec__21498); var first__21500 = cljs.core.first(seq__21499); var seq__21499__$1 = cljs.core.next(seq__21499); var car = first__21500; var cdr = seq__21499__$1; var opts__$1 = opts; var argv__$1 = argv; var G__21497__$1 = G__21497; while(true){ var opts__$2 = opts__$1; var argv__$2 = argv__$1; var vec__21557 = G__21497__$1; var seq__21558 = cljs.core.seq(vec__21557); var first__21559 = cljs.core.first(seq__21558); var seq__21558__$1 = cljs.core.next(seq__21558); var car__$1 = first__21559; var cdr__$1 = seq__21558__$1; if(cljs.core.truth_(car__$1)){ var pred__21560 = cljs.core.re_seq; var expr__21561 = car__$1; if(cljs.core.truth_((function (){var G__21563 = /^--$/; var G__21564 = expr__21561; return (pred__21560.cljs$core$IFn$_invoke$arity$2 ? pred__21560.cljs$core$IFn$_invoke$arity$2(G__21563,G__21564) : pred__21560.call(null,G__21563,G__21564)); })())){ var G__21838 = opts__$2; var G__21839 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(argv__$2,cdr__$1); var G__21840 = cljs.core.PersistentVector.EMPTY; opts__$1 = G__21838; argv__$1 = G__21839; G__21497__$1 = G__21840; continue; } else { if(cljs.core.truth_((function (){var G__21565 = /^--\S+=/; var G__21566 = expr__21561; return (pred__21560.cljs$core$IFn$_invoke$arity$2 ? pred__21560.cljs$core$IFn$_invoke$arity$2(G__21565,G__21566) : pred__21560.call(null,G__21565,G__21566)); })())){ var G__21841 = 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__21842 = argv__$2; var G__21843 = cdr__$1; opts__$1 = G__21841; argv__$1 = G__21842; G__21497__$1 = G__21843; continue; } else { if(cljs.core.truth_((function (){var G__21568 = /^--/; var G__21569 = expr__21561; return (pred__21560.cljs$core$IFn$_invoke$arity$2 ? pred__21560.cljs$core$IFn$_invoke$arity$2(G__21568,G__21569) : pred__21560.call(null,G__21568,G__21569)); })())){ var vec__21571 = ((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__21571,(0),null); var cdr__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21571,(1),null); var G__21845 = 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__21846 = argv__$2; var G__21847 = cdr__$2; opts__$1 = G__21845; argv__$1 = G__21846; G__21497__$1 = G__21847; continue; } else { if(cljs.core.truth_((function (){var G__21574 = /^-./; var G__21575 = expr__21561; return (pred__21560.cljs$core$IFn$_invoke$arity$2 ? pred__21560.cljs$core$IFn$_invoke$arity$2(G__21574,G__21575) : pred__21560.call(null,G__21574,G__21575)); })())){ var vec__21576 = (function (){var os = cljs.core.PersistentVector.EMPTY; var G__21582 = cljs.core.rest(car__$1); var vec__21583 = G__21582; var seq__21584 = cljs.core.seq(vec__21583); var first__21585 = cljs.core.first(seq__21584); var seq__21584__$1 = cljs.core.next(seq__21584); var c = first__21585; var cs = seq__21584__$1; var os__$1 = os; var G__21582__$1 = G__21582; while(true){ var os__$2 = os__$1; var vec__21589 = G__21582__$1; var seq__21590 = cljs.core.seq(vec__21589); var first__21591 = cljs.core.first(seq__21590); var seq__21590__$1 = cljs.core.next(seq__21590); var c__$1 = first__21591; var cs__$1 = seq__21590__$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__21849 = 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__21850 = cs__$1; os__$1 = G__21849; G__21582__$1 = G__21850; 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__21576,(0),null); var cdr__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21576,(1),null); var G__21851 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(opts__$2,os); var G__21852 = argv__$2; var G__21853 = cdr__$2; opts__$1 = G__21851; argv__$1 = G__21852; G__21497__$1 = G__21853; continue; } else { if(cljs.core.truth_(in_order)){ var G__21854 = opts__$2; var G__21855 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(argv__$2,cljs.core.cons(car__$1,cdr__$1)); var G__21856 = cljs.core.PersistentVector.EMPTY; opts__$1 = G__21854; argv__$1 = G__21855; G__21497__$1 = G__21856; continue; } else { var G__21858 = opts__$2; var G__21859 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(argv__$2,car__$1); var G__21860 = cdr__$1; opts__$1 = G__21858; argv__$1 = G__21859; G__21497__$1 = G__21860; 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 (seq21482){ var G__21483 = cljs.core.first(seq21482); var seq21482__$1 = cljs.core.next(seq21482); var G__21484 = cljs.core.first(seq21482__$1); var seq21482__$2 = cljs.core.next(seq21482__$1); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21483,G__21484,seq21482__$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__21592_SHARP_){ return [" %",(((p1__21592_SHARP_ === (0)))?null:["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__21592_SHARP_)].join('')),"s"].join(''); }),lens)); }); clojure.tools.cli.build_doc = (function clojure$tools$cli$build_doc(p__21593){ var map__21594 = p__21593; var map__21594__$1 = cljs.core.__destructure_map(map__21594); var switches = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21594__$1,new cljs.core.Keyword(null,"switches","switches",2013040888)); var docs = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21594__$1,new cljs.core.Keyword(null,"docs","docs",-1974280502)); var default$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21594__$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___21863 = arguments.length; var i__5770__auto___21864 = (0); while(true){ if((i__5770__auto___21864 < len__5769__auto___21863)){ args__5775__auto__.push((arguments[i__5770__auto___21864])); var G__21865 = (i__5770__auto___21864 + (1)); i__5770__auto___21864 = G__21865; 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 (seq21595){ var G__21596 = cljs.core.first(seq21595); var seq21595__$1 = cljs.core.next(seq21595); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21596,seq21595__$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__21599_SHARP_){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,p1__21599_SHARP_); }),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,(function() { var G__21873__delegate = function (c){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,c); }; var G__21873 = function (var_args){ var c = null; if (arguments.length > 0) { var G__21874__i = 0, G__21874__a = new Array(arguments.length - 0); while (G__21874__i < G__21874__a.length) {G__21874__a[G__21874__i] = arguments[G__21874__i + 0]; ++G__21874__i;} c = new cljs.core.IndexedSeq(G__21874__a,0,null); } return G__21873__delegate.call(this,c);}; G__21873.cljs$lang$maxFixedArity = 0; G__21873.cljs$lang$applyTo = (function (arglist__21875){ var c = cljs.core.seq(arglist__21875); return G__21873__delegate(c); }); G__21873.cljs$core$IFn$_invoke$arity$variadic = G__21873__delegate; return G__21873; })() ,(function (){var iter__5523__auto__ = (function clojure$tools$cli$banner_for_$_iter__21601(s__21602){ return (new cljs.core.LazySeq(null,(function (){ var s__21602__$1 = s__21602; while(true){ var temp__5825__auto__ = cljs.core.seq(s__21602__$1); if(temp__5825__auto__){ var s__21602__$2 = temp__5825__auto__; if(cljs.core.chunked_seq_QMARK_(s__21602__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21602__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21606 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21605 = (0); while(true){ if((i__21605 < size__5522__auto__)){ var d = cljs.core._nth(c__5521__auto__,i__21605); cljs.core.chunk_append(b__21606,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,d)); var G__21877 = (i__21605 + (1)); i__21605 = G__21877; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21606),clojure$tools$cli$banner_for_$_iter__21601(cljs.core.chunk_rest(s__21602__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21606),null); } } else { var d = cljs.core.first(s__21602__$2); return cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,d),clojure$tools$cli$banner_for_$_iter__21601(cljs.core.rest(s__21602__$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__21609(s__21610){ return (new cljs.core.LazySeq(null,(function (){ var s__21610__$1 = s__21610; while(true){ var temp__5825__auto__ = cljs.core.seq(s__21610__$1); if(temp__5825__auto__){ var s__21610__$2 = temp__5825__auto__; if(cljs.core.chunked_seq_QMARK_(s__21610__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21610__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21612 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21611 = (0); while(true){ if((i__21611 < size__5522__auto__)){ var d = cljs.core._nth(c__5521__auto__,i__21611); cljs.core.chunk_append(b__21612,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(((function (i__21611,d,c__5521__auto__,size__5522__auto__,b__21612,s__21610__$2,temp__5825__auto__,docs,max_cols){ return (function() { var G__21881__delegate = function (x){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,x); }; var G__21881 = function (var_args){ var x = null; if (arguments.length > 0) { var G__21882__i = 0, G__21882__a = new Array(arguments.length - 0); while (G__21882__i < G__21882__a.length) {G__21882__a[G__21882__i] = arguments[G__21882__i + 0]; ++G__21882__i;} x = new cljs.core.IndexedSeq(G__21882__a,0,null); } return G__21881__delegate.call(this,x);}; G__21881.cljs$lang$maxFixedArity = 0; G__21881.cljs$lang$applyTo = (function (arglist__21883){ var x = cljs.core.seq(arglist__21883); return G__21881__delegate(x); }); G__21881.cljs$core$IFn$_invoke$arity$variadic = G__21881__delegate; return G__21881; })() ;})(i__21611,d,c__5521__auto__,size__5522__auto__,b__21612,s__21610__$2,temp__5825__auto__,docs,max_cols)) ,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_cols,d], 0))); var G__21884 = (i__21611 + (1)); i__21611 = G__21884; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21612),clojure$tools$cli$banner_for_$_iter__21609(cljs.core.chunk_rest(s__21610__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21612),null); } } else { var d = cljs.core.first(s__21610__$2); return cljs.core.cons(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(((function (d,s__21610__$2,temp__5825__auto__,docs,max_cols){ return (function() { var G__21885__delegate = function (x){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,x); }; var G__21885 = function (var_args){ var x = null; if (arguments.length > 0) { var G__21886__i = 0, G__21886__a = new Array(arguments.length - 0); while (G__21886__i < G__21886__a.length) {G__21886__a[G__21886__i] = arguments[G__21886__i + 0]; ++G__21886__i;} x = new cljs.core.IndexedSeq(G__21886__a,0,null); } return G__21885__delegate.call(this,x);}; G__21885.cljs$lang$maxFixedArity = 0; G__21885.cljs$lang$applyTo = (function (arglist__21887){ var x = cljs.core.seq(arglist__21887); return G__21885__delegate(x); }); G__21885.cljs$core$IFn$_invoke$arity$variadic = G__21885__delegate; return G__21885; })() ;})(d,s__21610__$2,temp__5825__auto__,docs,max_cols)) ,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_cols,d], 0)),clojure$tools$cli$banner_for_$_iter__21609(cljs.core.rest(s__21610__$2))); } } else { return null; } break; } }),null,null)); }); return iter__5523__auto__(docs); })(); var seq__21613 = cljs.core.seq(vs); var chunk__21614 = null; var count__21615 = (0); var i__21616 = (0); while(true){ if((i__21616 < count__21615)){ var v = chunk__21614.cljs$core$IIndexed$_nth$arity$2(null,i__21616); var fmt_21889 = 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_21889,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(v)))], 0)); cljs.core.prn(); var G__21890 = seq__21613; var G__21891 = chunk__21614; var G__21892 = count__21615; var G__21893 = (i__21616 + (1)); seq__21613 = G__21890; chunk__21614 = G__21891; count__21615 = G__21892; i__21616 = G__21893; continue; } else { var temp__5825__auto__ = cljs.core.seq(seq__21613); if(temp__5825__auto__){ var seq__21613__$1 = temp__5825__auto__; if(cljs.core.chunked_seq_QMARK_(seq__21613__$1)){ var c__5568__auto__ = cljs.core.chunk_first(seq__21613__$1); var G__21894 = cljs.core.chunk_rest(seq__21613__$1); var G__21895 = c__5568__auto__; var G__21896 = cljs.core.count(c__5568__auto__); var G__21897 = (0); seq__21613 = G__21894; chunk__21614 = G__21895; count__21615 = G__21896; i__21616 = G__21897; continue; } else { var v = cljs.core.first(seq__21613__$1); var fmt_21900 = 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_21900,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(v)))], 0)); cljs.core.prn(); var G__21901 = cljs.core.next(seq__21613__$1); var G__21902 = null; var G__21903 = (0); var G__21904 = (0); seq__21613 = G__21901; chunk__21614 = G__21902; count__21615 = G__21903; i__21616 = G__21904; 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__21618 = m; var G__21619 = new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(s); var G__21620 = new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(s); var fexpr__21617 = new cljs.core.Keyword(null,"assoc-fn","assoc-fn",418597603).cljs$core$IFn$_invoke$arity$1(s); return (fexpr__21617.cljs$core$IFn$_invoke$arity$3 ? fexpr__21617.cljs$core$IFn$_invoke$arity$3(G__21618,G__21619,G__21620) : fexpr__21617.call(null,G__21618,G__21619,G__21620)); } 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__21907 = options; var G__21908 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(extra_args,cljs.core.vec(cljs.core.rest(args__$1))); var G__21909 = null; options = G__21907; extra_args = G__21908; args__$1 = G__21909; 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__21912 = (function (){var G__21632 = options; var G__21633 = (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__21634 = clojure.tools.cli.flag_for(opt); var fexpr__21631 = (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__21631.cljs$core$IFn$_invoke$arity$3 ? fexpr__21631.cljs$core$IFn$_invoke$arity$3(G__21632,G__21633,G__21634) : fexpr__21631.call(null,G__21632,G__21633,G__21634)); })(); var G__21913 = extra_args; var G__21914 = cljs.core.rest(args__$1); options = G__21912; extra_args = G__21913; args__$1 = G__21914; continue; } else { if(clojure.tools.cli.opt_QMARK_(opt)){ var G__21915 = (function (){var G__21636 = options; var G__21637 = (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__21638 = (function (){var G__21640 = cljs.core.second(args__$1); var fexpr__21639 = (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__21639.cljs$core$IFn$_invoke$arity$1 ? fexpr__21639.cljs$core$IFn$_invoke$arity$1(G__21640) : fexpr__21639.call(null,G__21640)); })(); var fexpr__21635 = (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__21635.cljs$core$IFn$_invoke$arity$3 ? fexpr__21635.cljs$core$IFn$_invoke$arity$3(G__21636,G__21637,G__21638) : fexpr__21635.call(null,G__21636,G__21637,G__21638)); })(); var G__21916 = extra_args; var G__21917 = cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),args__$1); options = G__21915; extra_args = G__21916; args__$1 = G__21917; continue; } else { var G__21919 = options; var G__21920 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(extra_args,cljs.core.first(args__$1)); var G__21921 = cljs.core.rest(args__$1); options = G__21919; extra_args = G__21920; args__$1 = G__21921; 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__21642(s__21643){ return (new cljs.core.LazySeq(null,(function (){ var s__21643__$1 = s__21643; while(true){ var temp__5825__auto__ = cljs.core.seq(s__21643__$1); if(temp__5825__auto__){ var s__21643__$2 = temp__5825__auto__; if(cljs.core.chunked_seq_QMARK_(s__21643__$2)){ var c__5521__auto__ = cljs.core.chunk_first(s__21643__$2); var size__5522__auto__ = cljs.core.count(c__5521__auto__); var b__21645 = cljs.core.chunk_buffer(size__5522__auto__); if((function (){var i__21644 = (0); while(true){ if((i__21644 < size__5522__auto__)){ var s = cljs.core._nth(c__5521__auto__,i__21644); cljs.core.chunk_append(b__21645,(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__21924 = (i__21644 + (1)); i__21644 = G__21924; continue; } else { return true; } break; } })()){ return cljs.core.chunk_cons(cljs.core.chunk(b__21645),clojure$tools$cli$switches_for_$_iter__21642(cljs.core.chunk_rest(s__21643__$2))); } else { return cljs.core.chunk_cons(cljs.core.chunk(b__21645),null); } } else { var s = cljs.core.first(s__21643__$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__21642(cljs.core.rest(s__21643__$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__21647 = cljs.core.split_with((function (p1__21646_SHARP_){ return ((typeof p1__21646_SHARP_ === 'string') && (clojure.tools.cli.opt_QMARK_(p1__21646_SHARP_))); }),raw_spec); var switches = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21647,(0),null); var raw_spec__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21647,(1),null); var vec__21650 = cljs.core.split_with(cljs.core.string_QMARK_,raw_spec__$1); var docs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21650,(0),null); var raw_spec__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21650,(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__21653 = clojure.tools.cli.tokenize_args(required_opts,largs); var opts = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21653,(0),null); var largs__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21653,(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___21944 = arguments.length; var i__5770__auto___21947 = (0); while(true){ if((i__5770__auto___21947 < len__5769__auto___21944)){ args__5775__auto__.push((arguments[i__5770__auto___21947])); var G__21949 = (i__5770__auto___21947 + (1)); i__5770__auto___21947 = G__21949; 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__21658 = ((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__21658,(0),null); var specs__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21658,(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__21661 = clojure.tools.cli.apply_specs(specs__$2,args__$1); var options = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21661,(0),null); var extra_args = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21661,(1),null); var banner = (function (){var sb__5690__auto__ = (new goog.string.StringBuffer()); var _STAR_print_newline_STAR__orig_val__21664_21950 = cljs.core._STAR_print_newline_STAR_; var _STAR_print_fn_STAR__orig_val__21665_21951 = cljs.core._STAR_print_fn_STAR_; var _STAR_print_newline_STAR__temp_val__21666_21952 = true; var _STAR_print_fn_STAR__temp_val__21667_21953 = (function (x__5691__auto__){ return sb__5690__auto__.append(x__5691__auto__); }); (cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__21666_21952); (cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__21667_21953); try{clojure.tools.cli.banner_for(desc,specs__$2); }finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__21665_21951); (cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__21664_21950); } 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 (seq21656){ var G__21657 = cljs.core.first(seq21656); var seq21656__$1 = cljs.core.next(seq21656); var self__5754__auto__ = this; return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21657,seq21656__$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_21955 = 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_21955)){ var msg_21956 = ["Warning: The following options to parse-opts are unrecognized: ",clojure.string.join.cljs$core$IFn$_invoke$arity$2(", ",unknown_keys_21955)].join(''); var _STAR_print_fn_STAR__orig_val__21668_21957 = cljs.core._STAR_print_fn_STAR_; var _STAR_print_fn_STAR__temp_val__21669_21958 = cljs.core._STAR_print_err_fn_STAR_; (cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__21669_21958); try{cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg_21956], 0)); }finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__21668_21957); }} 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__21670_SHARP_){ return ((typeof p1__21670_SHARP_ === 'string') || ((p1__21670_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__21671 = sopt_lopt_desc; var short_opt = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21671,(0),null); var long_opt = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21671,(1),null); var desc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21671,(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__21674 = (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__21674,(0),null); var req = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21674,(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__21677 = ((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__21677,(0),null); var validate_msg = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21677,(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__21680_SHARP_){ if((p1__21680_SHARP_ == null)){ return null; } else { if(cljs.core.coll_QMARK_(p1__21680_SHARP_)){ return p1__21680_SHARP_; } else { return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21680_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__5825__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,opt_type); if(cljs.core.truth_(temp__5825__auto__)){ var spec_opt = temp__5825__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___21962 = arguments.length; var i__5770__auto___21963 = (0); while(true){ if((i__5770__auto___21963 < len__5769__auto___21962)){ args__5775__auto__.push((arguments[i__5770__auto___21963])); var G__21964 = (i__5770__auto___21963 + (1)); i__5770__auto___21963 = G__21964; 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