@bemoje/cli 0.0.10 → 0.0.12

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 (245) hide show
  1. package/cjs/arg/ArgumentBuilder.js +15 -0
  2. package/cjs/arg/ArgumentBuilder.js.map +1 -1
  3. package/cjs/cmd/CommandBuilder.js +191 -70
  4. package/cjs/cmd/CommandBuilder.js.map +1 -1
  5. package/cjs/cmd/CommandBuilderMetaData.js +1 -0
  6. package/cjs/cmd/CommandBuilderMetaData.js.map +1 -1
  7. package/cjs/cmd/DefaultHelpConfig.js +1 -0
  8. package/cjs/cmd/DefaultHelpConfig.js.map +1 -1
  9. package/cjs/db/JsonFile.js +1 -1
  10. package/cjs/index.js +28 -0
  11. package/cjs/index.js.map +1 -1
  12. package/cjs/opt/OptionBuilder.js +6 -0
  13. package/cjs/opt/OptionBuilder.js.map +1 -1
  14. package/cjs/prompt/additions/commandSearchPrompt/commandSearchPrompt.js +39 -0
  15. package/cjs/prompt/additions/commandSearchPrompt/commandSearchPrompt.js.map +1 -0
  16. package/cjs/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js +3 -0
  17. package/cjs/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js.map +1 -0
  18. package/cjs/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js +34 -0
  19. package/cjs/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js.map +1 -0
  20. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js +3 -0
  21. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js.map +1 -0
  22. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js +3 -0
  23. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js.map +1 -0
  24. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptOptions.js +3 -0
  25. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptOptions.js.map +1 -0
  26. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptResult.js +3 -0
  27. package/cjs/prompt/additions/searchPrompt/core/ISearchPromptResult.js.map +1 -0
  28. package/cjs/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js +5 -0
  29. package/cjs/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js.map +1 -0
  30. package/cjs/prompt/additions/searchPrompt/core/createSearchPromptObject.js +177 -0
  31. package/cjs/prompt/additions/searchPrompt/core/createSearchPromptObject.js.map +1 -0
  32. package/cjs/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js +12 -0
  33. package/cjs/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js.map +1 -0
  34. package/cjs/prompt/additions/searchPrompt/searchPrompt.js +37 -0
  35. package/cjs/prompt/additions/searchPrompt/searchPrompt.js.map +1 -0
  36. package/cjs/prompt/core/AbstractUserPrompt.js +88 -0
  37. package/cjs/prompt/core/AbstractUserPrompt.js.map +1 -0
  38. package/cjs/prompt/core/AutoCompleteMultiSelectPrompt.js +90 -0
  39. package/cjs/prompt/core/AutoCompleteMultiSelectPrompt.js.map +1 -0
  40. package/cjs/prompt/core/AutocompletePrompt.js +111 -0
  41. package/cjs/prompt/core/AutocompletePrompt.js.map +1 -0
  42. package/cjs/prompt/core/ConfirmPrompt.js +34 -0
  43. package/cjs/prompt/core/ConfirmPrompt.js.map +1 -0
  44. package/cjs/prompt/core/DatePrompt.js +58 -0
  45. package/cjs/prompt/core/DatePrompt.js.map +1 -0
  46. package/cjs/prompt/core/InvisiblePrompt.js +49 -0
  47. package/cjs/prompt/core/InvisiblePrompt.js.map +1 -0
  48. package/cjs/prompt/core/ListPrompt.js +56 -0
  49. package/cjs/prompt/core/ListPrompt.js.map +1 -0
  50. package/cjs/prompt/core/MultiSelectPrompt.js +90 -0
  51. package/cjs/prompt/core/MultiSelectPrompt.js.map +1 -0
  52. package/cjs/prompt/core/NumberPrompt.js +70 -0
  53. package/cjs/prompt/core/NumberPrompt.js.map +1 -0
  54. package/cjs/prompt/core/PasswordPrompt.js +49 -0
  55. package/cjs/prompt/core/PasswordPrompt.js.map +1 -0
  56. package/cjs/prompt/core/SearchPrompt.js +112 -0
  57. package/cjs/prompt/core/SearchPrompt.js.map +1 -0
  58. package/cjs/prompt/core/SelectPrompt.js +62 -0
  59. package/cjs/prompt/core/SelectPrompt.js.map +1 -0
  60. package/cjs/prompt/core/TextPrompt.js +49 -0
  61. package/cjs/prompt/core/TextPrompt.js.map +1 -0
  62. package/cjs/prompt/core/TogglePrompt.js +48 -0
  63. package/cjs/prompt/core/TogglePrompt.js.map +1 -0
  64. package/cjs/prompt/core/types.js +3 -0
  65. package/cjs/prompt/core/types.js.map +1 -0
  66. package/cjs/prompt/example.js +117 -0
  67. package/cjs/prompt/example.js.map +1 -0
  68. package/cjs/prompt/prompt.js +62 -0
  69. package/cjs/prompt/prompt.js.map +1 -0
  70. package/esm/arg/ArgumentBuilder.js +15 -0
  71. package/esm/arg/ArgumentBuilder.js.map +1 -1
  72. package/esm/cmd/CommandBuilder.js +191 -70
  73. package/esm/cmd/CommandBuilder.js.map +1 -1
  74. package/esm/cmd/CommandBuilderMetaData.js +1 -0
  75. package/esm/cmd/CommandBuilderMetaData.js.map +1 -1
  76. package/esm/cmd/DefaultHelpConfig.js +1 -0
  77. package/esm/cmd/DefaultHelpConfig.js.map +1 -1
  78. package/esm/db/JsonFile.js +1 -1
  79. package/esm/index.js +28 -0
  80. package/esm/index.js.map +1 -1
  81. package/esm/opt/OptionBuilder.js +6 -0
  82. package/esm/opt/OptionBuilder.js.map +1 -1
  83. package/esm/prompt/additions/commandSearchPrompt/commandSearchPrompt.js +32 -0
  84. package/esm/prompt/additions/commandSearchPrompt/commandSearchPrompt.js.map +1 -0
  85. package/esm/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js +2 -0
  86. package/esm/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.js.map +1 -0
  87. package/esm/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js +27 -0
  88. package/esm/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.js.map +1 -0
  89. package/esm/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js +2 -0
  90. package/esm/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.js.map +1 -0
  91. package/esm/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js +2 -0
  92. package/esm/prompt/additions/searchPrompt/core/ISearchPromptMetaData.js.map +1 -0
  93. package/esm/prompt/additions/searchPrompt/core/ISearchPromptOptions.js +2 -0
  94. package/esm/prompt/additions/searchPrompt/core/ISearchPromptOptions.js.map +1 -0
  95. package/esm/prompt/additions/searchPrompt/core/ISearchPromptResult.js +2 -0
  96. package/esm/prompt/additions/searchPrompt/core/ISearchPromptResult.js.map +1 -0
  97. package/esm/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js +2 -0
  98. package/esm/prompt/additions/searchPrompt/core/PROMPT_META_DATA.js.map +1 -0
  99. package/esm/prompt/additions/searchPrompt/core/createSearchPromptObject.js +173 -0
  100. package/esm/prompt/additions/searchPrompt/core/createSearchPromptObject.js.map +1 -0
  101. package/esm/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js +8 -0
  102. package/esm/prompt/additions/searchPrompt/core/getSearchPromptMetaData.js.map +1 -0
  103. package/esm/prompt/additions/searchPrompt/searchPrompt.js +30 -0
  104. package/esm/prompt/additions/searchPrompt/searchPrompt.js.map +1 -0
  105. package/esm/prompt/core/AbstractUserPrompt.js +81 -0
  106. package/esm/prompt/core/AbstractUserPrompt.js.map +1 -0
  107. package/esm/prompt/core/AutoCompleteMultiSelectPrompt.js +86 -0
  108. package/esm/prompt/core/AutoCompleteMultiSelectPrompt.js.map +1 -0
  109. package/esm/prompt/core/AutocompletePrompt.js +107 -0
  110. package/esm/prompt/core/AutocompletePrompt.js.map +1 -0
  111. package/esm/prompt/core/ConfirmPrompt.js +30 -0
  112. package/esm/prompt/core/ConfirmPrompt.js.map +1 -0
  113. package/esm/prompt/core/DatePrompt.js +54 -0
  114. package/esm/prompt/core/DatePrompt.js.map +1 -0
  115. package/esm/prompt/core/InvisiblePrompt.js +45 -0
  116. package/esm/prompt/core/InvisiblePrompt.js.map +1 -0
  117. package/esm/prompt/core/ListPrompt.js +52 -0
  118. package/esm/prompt/core/ListPrompt.js.map +1 -0
  119. package/esm/prompt/core/MultiSelectPrompt.js +86 -0
  120. package/esm/prompt/core/MultiSelectPrompt.js.map +1 -0
  121. package/esm/prompt/core/NumberPrompt.js +66 -0
  122. package/esm/prompt/core/NumberPrompt.js.map +1 -0
  123. package/esm/prompt/core/PasswordPrompt.js +45 -0
  124. package/esm/prompt/core/PasswordPrompt.js.map +1 -0
  125. package/esm/prompt/core/SearchPrompt.js +108 -0
  126. package/esm/prompt/core/SearchPrompt.js.map +1 -0
  127. package/esm/prompt/core/SelectPrompt.js +58 -0
  128. package/esm/prompt/core/SelectPrompt.js.map +1 -0
  129. package/esm/prompt/core/TextPrompt.js +45 -0
  130. package/esm/prompt/core/TextPrompt.js.map +1 -0
  131. package/esm/prompt/core/TogglePrompt.js +44 -0
  132. package/esm/prompt/core/TogglePrompt.js.map +1 -0
  133. package/esm/prompt/core/types.js +2 -0
  134. package/esm/prompt/core/types.js.map +1 -0
  135. package/esm/prompt/example.js +112 -0
  136. package/esm/prompt/example.js.map +1 -0
  137. package/esm/prompt/prompt.js +59 -0
  138. package/esm/prompt/prompt.js.map +1 -0
  139. package/package.json +2 -1
  140. package/types/arg/ArgumentBuilder.d.ts +14 -0
  141. package/types/arg/ArgumentBuilder.d.ts.map +1 -0
  142. package/types/arg/ArgumentParserSelector.d.ts +1 -0
  143. package/types/arg/ArgumentParserSelector.d.ts.map +1 -0
  144. package/types/arg/ArgumentReader.d.ts +1 -0
  145. package/types/arg/ArgumentReader.d.ts.map +1 -0
  146. package/types/arg/ArgumentValidatorSelector.d.ts +1 -0
  147. package/types/arg/ArgumentValidatorSelector.d.ts.map +1 -0
  148. package/types/cmd/CommandBuilder.d.ts +152 -46
  149. package/types/cmd/CommandBuilder.d.ts.map +1 -0
  150. package/types/cmd/CommandBuilderMetaData.d.ts +3 -0
  151. package/types/cmd/CommandBuilderMetaData.d.ts.map +1 -0
  152. package/types/cmd/CommandFeatureSelector.d.ts +1 -0
  153. package/types/cmd/CommandFeatureSelector.d.ts.map +1 -0
  154. package/types/cmd/DefaultHelpConfig.d.ts +1 -0
  155. package/types/cmd/DefaultHelpConfig.d.ts.map +1 -0
  156. package/types/core/OutputManager.d.ts +1 -0
  157. package/types/core/OutputManager.d.ts.map +1 -0
  158. package/types/core/ParserSelector.d.ts +1 -0
  159. package/types/core/ParserSelector.d.ts.map +1 -0
  160. package/types/core/ValidatorSelector.d.ts +1 -0
  161. package/types/core/ValidatorSelector.d.ts.map +1 -0
  162. package/types/core/splitCombinedArgvShorts.d.ts +1 -0
  163. package/types/core/splitCombinedArgvShorts.d.ts.map +1 -0
  164. package/types/db/AbstractJsonFileSection.d.ts +1 -0
  165. package/types/db/AbstractJsonFileSection.d.ts.map +1 -0
  166. package/types/db/AppDataSection.d.ts +1 -0
  167. package/types/db/AppDataSection.d.ts.map +1 -0
  168. package/types/db/ConfigSection.d.ts +1 -0
  169. package/types/db/ConfigSection.d.ts.map +1 -0
  170. package/types/db/JsonFile.d.ts +1 -0
  171. package/types/db/JsonFile.d.ts.map +1 -0
  172. package/types/db/PresetsSection.d.ts +1 -0
  173. package/types/db/PresetsSection.d.ts.map +1 -0
  174. package/types/index.d.ts +29 -0
  175. package/types/index.d.ts.map +1 -0
  176. package/types/opt/OptionArgumentParserSelector.d.ts +1 -0
  177. package/types/opt/OptionArgumentParserSelector.d.ts.map +1 -0
  178. package/types/opt/OptionArgumentValidatorSelector.d.ts +1 -0
  179. package/types/opt/OptionArgumentValidatorSelector.d.ts.map +1 -0
  180. package/types/opt/OptionBuilder.d.ts +3 -0
  181. package/types/opt/OptionBuilder.d.ts.map +1 -0
  182. package/types/opt/OptionHelpers.d.ts +1 -0
  183. package/types/opt/OptionHelpers.d.ts.map +1 -0
  184. package/types/opt/OptionReader.d.ts +1 -0
  185. package/types/opt/OptionReader.d.ts.map +1 -0
  186. package/types/prompt/additions/commandSearchPrompt/commandSearchPrompt.d.ts +21 -0
  187. package/types/prompt/additions/commandSearchPrompt/commandSearchPrompt.d.ts.map +1 -0
  188. package/types/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.d.ts +5 -0
  189. package/types/prompt/additions/commandSearchPrompt/core/ICommandSearchPromptResult.d.ts.map +1 -0
  190. package/types/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.d.ts +13 -0
  191. package/types/prompt/additions/commandSearchPrompt/core/createCommandSearchPromptObject.d.ts.map +1 -0
  192. package/types/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.d.ts +5 -0
  193. package/types/prompt/additions/searchPrompt/core/ISearchPromptChoiceMetaData.d.ts.map +1 -0
  194. package/types/prompt/additions/searchPrompt/core/ISearchPromptMetaData.d.ts +9 -0
  195. package/types/prompt/additions/searchPrompt/core/ISearchPromptMetaData.d.ts.map +1 -0
  196. package/types/prompt/additions/searchPrompt/core/ISearchPromptOptions.d.ts +44 -0
  197. package/types/prompt/additions/searchPrompt/core/ISearchPromptOptions.d.ts.map +1 -0
  198. package/types/prompt/additions/searchPrompt/core/ISearchPromptResult.d.ts +6 -0
  199. package/types/prompt/additions/searchPrompt/core/ISearchPromptResult.d.ts.map +1 -0
  200. package/types/prompt/additions/searchPrompt/core/PROMPT_META_DATA.d.ts +4 -0
  201. package/types/prompt/additions/searchPrompt/core/PROMPT_META_DATA.d.ts.map +1 -0
  202. package/types/prompt/additions/searchPrompt/core/createSearchPromptObject.d.ts +13 -0
  203. package/types/prompt/additions/searchPrompt/core/createSearchPromptObject.d.ts.map +1 -0
  204. package/types/prompt/additions/searchPrompt/core/getSearchPromptMetaData.d.ts +4 -0
  205. package/types/prompt/additions/searchPrompt/core/getSearchPromptMetaData.d.ts.map +1 -0
  206. package/types/prompt/additions/searchPrompt/searchPrompt.d.ts +21 -0
  207. package/types/prompt/additions/searchPrompt/searchPrompt.d.ts.map +1 -0
  208. package/types/prompt/core/AbstractUserPrompt.d.ts +55 -0
  209. package/types/prompt/core/AbstractUserPrompt.d.ts.map +1 -0
  210. package/types/prompt/core/AutoCompleteMultiSelectPrompt.d.ts +54 -0
  211. package/types/prompt/core/AutoCompleteMultiSelectPrompt.d.ts.map +1 -0
  212. package/types/prompt/core/AutocompletePrompt.d.ts +66 -0
  213. package/types/prompt/core/AutocompletePrompt.d.ts.map +1 -0
  214. package/types/prompt/core/ConfirmPrompt.d.ts +21 -0
  215. package/types/prompt/core/ConfirmPrompt.d.ts.map +1 -0
  216. package/types/prompt/core/DatePrompt.d.ts +37 -0
  217. package/types/prompt/core/DatePrompt.d.ts.map +1 -0
  218. package/types/prompt/core/InvisiblePrompt.d.ts +30 -0
  219. package/types/prompt/core/InvisiblePrompt.d.ts.map +1 -0
  220. package/types/prompt/core/ListPrompt.d.ts +34 -0
  221. package/types/prompt/core/ListPrompt.d.ts.map +1 -0
  222. package/types/prompt/core/MultiSelectPrompt.d.ts +54 -0
  223. package/types/prompt/core/MultiSelectPrompt.d.ts.map +1 -0
  224. package/types/prompt/core/NumberPrompt.d.ts +42 -0
  225. package/types/prompt/core/NumberPrompt.d.ts.map +1 -0
  226. package/types/prompt/core/PasswordPrompt.d.ts +30 -0
  227. package/types/prompt/core/PasswordPrompt.d.ts.map +1 -0
  228. package/types/prompt/core/SearchPrompt.d.ts +71 -0
  229. package/types/prompt/core/SearchPrompt.d.ts.map +1 -0
  230. package/types/prompt/core/SelectPrompt.d.ts +38 -0
  231. package/types/prompt/core/SelectPrompt.d.ts.map +1 -0
  232. package/types/prompt/core/TextPrompt.d.ts +30 -0
  233. package/types/prompt/core/TextPrompt.d.ts.map +1 -0
  234. package/types/prompt/core/TogglePrompt.d.ts +29 -0
  235. package/types/prompt/core/TogglePrompt.d.ts.map +1 -0
  236. package/types/prompt/core/types.d.ts +215 -0
  237. package/types/prompt/core/types.d.ts.map +1 -0
  238. package/types/prompt/example.d.ts +2 -0
  239. package/types/prompt/example.d.ts.map +1 -0
  240. package/types/prompt/prompt.d.ts +33 -0
  241. package/types/prompt/prompt.d.ts.map +1 -0
  242. package/types/types/IConfig.d.ts +1 -0
  243. package/types/types/IConfig.d.ts.map +1 -0
  244. package/types/types/IPreset.d.ts +1 -0
  245. package/types/types/IPreset.d.ts.map +1 -0
@@ -0,0 +1,108 @@
1
+ import { AbstractUserPrompt } from './AbstractUserPrompt';
2
+ import { searchPrompt } from '../additions/searchPrompt/searchPrompt';
3
+ /**
4
+ * Interactive autocomplete user prompts in the terminal.
5
+ */
6
+ export class SearchPrompt extends AbstractUserPrompt {
7
+ /**
8
+ * @param type - The type of prompt
9
+ * @param message - The message to display to the user
10
+ */
11
+ constructor(name, callback) {
12
+ super('autocomplete', name, '0');
13
+ if (callback)
14
+ callback(this);
15
+ }
16
+ /**
17
+ * An array of options/choices for the user to select.
18
+ */
19
+ choices(data) {
20
+ Object.defineProperty(this.data, 'choices', {
21
+ value: data,
22
+ });
23
+ return this;
24
+ }
25
+ /**
26
+ * Default value
27
+ */
28
+ initial(initial) {
29
+ this.data['initial'] = initial;
30
+ return this;
31
+ }
32
+ /**
33
+ * The first ESCAPE keypress will clear the input
34
+ */
35
+ clearFirst(clearFirst = true) {
36
+ this.data['clearFirst'] = clearFirst;
37
+ return this;
38
+ }
39
+ /**
40
+ * Max number of results to show. Defaults to 25
41
+ */
42
+ limit(limit = 25) {
43
+ this.data['limit'] = limit;
44
+ return this;
45
+ }
46
+ /**
47
+ * The delimiter to use to split the user input into keywords.
48
+ * Defaults to ' ' (space).
49
+ */
50
+ separator(delim = ' ') {
51
+ this.data['separator'] = delim;
52
+ return this;
53
+ }
54
+ /**
55
+ * When this string is encountered, the input coming after will not be considered for searching. Defaults to ':'
56
+ */
57
+ searchStopSequence(stop) {
58
+ Object.defineProperty(this.data, 'searchStopSequence', { value: stop });
59
+ return this;
60
+ }
61
+ /**
62
+ * Filtering options.
63
+ * @property includes - If true, then the search results will include keyword-matches that match anywhere in the string. Defaults to 'true'
64
+ * @property startsWith - If true, then the search results will include beginning-of-word-matches. Defaults to 'true'
65
+ */
66
+ filtering(filtering) {
67
+ Object.defineProperty(this.data, 'filtering', { value: filtering });
68
+ return this;
69
+ }
70
+ /**
71
+ * A function to pre-render each string in the search data before searching has begun.
72
+ * This is useful if the same string formatting will be applied to all returned search results.
73
+ *
74
+ * @param original - The original (or pre-rendered) string.
75
+ */
76
+ preRender(preRender) {
77
+ Object.defineProperty(this.data, 'preRender', { value: preRender });
78
+ return this;
79
+ }
80
+ /**
81
+ * A function to render the search results.
82
+ *
83
+ * @param original - The original (or pre-rendered) string.
84
+ * @param keywords - The keywords that matched the original string.
85
+ */
86
+ render(render) {
87
+ Object.defineProperty(this.data, 'render', { value: render });
88
+ return this;
89
+ }
90
+ /**
91
+ * Receive user input. The returned value will be added to the response object
92
+ */
93
+ format(format) {
94
+ this.data['format'] = format;
95
+ return this;
96
+ }
97
+ /**
98
+ * Render style
99
+ */
100
+ style(style = 'default') {
101
+ this.data['style'] = style;
102
+ return this;
103
+ }
104
+ async run(options) {
105
+ return await searchPrompt(this.data.choices, this.data, options);
106
+ }
107
+ }
108
+ //# sourceMappingURL=SearchPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/SearchPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE;;GAEG;AACH,MAAM,OAAO,YAAwC,SAAQ,kBAA0C;IACrG;;;OAGG;IACH,YAAY,IAAY,EAAE,QAA0C;QAClE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAChC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAc;QACpB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;YAC1C,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAU,GAAG,IAAI;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,UAAU,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,GAAG,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAK,GAAG,GAAG;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,IAAY;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,SAAuD;QAC/D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,SAA2C;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAA0D;QAC/D,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,SAAS;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAEQ,KAAK,CAAC,GAAG,CAAC,OAAiB;QAClC,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAA8B,EAAE,IAAI,CAAC,IAA4B,EAAE,OAAO,CAAC,CAAA;IACjH,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ import { AbstractUserPrompt } from './AbstractUserPrompt';
2
+ /**
3
+ * Interactive select user prompts in the terminal.
4
+ */
5
+ export class SelectPrompt extends AbstractUserPrompt {
6
+ /**
7
+ * @param type - The type of prompt
8
+ * @param message - The message to display to the user
9
+ */
10
+ constructor(name, message, callback) {
11
+ super('select', name, message);
12
+ if (callback)
13
+ callback(this);
14
+ }
15
+ /**
16
+ * On render callback. Keyword this refers to the current prompt
17
+ */
18
+ onRender(onRender) {
19
+ this.data['onRender'] = onRender;
20
+ return this;
21
+ }
22
+ /**
23
+ * Default value
24
+ */
25
+ initial(initial) {
26
+ this.data['initial'] = initial;
27
+ return this;
28
+ }
29
+ /**
30
+ * Hint to display to the user
31
+ */
32
+ hint(hint) {
33
+ this.data['hint'] = hint;
34
+ return this;
35
+ }
36
+ /**
37
+ * Message to display when selecting a disabled option
38
+ */
39
+ warn(warn) {
40
+ this.data['warn'] = warn;
41
+ return this;
42
+ }
43
+ /**
44
+ * An array of options/choices for the user to select.
45
+ */
46
+ choices(choices) {
47
+ this.data['choices'] = choices;
48
+ return this;
49
+ }
50
+ /**
51
+ * Receive user input. The returned value will be added to the response object
52
+ */
53
+ format(format) {
54
+ this.data['format'] = format;
55
+ return this;
56
+ }
57
+ }
58
+ //# sourceMappingURL=SelectPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/SelectPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIzD;;GAEG;AACH,MAAM,OAAO,YAAwC,SAAQ,kBAAoC;IAC/F;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAA0C;QACnF,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ import { AbstractUserPrompt } from './AbstractUserPrompt';
2
+ /**
3
+ * Interactive text user prompts in the terminal.
4
+ */
5
+ export class TextPrompt extends AbstractUserPrompt {
6
+ /**
7
+ * @param type - The type of prompt
8
+ * @param message - The message to display to the user
9
+ */
10
+ constructor(name, message, callback) {
11
+ super('text', name, message);
12
+ if (callback)
13
+ callback(this);
14
+ }
15
+ /**
16
+ * On render callback. Keyword this refers to the current prompt
17
+ */
18
+ onRender(onRender) {
19
+ this.data['onRender'] = onRender;
20
+ return this;
21
+ }
22
+ /**
23
+ * Default value
24
+ */
25
+ initial(initial) {
26
+ this.data['initial'] = initial;
27
+ return this;
28
+ }
29
+ /**
30
+ * Receive user input. Should return true if the value is valid, and an error message String otherwise.
31
+ * If false is returned, a default error message is shown
32
+ */
33
+ validate(validate) {
34
+ this.data['validate'] = validate;
35
+ return this;
36
+ }
37
+ /**
38
+ * Render style
39
+ */
40
+ style(style = 'default') {
41
+ this.data['style'] = style;
42
+ return this;
43
+ }
44
+ }
45
+ //# sourceMappingURL=TextPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextPrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/TextPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;GAEG;AACH,MAAM,OAAO,UAAsC,SAAQ,kBAAkC;IAC3F;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAAwC;QACjF,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAsB;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,SAAS;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ import { AbstractUserPrompt } from './AbstractUserPrompt';
2
+ /**
3
+ * Interactive toggle user prompts in the terminal.
4
+ */
5
+ export class TogglePrompt extends AbstractUserPrompt {
6
+ /**
7
+ * @param type - The type of prompt
8
+ * @param message - The message to display to the user
9
+ */
10
+ constructor(name, message, callback) {
11
+ super('toggle', name, message);
12
+ if (callback)
13
+ callback(this);
14
+ }
15
+ /**
16
+ * On render callback. Keyword this refers to the current prompt
17
+ */
18
+ onRender(onRender) {
19
+ this.data['onRender'] = onRender;
20
+ return this;
21
+ }
22
+ /**
23
+ * Default value
24
+ */
25
+ initial(initial) {
26
+ this.data['initial'] = initial;
27
+ return this;
28
+ }
29
+ /**
30
+ * Text for active state. Defaults to 'on'
31
+ */
32
+ active(active = 'on') {
33
+ this.data['active'] = active;
34
+ return this;
35
+ }
36
+ /**
37
+ * Text for inactive state. Defaults to 'off'
38
+ */
39
+ inactive(inactive = 'off') {
40
+ this.data['inactive'] = inactive;
41
+ return this;
42
+ }
43
+ }
44
+ //# sourceMappingURL=TogglePrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TogglePrompt.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/TogglePrompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD;;GAEG;AACH,MAAM,OAAO,YAA0C,SAAQ,kBAAoC;IACjG;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,QAA0C;QACnF,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAmB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAkB,IAAI;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,WAAsB,KAAK;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/cli/src/prompt/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,112 @@
1
+ import fs from 'fs';
2
+ import { prompt } from './prompt';
3
+ async function example() {
4
+ // TextPrompt
5
+ await prompt
6
+ .text('user', 'What is your username?') //
7
+ .run();
8
+ // PasswordPrompt
9
+ await prompt
10
+ .password('pass', 'Enter password') //
11
+ .run();
12
+ // NumberPrompt
13
+ await prompt
14
+ .number('age', 'How old are you?')
15
+ .validate((value) => (value < 18 ? `Nightclub is 18+ only` : true))
16
+ .run();
17
+ // ConfirmPrompt
18
+ await prompt
19
+ .confirm('confirm', 'Can you confirm this is your age?') //
20
+ .initial(true)
21
+ .run();
22
+ // ListPrompt
23
+ await prompt
24
+ .list('kws', 'Enter some keywords')
25
+ .separator(' ')
26
+ .validate((arr) => (arr.length > 1 ? true : 'Please enter more than one'))
27
+ .run();
28
+ // TogglePrompt
29
+ await prompt
30
+ .toggle('cool', 'Toggle Cool Mode') //
31
+ .initial(true)
32
+ .active('on')
33
+ .inactive('off')
34
+ .run();
35
+ // SelectPrompt
36
+ await prompt
37
+ .select('col1', 'Pick a color')
38
+ .choices([
39
+ { title: 'Red', description: 'This option has a description', value: '#ff0000' },
40
+ { title: 'Green', value: '#00ff00', disabled: true },
41
+ { title: 'Blue', value: '#0000ff' },
42
+ ])
43
+ .initial(0)
44
+ .hint('Select your favorite.')
45
+ .warn('Really not a good idea,')
46
+ .run();
47
+ // MultiSelectPrompt
48
+ await prompt
49
+ .multiselect('col2', 'Pick between 1 and 3 colors')
50
+ .choices([
51
+ { title: 'Black', value: '#000000', disabled: false, selected: false },
52
+ { title: 'Red', value: '#ff0000', disabled: false, selected: false },
53
+ { title: 'Green', value: '#00ff00', disabled: true, selected: false },
54
+ { title: 'Blue', value: '#0000ff', disabled: false, selected: false },
55
+ { title: 'White', value: '#ffffff', disabled: false, selected: true },
56
+ ])
57
+ .instructions('Here are some instructions')
58
+ .min(1)
59
+ .max(3)
60
+ .hint('Select your favorite.')
61
+ .warn('Really not a good idea,')
62
+ .run();
63
+ // AutoCompleteMultiSelectPrompt
64
+ await prompt
65
+ .autocompleteMultiSelect('col3', 'Pick between 1 and 3 colors')
66
+ .choices([
67
+ { title: 'Black', value: '#000000', disabled: false, selected: false },
68
+ { title: 'Red', value: '#ff0000', disabled: false, selected: false },
69
+ { title: 'Green', value: '#00ff00', disabled: true, selected: false },
70
+ { title: 'Blue', value: '#0000ff', disabled: false, selected: false },
71
+ { title: 'White', value: '#ffffff', disabled: false, selected: true },
72
+ ])
73
+ .instructions('Here are some instructions')
74
+ .min(1)
75
+ .max(3)
76
+ .hint('Select your favorite.')
77
+ .warn('Really not a good idea,')
78
+ .run();
79
+ // DatePrompt
80
+ await prompt
81
+ .date('future', 'Select a date in the future')
82
+ .initial(new Date())
83
+ .validate((date) => (date > new Date() ? true : 'Date must be in the future'))
84
+ .run();
85
+ // InvisiblePrompt
86
+ await prompt
87
+ .invisible('invisible', 'This is invisible') //
88
+ .initial('secret')
89
+ .run();
90
+ // AutocompletePrompt
91
+ await prompt
92
+ .autocomplete('actor', 'Pick your favorite actor')
93
+ .choices([
94
+ { title: 'Cage' },
95
+ { title: 'Clooney', value: 'silver-fox' },
96
+ { title: 'Gyllenhaal' },
97
+ { title: 'Gibson' },
98
+ { title: 'Grant' },
99
+ ])
100
+ .run();
101
+ // SearchPrompt
102
+ await prompt
103
+ .search('test')
104
+ .choices(fs.readFileSync(__filename, 'utf8').split(/[\s\n\r]/))
105
+ .filtering({ includes: true, startsWith: true })
106
+ .clearFirst(true)
107
+ .limit(30)
108
+ .separator(' ')
109
+ .run();
110
+ }
111
+ // example().catch(console.error)
112
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../../packages/cli/src/prompt/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { AutoCompleteMultiSelectPrompt } from './core/AutoCompleteMultiSelectPrompt';
2
+ import { AutocompletePrompt } from './core/AutocompletePrompt';
3
+ import { ConfirmPrompt } from './core/ConfirmPrompt';
4
+ import { DatePrompt } from './core/DatePrompt';
5
+ import { InvisiblePrompt } from './core/InvisiblePrompt';
6
+ import { ListPrompt } from './core/ListPrompt';
7
+ import { MultiSelectPrompt } from './core/MultiSelectPrompt';
8
+ import { NumberPrompt } from './core/NumberPrompt';
9
+ import { PasswordPrompt } from './core/PasswordPrompt';
10
+ import { SearchPrompt } from './core/SearchPrompt';
11
+ import { SelectPrompt } from './core/SelectPrompt';
12
+ import { TextPrompt } from './core/TextPrompt';
13
+ import { TogglePrompt } from './core/TogglePrompt';
14
+ /**
15
+ * User prompt module
16
+ */
17
+ export const prompt = {
18
+ text: (name, message, callback) => {
19
+ return new TextPrompt(name, message, callback);
20
+ },
21
+ number: (name, message, callback) => {
22
+ return new NumberPrompt(name, message, callback);
23
+ },
24
+ confirm: (name, message, callback) => {
25
+ return new ConfirmPrompt(name, message, callback);
26
+ },
27
+ password: (name, message, callback) => {
28
+ return new PasswordPrompt(name, message, callback);
29
+ },
30
+ invisible: (name, message, callback) => {
31
+ return new InvisiblePrompt(name, message, callback);
32
+ },
33
+ list: (name, message, callback) => {
34
+ return new ListPrompt(name, message, callback);
35
+ },
36
+ toggle: (name, message, callback) => {
37
+ return new TogglePrompt(name, message, callback);
38
+ },
39
+ select: (name, message, callback) => {
40
+ return new SelectPrompt(name, message, callback);
41
+ },
42
+ multiselect: (name, message, callback) => {
43
+ return new MultiSelectPrompt(name, message, callback);
44
+ },
45
+ autocomplete: (name, message, callback) => {
46
+ return new AutocompletePrompt(name, message, callback);
47
+ },
48
+ autocompleteMultiSelect: (name, message, callback) => {
49
+ return new AutoCompleteMultiSelectPrompt(name, message, callback);
50
+ },
51
+ date: (name, message, callback) => {
52
+ return new DatePrompt(name, message, callback);
53
+ },
54
+ search: (name, callback) => {
55
+ return new SearchPrompt(name, callback);
56
+ },
57
+ };
58
+ export default prompt;
59
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../packages/cli/src/prompt/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@bemoje/cli",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "dependencies": {
5
+ "@bemoje/util": "latest",
5
6
  "@commander-js/extra-typings": "^11.1.0",
6
7
  "ansi-colors": "^4.1.3",
7
8
  "cli-table": "^0.3.11",
@@ -10,11 +10,25 @@ export declare class ArgumentBuilder {
10
10
  readonly cmd: CommandBuilder;
11
11
  readonly $: Argument;
12
12
  readonly index: number;
13
+ userConfirmation?: {
14
+ predicate: (arg: string) => boolean;
15
+ message: string;
16
+ };
13
17
  constructor(cmd: CommandBuilder, name: string);
18
+ get hasValidators(): boolean;
19
+ get hasParser(): boolean;
14
20
  description(string: string): this;
15
21
  default(value: unknown, description?: string): this;
16
22
  choices(values: readonly string[]): this;
17
23
  get parser(): ArgumentParserSelector;
18
24
  get validator(): ArgumentValidatorSelector;
19
25
  get get(): ArgumentReader;
26
+ /**
27
+ * Only works with async actionHandlers.
28
+ */
29
+ userMustConfirmIf(options: {
30
+ predicate: (arg: string) => boolean;
31
+ message: string;
32
+ }): this;
20
33
  }
34
+ //# 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;IAKd,QAAQ,CAAC,GAAG,EAAE,cAAc;IAJxC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE;QAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;gBAEtD,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;IAOtD,IAAI,aAAa,YAEhB;IAED,IAAI,SAAS,YAEZ;IAED,WAAW,CAAC,MAAM,EAAE,MAAM;IAK1B,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;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIpF"}
@@ -6,3 +6,4 @@ export declare class ArgumentParserSelector extends ParserSelector<ArgumentBuild
6
6
  constructor(builder: ArgumentBuilder);
7
7
  custom<T extends JsonValue>(parser: TStringParser<T>): ArgumentBuilder;
8
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,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjD,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"}
@@ -12,3 +12,4 @@ export declare class ArgumentReader {
12
12
  get required(): boolean;
13
13
  get optional(): boolean;
14
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"}
@@ -5,3 +5,4 @@ export declare class ArgumentValidatorSelector extends ValidatorSelector<Argumen
5
5
  constructor(builder: ArgumentBuilder);
6
6
  custom<T>(validator: TValidator<T>): ArgumentBuilder;
7
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,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,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"}