@bemoje/cli 0.1.27 → 0.1.28

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.
Files changed (176) hide show
  1. package/cjs/arg/ArgumentBuilder.d.ts +23 -0
  2. package/cjs/arg/ArgumentBuilder.d.ts.map +1 -0
  3. package/cjs/arg/ArgumentBuilder.js +52 -0
  4. package/cjs/arg/ArgumentBuilder.js.map +1 -0
  5. package/cjs/arg/ArgumentParserSelector.d.ts +9 -0
  6. package/cjs/arg/ArgumentParserSelector.d.ts.map +1 -0
  7. package/cjs/arg/ArgumentParserSelector.js +15 -0
  8. package/cjs/arg/ArgumentParserSelector.js.map +1 -0
  9. package/cjs/arg/ArgumentReader.d.ts +15 -0
  10. package/cjs/arg/ArgumentReader.d.ts.map +1 -0
  11. package/cjs/arg/ArgumentReader.js +38 -0
  12. package/cjs/arg/ArgumentReader.js.map +1 -0
  13. package/cjs/arg/ArgumentValidatorSelector.d.ts +8 -0
  14. package/cjs/arg/ArgumentValidatorSelector.d.ts.map +1 -0
  15. package/cjs/arg/ArgumentValidatorSelector.js +16 -0
  16. package/cjs/arg/ArgumentValidatorSelector.js.map +1 -0
  17. package/cjs/cmd/CommandBuilder.d.ts +410 -0
  18. package/cjs/cmd/CommandBuilder.d.ts.map +1 -0
  19. package/cjs/cmd/CommandBuilder.js +1277 -0
  20. package/cjs/cmd/CommandBuilder.js.map +1 -0
  21. package/cjs/cmd/CommandBuilderMetaData.d.ts +26 -0
  22. package/cjs/cmd/CommandBuilderMetaData.d.ts.map +1 -0
  23. package/cjs/cmd/CommandBuilderMetaData.js +45 -0
  24. package/cjs/cmd/CommandBuilderMetaData.js.map +1 -0
  25. package/cjs/cmd/CommandFeatureSelector.d.ts +80 -0
  26. package/cjs/cmd/CommandFeatureSelector.d.ts.map +1 -0
  27. package/cjs/cmd/CommandFeatureSelector.js +114 -0
  28. package/cjs/cmd/CommandFeatureSelector.js.map +1 -0
  29. package/cjs/cmd/DefaultHelpConfig.d.ts +29 -0
  30. package/cjs/cmd/DefaultHelpConfig.d.ts.map +1 -0
  31. package/cjs/cmd/DefaultHelpConfig.js +177 -0
  32. package/cjs/cmd/DefaultHelpConfig.js.map +1 -0
  33. package/cjs/cmd/commanderBackRefs.d.ts +10 -0
  34. package/cjs/cmd/commanderBackRefs.d.ts.map +1 -0
  35. package/cjs/cmd/commanderBackRefs.js +38 -0
  36. package/cjs/cmd/commanderBackRefs.js.map +1 -0
  37. package/cjs/core/OutputManager.d.ts +64 -0
  38. package/cjs/core/OutputManager.d.ts.map +1 -0
  39. package/cjs/core/OutputManager.js +92 -0
  40. package/cjs/core/OutputManager.js.map +1 -0
  41. package/cjs/core/ParserSelector.d.ts +23 -0
  42. package/cjs/core/ParserSelector.d.ts.map +1 -0
  43. package/cjs/core/ParserSelector.js +46 -0
  44. package/cjs/core/ParserSelector.js.map +1 -0
  45. package/cjs/core/ValidatorSelector.d.ts +19 -0
  46. package/cjs/core/ValidatorSelector.d.ts.map +1 -0
  47. package/cjs/core/ValidatorSelector.js +42 -0
  48. package/cjs/core/ValidatorSelector.js.map +1 -0
  49. package/cjs/core/splitCombinedArgvShorts.d.ts +2 -0
  50. package/cjs/core/splitCombinedArgvShorts.d.ts.map +1 -0
  51. package/cjs/core/splitCombinedArgvShorts.js +15 -0
  52. package/cjs/core/splitCombinedArgvShorts.js.map +1 -0
  53. package/cjs/db/AbstractJsonFileSection.d.ts +136 -0
  54. package/cjs/db/AbstractJsonFileSection.d.ts.map +1 -0
  55. package/cjs/db/AbstractJsonFileSection.js +190 -0
  56. package/cjs/db/AbstractJsonFileSection.js.map +1 -0
  57. package/cjs/db/AppDataSection.d.ts +31 -0
  58. package/cjs/db/AppDataSection.d.ts.map +1 -0
  59. package/cjs/db/AppDataSection.js +49 -0
  60. package/cjs/db/AppDataSection.js.map +1 -0
  61. package/cjs/db/ConfigSection.d.ts +46 -0
  62. package/cjs/db/ConfigSection.d.ts.map +1 -0
  63. package/cjs/db/ConfigSection.js +71 -0
  64. package/cjs/db/ConfigSection.js.map +1 -0
  65. package/cjs/db/JsonFile.d.ts +36 -0
  66. package/cjs/db/JsonFile.d.ts.map +1 -0
  67. package/cjs/db/JsonFile.js +60 -0
  68. package/cjs/db/JsonFile.js.map +1 -0
  69. package/cjs/db/PresetsSection.d.ts +45 -0
  70. package/cjs/db/PresetsSection.d.ts.map +1 -0
  71. package/cjs/db/PresetsSection.js +82 -0
  72. package/cjs/db/PresetsSection.js.map +1 -0
  73. package/cjs/index.d.ts +25 -1
  74. package/cjs/index.d.ts.map +1 -1
  75. package/cjs/index.js +26 -3
  76. package/cjs/index.js.map +1 -1
  77. package/cjs/opt/OptionArgumentParserSelector.d.ts +8 -0
  78. package/cjs/opt/OptionArgumentParserSelector.d.ts.map +1 -0
  79. package/cjs/opt/OptionArgumentParserSelector.js +16 -0
  80. package/cjs/opt/OptionArgumentParserSelector.js.map +1 -0
  81. package/cjs/opt/OptionArgumentValidatorSelector.d.ts +8 -0
  82. package/cjs/opt/OptionArgumentValidatorSelector.d.ts.map +1 -0
  83. package/cjs/opt/OptionArgumentValidatorSelector.js +19 -0
  84. package/cjs/opt/OptionArgumentValidatorSelector.js.map +1 -0
  85. package/cjs/opt/OptionBuilder.d.ts +32 -0
  86. package/cjs/opt/OptionBuilder.d.ts.map +1 -0
  87. package/cjs/opt/OptionBuilder.js +97 -0
  88. package/cjs/opt/OptionBuilder.js.map +1 -0
  89. package/cjs/opt/OptionHelpers.d.ts +33 -0
  90. package/cjs/opt/OptionHelpers.d.ts.map +1 -0
  91. package/cjs/opt/OptionHelpers.js +57 -0
  92. package/cjs/opt/OptionHelpers.js.map +1 -0
  93. package/cjs/opt/OptionReader.d.ts +24 -0
  94. package/cjs/opt/OptionReader.d.ts.map +1 -0
  95. package/cjs/opt/OptionReader.js +66 -0
  96. package/cjs/opt/OptionReader.js.map +1 -0
  97. package/cjs/types/IConfig.d.ts +22 -0
  98. package/cjs/types/IConfig.d.ts.map +1 -0
  99. package/cjs/{lib/types.js → types/IConfig.js} +1 -1
  100. package/cjs/types/IConfig.js.map +1 -0
  101. package/cjs/types/IPreset.d.ts +15 -0
  102. package/cjs/types/IPreset.d.ts.map +1 -0
  103. package/cjs/types/IPreset.js +3 -0
  104. package/cjs/types/IPreset.js.map +1 -0
  105. package/package.json +1 -1
  106. package/cjs/lib/autostudy.d.ts +0 -2
  107. package/cjs/lib/autostudy.d.ts.map +0 -1
  108. package/cjs/lib/autostudy.js +0 -33
  109. package/cjs/lib/autostudy.js.map +0 -1
  110. package/cjs/lib/core/assertValidOptions.d.ts +0 -3
  111. package/cjs/lib/core/assertValidOptions.d.ts.map +0 -1
  112. package/cjs/lib/core/assertValidOptions.js +0 -32
  113. package/cjs/lib/core/assertValidOptions.js.map +0 -1
  114. package/cjs/lib/core/defaultParams.d.ts +0 -4
  115. package/cjs/lib/core/defaultParams.d.ts.map +0 -1
  116. package/cjs/lib/core/defaultParams.js +0 -18
  117. package/cjs/lib/core/defaultParams.js.map +0 -1
  118. package/cjs/lib/core/ensureEnglish.d.ts +0 -3
  119. package/cjs/lib/core/ensureEnglish.d.ts.map +0 -1
  120. package/cjs/lib/core/ensureEnglish.js +0 -15
  121. package/cjs/lib/core/ensureEnglish.js.map +0 -1
  122. package/cjs/lib/core/pdfParser.d.ts +0 -2
  123. package/cjs/lib/core/pdfParser.d.ts.map +0 -1
  124. package/cjs/lib/core/pdfParser.js +0 -19
  125. package/cjs/lib/core/pdfParser.js.map +0 -1
  126. package/cjs/lib/core/renderMarkdown.d.ts +0 -3
  127. package/cjs/lib/core/renderMarkdown.d.ts.map +0 -1
  128. package/cjs/lib/core/renderMarkdown.js +0 -32
  129. package/cjs/lib/core/renderMarkdown.js.map +0 -1
  130. package/cjs/lib/core/study.d.ts +0 -7
  131. package/cjs/lib/core/study.d.ts.map +0 -1
  132. package/cjs/lib/core/study.js +0 -33
  133. package/cjs/lib/core/study.js.map +0 -1
  134. package/cjs/lib/core/studySelections.d.ts +0 -7
  135. package/cjs/lib/core/studySelections.d.ts.map +0 -1
  136. package/cjs/lib/core/studySelections.js +0 -30
  137. package/cjs/lib/core/studySelections.js.map +0 -1
  138. package/cjs/lib/core/writeMarkdownFileResult.d.ts +0 -6
  139. package/cjs/lib/core/writeMarkdownFileResult.d.ts.map +0 -1
  140. package/cjs/lib/core/writeMarkdownFileResult.js +0 -22
  141. package/cjs/lib/core/writeMarkdownFileResult.js.map +0 -1
  142. package/cjs/lib/gpt/determineLanguage.d.ts +0 -3
  143. package/cjs/lib/gpt/determineLanguage.d.ts.map +0 -1
  144. package/cjs/lib/gpt/determineLanguage.js +0 -16
  145. package/cjs/lib/gpt/determineLanguage.js.map +0 -1
  146. package/cjs/lib/gpt/getAnswer.d.ts +0 -4
  147. package/cjs/lib/gpt/getAnswer.d.ts.map +0 -1
  148. package/cjs/lib/gpt/getAnswer.js +0 -17
  149. package/cjs/lib/gpt/getAnswer.js.map +0 -1
  150. package/cjs/lib/gpt/getConcepts.d.ts +0 -4
  151. package/cjs/lib/gpt/getConcepts.d.ts.map +0 -1
  152. package/cjs/lib/gpt/getConcepts.js +0 -17
  153. package/cjs/lib/gpt/getConcepts.js.map +0 -1
  154. package/cjs/lib/gpt/getSummary.d.ts +0 -4
  155. package/cjs/lib/gpt/getSummary.d.ts.map +0 -1
  156. package/cjs/lib/gpt/getSummary.js +0 -17
  157. package/cjs/lib/gpt/getSummary.js.map +0 -1
  158. package/cjs/lib/gpt/translateDaToEn.d.ts +0 -3
  159. package/cjs/lib/gpt/translateDaToEn.d.ts.map +0 -1
  160. package/cjs/lib/gpt/translateDaToEn.js +0 -14
  161. package/cjs/lib/gpt/translateDaToEn.js.map +0 -1
  162. package/cjs/lib/main.d.ts +0 -2
  163. package/cjs/lib/main.d.ts.map +0 -1
  164. package/cjs/lib/main.js +0 -9
  165. package/cjs/lib/main.js.map +0 -1
  166. package/cjs/lib/templates/getArticleConfigTemplate.d.ts +0 -3
  167. package/cjs/lib/templates/getArticleConfigTemplate.d.ts.map +0 -1
  168. package/cjs/lib/templates/getArticleConfigTemplate.js +0 -28
  169. package/cjs/lib/templates/getArticleConfigTemplate.js.map +0 -1
  170. package/cjs/lib/templates/getBookConfigTemplate.d.ts +0 -3
  171. package/cjs/lib/templates/getBookConfigTemplate.d.ts.map +0 -1
  172. package/cjs/lib/templates/getBookConfigTemplate.js +0 -35
  173. package/cjs/lib/templates/getBookConfigTemplate.js.map +0 -1
  174. package/cjs/lib/types.d.ts +0 -37
  175. package/cjs/lib/types.d.ts.map +0 -1
  176. package/cjs/lib/types.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { Argument } from '@commander-js/extra-typings';
2
+ import { ArgumentParserSelector } from './ArgumentParserSelector';
3
+ import { ArgumentReader } from './ArgumentReader';
4
+ import { ArgumentValidatorSelector } from './ArgumentValidatorSelector';
5
+ import { CommandBuilder } from '../cmd/CommandBuilder';
6
+ /**
7
+ * Wrapper around the @see Argument class from 'commander'.
8
+ */
9
+ export declare class ArgumentBuilder {
10
+ readonly cmd: CommandBuilder;
11
+ readonly $: Argument;
12
+ readonly index: number;
13
+ constructor(cmd: CommandBuilder, name: string);
14
+ get hasValidators(): boolean;
15
+ get hasParser(): boolean;
16
+ description(...lines: string[]): this;
17
+ default(value: unknown, description?: string): this;
18
+ choices(values: readonly string[]): this;
19
+ get parser(): ArgumentParserSelector;
20
+ get validator(): ArgumentValidatorSelector;
21
+ get get(): ArgumentReader;
22
+ }
23
+ //# sourceMappingURL=ArgumentBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentBuilder.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;GAEG;AACH,qBAAa,eAAe;IAId,QAAQ,CAAC,GAAG,EAAE,cAAc;IAHxC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;gBAED,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;IAOtD,IAAI,aAAa,YAEhB;IAED,IAAI,SAAS,YAEZ;IAED,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAK9B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;IAK5C,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAKjC,IAAI,MAAM,2BAET;IAED,IAAI,SAAS,8BAEZ;IAED,IAAI,GAAG,mBAEN;CACF"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgumentBuilder = void 0;
4
+ const extra_typings_1 = require("@commander-js/extra-typings");
5
+ const ArgumentParserSelector_1 = require("./ArgumentParserSelector");
6
+ const ArgumentReader_1 = require("./ArgumentReader");
7
+ const ArgumentValidatorSelector_1 = require("./ArgumentValidatorSelector");
8
+ const object_1 = require("@bemoje/object");
9
+ /**
10
+ * Wrapper around the @see Argument class from 'commander'.
11
+ */
12
+ class ArgumentBuilder {
13
+ cmd;
14
+ $;
15
+ index;
16
+ constructor(cmd, name) {
17
+ this.cmd = cmd;
18
+ this.$ = new extra_typings_1.Argument(name);
19
+ this.index = cmd.meta.argValidators.length;
20
+ cmd.meta.argValidators[this.index] = [];
21
+ this.cmd.meta.argBuilders.push(this);
22
+ }
23
+ get hasValidators() {
24
+ return this.cmd.meta.argValidators[this.index].length > 0;
25
+ }
26
+ get hasParser() {
27
+ return this.cmd.meta.argParsers[this.index] !== undefined;
28
+ }
29
+ description(...lines) {
30
+ this.$.description = lines.join('\n');
31
+ return this;
32
+ }
33
+ default(value, description) {
34
+ this.$.default(value, description);
35
+ return this;
36
+ }
37
+ choices(values) {
38
+ this.$.choices(values);
39
+ return this;
40
+ }
41
+ get parser() {
42
+ return new ArgumentParserSelector_1.ArgumentParserSelector(this);
43
+ }
44
+ get validator() {
45
+ return new ArgumentValidatorSelector_1.ArgumentValidatorSelector(this);
46
+ }
47
+ get get() {
48
+ return (0, object_1.realizeLazyProperty)(this, 'get', new ArgumentReader_1.ArgumentReader(this));
49
+ }
50
+ }
51
+ exports.ArgumentBuilder = ArgumentBuilder;
52
+ //# sourceMappingURL=ArgumentBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentBuilder.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAAsD;AACtD,qEAAiE;AACjE,qDAAiD;AACjD,2EAAuE;AAEvE,2CAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IAIL;IAHZ,CAAC,CAAU;IACX,KAAK,CAAQ;IAEtB,YAAqB,GAAmB,EAAE,IAAY;QAAjC,QAAG,GAAH,GAAG,CAAgB;QACtC,IAAI,CAAC,CAAC,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QAC1C,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;IAC3D,CAAC;IAED,WAAW,CAAC,GAAG,KAAe;QAC5B,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,KAAc,EAAE,WAAoB;QAC1C,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAyB;QAC/B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,qDAAyB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAA,4BAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,CAAC;CACF;AA7CD,0CA6CC"}
@@ -0,0 +1,9 @@
1
+ import { ArgumentBuilder } from './ArgumentBuilder';
2
+ import { JsonValue } from '@bemoje/types';
3
+ import { ParserSelector } from '../core/ParserSelector';
4
+ import { TStringParser } from '@bemoje/types';
5
+ export declare class ArgumentParserSelector extends ParserSelector<ArgumentBuilder> {
6
+ constructor(builder: ArgumentBuilder);
7
+ custom<T extends JsonValue>(parser: TStringParser<T>): ArgumentBuilder;
8
+ }
9
+ //# sourceMappingURL=ArgumentParserSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentParserSelector.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentParserSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,qBAAa,sBAAuB,SAAQ,cAAc,CAAC,eAAe,CAAC;gBAC7D,OAAO,EAAE,eAAe;IAGpC,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CAIrD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgumentParserSelector = void 0;
4
+ const ParserSelector_1 = require("../core/ParserSelector");
5
+ class ArgumentParserSelector extends ParserSelector_1.ParserSelector {
6
+ constructor(builder) {
7
+ super(builder);
8
+ }
9
+ custom(parser) {
10
+ this.builder.cmd.meta.argParsers[this.builder.index] = parser;
11
+ return this.builder;
12
+ }
13
+ }
14
+ exports.ArgumentParserSelector = ArgumentParserSelector;
15
+ //# sourceMappingURL=ArgumentParserSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentParserSelector.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentParserSelector.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAGvD,MAAa,sBAAuB,SAAQ,+BAA+B;IACzE,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,CAAsB,MAAwB;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AARD,wDAQC"}
@@ -0,0 +1,15 @@
1
+ import { ArgumentBuilder } from './ArgumentBuilder';
2
+ export declare class ArgumentReader {
3
+ protected readonly parent: ArgumentBuilder;
4
+ constructor(parent: ArgumentBuilder);
5
+ get $(): import("@commander-js/extra-typings").Argument<"", undefined, undefined, undefined, undefined>;
6
+ get argument(): import("@commander-js/extra-typings").Argument<"", undefined, undefined, undefined, undefined>;
7
+ get name(): string;
8
+ get choices(): string[];
9
+ get default(): any;
10
+ get description(): string;
11
+ get variadic(): boolean;
12
+ get required(): boolean;
13
+ get optional(): boolean;
14
+ }
15
+ //# sourceMappingURL=ArgumentReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentReader.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,qBAAa,cAAc;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;IAEtD,IAAI,CAAC,mGAEJ;IACD,IAAI,QAAQ,mGAEX;IACD,IAAI,IAAI,WAEP;IACD,IAAI,OAAO,aAEV;IACD,IAAI,OAAO,QAEV;IACD,IAAI,WAAW,WAEd;IACD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,YAEX;CACF"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgumentReader = void 0;
4
+ class ArgumentReader {
5
+ parent;
6
+ constructor(parent) {
7
+ this.parent = parent;
8
+ }
9
+ get $() {
10
+ return this.parent.$;
11
+ }
12
+ get argument() {
13
+ return this.$;
14
+ }
15
+ get name() {
16
+ return this.$.name();
17
+ }
18
+ get choices() {
19
+ return this.$.argChoices;
20
+ }
21
+ get default() {
22
+ return this.$.defaultValue;
23
+ }
24
+ get description() {
25
+ return this.$.description;
26
+ }
27
+ get variadic() {
28
+ return this.$.variadic;
29
+ }
30
+ get required() {
31
+ return this.$.required;
32
+ }
33
+ get optional() {
34
+ return !this.$.required;
35
+ }
36
+ }
37
+ exports.ArgumentReader = ArgumentReader;
38
+ //# sourceMappingURL=ArgumentReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentReader.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentReader.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACM;IAA/B,YAA+B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAA;IACf,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;IAC1B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAA;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAA;IAC3B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF;AA9BD,wCA8BC"}
@@ -0,0 +1,8 @@
1
+ import { ArgumentBuilder } from './ArgumentBuilder';
2
+ import { TValidator } from '@bemoje/types';
3
+ import { ValidatorSelector } from '../core/ValidatorSelector';
4
+ export declare class ArgumentValidatorSelector extends ValidatorSelector<ArgumentBuilder> {
5
+ constructor(builder: ArgumentBuilder);
6
+ custom<T>(validator: TValidator<T>): ArgumentBuilder;
7
+ }
8
+ //# sourceMappingURL=ArgumentValidatorSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentValidatorSelector.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentValidatorSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,yBAA0B,SAAQ,iBAAiB,CAAC,eAAe,CAAC;gBACnE,OAAO,EAAE,eAAe;IAGpC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;CAInC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgumentValidatorSelector = void 0;
4
+ const array_1 = require("@bemoje/array");
5
+ const ValidatorSelector_1 = require("../core/ValidatorSelector");
6
+ class ArgumentValidatorSelector extends ValidatorSelector_1.ValidatorSelector {
7
+ constructor(builder) {
8
+ super(builder);
9
+ }
10
+ custom(validator) {
11
+ (0, array_1.arrLast)(this.builder.cmd.meta.argValidators).push(validator);
12
+ return this.builder;
13
+ }
14
+ }
15
+ exports.ArgumentValidatorSelector = ArgumentValidatorSelector;
16
+ //# sourceMappingURL=ArgumentValidatorSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentValidatorSelector.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentValidatorSelector.ts"],"names":[],"mappings":";;;AACA,yCAAuC;AAEvC,iEAA6D;AAE7D,MAAa,yBAA0B,SAAQ,qCAAkC;IAC/E,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,CAAI,SAAwB;QAChC,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AARD,8DAQC"}
@@ -0,0 +1,410 @@
1
+ import { Any } from '@bemoje/types';
2
+ import { Argument, Command, CommanderError } from '@commander-js/extra-typings';
3
+ import { ArgumentBuilder } from '../arg/ArgumentBuilder';
4
+ import { CommandBuilderMetaData } from './CommandBuilderMetaData';
5
+ import { CommandFeatureSelector } from './CommandFeatureSelector';
6
+ import { CommandUnknownOpts, ErrorOptions, HelpConfiguration } from '@commander-js/extra-typings';
7
+ import { HookEvent, OptionValues, OptionValueSource } from '@commander-js/extra-typings';
8
+ import { IConfig } from '../types/IConfig';
9
+ import { Option, ParseOptions } from '@commander-js/extra-typings';
10
+ import { IPreset, IPresetPartial } from '../types/IPreset';
11
+ import { JsonFile } from '../db/JsonFile';
12
+ import { JsonValue } from '@bemoje/types';
13
+ import { OptionBuilder } from '../opt/OptionBuilder';
14
+ /**
15
+ * Wrapper around the @see Command class, for more intuitive construction.
16
+ */
17
+ export declare class CommandBuilder<Args extends Any[] = unknown[], Opts extends OptionValues = OptionValues> {
18
+ static dataDirectory: string;
19
+ protected readonly features: CommandFeatureSelector;
20
+ parent: CommandBuilder | null;
21
+ readonly $: Command;
22
+ readonly meta: CommandBuilderMetaData;
23
+ get db(): JsonFile;
24
+ constructor(name: string, callback?: (this: CommandBuilder<Args, Opts>, cmd: CommandBuilder<Args, Opts>) => void, parent?: CommandBuilder, isNative?: boolean, isDefault?: boolean);
25
+ setRecommended(): void;
26
+ setName(name: string): this;
27
+ deleteDataFile(): void;
28
+ /**
29
+ * Set the program version to `str`.
30
+ *
31
+ * This method auto-registers the "-V, --version" flag
32
+ * which will print the version number when passed.
33
+ *
34
+ * You can optionally supply the flags and description to override the defaults.
35
+ */
36
+ version(string: string): this;
37
+ /**
38
+ * Set the description. If more than one sentence or string is given,
39
+ * then the first will be used as summary and the whole text as description.
40
+ * @param lines - description lines
41
+ */
42
+ description(...lines: string[]): this;
43
+ /**
44
+ * Set an alias for the command.
45
+ * You may call more than once to add multiple aliases.
46
+ * Only the first alias is shown in the auto-generated help.
47
+ */
48
+ alias(alias: string): this;
49
+ /**
50
+ * Set aliases for the command. This overwrites all previously set aliases.
51
+ * Only the first alias is shown in the auto-generated help.
52
+ */
53
+ aliases(...aliases: string[]): this;
54
+ /**
55
+ * Set the command usage.
56
+ */
57
+ usage(str: string): this;
58
+ enableBuiltinOptions(options?: {
59
+ debug?: boolean;
60
+ noColor?: boolean;
61
+ noStderr?: boolean;
62
+ noStdout?: boolean;
63
+ }): this;
64
+ /**
65
+ * Create a new argument.
66
+ * @param name - argument name
67
+ * @param description - describe the argument
68
+ * @param callback - callback to configure the argument
69
+ */
70
+ argument(name: string, description: string, callback: (opt: ArgumentBuilder, cmd: this) => void): this;
71
+ argument(name: string, description?: string): this;
72
+ argument(name: string, callback: (opt: ArgumentBuilder, cmd: this) => void): this;
73
+ /**
74
+ * Define option with `flags`, `description`, and optional argument parsing function or `defaultValue` or both.
75
+ * The `flags` string contains the short and/or long flags, separated by comma, a pipe or space. A required
76
+ * option-argument is indicated by `<>` and an optional option-argument by `[]`.
77
+ * @param flags - option flags
78
+ * @param description - describe the option
79
+ * @param callback - callback to configure the option
80
+ * @example ```js
81
+ * program
82
+ * .option('-p, --pepper', 'add pepper')
83
+ * .option('-p, --pizza-type <TYPE>', 'type of pizza') // required argument
84
+ * .option('-c, --cheese [CHEESE]', 'add extra cheese') // optional
85
+ * ```
86
+ */
87
+ option(flags: string, description: string, callback: (opt: OptionBuilder, cmd: this) => void): this;
88
+ option(flags: string, description?: string): this;
89
+ option(flags: string, callback?: (opt: OptionBuilder, cmd: this) => void): this;
90
+ /**
91
+ * The same as .option() except that the option will be inherited by subcommands.
92
+ */
93
+ globalOption(flags: string, description: string, callback: (opt: OptionBuilder, cmd: this) => void): this;
94
+ globalOption(flags: string, description?: string): this;
95
+ globalOption(flags: string, callback?: (opt: OptionBuilder, cmd: this) => void): this;
96
+ /**
97
+ * Create a subcommand.
98
+ * @param flags - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`
99
+ * @param description - describe the command
100
+ * @param callback - callback to configure the command
101
+ */
102
+ command<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, description: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
103
+ command<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
104
+ /**
105
+ * Create the default subcommand.
106
+ * @param flags - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`
107
+ * @param description - describe the command
108
+ * @param callback - callback to configure the command
109
+ */
110
+ defaultCommand<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, description: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
111
+ defaultCommand<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
112
+ /**
113
+ * Create a native subcommand.
114
+ * @param flags - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`
115
+ * @param description - describe the command
116
+ * @param callback - callback to configure the command
117
+ */
118
+ nativeCommand<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, description: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
119
+ nativeCommand<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, callback: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): this;
120
+ protected handleCommandArgs(args: Any[]): any[];
121
+ /**
122
+ * Register callback function for the command to execute when invoked.
123
+ */
124
+ action(fn: (...args: any[]) => void | Promise<void>): this;
125
+ usageExamples(...examples: {
126
+ command: string;
127
+ description?: string;
128
+ }[]): this;
129
+ errorHandler(fn: (this: Command, error: unknown, cmd: CommandBuilder<Args, Opts>) => void): this;
130
+ appData(key: string, value: JsonValue): this;
131
+ config(key: string, entry: IConfig<JsonValue>): this;
132
+ preset(name: string, preset: IPresetPartial): this;
133
+ presetsEnabled(boolean?: boolean): this;
134
+ autoAssignOptionFlags(boolean?: boolean): this;
135
+ autoAssignAlias(boolean?: boolean): this;
136
+ /**
137
+ * Allow excess command-arguments on the command line. Pass false to make excess arguments an error.
138
+ *
139
+ * @returns `this` command for chaining
140
+ */
141
+ allowExcessArguments(bool?: boolean): this;
142
+ /**
143
+ * Allow unknown options on the command line.
144
+ *
145
+ * @returns `this` command for chaining
146
+ */
147
+ allowUnknownOption(bool?: boolean): this;
148
+ /**
149
+ * Enable positional options. Positional means global options are specified before subcommands which lets
150
+ * subcommands reuse the same option names, and also enables subcommands to turn on passThroughOptions.
151
+ *
152
+ * The default behaviour is non-positional and global options may appear anywhere on the command line.
153
+ *
154
+ * @returns `this` command for chaining
155
+ */
156
+ enablePositionalOptions(positional?: boolean): this;
157
+ /**
158
+ * Pass through options that come after command-arguments rather than treat them as command-options,
159
+ * so actual command-options come before command-arguments. Turning this on for a subcommand requires
160
+ * positional options to have been enabled on the program (parent commands).
161
+ *
162
+ * The default behaviour is non-positional and options may appear before or after command-arguments.
163
+ *
164
+ * @returns `this` command for chaining
165
+ */
166
+ passThroughOptions(passThrough?: boolean): this;
167
+ /**
168
+ * Register callback to use as replacement for calling process.exit.
169
+ */
170
+ exitOverride(callback?: (err: CommanderError) => never | void): this;
171
+ /**
172
+ * Add hook for life cycle event.
173
+ */
174
+ hook(event: HookEvent, listener: (thisCommand: CommandUnknownOpts, actionCommand: CommandUnknownOpts) => void | Promise<void>): this;
175
+ /**
176
+ * You can customise the help by overriding Help properties using configureHelp(),
177
+ * or with a subclass of Help by overriding createHelp().
178
+ */
179
+ configureHelp(configuration: HelpConfiguration): this;
180
+ /**
181
+ * Display the help or a custom message after an error occurs.
182
+ */
183
+ showHelpAfterError(displayHelp?: boolean | string): this;
184
+ /**
185
+ * Display suggestion of similar commands for unknown commands, or options for unknown options.
186
+ */
187
+ showSuggestionAfterError(displaySuggestion?: boolean): this;
188
+ /**
189
+ * Override default decision whether to add implicit help command.
190
+ * @example ```
191
+ * addHelpCommand() // force on
192
+ * addHelpCommand(false); // force off
193
+ * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details
194
+ * ```
195
+ * @returns `this` command for chaining
196
+ */
197
+ addHelpCommand(enableOrNameAndArgs?: string | boolean, description?: string): this;
198
+ /**
199
+ * Add additional text to be displayed with the built-in help.
200
+ *
201
+ * Position is 'before' or 'after' to affect just this command,
202
+ * and 'beforeAll' or 'afterAll' to affect this command and all its subcommands.
203
+ */
204
+ addHelpText(title: string, ...lines: string[]): this;
205
+ /**
206
+ * Set the order in which the help sections are displayed.
207
+ * Subcommands inherit this order.
208
+ * Defaults to: Usage, Version, Description, Commands, Arguments, Options, Global Options, Presets, Usage Examples
209
+ */
210
+ helpSectionOrdering(headers: string[]): this;
211
+ throwCommanderError(message: string, exitCode?: number, type?: string): never;
212
+ hideGlobalOptions(...names: string[]): this;
213
+ unhideGlobalOptions(...names: string[]): this;
214
+ /**
215
+ * Set the directory for searching for executable subcommands of this command.
216
+ */
217
+ executableDir(path: string): this;
218
+ /**
219
+ * Store option value.
220
+ */
221
+ setOptionValue(key: string, value: unknown): this;
222
+ /**
223
+ * Store option value and where the value came from.
224
+ */
225
+ setOptionValueWithSource(key: string, value: unknown, source: OptionValueSource): this;
226
+ setDataFilepath(filepath: string): void;
227
+ /**
228
+ * Display error message and exit (or call exitOverride).
229
+ */
230
+ outputError(message: string, options?: ErrorOptions): void;
231
+ /**
232
+ * Output help information for this command.
233
+ */
234
+ outputHelp(): void;
235
+ /**
236
+ * Display error message and exit (or call exitOverride).
237
+ */
238
+ outputDebugMessage(event: string, getProps?: () => Record<string, unknown>): void;
239
+ parseArguments(args: string[]): any[];
240
+ /**
241
+ * Parses (and validates) options using the parsers defined in the command builder.
242
+ */
243
+ parseOptions(opts: OptionValues): OptionValues;
244
+ /**
245
+ * Validate ALREADY PARSED args using the validators defined in the command builder.
246
+ */
247
+ assertValidArguments(parsedArgs: Any[]): any[];
248
+ /**
249
+ * Validate ALREADY PARSED options using the validators defined in the command builder.
250
+ */
251
+ assertValidOptions(parsedOptions: OptionValues): OptionValues;
252
+ assertValidPreset(key: string, preset: IPreset): void;
253
+ throwRatherThanExitProcess(): void;
254
+ get name(): string;
255
+ /**
256
+ * Get the command at the root of the command tree.
257
+ */
258
+ get root(): CommandBuilder;
259
+ get isRoot(): boolean;
260
+ get arguments(): readonly Argument<"", undefined, undefined, undefined, undefined>[];
261
+ get options(): readonly Option<"", undefined, undefined, undefined, false, undefined>[];
262
+ get commander(): Command<[], {}>;
263
+ get hasGrandChildren(): boolean;
264
+ /**
265
+ * Returns whether a command's last argument is variadic.
266
+ */
267
+ get isLastArgVariadic(): boolean;
268
+ get jsonFilepath(): string;
269
+ /**
270
+ * Get the executable search directory.
271
+ */
272
+ getExecutableDir(): string | null;
273
+ /**
274
+ * Retrieve option value.
275
+ */
276
+ getOptionValue(key: string): Any;
277
+ /**
278
+ * Get source of option value.
279
+ */
280
+ getOptionValueSource(key: string): OptionValueSource | undefined;
281
+ /**
282
+ * Get source of option value. See also .optsWithGlobals().
283
+ */
284
+ getOptionValueSourceWithGlobals(key: string): OptionValueSource | undefined;
285
+ getActionHandler(): (this: CommandBuilder<unknown[], OptionValues>, ...args: any[]) => void | Promise<void>;
286
+ getDescription(): string;
287
+ getSummary(): string;
288
+ getVersion(): string;
289
+ getAlias(): string;
290
+ getAliases(): string[];
291
+ /**
292
+ * Get a commands prefix array based on all its parent/ancestor commands.
293
+ */
294
+ getPrefixArray(): string[];
295
+ /**
296
+ * Get a commands prefix string based on all its parent/ancestor commands.
297
+ */
298
+ getPrefixString(): string;
299
+ getGlobalOptions(): Option[];
300
+ getOwnAndGlobalOptions(): Option[];
301
+ getChildrenIterator(options?: {
302
+ inclusive?: boolean;
303
+ }): Generator<CommandBuilder>;
304
+ getChildren(options?: {
305
+ inclusive?: boolean;
306
+ }): CommandBuilder<unknown[], OptionValues>[];
307
+ getAncestorsIterator(options?: {
308
+ inclusive?: boolean;
309
+ }): Generator<CommandBuilder>;
310
+ /**
311
+ * Get a command's ancestors, optionally starting from the command itself.
312
+ */
313
+ getAncestors(options?: {
314
+ inclusive?: boolean;
315
+ }): CommandBuilder[];
316
+ getSiblingsIterator(): Generator<CommandBuilder<unknown[], OptionValues>, void, unknown>;
317
+ /**
318
+ * Returns an array of sibling CommandBuilder objects.
319
+ */
320
+ getSiblings(): CommandBuilder<unknown[], OptionValues>[];
321
+ /**
322
+ * Render the help string for the command.
323
+ */
324
+ getHelpInformation(): string;
325
+ getOptsWithGlobals(): Record<string, any>;
326
+ /**
327
+ * Parse `argv`, setting options and invoking commands when defined.
328
+ *
329
+ * The default expectation is that the arguments are from node and have the application as argv[0]
330
+ * and the script being run in argv[1], with user parameters after that.
331
+ *
332
+ * @example
333
+ * ```
334
+ * program.parse(process.argv);
335
+ * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions
336
+ * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]
337
+ * ```
338
+ *
339
+ * @returns `this` command for chaining
340
+ */
341
+ parse(argv?: readonly string[], options?: ParseOptions): this;
342
+ /**
343
+ * Parse `argv`, setting options and invoking commands when defined.
344
+ *
345
+ * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise.
346
+ *
347
+ * The default expectation is that the arguments are from node and have the application as argv[0]
348
+ * and the script being run in argv[1], with user parameters after that.
349
+ *
350
+ * @example
351
+ * ```
352
+ * program.parseAsync(process.argv);
353
+ * program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions
354
+ * program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]
355
+ * ```
356
+ *
357
+ * @returns Promise
358
+ */
359
+ parseAsync(argv?: readonly string[], options?: ParseOptions): Promise<this>;
360
+ execute(argv?: readonly string[], options?: ParseOptions): this | Promise<this>;
361
+ protected getParsedValidArgsOptsWithPresets(): [Any[], OptionValues];
362
+ protected getParsedValidArgsWithPresets(presetArgs: Any[][]): any[];
363
+ protected getParsedValidOptsWithPresets(presetOpts: OptionValues[]): Record<string, any>;
364
+ protected getPresetArgsAndOpts(): [presetArgs: string[][], presetOpts: OptionValues[], presetOrder: string[]];
365
+ protected combineVariadicArgs(result: Any[]): any[];
366
+ protected debugLogArgsOpts(args: Any[], opts: OptionValues, presetArgs: string[][], presetOpts: OptionValues[], presetOrder: string[]): void;
367
+ hideOptionsWithDefaultOrNoValue(opts: OptionValues, options?: {
368
+ defaults?: boolean;
369
+ undefined?: boolean;
370
+ invalid?: boolean;
371
+ }): OptionValues;
372
+ protected handleOutputOptions(): void;
373
+ protected padArgsWithUndefinedUntilExpectedLength(args: Any[]): any[];
374
+ protected assertPresetArgsOptional(args: Any[]): void;
375
+ protected addUtilCommands(): void;
376
+ /**
377
+ * Makes aliases for the command.
378
+ * The idea is to be able to navigate the command tree by only typing the first letter(s) of the command names.
379
+ *
380
+ * Example: A command 'cola' would get these aliases: ['c', 'co', 'col'].
381
+ * However, if there are namespace clashes with sibling subcommands that start with the same letter,
382
+ * eg. like 'cola' and 'coal' where the first two letters clash, cola's aliases are reduced to only ['col'] and similarly for 'coal'.
383
+ *
384
+ * This method creates the aliases, ensuring there are no clashes with sublings, why it is important that the
385
+ * entire command tree is built before invoking this method.
386
+ */
387
+ assignAlias(): this;
388
+ /**
389
+ * Automatically set 'short' and 'long' names to options that don't have one assigned yet.
390
+ *
391
+ * First, it tries to assign a short name based on the first letter of the option's attribute name
392
+ * Both lower and upper case are tried. If these is not available, the next letter of the option name is tried.
393
+ *
394
+ * If none of the letters of the option name are available, the option is skipped until all other
395
+ * options have had letters from their names attempted assigned.
396
+ * Those that remain are assigned the first available letter of the alphabet + 0-9.
397
+ * If there are 64 options for the command and no more alphanumeric characters are available,
398
+ * the option is not assigned a short name.
399
+ */
400
+ assignOptionFlags(): void;
401
+ protected assertNoDuplicateCommandNames(): void;
402
+ protected hasIdenticalParentOption(option: Option): boolean;
403
+ protected assertNoDuplicateOptionNames(): void;
404
+ protected initializeActionWrapper(isAsync?: boolean): void;
405
+ protected initializeHelp(): void;
406
+ protected inheritParentHiddenGlobals(): void;
407
+ protected assertCommandNameNotReserved(name: string): void;
408
+ }
409
+ export declare function CLI<A extends Any[] = unknown[], O extends OptionValues = OptionValues>(name: string, cb: (this: CommandBuilder<A, O>, cmd: CommandBuilder<A, O>) => void): CommandBuilder<A, O>;
410
+ //# sourceMappingURL=CommandBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandBuilder.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/cmd/CommandBuilder.ts"],"names":[],"mappings":"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"}