cli-kiss 0.2.5 → 0.2.6

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/dist/index.d.ts CHANGED
@@ -142,6 +142,8 @@ type Type<Value> = {
142
142
  * ```
143
143
  */
144
144
  declare function typeBoolean(name?: string): Type<boolean>;
145
+ declare const typeBooleanValuesTrue: Set<string>;
146
+ declare const typeBooleanValuesFalse: Set<string>;
145
147
  /**
146
148
  * Parses a date/time string via `Date.parse`.
147
149
  * Accepts any format supported by `Date.parse`, including ISO 8601.
@@ -161,7 +163,7 @@ declare function typeDatetime(name?: string): Type<Date>;
161
163
  * ```ts
162
164
  * typeNumber("my-number").decoder("3.14") // → 3.14
163
165
  * typeNumber("my-number").decoder("-1") // → -1
164
- * typeNumber("my-number").decoder("hello") // throws TypoError
166
+ * typeNumber("my-number").decoder("hello") // throws
165
167
  * ```
166
168
  */
167
169
  declare function typeNumber(name?: string): Type<number>;
@@ -172,8 +174,8 @@ declare function typeNumber(name?: string): Type<number>;
172
174
  * @example
173
175
  * ```ts
174
176
  * typeInteger("my-integer").decoder("42") // → 42n
175
- * typeInteger("my-integer").decoder("3.14") // throws TypoError
176
- * typeInteger("my-integer").decoder("abc") // throws TypoError
177
+ * typeInteger("my-integer").decoder("3.14") // throws
178
+ * typeInteger("my-integer").decoder("abc") // throws
177
179
  * ```
178
180
  */
179
181
  declare function typeInteger(name?: string): Type<bigint>;
@@ -184,7 +186,7 @@ declare function typeInteger(name?: string): Type<bigint>;
184
186
  * @example
185
187
  * ```ts
186
188
  * typeUrl("my-url").decoder("https://example.com") // → URL { href: "https://example.com/", ... }
187
- * typeUrl("my-url").decoder("not-a-url") // throws TypoError
189
+ * typeUrl("my-url").decoder("not-a-url") // throws
188
190
  * ```
189
191
  */
190
192
  declare function typeUrl(name?: string): Type<URL>;
@@ -617,16 +619,16 @@ type UsageOption = {
617
619
  * <detail lines...>
618
620
  *
619
621
  * Positionals:
620
- * <LABEL> <description> (<hint>)
622
+ * <label> <description> (<hint>)
621
623
  *
622
624
  * Subcommands:
623
625
  * <name> <description> (<hint>)
624
626
  *
625
627
  * Options:
626
- * -s, --long <LABEL><annotation> <description> (<hint>)
628
+ * -s, --long <label><annotation> <description> (<hint>)
627
629
  *
628
630
  * Examples:
629
- * <description>
631
+ * <explanation>
630
632
  * <command line>
631
633
  *
632
634
  * ```
@@ -1179,6 +1181,10 @@ declare function commandWithSubcommands<Context, Payload, Result>(information: C
1179
1181
  */
1180
1182
  declare function commandChained<Context, Payload, Result>(information: CommandInformation, operation: Operation<Context, Payload>, subcommand: Command<Payload, Result>): Command<Context, Result>;
1181
1183
 
1184
+ /**
1185
+ * Color selection modes availables
1186
+ */
1187
+ type RunColorMode = "env" | "always" | "never" | "mock";
1182
1188
  /**
1183
1189
  * Main entry point: parses CLI arguments, executes the matched command, and exits.
1184
1190
  * Handles `--help`, `--version`, usage-on-error, and exit codes.
@@ -1222,7 +1228,7 @@ declare function commandChained<Context, Payload, Result>(information: CommandIn
1222
1228
  * ```
1223
1229
  */
1224
1230
  declare function runAndExit<Context>(cliName: string, cliArgs: ReadonlyArray<string>, context: Context, command: Command<Context, void>, options?: {
1225
- colorSetup?: "flag" | "env" | "always" | "never" | "mock" | undefined;
1231
+ colorSetup?: "flag" | RunColorMode | undefined;
1226
1232
  usageOnHelp?: boolean | undefined;
1227
1233
  usageOnError?: boolean | undefined;
1228
1234
  buildVersion?: string | undefined;
@@ -1230,4 +1236,4 @@ declare function runAndExit<Context>(cliName: string, cliArgs: ReadonlyArray<str
1230
1236
  onExit?: ((code: number) => never) | undefined;
1231
1237
  }): Promise<never>;
1232
1238
 
1233
- export { type Command, type CommandDecoder, type CommandInformation, type CommandInterpreter, type Operation, type OperationDecoder, type OperationInterpreter, type Option, type OptionDecoder, type Positional, type PositionalDecoder, ReaderArgs, type ReaderOptionKey, type ReaderOptionParsing, type ReaderOptionValue, type ReaderOptions, type ReaderPositionals, type Type, type TypoColor, TypoError, TypoGrid, TypoString, type TypoStyle, TypoSupport, TypoText, type UsageCommand, type UsageOption, type UsagePositional, type UsageSubcommand, command, commandChained, commandWithSubcommands, operation, optionFlag, optionRepeatable, optionSingleValue, positionalOptional, positionalRequired, positionalVariadics, runAndExit, type, typeBoolean, typeChoice, typeConverted, typeDatetime, typeInteger, typeList, typeNumber, typePath, typeRenamed, typeTuple, typeUrl, typoStyleConstants, typoStyleFailure, typoStyleLogic, typoStyleQuote, typoStyleRegularStrong, typoStyleRegularWeaker, typoStyleTitle, typoStyleUserInput, usageToStyledLines };
1239
+ export { type Command, type CommandDecoder, type CommandInformation, type CommandInterpreter, type Operation, type OperationDecoder, type OperationInterpreter, type Option, type OptionDecoder, type Positional, type PositionalDecoder, ReaderArgs, type ReaderOptionKey, type ReaderOptionParsing, type ReaderOptionValue, type ReaderOptions, type ReaderPositionals, type RunColorMode, type Type, type TypoColor, TypoError, TypoGrid, TypoString, type TypoStyle, TypoSupport, TypoText, type UsageCommand, type UsageOption, type UsagePositional, type UsageSubcommand, command, commandChained, commandWithSubcommands, operation, optionFlag, optionRepeatable, optionSingleValue, positionalOptional, positionalRequired, positionalVariadics, runAndExit, type, typeBoolean, typeBooleanValuesFalse, typeBooleanValuesTrue, typeChoice, typeConverted, typeDatetime, typeInteger, typeList, typeNumber, typePath, typeRenamed, typeTuple, typeUrl, typoStyleConstants, typoStyleFailure, typoStyleLogic, typoStyleQuote, typoStyleRegularStrong, typoStyleRegularWeaker, typoStyleTitle, typoStyleUserInput, usageToStyledLines };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var _=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var he=n=>{throw TypeError(n)};var Ue=(n,e)=>{for(var t in e)_(n,t,{get:e[t],enumerable:!0})},De=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Oe(e))!Ve.call(n,o)&&o!==t&&_(n,o,{get:()=>e[o],enumerable:!(r=ke(e,o))||r.enumerable});return n};var $e=n=>De(_({},"__esModule",{value:!0}),n);var ee=(n,e,t)=>e.has(n)||he("Cannot "+t);var c=(n,e,t)=>(ee(n,e,"read from private field"),t?t.call(n):e.get(n)),b=(n,e,t)=>e.has(n)?he("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),w=(n,e,t,r)=>(ee(n,e,"write to private field"),r?r.call(n,t):e.set(n,t),t),x=(n,e,t)=>(ee(n,e,"access private method"),t);var me=(n,e,t,r)=>({set _(o){w(n,e,o,t)},get _(){return c(n,e,r)}});var dt={};Ue(dt,{ReaderArgs:()=>Q,TypoError:()=>g,TypoGrid:()=>E,TypoString:()=>i,TypoSupport:()=>O,TypoText:()=>d,command:()=>Ne,commandChained:()=>Ke,commandWithSubcommands:()=>Be,operation:()=>Fe,optionFlag:()=>J,optionRepeatable:()=>nt,optionSingleValue:()=>ae,positionalOptional:()=>rt,positionalRequired:()=>ot,positionalVariadics:()=>st,runAndExit:()=>lt,type:()=>Je,typeBoolean:()=>se,typeChoice:()=>ie,typeConverted:()=>Xe,typeDatetime:()=>qe,typeInteger:()=>He,typeList:()=>tt,typeNumber:()=>Qe,typePath:()=>_e,typeRenamed:()=>Ze,typeTuple:()=>et,typeUrl:()=>ze,typoStyleConstants:()=>R,typoStyleFailure:()=>ye,typoStyleLogic:()=>V,typoStyleQuote:()=>f,typoStyleRegularStrong:()=>ne,typoStyleRegularWeaker:()=>oe,typoStyleTitle:()=>te,typoStyleUserInput:()=>T,usageToStyledLines:()=>ge});module.exports=$e(dt);var te={fgColor:"darkGreen",bold:!0},V={fgColor:"darkMagenta",bold:!0},f={fgColor:"darkYellow",bold:!0},ye={fgColor:"darkRed",bold:!0},R={fgColor:"darkCyan",bold:!0},T={fgColor:"darkBlue",bold:!0},ne={bold:!0},oe={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 A,re=class re{constructor(...e){b(this,A);w(this,A,[]);for(let t of e)this.push(t)}push(e){if(typeof e=="string")c(this,A).push(new i(e));else if(e instanceof re)c(this,A).push(...c(e,A));else if(Array.isArray(e))for(let t of e)c(this,A).push(t);else c(this,A).push(e)}computeStyledString(e){return c(this,A).map(t=>t.computeStyledString(e)).join("")}computeRawString(){return c(this,A).map(e=>e.getRawString()).join("")}computeRawLength(){let e=0;for(let t of c(this,A))e+=t.getRawString().length;return e}};A=new WeakMap;var d=re,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 G,H=class H extends Error{constructor(t,r){let o=new d;o.push(t),r instanceof H?(o.push(new i(": ")),o.push(c(r,G))):r instanceof Error?o.push(new i(`: ${r.message}`)):r!==void 0&&o.push(new i(`: ${String(r)}`));super(o.computeRawString());b(this,G);w(this,G,o)}computeStyledString(t){return c(this,G).computeStyledString(t)}static tryWithContext(t,r){try{return t()}catch(o){throw new H(r(),o)}}};G=new WeakMap;var g=H,I,k=class k{constructor(e){b(this,I);w(this,I,e)}static none(){return new k("none")}static tty(){return new k("tty")}static mock(){return new k("mock")}static inferFromEnv(){if(!process||!process.env)return k.none();function e(r){if(r in process.env)return process.env[r]}let t=e("FORCE_COLOR");return t==="0"||(t!==void 0&&k.tty(),e("NO_COLOR")!==void 0)?k.none():e("MOCK_COLOR")!==void 0?k.mock():k.tty()}computeStyledString(e,t){let r=e;if(t.case==="upper"&&(r=r.toUpperCase()),t.case==="lower"&&(r=r.toLowerCase()),c(this,I)==="none")return r;if(c(this,I)==="tty"){let o=t.fgColor?Le[t.fgColor]:"",s=t.bgColor?Ge[t.bgColor]:"",u=t.bold?Pe:"",a=t.dim?Me:"",p=t.italic?Ee:"",l=t.underline?ve:"",h=t.strikethrough?We:"";return`${o}${s}${u}${a}${p}${l}${h}${r}${Ie}`}if(c(this,I)==="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,I)}`)}computeStyledErrorMessage(e){return[this.computeStyledString("Error:",ye),e instanceof g?e.computeStyledString(this):e instanceof Error?e.message:String(e)].join(" ")}};I=new WeakMap;var O=k,Ie="\x1B[0m",Pe="\x1B[1m",Me="\x1B[2m",Ee="\x1B[3m",ve="\x1B[4m",We="\x1B[9m",Le={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"},Ge={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 Ne(n,e){return{getInformation(){return n},consumeAndMakeDecoder(t){try{let r=e.consumeAndMakeDecoder(t),o=t.consumePositional();if(o!==void 0)throw new g(new d(new i("Unexpected argument: "),new i(`"${o}"`,f)));return{generateUsage:()=>N(n,e),decodeAndMakeInterpreter(){let s=r.decodeAndMakeInterpreter();return{async executeWithContext(u){return await s.executeWithContext(u)}}}}}catch(r){return{generateUsage:()=>N(n,e),decodeAndMakeInterpreter(){throw r}}}}}}function Be(n,e,t){return{getInformation(){return n},consumeAndMakeDecoder(r){try{let o=e.consumeAndMakeDecoder(r),s=r.consumePositional();if(s===void 0)throw new g(new d(new i("<subcommand>",T),new i(": Is required, but was not provided")));let u=t[s];if(u===void 0)throw new g(new d(new i("<subcommand>",T),new i(": Invalid value: "),new i(`"${s}"`,f)));let a=u.consumeAndMakeDecoder(r);return{generateUsage(){let p=a.generateUsage(),l=N(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(h){return await l.executeWithContext(await p.executeWithContext(h))}}}}}catch(o){return{generateUsage(){let s=N(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 Ke(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=N(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=N(n,e);return s.segments.push({positional:"[REST]..."}),s},decodeAndMakeInterpreter(){throw o}}}}}}function N(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 Fe(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})}}}}}}}var fe=require("fs");function se(n){return{content:n??"boolean",decoder(e){let t=e.toLowerCase();if(je.has(t))return!0;if(Ye.has(t))return!1;throw new g(new d(new i("Not a boolean: "),new i(`"${e}"`,f)))}}}var je=new Set(["true","yes","on","1","y","t"]),Ye=new Set(["false","no","off","0","n","f"]);function qe(n){return{content:n??"datetime",decoder(e){try{let t=Date.parse(e);if(isNaN(t))throw new Error;return new Date(t)}catch{throw new g(new d(new i("Not a valid ISO_8601 datetime: "),new i(`"${e}"`,f)))}}}}function Qe(n){return{content:n??"number",decoder(e){try{let t=Number(e);if(isNaN(t))throw new Error;return t}catch{throw new g(new d(new i("Not a number: "),new i(`"${e}"`,f)))}}}}function He(n){return{content:n??"integer",decoder(e){try{return BigInt(e)}catch{throw new g(new d(new i("Not an integer: "),new i(`"${e}"`,f)))}}}}function ze(n){return{content:n??"url",decoder(e){try{return new URL(e)}catch{throw new g(new d(new i("Not an URL: "),new i(`"${e}"`,f)))}}}}function Je(n){return{content:n??"string",decoder:e=>e}}function Xe(n,e,t){return{content:n,decoder:r=>t(g.tryWithContext(()=>e.decoder(r),()=>new d(new i("from: "),new i(e.content,V))))}}function Ze(n,e){return{content:e,decoder:t=>g.tryWithContext(()=>n.decoder(t),()=>new d(new i("from: "),new i(n.content,V)))}}function _e(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=(0,fe.statSync)(t),o=r.isDirectory()?"directory":r.isFile()?"file":"unknown";if(e.checkSyncExistAs==="file"&&!r.isFile())throw new g(new d(new i(`Expected a 'file' but found '${o}': `),new i(`"${t}"`,f)));if(e.checkSyncExistAs==="directory"&&!r.isDirectory())throw new g(new d(new i(`Expected a 'directory' but found '${o}': `),new i(`"${t}"`,f)))}return t}}}function ie(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 g(new d(new i("Invalid value: "),new i(`"${s}"`,f),new i(" (expected one of: "),...p,new i(")")))}}}function et(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 g(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 g.tryWithContext(()=>u.decoder(o),()=>new d(new i(`at ${s}: `),new i(u.content,V)))})}}}function tt(n,e=","){return{content:`${n.content}[${e}${n.content}]...`,decoder(t){return t.split(e).map((o,s)=>g.tryWithContext(()=>n.decoder(o),()=>new d(new i(`at ${s}: `),new i(n.content,V))))}}}function J(n){let e=se("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=ue(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&&xe(t),l.length===0)return n.default===void 0?!1:n.default;let h=l[0],m=h.inlined===null?"true":h.inlined;return z({long:t,short:r,type:e,input:m})}}}}}function ae(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=ue(p,{long:e,short:t,aliasesLongs:s?.longs,aliasesShorts:s?.shorts,parsing:{consumeShortGroup:!0,consumeNextArg(h,m){return n.defaultWhenNotInlined!==void 0?!1:h===null&&m.length===0}}});return{getAndDecodeValue(){let h=p.getOptionValues(l);h.length>1&&xe(e);let m=h[0];if(m===void 0)try{return n.defaultWhenNotDefined()}catch($){we(e,$,"not set")}if(m.inlined){let $=m.inlined;return z({long:e,short:t,label:a,type:u,input:$})}if(n.defaultWhenNotInlined!==void 0)try{return n.defaultWhenNotInlined()}catch($){we(e,$,"not inlined")}let S=m.separated[0];return z({long:e,short:t,label:a,type:u,input:S})}}}}}function nt(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=ue(p,{long:e,short:t,aliasesLongs:s?.longs,aliasesShorts:s?.shorts,parsing:{consumeShortGroup:!0,consumeNextArg:(h,m)=>h===null&&m.length===0}});return{getAndDecodeValue(){return p.getOptionValues(l).map(m=>{let S=m.inlined??m.separated[0];return z({long:e,short:t,label:a,type:u,input:S})})}}}}}function z(n){return g.tryWithContext(()=>n.type.decoder(n.input),()=>{let e=new d;return n.short&&(e.push(new i(`-${n.short}`,R)),e.push(new i(", "))),e.push(new i(`--${n.long}`,R)),n.label?(e.push(new i(": ")),e.push(new i(n.label,T))):(e.push(new i(": ")),e.push(new i(n.type.content,V))),e})}function ue(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 xe(n){throw new g(new d(new i(`--${n}`,R),new i(": Must not be set multiple times")))}function we(n,e,t){throw new g(new d(new i(`--${n}`,R),new i(`: Failed to get default value (${t})`)),e)}function ot(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 g(new d(new i(o,T),new i(": Is required, but was not provided")));return{decodeValue(){return pe(o,n.type,u)}}}}}function rt(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{it(o)}return pe(o,n.type,u)}}}}}function st(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=>pe(o,n.type,p))}}}}}function pe(n,e,t){return g.tryWithContext(()=>e.decoder(t),()=>new d(new i(n,T)))}function it(n){throw new g(new d(new i(n,T),new i(": Failed to get default value")))}var K,v,P,W,U,F,y,X,be,le,Ce,B,Se,de,Q=class{constructor(e){b(this,y);b(this,K);b(this,v);b(this,P);b(this,W);b(this,U);b(this,F);w(this,K,e),w(this,v,0),w(this,P,!1),w(this,W,new Map),w(this,U,new Map),w(this,F,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,de).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,de).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,F).set(t,r),t}getOptionValues(e){let t=c(this,F).get(e);if(t===void 0)throw new Error(`Unregistered option: ${e}`);return t.results}consumePositional(){for(;;){let e=x(this,y,X).call(this);if(e===void 0)return;if(!x(this,y,be).call(this,e))return e}}};K=new WeakMap,v=new WeakMap,P=new WeakMap,W=new WeakMap,U=new WeakMap,F=new WeakMap,y=new WeakSet,X=function(){let e=c(this,K)[c(this,v)];if(e!==void 0)return me(this,v)._++,!c(this,P)&&e==="--"?(w(this,P,!0),x(this,y,X).call(this)):e},be=function(e){if(c(this,P))return!1;if(e.startsWith("--")){let t=e.indexOf("=");return t===-1?x(this,y,le).call(this,e.slice(2),null):x(this,y,le).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,Ce).call(this,s,o,u))return!0;t=r}r++}throw new g(new d(new i("Unexpected unknown option(s): "),new i(`-${e.slice(t)}`,f)))}return!1},le=function(e,t){let r=`--${e}`,o=c(this,W).get(e);if(o!==void 0)return x(this,y,B).call(this,o,r,t);throw new g(new d(new i("Unexpected unknown option: "),new i(r,f)))},Ce=function(e,t,r){let o=`-${t}`;return r.startsWith("=")?(x(this,y,B).call(this,e,o,r.slice(1)),!0):r.length===0?(x(this,y,B).call(this,e,o,null),!0):e.parsing.consumeShortGroup?(x(this,y,B).call(this,e,o,r),!0):(x(this,y,B).call(this,e,o,null),!1)},B=function(e,t,r){let o=new Array;for(;e.parsing.consumeNextArg(r,o,c(this,K)[c(this,v)]);)o.push(x(this,y,Se).call(this,t));e.results.push({inlined:r,separated:o})},Se=function(e){let t=x(this,y,X).call(this);if(t===void 0)throw new g(new d(new i(e,R),new i(": Requires a value, but got end of input")));if(c(this,P))throw new g(new d(new i(e,R),new i(": Requires a value before "),new i('"--"',f)));if(t.startsWith("-"))throw new g(new d(new i(e,R),new i(": Requires a value, but got: "),new i(`"${t}"`,f)));return t},de=function(e){return e.length>0&&!e.includes("=")&&!e.includes("\0")};function ge(n){let{cliName:e,usage:t,typoSupport:r}=n,o=new Array,s=new d;s.push(at("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(ut(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(Z("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(...ce(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.subcommands.length>0){o.push(""),o.push(Z("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(...ce(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.options.length>0){o.push(""),o.push(Z("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 h=new d(D(`--${p.long}`));p.label&&(h.push(C(" ")),h.push(j(p.label))),p.annotation&&h.push(Y(p.annotation)),l.push(h),l.push(...ce(p)),a.pushRow(l)}o.push(...a.computeStyledLines(r))}if(t.information.examples){o.push(""),o.push(Z("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 h of a.commandArgs)if(l.push(C(" ")),typeof h=="string")l.push(h);else if("positional"in h)l.push(j(h.positional));else if("subcommand"in h)l.push(D(h.subcommand));else if("option"in h){let m=h.option;if("short"in m?l.push(D(`-${m.short}`)):l.push(D(`--${m.long}`)),m.inlined!==void 0&&(l.push(Y("=")),l.push(j(m.inlined))),m.separated!==void 0)for(let S of m.separated)l.push(C(" ")),l.push(j(S))}o.push(l.computeStyledString(r))}}return o.push(""),o}function ce(n){let e=[];return n.description&&(e.push(C(" ")),e.push(pt(n.description))),n.hint&&(e.push(C(" ")),e.push(Y(`(${n.hint})`))),e.length>0?[new d(C(" "),...e)]:[]}function at(n){return new i(n,V)}function ut(n){return new i(n,ne)}function pt(n){return new i(n)}function Z(n){return new i(n,te)}function Y(n){return new i(n,oe)}function D(n){return new i(n,R)}function j(n){return new i(n,T)}function C(n){return new i(n)}async function lt(n,e,t,r,o){let s=new Q(e),u=new Array,a=O.none(),p=o?.colorSetup??"flag";if(p==="flag"){let m=ae({long:"color",type:ie("color-mode",["auto","always","never","mock"]),defaultWhenNotDefined:()=>"auto",defaultWhenNotInlined:()=>"always"}).registerAndMakeDecoder(s);u.push(()=>{try{a=Te(m.getAndDecodeValue())}catch(S){throw a=O.inferFromEnv(),S}})}else p==="env"?a=O.inferFromEnv():a=Te(p);if(o?.usageOnHelp??!0){let m=J({long:"help"}).registerAndMakeDecoder(s);u.push(S=>{if(m.getAndDecodeValue())return console.log(Re(n,S,a)),0})}if(o?.buildVersion){let m=J({long:"version"}).registerAndMakeDecoder(s);u.push(()=>{if(m.getAndDecodeValue())return console.log([n,o.buildVersion].join(" ")),0})}let l=r.consumeAndMakeDecoder(s);for(;;)try{if(s.consumePositional()===void 0)break}catch{}let h=o?.onExit??process.exit;try{for(let S of u){let $=S(l);if($!==void 0)return h($)}let m=l.decodeAndMakeInterpreter();try{return await m.executeWithContext(t),h(0)}catch(S){return Ae(o?.onError,S,a),h(1)}}catch(m){return(o?.usageOnError??!0)&&console.error(Re(n,l,a)),Ae(o?.onError,m,a),h(1)}}function Ae(n,e,t){n!==void 0?n(e):console.error(t.computeStyledErrorMessage(e))}function Re(n,e,t){return ge({cliName:n,usage:e.generateUsage(),typoSupport:t}).join(`
2
- `)}function Te(n){switch(n){case"auto":return O.inferFromEnv();case"always":return O.tty();case"never":return O.none();case"mock":return O.mock()}}0&&(module.exports={ReaderArgs,TypoError,TypoGrid,TypoString,TypoSupport,TypoText,command,commandChained,commandWithSubcommands,operation,optionFlag,optionRepeatable,optionSingleValue,positionalOptional,positionalRequired,positionalVariadics,runAndExit,type,typeBoolean,typeChoice,typeConverted,typeDatetime,typeInteger,typeList,typeNumber,typePath,typeRenamed,typeTuple,typeUrl,typoStyleConstants,typoStyleFailure,typoStyleLogic,typoStyleQuote,typoStyleRegularStrong,typoStyleRegularWeaker,typoStyleTitle,typoStyleUserInput,usageToStyledLines});
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 Ue(n){switch(n){case"auto":return O.inferFromEnv();case"env":return O.inferFromEnv();case"always":return O.tty();case"never":return O.none();case"mock":return O.mock()}}0&&(module.exports={ReaderArgs,TypoError,TypoGrid,TypoString,TypoSupport,TypoText,command,commandChained,commandWithSubcommands,operation,optionFlag,optionRepeatable,optionSingleValue,positionalOptional,positionalRequired,positionalVariadics,runAndExit,type,typeBoolean,typeBooleanValuesFalse,typeBooleanValuesTrue,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