cli-kiss 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -4
- package/dist/index.d.ts +135 -128
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/docs/.vitepress/config.mts +1 -1
- package/docs/.vitepress/theme/Layout.vue +16 -0
- package/docs/.vitepress/theme/index.ts +5 -1
- package/docs/.vitepress/theme/style.css +5 -1
- package/docs/guide/02_commands.md +1 -1
- package/docs/guide/03_options.md +11 -11
- package/docs/guide/05_input_types.md +9 -10
- package/docs/guide/06_run_as_cli.md +1 -1
- package/docs/index.md +2 -2
- package/docs/public/favicon.ico +0 -0
- package/docs/public/logo.png +0 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/lib/Command.ts +50 -30
- package/src/lib/Operation.ts +29 -21
- package/src/lib/Option.ts +198 -133
- package/src/lib/Positional.ts +46 -24
- package/src/lib/Reader.ts +194 -207
- package/src/lib/Run.ts +19 -8
- package/src/lib/Suggest.ts +78 -0
- package/src/lib/Type.ts +46 -48
- package/src/lib/Typo.ts +72 -47
- package/src/lib/Usage.ts +13 -13
- package/tests/unit.Reader.commons.ts +92 -116
- package/tests/unit.Reader.parsings.ts +14 -26
- package/tests/unit.Reader.shortBig.ts +81 -96
- package/tests/unit.command.aliases.ts +100 -0
- package/tests/unit.command.execute.ts +1 -1
- package/tests/unit.command.usage.ts +12 -6
- package/tests/unit.fuzzed.alternatives.ts +43 -0
- package/tests/unit.runner.colors.ts +11 -35
- package/tests/unit.runner.cycle.ts +181 -128
- package/tests/unit.runner.errors.ts +26 -19
- package/docs/public/hero.png +0 -0
- package/tests/unit.Reader.aliases.ts +0 -62
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var ne=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var $e=Object.prototype.hasOwnProperty;var fe=n=>{throw TypeError(n)};var Pe=(n,e)=>{for(var t in e)ne(n,t,{get:e[t],enumerable:!0})},Me=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ie(e))!$e.call(n,o)&&o!==t&&ne(n,o,{get:()=>e[o],enumerable:!(r=De(e,o))||r.enumerable});return n};var Ee=n=>Me(ne({},"__esModule",{value:!0}),n);var oe=(n,e,t)=>e.has(n)||fe("Cannot "+t);var c=(n,e,t)=>(oe(n,e,"read from private field"),t?t.call(n):e.get(n)),b=(n,e,t)=>e.has(n)?fe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),w=(n,e,t,r)=>(oe(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),x=(n,e,t)=>(oe(n,e,"access private method"),t);var we=(n,e,t,r)=>({set _(o){w(n,e,o,t)},get _(){return c(n,e,r)}});var gt={};Pe(gt,{ReaderArgs:()=>H,TypoError:()=>m,TypoGrid:()=>E,TypoString:()=>i,TypoSupport:()=>O,TypoText:()=>d,command:()=>et,commandChained:()=>nt,commandWithSubcommands:()=>tt,operation:()=>ot,optionFlag:()=>_,optionRepeatable:()=>rt,optionSingleValue:()=>le,positionalOptional:()=>it,positionalRequired:()=>st,positionalVariadics:()=>at,runAndExit:()=>ct,type:()=>Ge,typeBoolean:()=>re,typeBooleanValuesFalse:()=>z,typeBooleanValuesTrue:()=>be,typeChoice:()=>se,typeConverted:()=>Ne,typeDatetime:()=>ve,typeInteger:()=>Le,typeList:()=>Ye,typeNumber:()=>We,typePath:()=>Ke,typeRenamed:()=>Fe,typeTuple:()=>je,typeUrl:()=>Be,typoStyleConstants:()=>T,typoStyleFailure:()=>Ce,typoStyleLogic:()=>V,typoStyleQuote:()=>f,typoStyleRegularStrong:()=>ae,typoStyleRegularWeaker:()=>ue,typoStyleTitle:()=>ie,typoStyleUserInput:()=>k,usageToStyledLines:()=>ye});module.exports=Ee(gt);var xe=require("fs");function re(n){return{content:n??"boolean",decoder(e){let t=e.toLowerCase();if(be.has(t))return!0;if(z.has(t))return!1;q("a boolean",e)}}}var be=new Set(["true","yes","on","y"]),z=new Set(["false","no","off","n"]);function ve(n){return{content:n??"datetime",decoder(e){try{let t=Date.parse(e);if(isNaN(t))throw new Error;return new Date(t)}catch{q("a valid ISO_8601 datetime",e)}}}}function We(n){return{content:n??"number",decoder(e){try{let t=Number(e);if(isNaN(t))throw new Error;return t}catch{q("a number",e)}}}}function Le(n){return{content:n??"integer",decoder(e){try{return BigInt(e)}catch{q("an integer",e)}}}}function Be(n){return{content:n??"url",decoder(e){try{return new URL(e)}catch{q("an URL",e)}}}}function Ge(n){return{content:n??"string",decoder:e=>e}}function Ne(n,e,t){return{content:n,decoder:r=>t(m.tryWithContext(()=>e.decoder(r),()=>new d(new i("from: "),new i(e.content,V))))}}function Fe(n,e){return{content:e,decoder:t=>m.tryWithContext(()=>n.decoder(t),()=>new d(new i("from: "),new i(n.content,V)))}}function Ke(n,e){return{content:n??"path",decoder(t){if(t.length===0)throw new Error("Path cannot be empty");if(t.includes("\0"))throw new Error("Path cannot contain null characters");if(e?.checkSyncExistAs!==void 0){let o=function(a){try{return(0,xe.statSync)(a)}catch(p){throw new m(new d(new i("Path does not exist: "),new i(`"${a}"`,f)),p)}};var r=o;let s=o(t),u=s.isDirectory()?"directory":s.isFile()?"file":"unknown";if(e.checkSyncExistAs==="file"&&!s.isFile())throw new m(new d(new i(`Expected a file but found: ${u}: `),new i(`"${t}"`,f)));if(e.checkSyncExistAs==="directory"&&!s.isDirectory())throw new m(new d(new i(`Expected a directory but found: ${u}: `),new i(`"${t}"`,f)))}return t}}}function se(n,e,t=!1){let r=t?s=>s:s=>s.toLowerCase(),o=new Map(e.map(s=>[r(s),s]));return{content:n,decoder(s){let u=r(s),a=o.get(u);if(a!==void 0)return a;let p=[];for(let l of e){if(p.length>=5){p.push(new i("..."));break}p.length>0&&p.push(new i(" | ")),p.push(new i(`"${l}"`,f))}throw new m(new d(new i("Invalid value: "),new i(`"${s}"`,f),new i(" (expected one of: "),...p,new i(")")))}}}function je(n,e=","){return{content:n.map(t=>t.content).join(e),decoder(t){let r=t.split(e,n.length);if(r.length!==n.length)throw new m(new d(new i(`Found ${r.length} splits: `),new i(`Expected ${n.length} splits from: `),new i(`"${t}"`,f)));return r.map((o,s)=>{let u=n[s];return m.tryWithContext(()=>u.decoder(o),()=>new d(new i(`at ${s}: `),new i(u.content,V)))})}}}function Ye(n,e=","){return{content:`${n.content}[${e}${n.content}]...`,decoder(t){return t.split(e).map((o,s)=>m.tryWithContext(()=>n.decoder(o),()=>new d(new i(`at ${s}: `),new i(n.content,V))))}}}function q(n,e){throw new m(new d(new i(`Not ${n}: `),new i(`"${e}"`,f)))}var ie={fgColor:"darkGreen",bold:!0},V={fgColor:"darkMagenta",bold:!0},f={fgColor:"darkYellow",bold:!0},Ce={fgColor:"darkRed",bold:!0},T={fgColor:"darkCyan",bold:!0},k={fgColor:"darkBlue",bold:!0},ae={bold:!0},ue={italic:!0,dim:!0},L,Q,i=class{constructor(e,t={}){b(this,L);b(this,Q);w(this,L,e),w(this,Q,t)}computeStyledString(e){return e.computeStyledString(c(this,L),c(this,Q))}getRawString(){return c(this,L)}};L=new WeakMap,Q=new WeakMap;var R,pe=class pe{constructor(...e){b(this,R);w(this,R,[]);for(let t of e)this.push(t)}push(e){if(typeof e=="string")c(this,R).push(new i(e));else if(e instanceof pe)c(this,R).push(...c(e,R));else if(Array.isArray(e))for(let t of e)c(this,R).push(t);else c(this,R).push(e)}computeStyledString(e){return c(this,R).map(t=>t.computeStyledString(e)).join("")}computeRawString(){return c(this,R).map(e=>e.getRawString()).join("")}computeRawLength(){let e=0;for(let t of c(this,R))e+=t.getRawString().length;return e}};R=new WeakMap;var d=pe,M,E=class{constructor(){b(this,M);w(this,M,[])}pushRow(e){c(this,M).push(e)}computeStyledLines(e){let t=new Array,r=new Array;for(let o of c(this,M))for(let s=0;s<o.length;s++){let a=o[s].computeRawLength();(t[s]===void 0||a>t[s])&&(t[s]=a)}for(let o of c(this,M)){let s=new Array;for(let u=0;u<o.length;u++){let a=o[u];if(s.push(a.computeStyledString(e)),u<o.length-1){let p=a.computeRawLength(),l=" ".repeat(t[u]-p);s.push(l)}}r.push(s.join(""))}return r}};M=new WeakMap;var B,X=class X extends Error{constructor(t,r){let o=new d;o.push(t),r instanceof X?(o.push(new i(": ")),o.push(c(r,B))):r instanceof Error?o.push(new i(`: ${r.message}`)):r!==void 0&&o.push(new i(`: ${String(r)}`));super(o.computeRawString());b(this,B);w(this,B,o)}computeStyledString(t){return c(this,B).computeStyledString(t)}static tryWithContext(t,r){try{return t()}catch(o){throw new X(r(),o)}}};B=new WeakMap;var m=X,$,A=class A{constructor(e){b(this,$);w(this,$,e)}static none(){return new A("none")}static tty(){return new A("tty")}static mock(){return new A("mock")}static inferFromEnv(){if(!process||!process.env||!process.stdout||J("NO_COLOR"))return A.none();let e=J("FORCE_COLOR");return e==="0"?A.none():e!==void 0&&!z.has(e.toLowerCase())?A.tty():J("MOCK_COLOR")?A.mock():!process.stdout.isTTY||J("TERM")?.toLowerCase()==="dumb"?A.none():A.tty()}computeStyledString(e,t){let r=e;if(t.case==="upper"&&(r=r.toUpperCase()),t.case==="lower"&&(r=r.toLowerCase()),c(this,$)==="none")return r;if(c(this,$)==="tty"){let o=t.fgColor?Ze[t.fgColor]:"",s=t.bgColor?_e[t.bgColor]:"",u=t.bold?Qe:"",a=t.dim?He:"",p=t.italic?ze:"",l=t.underline?Je:"",g=t.strikethrough?Xe:"";return`${o}${s}${u}${a}${p}${l}${g}${r}${qe}`}if(c(this,$)==="mock"){let o=t.fgColor?`{${r}}@${t.fgColor}`:r,s=t.bgColor?`{${o}}#${t.bgColor}`:o,u=t.bold?`{${s}}+`:s,a=t.dim?`{${u}}-`:u,p=t.italic?`{${a}}*`:a,l=t.underline?`{${p}}_`:p;return t.strikethrough?`{${l}}~`:l}throw new Error(`Unknown TypoSupport kind: ${c(this,$)}`)}computeStyledErrorMessage(e){return[this.computeStyledString("Error:",Ce),e instanceof m?e.computeStyledString(this):e instanceof Error?e.message:String(e)].join(" ")}};$=new WeakMap;var O=A,qe="\x1B[0m",Qe="\x1B[1m",He="\x1B[2m",ze="\x1B[3m",Je="\x1B[4m",Xe="\x1B[9m",Ze={darkBlack:"\x1B[30m",darkRed:"\x1B[31m",darkGreen:"\x1B[32m",darkYellow:"\x1B[33m",darkBlue:"\x1B[34m",darkMagenta:"\x1B[35m",darkCyan:"\x1B[36m",darkWhite:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m"},_e={darkBlack:"\x1B[40m",darkRed:"\x1B[41m",darkGreen:"\x1B[42m",darkYellow:"\x1B[43m",darkBlue:"\x1B[44m",darkMagenta:"\x1B[45m",darkCyan:"\x1B[46m",darkWhite:"\x1B[47m",brightBlack:"\x1B[100m",brightRed:"\x1B[101m",brightGreen:"\x1B[102m",brightYellow:"\x1B[103m",brightBlue:"\x1B[104m",brightMagenta:"\x1B[105m",brightCyan:"\x1B[106m",brightWhite:"\x1B[107m"};function J(n){if(n in process.env)return process.env[n]}function et(n,e){return{getInformation(){return n},consumeAndMakeDecoder(t){try{let r=e.consumeAndMakeDecoder(t),o=t.consumePositional();if(o!==void 0)throw new m(new d(new i("Unexpected argument: "),new i(`"${o}"`,f)));return{generateUsage:()=>G(n,e),decodeAndMakeInterpreter(){let s=r.decodeAndMakeInterpreter();return{async executeWithContext(u){return await s.executeWithContext(u)}}}}}catch(r){return{generateUsage:()=>G(n,e),decodeAndMakeInterpreter(){throw r}}}}}}function tt(n,e,t){return{getInformation(){return n},consumeAndMakeDecoder(r){try{let o=e.consumeAndMakeDecoder(r),s=r.consumePositional();if(s===void 0)throw new m(new d(new i("<subcommand>",k),new i(": Is required, but was not provided")));let u=t[s];if(u===void 0)throw new m(new d(new i("<subcommand>",k),new i(": Invalid value: "),new i(`"${s}"`,f)));let a=u.consumeAndMakeDecoder(r);return{generateUsage(){let p=a.generateUsage(),l=G(n,e);return l.segments.push({subcommand:s}),l.segments.push(...p.segments),l.information=p.information,l.positionals.push(...p.positionals),l.subcommands=p.subcommands,l.options.push(...p.options),l},decodeAndMakeInterpreter(){let p=o.decodeAndMakeInterpreter(),l=a.decodeAndMakeInterpreter();return{async executeWithContext(g){return await l.executeWithContext(await p.executeWithContext(g))}}}}}catch(o){return{generateUsage(){let s=G(n,e);s.segments.push({positional:"<subcommand>"});for(let[u,a]of Object.entries(t)){let{description:p,hint:l}=a.getInformation();s.subcommands.push({name:u,description:p,hint:l})}return s},decodeAndMakeInterpreter(){throw o}}}}}}function nt(n,e,t){return{getInformation(){return n},consumeAndMakeDecoder(r){try{let o=e.consumeAndMakeDecoder(r),s=t.consumeAndMakeDecoder(r);return{generateUsage(){let u=s.generateUsage(),a=G(n,e);return a.segments.push(...u.segments),a.information=u.information,a.positionals.push(...u.positionals),a.subcommands=u.subcommands,a.options.push(...u.options),a},decodeAndMakeInterpreter(){let u=o.decodeAndMakeInterpreter(),a=s.decodeAndMakeInterpreter();return{async executeWithContext(p){return await a.executeWithContext(await u.executeWithContext(p))}}}}}catch(o){return{generateUsage(){let s=G(n,e);return s.segments.push({positional:"[REST]..."}),s},decodeAndMakeInterpreter(){throw o}}}}}}function G(n,e){let{positionals:t,options:r}=e.generateUsage();return{segments:t.map(o=>({positional:o.label})),information:n,positionals:t,subcommands:[],options:r}}function ot(n,e){return{generateUsage(){let t=new Array;for(let o in n.options){let s=n.options[o];t.push(s.generateUsage())}let r=new Array;for(let o of n.positionals)r.push(o.generateUsage());return{options:t,positionals:r}},consumeAndMakeDecoder(t){let r={};for(let s in n.options){let u=n.options[s];r[s]=u.registerAndMakeDecoder(t)}let o=[];for(let s of n.positionals)o.push(s.consumeAndMakeDecoder(t));return{decodeAndMakeInterpreter(){let s={};for(let a in r)s[a]=r[a].getAndDecodeValue();let u=[];for(let a of o)u.push(a.decodeValue());return{executeWithContext(a){return e(a,{options:s,positionals:u})}}}}}}}function _(n){let e=re("value"),{long:t,short:r,description:o,hint:s,aliases:u}=n;return{generateUsage(){return{short:r,long:t,annotation:"[=no]",description:o,hint:s}},registerAndMakeDecoder(a){let p=de(a,{long:t,short:r,aliasesLongs:u?.longs,aliasesShorts:u?.shorts,parsing:{consumeShortGroup:!1,consumeNextArg:()=>!1}});return{getAndDecodeValue(){let l=a.getOptionValues(p);if(l.length>1&&Ae(t),l.length===0)return n.default===void 0?!1:n.default;let g=l[0],h=g.inlined===null?"true":g.inlined;return Z({long:t,short:r,type:e,input:h})}}}}}function le(n){let{long:e,short:t,description:r,hint:o,aliases:s,type:u}=n,a=`<${u.content}>`;return{generateUsage(){return{short:t,long:e,label:a,description:r,hint:o}},registerAndMakeDecoder(p){let l=de(p,{long:e,short:t,aliasesLongs:s?.longs,aliasesShorts:s?.shorts,parsing:{consumeShortGroup:!0,consumeNextArg(g,h){return n.defaultWhenNotInlined!==void 0?!1:g===null&&h.length===0}}});return{getAndDecodeValue(){let g=p.getOptionValues(l);g.length>1&&Ae(e);let h=g[0];if(h===void 0)try{return n.defaultWhenNotDefined()}catch(I){Se(e,I,"not set")}if(h.inlined){let I=h.inlined;return Z({long:e,short:t,label:a,type:u,input:I})}if(n.defaultWhenNotInlined!==void 0)try{return n.defaultWhenNotInlined()}catch(I){Se(e,I,"not inlined")}let S=h.separated[0];return Z({long:e,short:t,label:a,type:u,input:S})}}}}}function rt(n){let{long:e,short:t,description:r,hint:o,aliases:s,type:u}=n,a=`<${u.content}>`;return{generateUsage(){return{short:t,long:e,label:a,annotation:" [*]",description:r,hint:o}},registerAndMakeDecoder(p){let l=de(p,{long:e,short:t,aliasesLongs:s?.longs,aliasesShorts:s?.shorts,parsing:{consumeShortGroup:!0,consumeNextArg:(g,h)=>g===null&&h.length===0}});return{getAndDecodeValue(){return p.getOptionValues(l).map(h=>{let S=h.inlined??h.separated[0];return Z({long:e,short:t,label:a,type:u,input:S})})}}}}}function Z(n){return m.tryWithContext(()=>n.type.decoder(n.input),()=>{let e=new d;return n.short&&(e.push(new i(`-${n.short}`,T)),e.push(new i(", "))),e.push(new i(`--${n.long}`,T)),n.label?(e.push(new i(": ")),e.push(new i(n.label,k))):(e.push(new i(": ")),e.push(new i(n.type.content,V))),e})}function de(n,e){let{long:t,short:r,aliasesLongs:o,aliasesShorts:s,parsing:u}=e,a=t?[t]:[];o&&a.push(...o);let p=r?[r]:[];return s&&p.push(...s),n.registerOption({longs:a,shorts:p,parsing:u})}function Ae(n){throw new m(new d(new i(`--${n}`,T),new i(": Must not be set multiple times")))}function Se(n,e,t){throw new m(new d(new i(`--${n}`,T),new i(`: Failed to get default value (${t})`)),e)}function st(n){let{description:e,hint:t,type:r}=n,o=`<${r.content}>`;return{generateUsage(){return{description:e,hint:t,label:o}},consumeAndMakeDecoder(s){let u=s.consumePositional();if(u===void 0)throw new m(new d(new i(o,k),new i(": Is required, but was not provided")));return{decodeValue(){return ce(o,n.type,u)}}}}}function it(n){let{description:e,hint:t,type:r}=n,o=`[${r.content}]`;return{generateUsage(){return{description:e,hint:t,label:o}},consumeAndMakeDecoder(s){let u=s.consumePositional();return{decodeValue(){if(u===void 0)try{return n.default()}catch{ut(o)}return ce(o,n.type,u)}}}}}function at(n){let{description:e,hint:t,type:r}=n,o=`[${r.content}]`,s=`${o}...`+(n.endDelimiter?` ["${n.endDelimiter}"]`:"");return{generateUsage(){return{description:e,hint:t,label:s}},consumeAndMakeDecoder(u){let a=new Array;for(;;){let p=u.consumePositional();if(p===void 0||p===n.endDelimiter)break;a.push(p)}return{decodeValue(){return a.map(p=>ce(o,n.type,p))}}}}}function ce(n,e,t){return m.tryWithContext(()=>e.decoder(t),()=>new d(new i(n,k)))}function ut(n){throw new m(new d(new i(n,k),new i(": Failed to get default value")))}var F,v,P,W,U,K,y,ee,Re,ge,Te,N,ke,he,H=class{constructor(e){b(this,y);b(this,F);b(this,v);b(this,P);b(this,W);b(this,U);b(this,K);w(this,F,e),w(this,v,0),w(this,P,!1),w(this,W,new Map),w(this,U,new Map),w(this,K,new Map)}registerOption(e){let t=[...e.longs.map(o=>`--${o}`),...e.shorts.map(o=>`-${o}`)].join(", ");for(let o of e.longs){if(!x(this,y,he).call(this,o))throw new Error(`Invalid option name: --${o}`);if(c(this,W).has(o))throw new Error(`Option already registered: --${o}`)}for(let o of e.shorts){if(!x(this,y,he).call(this,o))throw new Error(`Invalid option name: -${o}`);if(c(this,U).has(o))throw new Error(`Option already registered: -${o}`);for(let s=0;s<o.length;s++){let u=o.slice(0,s);if(c(this,U).has(u))throw new Error(`Option -${o} overlap with shorter option: -${u}`)}for(let s of c(this,U).keys())if(s.startsWith(o))throw new Error(`Option -${o} overlap with longer option: -${s}`)}let r={parsing:e.parsing,results:new Array};for(let o of e.longs)c(this,W).set(o,r);for(let o of e.shorts)c(this,U).set(o,r);return c(this,K).set(t,r),t}getOptionValues(e){let t=c(this,K).get(e);if(t===void 0)throw new Error(`Unregistered option: ${e}`);return t.results}consumePositional(){for(;;){let e=x(this,y,ee).call(this);if(e===void 0)return;if(!x(this,y,Re).call(this,e))return e}}};F=new WeakMap,v=new WeakMap,P=new WeakMap,W=new WeakMap,U=new WeakMap,K=new WeakMap,y=new WeakSet,ee=function(){let e=c(this,F)[c(this,v)];if(e!==void 0)return we(this,v)._++,!c(this,P)&&e==="--"?(w(this,P,!0),x(this,y,ee).call(this)):e},Re=function(e){if(c(this,P))return!1;if(e.startsWith("--")){let t=e.indexOf("=");return t===-1?x(this,y,ge).call(this,e.slice(2),null):x(this,y,ge).call(this,e.slice(2,t),e.slice(t+1)),!0}if(e.startsWith("-")){let t=1,r=2;for(;r<=e.length;){let o=e.slice(t,r),s=c(this,U).get(o);if(s!==void 0){let u=e.slice(r);if(x(this,y,Te).call(this,s,o,u))return!0;t=r}r++}throw new m(new d(new i("Unexpected unknown option(s): "),new i(`-${e.slice(t)}`,f)))}return!1},ge=function(e,t){let r=`--${e}`,o=c(this,W).get(e);if(o!==void 0)return x(this,y,N).call(this,o,r,t);throw new m(new d(new i("Unexpected unknown option: "),new i(r,f)))},Te=function(e,t,r){let o=`-${t}`;return r.startsWith("=")?(x(this,y,N).call(this,e,o,r.slice(1)),!0):r.length===0?(x(this,y,N).call(this,e,o,null),!0):e.parsing.consumeShortGroup?(x(this,y,N).call(this,e,o,r),!0):(x(this,y,N).call(this,e,o,null),!1)},N=function(e,t,r){let o=new Array;for(;e.parsing.consumeNextArg(r,o,c(this,F)[c(this,v)]);)o.push(x(this,y,ke).call(this,t));e.results.push({inlined:r,separated:o})},ke=function(e){let t=x(this,y,ee).call(this);if(t===void 0)throw new m(new d(new i(e,T),new i(": Requires a value, but got end of input")));if(c(this,P))throw new m(new d(new i(e,T),new i(": Requires a value before "),new i('"--"',f)));if(t.startsWith("-"))throw new m(new d(new i(e,T),new i(": Requires a value, but got: "),new i(`"${t}"`,f)));return t},he=function(e){return e.length>0&&!e.includes("=")&&!e.includes("\0")};function ye(n){let{cliName:e,usage:t,typoSupport:r}=n,o=new Array,s=new d;s.push(pt("Usage:")),s.push(C(" ")),s.push(D(e));for(let a of t.segments)s.push(C(" ")),"positional"in a&&s.push(j(a.positional)),"subcommand"in a&&s.push(D(a.subcommand));o.push(s.computeStyledString(r)),o.push("");let u=new d;u.push(lt(t.information.description)),t.information.hint&&(u.push(C(" ")),u.push(Y(`(${t.information.hint})`))),o.push(u.computeStyledString(r));for(let a of t.information.details??[]){let p=new d;p.push(Y(a)),o.push(p.computeStyledString(r))}if(t.positionals.length>0){o.push(""),o.push(te("Positionals:").computeStyledString(r));let a=new E;for(let p of t.positionals){let l=new Array;l.push(new d(C(" "))),l.push(new d(j(p.label))),l.push(...me(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.subcommands.length>0){o.push(""),o.push(te("Subcommands:").computeStyledString(r));let a=new E;for(let p of t.subcommands){let l=new Array;l.push(new d(C(" "))),l.push(new d(D(p.name))),l.push(...me(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.options.length>0){o.push(""),o.push(te("Options:").computeStyledString(r));let a=new E;for(let p of t.options){let l=new Array;l.push(new d(C(" "))),p.short?l.push(new d(D(`-${p.short}`),C(", "))):l.push(new d);let g=new d(D(`--${p.long}`));p.label&&(g.push(C(" ")),g.push(j(p.label))),p.annotation&&g.push(Y(p.annotation)),l.push(g),l.push(...me(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.information.examples){o.push(""),o.push(te("Examples:").computeStyledString(r));for(let a of t.information.examples){let p=new d;p.push(C(" ")),p.push(Y(`# ${a.explanation}`)),o.push(p.computeStyledString(r));let l=new d;l.push(C(" ")),l.push(D(e));for(let g of a.commandArgs)if(l.push(C(" ")),typeof g=="string")l.push(g);else if("positional"in g)l.push(j(g.positional));else if("subcommand"in g)l.push(D(g.subcommand));else if("option"in g){let h=g.option;if("short"in h?l.push(D(`-${h.short}`)):l.push(D(`--${h.long}`)),h.inlined!==void 0&&(l.push(Y("=")),l.push(j(h.inlined))),h.separated!==void 0)for(let S of h.separated)l.push(C(" ")),l.push(j(S))}o.push(l.computeStyledString(r))}}return o.push(""),o}function me(n){let e=[];return n.description&&(e.push(C(" ")),e.push(dt(n.description))),n.hint&&(e.push(C(" ")),e.push(Y(`(${n.hint})`))),e.length>0?[new d(C(" "),...e)]:[]}function pt(n){return new i(n,V)}function lt(n){return new i(n,ae)}function dt(n){return new i(n)}function te(n){return new i(n,ie)}function Y(n){return new i(n,ue)}function D(n){return new i(n,T)}function j(n){return new i(n,k)}function C(n){return new i(n)}async function ct(n,e,t,r,o){let s=new H(e),u=new Array,a=O.none(),p=o?.colorSetup??"flag";if(p==="flag"){let h=le({long:"color",type:se("color-mode",["auto","always","never","mock"]),defaultWhenNotDefined:()=>"auto",defaultWhenNotInlined:()=>"always"}).registerAndMakeDecoder(s);u.push(()=>{try{a=Ue(h.getAndDecodeValue())}catch(S){throw a=O.inferFromEnv(),S}})}else a=Ue(p);if(o?.usageOnHelp??!0){let h=_({long:"help"}).registerAndMakeDecoder(s);u.push(S=>{if(h.getAndDecodeValue())return console.log(Ve(n,S,a)),0})}if(o?.buildVersion){let h=_({long:"version"}).registerAndMakeDecoder(s);u.push(()=>{if(h.getAndDecodeValue())return console.log([n,o.buildVersion].join(" ")),0})}let l=r.consumeAndMakeDecoder(s);for(;;)try{if(s.consumePositional()===void 0)break}catch{}let g=o?.onExit??process.exit;try{for(let S of u){let I=S(l);if(I!==void 0)return g(I)}let h=l.decodeAndMakeInterpreter();try{return await h.executeWithContext(t),g(0)}catch(S){return Oe(o?.onError,S,a),g(1)}}catch(h){return(o?.usageOnError??!0)&&console.error(Ve(n,l,a)),Oe(o?.onError,h,a),g(1)}}function Oe(n,e,t){n!==void 0?n(e):console.error(t.computeStyledErrorMessage(e))}function Ve(n,e,t){return ye({cliName:n,usage:e.generateUsage(),typoSupport:t}).join(`
|
|
2
|
-
`)}function
|
|
1
|
+
"use strict";var se=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var Ge=Object.prototype.hasOwnProperty;var be=n=>{throw TypeError(n)};var Ee=(n,e)=>{for(var t in e)se(n,t,{get:e[t],enumerable:!0})},Ke=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $e(e))!Ge.call(n,r)&&r!==t&&se(n,r,{get:()=>e[r],enumerable:!(o=Me(e,r))||o.enumerable});return n};var Le=n=>Ke(se({},"__esModule",{value:!0}),n);var ie=(n,e,t)=>e.has(n)||be("Cannot "+t);var g=(n,e,t)=>(ie(n,e,"read from private field"),t?t.call(n):e.get(n)),C=(n,e,t)=>e.has(n)?be("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),w=(n,e,t,o)=>(ie(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t),b=(n,e,t)=>(ie(n,e,"access private method"),t);var Se=(n,e,t,o)=>({set _(r){w(n,e,r,t)},get _(){return g(n,e,o)}});var Ct={};Ee(Ct,{ReaderArgs:()=>X,TypoError:()=>h,TypoGrid:()=>G,TypoString:()=>u,TypoSupport:()=>k,TypoText:()=>c,command:()=>Xe,commandChained:()=>_e,commandWithSubcommands:()=>Ze,operation:()=>et,optionFlag:()=>ne,optionRepeatable:()=>gt,optionSingleValue:()=>ge,positionalOptional:()=>yt,positionalRequired:()=>ht,positionalVariadics:()=>mt,runAndExit:()=>Tt,suggestTextPushMessage:()=>E,type:()=>at,typeBoolean:()=>le,typeChoice:()=>ce,typeConverted:()=>ut,typeDatetime:()=>rt,typeInteger:()=>st,typeList:()=>ct,typeNumber:()=>ot,typePath:()=>dt,typeRenamed:()=>pt,typeTuple:()=>lt,typeUrl:()=>it,typoStyleConstants:()=>R,typoStyleFailure:()=>Te,typoStyleLogic:()=>V,typoStyleQuote:()=>m,typoStyleRegularStrong:()=>pe,typoStyleRegularWeaker:()=>B,typoStyleTitle:()=>ue,typoStyleUserInput:()=>O,usageToStyledLines:()=>we});module.exports=Le(Ct);var ue={fgColor:"darkGreen",bold:!0},V={fgColor:"darkMagenta",bold:!0},m={fgColor:"darkYellow",bold:!0},Te={fgColor:"darkRed",bold:!0},R={fgColor:"darkCyan",bold:!0},O={fgColor:"darkBlue",bold:!0},pe={bold:!0},B={italic:!0,dim:!0},L,Q,Z=class Z{constructor(e,t){C(this,L);C(this,Q);w(this,L,e),w(this,Q,t)}computeStyledString(e){return e.computeStyledString(g(this,L),g(this,Q))}getRawString(){return g(this,L)}};L=new WeakMap,Q=new WeakMap,Z.elipsis=new Z("...",B);var u=Z,A,de=class de{constructor(...e){C(this,A);w(this,A,[]);for(let t of e)this.push(t)}push(...e){for(let t of e)if(typeof t=="string")g(this,A).push(new u(t));else if(t instanceof u)g(this,A).push(t);else if(t instanceof de)g(this,A).push(...g(t,A));else if(Array.isArray(t))for(let o of t)this.push(o)}pushJoined(e,t,o){for(let r=0;r<e.length;r++){if(r>0&&this.push(t),o!==void 0&&r>=o){this.push(u.elipsis);break}this.push(e[r])}}computeStyledString(e){return g(this,A).map(t=>t.computeStyledString(e)).join("")}computeRawString(){return g(this,A).map(e=>e.getRawString()).join("")}computeRawLength(){let e=0;for(let t of g(this,A))e+=t.getRawString().length;return e}};A=new WeakMap;var c=de,$,G=class{constructor(){C(this,$);w(this,$,[])}pushRow(e){g(this,$).push(e)}computeStyledLines(e){let t=new Array,o=new Array;for(let r of g(this,$))for(let s=0;s<r.length;s++){let a=r[s].computeRawLength();(t[s]===void 0||a>t[s])&&(t[s]=a)}for(let r of g(this,$)){let s=new Array;for(let i=0;i<r.length;i++){let a=r[i];if(s.push(a.computeStyledString(e)),i<r.length-1){let d=a.computeRawLength(),p=" ".repeat(t[i]-d);s.push(p)}}o.push(s.join(""))}return o}};$=new WeakMap;var W,_=class _ extends Error{constructor(t,o){let r=new c;r.push(t),o instanceof _?(r.push(new u(": ")),r.push(g(o,W))):o instanceof Error?r.push(new u(`: ${o.message}`)):o!==void 0&&r.push(new u(`: ${String(o)}`));super(r.computeRawString());C(this,W);w(this,W,r)}computeStyledString(t){return g(this,W).computeStyledString(t)}static tryWithContext(t,o){try{return t()}catch(r){throw new _(o(),r)}}};W=new WeakMap;var h=_,D,S=class S{constructor(e){C(this,D);w(this,D,e)}static none(){return new S("none")}static tty(){return new S("tty")}static mock(){return new S("mock")}static inferFromEnv(){if(!process||!process.env||!process.stdout||ae("NO_COLOR"))return S.none();let e=ae("FORCE_COLOR");return e==="0"?S.none():e==="1"||e==="2"||e==="3"||e?S.tty():!process.stdout.isTTY||ae("TERM")?.toLowerCase()==="dumb"?S.none():S.tty()}computeStyledString(e,t){if(t===void 0)return e;let o=e;if(t.case==="upper"&&(o=o.toUpperCase()),t.case==="lower"&&(o=o.toLowerCase()),g(this,D)==="none")return o;if(g(this,D)==="tty"){let r=t.fgColor?Ye[t.fgColor]:"",s=t.bgColor?ze[t.bgColor]:"",i=t.bold?Be:"",a=t.dim?Ne:"",d=t.italic?Fe:"",p=t.underline?je:"",l=t.strikethrough?qe:"";return`${r}${s}${i}${a}${d}${p}${l}${o}${We}`}if(g(this,D)==="mock"){let r=t.fgColor?`{${o}}@${t.fgColor}`:o,s=t.bgColor?`{${r}}#${t.bgColor}`:r,i=t.bold?`{${s}}+`:s,a=t.dim?`{${i}}-`:i,d=t.italic?`{${a}}*`:a,p=t.underline?`{${d}}_`:d;return t.strikethrough?`{${p}}~`:p}throw new Error(`Unknown TypoSupport kind: ${g(this,D)}`)}computeStyledErrorMessage(e){return[this.computeStyledString("Error:",Te),e instanceof h?e.computeStyledString(this):e instanceof Error?e.message:String(e)].join(" ")}};D=new WeakMap;var k=S,We="\x1B[0m",Be="\x1B[1m",Ne="\x1B[2m",Fe="\x1B[3m",je="\x1B[4m",qe="\x1B[9m",Ye={darkBlack:"\x1B[30m",darkRed:"\x1B[31m",darkGreen:"\x1B[32m",darkYellow:"\x1B[33m",darkBlue:"\x1B[34m",darkMagenta:"\x1B[35m",darkCyan:"\x1B[36m",darkWhite:"\x1B[37m",brightBlack:"\x1B[90m",brightRed:"\x1B[91m",brightGreen:"\x1B[92m",brightYellow:"\x1B[93m",brightBlue:"\x1B[94m",brightMagenta:"\x1B[95m",brightCyan:"\x1B[96m",brightWhite:"\x1B[97m"},ze={darkBlack:"\x1B[40m",darkRed:"\x1B[41m",darkGreen:"\x1B[42m",darkYellow:"\x1B[43m",darkBlue:"\x1B[44m",darkMagenta:"\x1B[45m",darkCyan:"\x1B[46m",darkWhite:"\x1B[47m",brightBlack:"\x1B[100m",brightRed:"\x1B[101m",brightGreen:"\x1B[102m",brightYellow:"\x1B[103m",brightBlue:"\x1B[104m",brightMagenta:"\x1B[105m",brightCyan:"\x1B[106m",brightWhite:"\x1B[107m"};function ae(n){if(n in process.env)return process.env[n]}function E(n,e,t){let o=He(e,t.map(({reference:r,hint:s})=>({reference:r,payload:s})));o.length!==0&&(n.push(new u(" Did you mean: ")),n.pushJoined(o,new u(", "),3),n.push(new u(" ?")))}function He(n,e){if(e.length===0)return[];let t=Qe(n,e),o=t[0].divergence+.25,r=new Array;for(let{divergence:s,payload:i}of t){if(s>o)break;r.push(i)}return r}function Qe(n,e){let t=n.toLowerCase().slice(0,100);return e.map(({reference:r,payload:s})=>{let i=r.toLowerCase().slice(0,100);return{divergence:Je(t,i)/Math.max(t.length,i.length),reference:r,payload:s}}).sort((r,s)=>r.divergence-s.divergence)}function Je(n,e){let t=n.length,o=e.length,r=Array.from({length:t+1},()=>Array(o+1).fill(0));for(let s=0;s<=t;s++)r[s][0]=s;for(let s=0;s<=o;s++)r[0][s]=s;for(let s=1;s<=t;s++)for(let i=1;i<=o;i++){let a=n[s-1]===e[i-1]?0:1;r[s][i]=Math.min(r[s-1][i]+1,r[s][i-1]+1,r[s-1][i-1]+a),s>1&&i>1&&n[s-1]===e[i-2]&&n[s-2]===e[i-1]&&(r[s][i]=Math.min(r[s][i],r[s-2][i-2]+a))}return r[t][o]}function Xe(n,e){return{getInformation(){return n},consumeAndMakeDecoder(t){try{let o=e.consumeAndMakeDecoder(t),r=t.consumePositional();if(r!==void 0){let s=new c;throw s.push(new u("Unexpected argument: ")),s.push(new u(`"${r}"`,m)),s.push(new u(".")),new h(s)}return{generateUsage:()=>N(n,e),decodeAndMakeInterpreter(){let s=o.decodeAndMakeInterpreter();return{async executeWithContext(i){return await s.executeWithContext(i)}}}}}catch(o){return{generateUsage:()=>N(n,e),decodeAndMakeInterpreter(){throw o}}}}}}function Ze(n,e,t){let o=Object.keys(t);if(o.length===0)throw new Error("At least one subcommand is required");return{getInformation(){return n},consumeAndMakeDecoder(r){try{let s=e.consumeAndMakeDecoder(r),i=r.consumePositional();if(i===void 0){let p=new c;throw p.push(new u("<subcommand>",O)),p.push(new u(": Missing argument.")),Ce(p,"",o),new h(p)}let a=t[i];if(a===void 0){let p=new c;throw p.push(new u("<subcommand>",O)),p.push(new u(": Unknown name: ")),p.push(new u(`"${i}"`,m)),p.push(new u(".")),Ce(p,i,o),new h(p)}let d=a.consumeAndMakeDecoder(r);return{generateUsage(){let p=d.generateUsage(),l=N(n,e);return l.segments.push({subcommand:i}),l.segments.push(...p.segments),l.information=p.information,l.positionals.push(...p.positionals),l.subcommands=p.subcommands,l.options.push(...p.options),l},decodeAndMakeInterpreter(){let p=s.decodeAndMakeInterpreter(),l=d.decodeAndMakeInterpreter();return{async executeWithContext(f){return await l.executeWithContext(await p.executeWithContext(f))}}}}}catch(s){return{generateUsage(){let i=N(n,e);i.segments.push({positional:"<subcommand>"});for(let[a,d]of Object.entries(t)){let{description:p,hint:l}=d.getInformation();i.subcommands.push({name:a,description:p,hint:l})}return i},decodeAndMakeInterpreter(){throw s}}}}}}function _e(n,e,t){return{getInformation(){return n},consumeAndMakeDecoder(o){try{let r=e.consumeAndMakeDecoder(o),s=t.consumeAndMakeDecoder(o);return{generateUsage(){let i=s.generateUsage(),a=N(n,e);return a.segments.push(...i.segments),a.information=i.information,a.positionals.push(...i.positionals),a.subcommands=i.subcommands,a.options.push(...i.options),a},decodeAndMakeInterpreter(){let i=r.decodeAndMakeInterpreter(),a=s.decodeAndMakeInterpreter();return{async executeWithContext(d){return await a.executeWithContext(await i.executeWithContext(d))}}}}}catch(r){return{generateUsage(){let s=N(n,e);return s.segments.push({positional:"[REST]..."}),s},decodeAndMakeInterpreter(){throw r}}}}}}function N(n,e){let{positionals:t,options:o}=e.generateUsage();return{segments:t.map(r=>({positional:r.label})),information:n,positionals:t,subcommands:[],options:o}}function Ce(n,e,t=[]){E(n,e,t.map(o=>({reference:o,hint:new u(o,R)})))}function et(n,e){return{generateUsage(){let t=new Array;if(n.options!==void 0)for(let r in n.options){let s=n.options[r];t.push(s.generateUsage())}let o=new Array;if(n.positionals!==void 0)for(let r of n.positionals)o.push(r.generateUsage());return{options:t,positionals:o}},consumeAndMakeDecoder(t){let o={};if(n.options!==void 0)for(let s in n.options){let i=n.options[s];o[s]=i.registerAndMakeDecoder(t)}let r=[];if(n.positionals!==void 0)for(let s of n.positionals)r.push(s.consumeAndMakeDecoder(t));return{decodeAndMakeInterpreter(){let s={};for(let a in o)s[a]=o[a].getAndDecodeValue();let i=[];for(let a of r)i.push(a.decodeValue());return{executeWithContext(a){return e(a,{options:s,positionals:i})}}}}}}}var Re=require("fs");function le(n){return{content:n??"boolean",decoder(e){let t=e.toLowerCase();if(tt.has(t))return!0;if(nt.has(t))return!1;J("a boolean",e)}}}var tt=new Set(["true","yes","on","y"]),nt=new Set(["false","no","off","n"]);function rt(n){return{content:n??"datetime",decoder(e){try{let t=Date.parse(e);if(isNaN(t))throw new Error;return new Date(t)}catch{J("a valid ISO_8601 datetime",e)}}}}function ot(n){return{content:n??"number",decoder(e){try{let t=Number(e);if(isNaN(t))throw new Error;return t}catch{J("a number",e)}}}}function st(n){return{content:n??"integer",decoder(e){try{return BigInt(e)}catch{J("an integer",e)}}}}function it(n){return{content:n??"url",decoder(e){try{return new URL(e)}catch{J("an URL",e)}}}}function at(n){return{content:n??"string",decoder:e=>e}}function ut(n,e,t){return{content:n,decoder:o=>t(h.tryWithContext(()=>e.decoder(o),()=>new c(new u("from: "),new u(e.content,V))))}}function pt(n,e){return{content:e,decoder:t=>h.tryWithContext(()=>n.decoder(t),()=>new c(new u("from: "),new u(n.content,V)))}}function dt(n,e){return{content:n??"path",decoder(t){if(t.length===0)throw new Error("Path cannot be empty");if(t.includes("\0"))throw new Error("Path cannot contain null characters");if(e?.checkSyncExistAs!==void 0){let r=function(a){try{return(0,Re.statSync)(a)}catch(d){throw new h(new c(new u("Path does not exist: "),new u(`"${a}"`,m)),d)}};var o=r;let s=r(t),i=s.isDirectory()?"directory":s.isFile()?"file":"unknown";if(e.checkSyncExistAs==="file"&&!s.isFile())throw new h(new c(new u(`Expected a file but found: ${i}: `),new u(`"${t}"`,m)));if(e.checkSyncExistAs==="directory"&&!s.isDirectory())throw new h(new c(new u(`Expected a directory but found: ${i}: `),new u(`"${t}"`,m)))}return t}}}function ce(n,e,t=!0){if(e.length===0)throw new Error("At least one value is required");let o=t?s=>s:s=>s.toLowerCase(),r=new Map(e.map(s=>[o(s),s]));return{content:n,decoder(s){let i=r.get(o(s));if(i!==void 0)return i;let a=new c;throw a.push(new u("Unknown value: ")),a.push(new u(`"${s}"`,m)),a.push(new u(".")),E(a,s,e.map(d=>({reference:d,hint:new u(`"${d}"`,m)}))),new h(a)}}}function lt(n,e=","){return{content:n.map(t=>t.content).join(e),decoder(t){let o=t.split(e,n.length);if(o.length!==n.length)throw new h(new c(new u(`Found ${o.length} splits: `),new u(`Expected ${n.length} splits from: `),new u(`"${t}"`,m),new u(".")));return o.map((r,s)=>{let i=n[s];return h.tryWithContext(()=>i.decoder(r),()=>new c(new u(`at ${s}: `),new u(i.content,V)))})}}}function ct(n,e=","){return{content:`${n.content}[${e}${n.content}]...`,decoder(t){return t.split(e).map((r,s)=>h.tryWithContext(()=>n.decoder(r),()=>new c(new u(`at ${s}: `),new u(n.content,V))))}}}function J(n,e){throw new h(new c(new u(`Not ${n}: `),new u(`"${e}"`,m),new u(".")))}function ne(n){let e=le("value"),{long:t,short:o,description:r,hint:s,aliases:i}=n;return{generateUsage(){return{short:o,long:t,annotation:"[=no]",description:r,hint:s}},registerAndMakeDecoder(a){let d=fe(a,{longKey:t,shortKey:o,aliasLongKeys:i?.longs,aliasShortKeys:i?.shorts,restGuard:()=>!1,nextGuard:()=>!1});return{getAndDecodeValue(){let p=d();if(p.length>1&&Ae(p.map(f=>f.identifier)),p.length===0)return n.default===void 0?!1:n.default;let l=p[0].value.inlined;return l===null?!0:te({long:t,label:void 0,type:e,input:l})}}}}}function ge(n){let{long:e,short:t,description:o,hint:r,aliases:s,type:i}=n,a=n.impliedValueIfNotInlined?void 0:`<${i.content}>`,d=n.impliedValueIfNotInlined?`[=${i.content}]`:void 0;return{generateUsage(){return{short:t,long:e,label:a,annotation:d,description:o,hint:r}},registerAndMakeDecoder(p){let l=fe(p,{longKey:e,shortKey:t,aliasLongKeys:s?.longs,aliasShortKeys:s?.shorts,restGuard:()=>n.impliedValueIfNotInlined===void 0,nextGuard:f=>!(n.impliedValueIfNotInlined!==void 0||f.inlined!==null||f.separated.length!==0)});return{getAndDecodeValue(){let f=l();f.length>1&&Ae(f.map(v=>v.identifier));let x=f[0];if(x===void 0){if(n.fallbackValueIfAbsent===void 0){let v=ee({long:e,label:a,type:i});throw v.push(new u(": Is required, but was not set.")),new h(v)}try{return n.fallbackValueIfAbsent()}catch(v){let H=ee({long:e,label:a,type:i});throw H.push(new u(": Failed to get fallback value.")),new h(H,v)}}let z=x.value.inlined;if(z!==null)return te({long:e,label:a,type:i,input:z});if(n.impliedValueIfNotInlined!==void 0)try{return n.impliedValueIfNotInlined()}catch(v){let H=ee({long:e,label:a,type:i});throw H.push(new u(": Failed to get implied value.")),new h(H,v)}let Pe=x.value.separated[0];return te({long:e,label:a,type:i,input:Pe})}}}}}function gt(n){let{long:e,short:t,description:o,hint:r,aliases:s,type:i}=n,a=`<${i.content}>`;return{generateUsage(){return{short:t,long:e,label:a,annotation:" [*]",description:o,hint:r}},registerAndMakeDecoder(d){let p=fe(d,{longKey:e,shortKey:t,aliasLongKeys:s?.longs,aliasShortKeys:s?.shorts,restGuard:()=>!0,nextGuard:l=>!(l.inlined!==null||l.separated.length!==0)});return{getAndDecodeValue(){return p().map(l=>{let f=l.value,x=f.inlined??f.separated[0];return te({long:e,label:a,type:i,input:x})})}}}}}function te(n){let{long:e,label:t,type:o,input:r}=n;return h.tryWithContext(()=>o.decoder(r),()=>ee({long:e,label:t,type:o}))}function ee(n){let e=new c;return e.push(new u(`--${n.long}`,R)),n.label!==void 0?(e.push(new u(": ")),e.push(new u(n.label,O))):(e.push(new u(": ")),e.push(new u(n.type.content,V))),e}function fe(n,e){let{longKey:t,shortKey:o,aliasLongKeys:r,aliasShortKeys:s}=e,i=[t];r!==void 0&&i.push(...r);let a=o?[o]:[];return s!==void 0&&a.push(...s),ft(n,{longKeys:i,shortKeys:a,restGuard:e.restGuard,nextGuard:e.nextGuard})}function ft(n,e){let{longKeys:t,shortKeys:o,restGuard:r,nextGuard:s}=e,i=new Array;for(let a of t)i.push(n.registerOptionLong({key:a,nextGuard:s}));for(let a of o)i.push(n.registerOptionShort({key:a,restGuard:r,nextGuard:s}));return()=>{let a=new Array;for(let d of i){let{identifier:p,values:l}=d();for(let f of l)a.push({identifier:p,value:f})}return a}}function Ae(n){let e=Array.from(new Set(n)).map(o=>new u(o,R)),t=new c;throw t.pushJoined(e,new u(", "),3),t.push(new u(": Must not be set multiple times.")),new h(t)}function ht(n){let{description:e,hint:t,type:o}=n,r=`<${o.content}>`;return{generateUsage(){return{description:e,hint:t,label:r}},consumeAndMakeDecoder(s){let i=s.consumePositional();if(i===void 0){let a=ke(r);throw a.push(new u(": Is required, but was not provided.")),e!==void 0&&a.push(new u(` (${e})`,B)),new h(a)}return{decodeValue(){return he(r,n.type,i)}}}}}function yt(n){let{description:e,hint:t,type:o}=n,r=`[${o.content}]`;return{generateUsage(){return{description:e,hint:t,label:r}},consumeAndMakeDecoder(s){let i=s.consumePositional();return{decodeValue(){if(i===void 0)try{return n.default()}catch{xt(r)}return he(r,n.type,i)}}}}}function mt(n){let{description:e,hint:t,type:o}=n,r=`[${o.content}]`,s=`${r}...`+(n.endDelimiter?` ["${n.endDelimiter}"]`:"");return{generateUsage(){return{description:e,hint:t,label:s}},consumeAndMakeDecoder(i){let a=new Array;for(;;){let d=i.consumePositional();if(d===void 0||d===n.endDelimiter)break;a.push(d)}return{decodeValue(){return a.map(d=>he(r,n.type,d))}}}}}function he(n,e,t){return h.tryWithContext(()=>e.decoder(t),()=>new c(new u(n,O)))}function ke(n){let e=new c;return e.push(new u(n,O)),e}function xt(n){let e=ke(n);throw e.push(new u(": Failed to get default value.")),new h(e)}var j,K,P,M,I,y,re,Ve,ye,Ie,F,me,X=class{constructor(e){C(this,y);C(this,j);C(this,K);C(this,P);C(this,M);C(this,I);w(this,j,e),w(this,K,0),w(this,P,!1),w(this,M,new Map),w(this,I,new Map)}registerOptionLong(e){let t=`--${e.key}`;if(!Oe(e.key))throw new Error(`Option identifier is invalid: ${t}.`);if(g(this,M).has(t))throw new Error(`Option already registered: ${t}.`);let o=new Array;return g(this,M).set(t,{identifier:t,spec:e,values:o}),()=>({identifier:t,values:o})}registerOptionShort(e){let t=`-${e.key}`;if(!Oe(e.key))throw new Error(`Option identifier is invalid: ${t}.`);if(g(this,I).has(t))throw new Error(`Option already registered: ${t}.`);for(let r=0;r<t.length;r++){let s=t.slice(0,1+r);if(g(this,I).has(s))throw new Error(`Option ${t} overlap with shorter option: ${s}.`)}for(let r of g(this,I).keys())if(r.startsWith(t))throw new Error(`Option ${t} overlap with longer option: ${r}.`);let o=new Array;return g(this,I).set(t,{identifier:t,spec:e,values:o}),()=>({identifier:t,values:o})}consumePositional(){for(;;){let e=b(this,y,re).call(this);if(e===void 0)return;if(!b(this,y,Ve).call(this,e))return e}}};j=new WeakMap,K=new WeakMap,P=new WeakMap,M=new WeakMap,I=new WeakMap,y=new WeakSet,re=function(){let e=g(this,j)[g(this,K)];if(e!==void 0)return Se(this,K)._++,!g(this,P)&&e==="--"?(w(this,P,!0),b(this,y,re).call(this)):e},Ve=function(e){if(g(this,P))return!1;if(e.startsWith("--")){let t=e.indexOf("=");return t===-1?b(this,y,ye).call(this,e,null):b(this,y,ye).call(this,e.slice(0,t),e.slice(t+1)),!0}if(e.startsWith("-")){let t=1,o=2;for(;o<=e.length;){let r=`-${e.slice(t,o)}`,s=g(this,I).get(r);if(s!==void 0){let i=e.slice(o);if(b(this,y,Ie).call(this,s,i))return!0;t=o}o++}b(this,y,me).call(this,`-${e.slice(t)}`)}return!1},ye=function(e,t){let o=g(this,M).get(e);if(o!==void 0)return b(this,y,F).call(this,o,t);b(this,y,me).call(this,e)},Ie=function(e,t){return t.startsWith("=")?(b(this,y,F).call(this,e,t.slice(1)),!0):t.length===0?(b(this,y,F).call(this,e,null),!0):e.spec.restGuard(t)?(b(this,y,F).call(this,e,t),!0):(b(this,y,F).call(this,e,null),!1)},F=function(e,t){let o={inlined:t,separated:new Array},{identifier:r,values:s,spec:i}=e;for(s.push(o);;){let a=g(this,j)[g(this,K)];if(!i.nextGuard(o,a))return;let d=b(this,y,re).call(this);if(g(this,P))throw new h(new c(new u(r,R),new u(": Requires a value but got: "),new u('"--"',m),new u(".")));if(d===void 0)throw new h(new c(new u(r,R),new u(": Requires a value, but got end of input.")));if(d.startsWith("-"))throw new h(new c(new u(r,R),new u(": Requires a value, but got: "),new u(`"${d}"`,m),new u(".")));o.separated.push(d)}},me=function(e){let t=[];for(let r of g(this,M).keys())t.push(r);for(let r of g(this,I).keys())t.push(r);let o=new c;throw o.push(new u("Unknown option: ")),o.push(new u(`"${e}"`,m)),t.length===0?o.push(new u(", no options are registered.")):(o.push(new u(".")),E(o,e,t.map(r=>({reference:r,hint:new u(r,R)})))),new h(o)};function Oe(n){return n.length>0&&!n.includes("=")&&!n.includes("\0")}function we(n){let{cliName:e,usage:t,typoSupport:o}=n,r=new Array,s=new c;s.push(wt("Usage:")),s.push(T(" ")),s.push(U(e));for(let a of t.segments)s.push(T(" ")),"positional"in a&&s.push(q(a.positional)),"subcommand"in a&&s.push(U(a.subcommand));r.push(s.computeStyledString(o)),r.push("");let i=new c;i.push(bt(t.information.description)),t.information.hint!==void 0&&(i.push(T(" ")),i.push(Y(`(${t.information.hint})`))),r.push(i.computeStyledString(o));for(let a of t.information.details??[]){let d=new c;d.push(Y(a)),r.push(d.computeStyledString(o))}if(t.positionals.length>0){r.push(""),r.push(oe("Positionals:").computeStyledString(o));let a=new G;for(let d of t.positionals){let p=new Array;p.push(new c(T(" "))),p.push(new c(q(d.label))),p.push(...xe(d)),a.pushRow(p)}r.push(...a.computeStyledLines(o))}if(t.subcommands.length>0){r.push(""),r.push(oe("Subcommands:").computeStyledString(o));let a=new G;for(let d of t.subcommands){let p=new Array;p.push(new c(T(" "))),p.push(new c(U(d.name))),p.push(...xe(d)),a.pushRow(p)}r.push(...a.computeStyledLines(o))}if(t.options.length>0){r.push(""),r.push(oe("Options:").computeStyledString(o));let a=new G;for(let d of t.options){let p=new Array;p.push(new c(T(" "))),d.short!==void 0?p.push(new c(U(`-${d.short}`),T(", "))):p.push(new c);let l=new c(U(`--${d.long}`));d.label!==void 0&&(l.push(T(" ")),l.push(q(d.label))),d.annotation!==void 0&&l.push(Y(d.annotation)),p.push(l),p.push(...xe(d)),a.pushRow(p)}r.push(...a.computeStyledLines(o))}if(t.information.examples!==void 0){r.push(""),r.push(oe("Examples:").computeStyledString(o));for(let a of t.information.examples){let d=new c;d.push(T(" ")),d.push(Y(`# ${a.explanation}`)),r.push(d.computeStyledString(o));let p=new c;p.push(T(" ")),p.push(U(e));for(let l of a.commandArgs)if(p.push(T(" ")),typeof l=="string")p.push(new u(l));else if("positional"in l)p.push(q(l.positional));else if("subcommand"in l)p.push(U(l.subcommand));else if("option"in l){let f=l.option;if("short"in f?p.push(U(`-${f.short}`)):p.push(U(`--${f.long}`)),f.inlined!==void 0&&(p.push(Y("=")),p.push(q(f.inlined))),f.separated!==void 0)for(let x of f.separated)p.push(T(" ")),p.push(q(x))}r.push(p.computeStyledString(o))}}return r.push(""),r}function xe(n){let e=[];return n.description!==void 0&&(e.push(T(" ")),e.push(St(n.description))),n.hint!==void 0&&(e.push(T(" ")),e.push(Y(`(${n.hint})`))),e.length>0?[new c(T(" "),...e)]:[]}function wt(n){return new u(n,V)}function bt(n){return new u(n,pe)}function St(n){return new u(n)}function oe(n){return new u(n,ue)}function Y(n){return new u(n,B)}function U(n){return new u(n,R)}function q(n){return new u(n,O)}function T(n){return new u(n)}async function Tt(n,e,t,o,r){let s=new X(e),i=new Array,a=k.none(),d=r?.colorSetup??"flag";if(d==="flag"){let f=ge({long:"color",type:ce("color-mode",["auto","always","never"]),fallbackValueIfAbsent:()=>"auto",impliedValueIfNotInlined:()=>"always"}).registerAndMakeDecoder(s);i.push(()=>{try{a=De(f.getAndDecodeValue())}catch(x){throw a=k.inferFromEnv(),x}})}else a=De(d);if(r?.usageOnHelp??!0){let f=ne({long:"help"}).registerAndMakeDecoder(s);i.push(x=>{if(f.getAndDecodeValue())return console.log(ve(n,x,a)),0})}if(r?.buildVersion!==void 0){let f=ne({long:"version"}).registerAndMakeDecoder(s);i.push(()=>{if(f.getAndDecodeValue())return console.log([n,r.buildVersion].join(" ")),0})}let p=o.consumeAndMakeDecoder(s);for(;;)try{if(s.consumePositional()===void 0)break}catch{}let l=r?.onExit??process.exit;try{for(let x of i){let z=x(p);if(z!==void 0)return l(z)}let f=p.decodeAndMakeInterpreter();try{return await f.executeWithContext(t),l(0)}catch(x){return Ue(n,r?.onError,x,a),l(1)}}catch(f){return(r?.usageOnError??!0)&&console.error(ve(n,p,a)),Ue(n,r?.onError,f,a),l(1)}}function Ue(n,e,t,o){let r=t;e!==void 0?e(r):console.error(o.computeStyledErrorMessage(r))}function ve(n,e,t){return we({cliName:n,usage:e.generateUsage(),typoSupport:t}).join(`
|
|
2
|
+
`)}function De(n){switch(n){case"auto":return k.inferFromEnv();case"env":return k.inferFromEnv();case"always":return k.tty();case"never":return k.none();case"mock":return k.mock()}}0&&(module.exports={ReaderArgs,TypoError,TypoGrid,TypoString,TypoSupport,TypoText,command,commandChained,commandWithSubcommands,operation,optionFlag,optionRepeatable,optionSingleValue,positionalOptional,positionalRequired,positionalVariadics,runAndExit,suggestTextPushMessage,type,typeBoolean,typeChoice,typeConverted,typeDatetime,typeInteger,typeList,typeNumber,typePath,typeRenamed,typeTuple,typeUrl,typoStyleConstants,typoStyleFailure,typoStyleLogic,typoStyleQuote,typoStyleRegularStrong,typoStyleRegularWeaker,typoStyleTitle,typoStyleUserInput,usageToStyledLines});
|
|
3
3
|
//# sourceMappingURL=index.js.map
|