@villedemontreal/caporal 3.1.7

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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/src/__tests__/issue-163.spec.d.ts +2 -0
  4. package/dist/src/__tests__/issue-163.spec.d.ts.map +1 -0
  5. package/dist/src/__tests__/issue-163.spec.js +17 -0
  6. package/dist/src/__tests__/issue-163.spec.js.map +1 -0
  7. package/dist/src/argument/__tests__/argument.spec.d.ts +2 -0
  8. package/dist/src/argument/__tests__/argument.spec.d.ts.map +1 -0
  9. package/dist/src/argument/__tests__/argument.spec.js +85 -0
  10. package/dist/src/argument/__tests__/argument.spec.js.map +1 -0
  11. package/dist/src/argument/find.d.ts +8 -0
  12. package/dist/src/argument/find.d.ts.map +1 -0
  13. package/dist/src/argument/find.js +11 -0
  14. package/dist/src/argument/find.js.map +1 -0
  15. package/dist/src/argument/index.d.ts +13 -0
  16. package/dist/src/argument/index.d.ts.map +1 -0
  17. package/dist/src/argument/index.js +27 -0
  18. package/dist/src/argument/index.js.map +1 -0
  19. package/dist/src/argument/synopsis.d.ts +19 -0
  20. package/dist/src/argument/synopsis.d.ts.map +1 -0
  21. package/dist/src/argument/synopsis.js +39 -0
  22. package/dist/src/argument/synopsis.js.map +1 -0
  23. package/dist/src/argument/validate.d.ts +43 -0
  24. package/dist/src/argument/validate.d.ts.map +1 -0
  25. package/dist/src/argument/validate.js +127 -0
  26. package/dist/src/argument/validate.js.map +1 -0
  27. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.d.ts +3 -0
  28. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.d.ts.map +1 -0
  29. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.js +24 -0
  30. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.js.map +1 -0
  31. package/dist/src/autocomplete/__tests__/autocomplete.spec.d.ts +2 -0
  32. package/dist/src/autocomplete/__tests__/autocomplete.spec.d.ts.map +1 -0
  33. package/dist/src/autocomplete/__tests__/autocomplete.spec.js +119 -0
  34. package/dist/src/autocomplete/__tests__/autocomplete.spec.js.map +1 -0
  35. package/dist/src/autocomplete/index.d.ts +20 -0
  36. package/dist/src/autocomplete/index.d.ts.map +1 -0
  37. package/dist/src/autocomplete/index.js +172 -0
  38. package/dist/src/autocomplete/index.js.map +1 -0
  39. package/dist/src/autocomplete/types.d.ts +26 -0
  40. package/dist/src/autocomplete/types.d.ts.map +1 -0
  41. package/dist/src/autocomplete/types.js +3 -0
  42. package/dist/src/autocomplete/types.js.map +1 -0
  43. package/dist/src/command/__fixtures__/example-cmd.d.ts +8 -0
  44. package/dist/src/command/__fixtures__/example-cmd.d.ts.map +1 -0
  45. package/dist/src/command/__fixtures__/example-cmd.js +10 -0
  46. package/dist/src/command/__fixtures__/example-cmd.js.map +1 -0
  47. package/dist/src/command/__tests__/command.spec.d.ts +2 -0
  48. package/dist/src/command/__tests__/command.spec.d.ts.map +1 -0
  49. package/dist/src/command/__tests__/command.spec.js +510 -0
  50. package/dist/src/command/__tests__/command.spec.js.map +1 -0
  51. package/dist/src/command/__tests__/find.spec.d.ts +2 -0
  52. package/dist/src/command/__tests__/find.spec.d.ts.map +1 -0
  53. package/dist/src/command/__tests__/find.spec.js +31 -0
  54. package/dist/src/command/__tests__/find.spec.js.map +1 -0
  55. package/dist/src/command/__tests__/import.spec.d.ts +2 -0
  56. package/dist/src/command/__tests__/import.spec.d.ts.map +1 -0
  57. package/dist/src/command/__tests__/import.spec.js +17 -0
  58. package/dist/src/command/__tests__/import.spec.js.map +1 -0
  59. package/dist/src/command/__tests__/scan.spec.d.ts +2 -0
  60. package/dist/src/command/__tests__/scan.spec.d.ts.map +1 -0
  61. package/dist/src/command/__tests__/scan.spec.js +20 -0
  62. package/dist/src/command/__tests__/scan.spec.js.map +1 -0
  63. package/dist/src/command/find.d.ts +8 -0
  64. package/dist/src/command/find.d.ts.map +1 -0
  65. package/dist/src/command/find.js +47 -0
  66. package/dist/src/command/find.js.map +1 -0
  67. package/dist/src/command/import.d.ts +7 -0
  68. package/dist/src/command/import.d.ts.map +1 -0
  69. package/dist/src/command/import.js +47 -0
  70. package/dist/src/command/import.js.map +1 -0
  71. package/dist/src/command/index.d.ts +211 -0
  72. package/dist/src/command/index.d.ts.map +1 -0
  73. package/dist/src/command/index.js +374 -0
  74. package/dist/src/command/index.js.map +1 -0
  75. package/dist/src/command/scan.d.ts +4 -0
  76. package/dist/src/command/scan.d.ts.map +1 -0
  77. package/dist/src/command/scan.js +31 -0
  78. package/dist/src/command/scan.js.map +1 -0
  79. package/dist/src/command/validate-call.d.ts +8 -0
  80. package/dist/src/command/validate-call.d.ts.map +1 -0
  81. package/dist/src/command/validate-call.js +13 -0
  82. package/dist/src/command/validate-call.js.map +1 -0
  83. package/dist/src/config/index.d.ts +7 -0
  84. package/dist/src/config/index.d.ts.map +1 -0
  85. package/dist/src/config/index.js +24 -0
  86. package/dist/src/config/index.js.map +1 -0
  87. package/dist/src/error/__tests__/fatal.spec.d.ts +2 -0
  88. package/dist/src/error/__tests__/fatal.spec.d.ts.map +1 -0
  89. package/dist/src/error/__tests__/fatal.spec.js +34 -0
  90. package/dist/src/error/__tests__/fatal.spec.js.map +1 -0
  91. package/dist/src/error/action.d.ts +9 -0
  92. package/dist/src/error/action.d.ts.map +1 -0
  93. package/dist/src/error/action.js +16 -0
  94. package/dist/src/error/action.js.map +1 -0
  95. package/dist/src/error/base.d.ts +11 -0
  96. package/dist/src/error/base.d.ts.map +1 -0
  97. package/dist/src/error/base.js +18 -0
  98. package/dist/src/error/base.js.map +1 -0
  99. package/dist/src/error/fatal.d.ts +10 -0
  100. package/dist/src/error/fatal.d.ts.map +1 -0
  101. package/dist/src/error/fatal.js +27 -0
  102. package/dist/src/error/fatal.js.map +1 -0
  103. package/dist/src/error/index.d.ts +18 -0
  104. package/dist/src/error/index.d.ts.map +1 -0
  105. package/dist/src/error/index.js +34 -0
  106. package/dist/src/error/index.js.map +1 -0
  107. package/dist/src/error/invalid-validator.d.ts +10 -0
  108. package/dist/src/error/invalid-validator.d.ts.map +1 -0
  109. package/dist/src/error/invalid-validator.js +15 -0
  110. package/dist/src/error/invalid-validator.js.map +1 -0
  111. package/dist/src/error/missing-argument.d.ts +11 -0
  112. package/dist/src/error/missing-argument.d.ts.map +1 -0
  113. package/dist/src/error/missing-argument.js +20 -0
  114. package/dist/src/error/missing-argument.js.map +1 -0
  115. package/dist/src/error/missing-flag.d.ts +11 -0
  116. package/dist/src/error/missing-flag.d.ts.map +1 -0
  117. package/dist/src/error/missing-flag.js +20 -0
  118. package/dist/src/error/missing-flag.js.map +1 -0
  119. package/dist/src/error/multi-validation.d.ts +10 -0
  120. package/dist/src/error/multi-validation.d.ts.map +1 -0
  121. package/dist/src/error/multi-validation.js +26 -0
  122. package/dist/src/error/multi-validation.js.map +1 -0
  123. package/dist/src/error/no-action.d.ts +10 -0
  124. package/dist/src/error/no-action.d.ts.map +1 -0
  125. package/dist/src/error/no-action.js +22 -0
  126. package/dist/src/error/no-action.js.map +1 -0
  127. package/dist/src/error/option-synopsis-syntax.d.ts +9 -0
  128. package/dist/src/error/option-synopsis-syntax.d.ts.map +1 -0
  129. package/dist/src/error/option-synopsis-syntax.js +15 -0
  130. package/dist/src/error/option-synopsis-syntax.js.map +1 -0
  131. package/dist/src/error/too-many-arguments.d.ts +11 -0
  132. package/dist/src/error/too-many-arguments.d.ts.map +1 -0
  133. package/dist/src/error/too-many-arguments.js +25 -0
  134. package/dist/src/error/too-many-arguments.js.map +1 -0
  135. package/dist/src/error/unknown-command.d.ts +13 -0
  136. package/dist/src/error/unknown-command.d.ts.map +1 -0
  137. package/dist/src/error/unknown-command.js +44 -0
  138. package/dist/src/error/unknown-command.js.map +1 -0
  139. package/dist/src/error/unknown-option.d.ts +13 -0
  140. package/dist/src/error/unknown-option.d.ts.map +1 -0
  141. package/dist/src/error/unknown-option.js +40 -0
  142. package/dist/src/error/unknown-option.js.map +1 -0
  143. package/dist/src/error/validation.d.ts +17 -0
  144. package/dist/src/error/validation.d.ts.map +1 -0
  145. package/dist/src/error/validation.js +49 -0
  146. package/dist/src/error/validation.js.map +1 -0
  147. package/dist/src/help/__tests__/help.spec.d.ts +2 -0
  148. package/dist/src/help/__tests__/help.spec.d.ts.map +1 -0
  149. package/dist/src/help/__tests__/help.spec.js +130 -0
  150. package/dist/src/help/__tests__/help.spec.js.map +1 -0
  151. package/dist/src/help/__tests__/utils.spec.d.ts +2 -0
  152. package/dist/src/help/__tests__/utils.spec.d.ts.map +1 -0
  153. package/dist/src/help/__tests__/utils.spec.js +16 -0
  154. package/dist/src/help/__tests__/utils.spec.js.map +1 -0
  155. package/dist/src/help/index.d.ts +47 -0
  156. package/dist/src/help/index.d.ts.map +1 -0
  157. package/dist/src/help/index.js +131 -0
  158. package/dist/src/help/index.js.map +1 -0
  159. package/dist/src/help/templates/command.d.ts +7 -0
  160. package/dist/src/help/templates/command.d.ts.map +1 -0
  161. package/dist/src/help/templates/command.js +23 -0
  162. package/dist/src/help/templates/command.js.map +1 -0
  163. package/dist/src/help/templates/custom.d.ts +7 -0
  164. package/dist/src/help/templates/custom.d.ts.map +1 -0
  165. package/dist/src/help/templates/custom.js +24 -0
  166. package/dist/src/help/templates/custom.js.map +1 -0
  167. package/dist/src/help/templates/header.d.ts +7 -0
  168. package/dist/src/help/templates/header.d.ts.map +1 -0
  169. package/dist/src/help/templates/header.js +16 -0
  170. package/dist/src/help/templates/header.js.map +1 -0
  171. package/dist/src/help/templates/index.d.ts +10 -0
  172. package/dist/src/help/templates/index.d.ts.map +1 -0
  173. package/dist/src/help/templates/index.js +26 -0
  174. package/dist/src/help/templates/index.js.map +1 -0
  175. package/dist/src/help/templates/program.d.ts +7 -0
  176. package/dist/src/help/templates/program.d.ts.map +1 -0
  177. package/dist/src/help/templates/program.js +18 -0
  178. package/dist/src/help/templates/program.js.map +1 -0
  179. package/dist/src/help/templates/usage.d.ts +7 -0
  180. package/dist/src/help/templates/usage.d.ts.map +1 -0
  181. package/dist/src/help/templates/usage.js +19 -0
  182. package/dist/src/help/templates/usage.js.map +1 -0
  183. package/dist/src/help/types.d.ts +53 -0
  184. package/dist/src/help/types.d.ts.map +1 -0
  185. package/dist/src/help/types.js +3 -0
  186. package/dist/src/help/types.js.map +1 -0
  187. package/dist/src/help/utils.d.ts +9 -0
  188. package/dist/src/help/utils.d.ts.map +1 -0
  189. package/dist/src/help/utils.js +92 -0
  190. package/dist/src/help/utils.js.map +1 -0
  191. package/dist/src/index.d.ts +90 -0
  192. package/dist/src/index.d.ts.map +1 -0
  193. package/dist/src/index.js +111 -0
  194. package/dist/src/index.js.map +1 -0
  195. package/dist/src/logger/__tests__/logger.spec.d.ts +2 -0
  196. package/dist/src/logger/__tests__/logger.spec.d.ts.map +1 -0
  197. package/dist/src/logger/__tests__/logger.spec.js +56 -0
  198. package/dist/src/logger/__tests__/logger.spec.js.map +1 -0
  199. package/dist/src/logger/index.d.ts +6 -0
  200. package/dist/src/logger/index.d.ts.map +1 -0
  201. package/dist/src/logger/index.js +128 -0
  202. package/dist/src/logger/index.js.map +1 -0
  203. package/dist/src/option/__tests__/global.spec.d.ts +2 -0
  204. package/dist/src/option/__tests__/global.spec.d.ts.map +1 -0
  205. package/dist/src/option/__tests__/global.spec.js +121 -0
  206. package/dist/src/option/__tests__/global.spec.js.map +1 -0
  207. package/dist/src/option/__tests__/option.spec.d.ts +2 -0
  208. package/dist/src/option/__tests__/option.spec.d.ts.map +1 -0
  209. package/dist/src/option/__tests__/option.spec.js +111 -0
  210. package/dist/src/option/__tests__/option.spec.js.map +1 -0
  211. package/dist/src/option/find.d.ts +14 -0
  212. package/dist/src/option/find.d.ts.map +1 -0
  213. package/dist/src/option/find.js +17 -0
  214. package/dist/src/option/find.js.map +1 -0
  215. package/dist/src/option/index.d.ts +65 -0
  216. package/dist/src/option/index.d.ts.map +1 -0
  217. package/dist/src/option/index.js +230 -0
  218. package/dist/src/option/index.js.map +1 -0
  219. package/dist/src/option/mapping.d.ts +7 -0
  220. package/dist/src/option/mapping.d.ts.map +1 -0
  221. package/dist/src/option/mapping.js +21 -0
  222. package/dist/src/option/mapping.js.map +1 -0
  223. package/dist/src/option/utils.d.ts +35 -0
  224. package/dist/src/option/utils.d.ts.map +1 -0
  225. package/dist/src/option/utils.js +139 -0
  226. package/dist/src/option/utils.js.map +1 -0
  227. package/dist/src/option/validate.d.ts +15 -0
  228. package/dist/src/option/validate.d.ts.map +1 -0
  229. package/dist/src/option/validate.js +63 -0
  230. package/dist/src/option/validate.js.map +1 -0
  231. package/dist/src/parser/__tests__/parser.spec.d.ts +2 -0
  232. package/dist/src/parser/__tests__/parser.spec.d.ts.map +1 -0
  233. package/dist/src/parser/__tests__/parser.spec.js +343 -0
  234. package/dist/src/parser/__tests__/parser.spec.js.map +1 -0
  235. package/dist/src/parser/index.d.ts +17 -0
  236. package/dist/src/parser/index.d.ts.map +1 -0
  237. package/dist/src/parser/index.js +299 -0
  238. package/dist/src/parser/index.js.map +1 -0
  239. package/dist/src/program/__tests__/program.spec.d.ts +2 -0
  240. package/dist/src/program/__tests__/program.spec.d.ts.map +1 -0
  241. package/dist/src/program/__tests__/program.spec.js +261 -0
  242. package/dist/src/program/__tests__/program.spec.js.map +1 -0
  243. package/dist/src/program/index.d.ts +349 -0
  244. package/dist/src/program/index.d.ts.map +1 -0
  245. package/dist/src/program/index.js +584 -0
  246. package/dist/src/program/index.js.map +1 -0
  247. package/dist/src/types.d.ts +396 -0
  248. package/dist/src/types.d.ts.map +1 -0
  249. package/dist/src/types.js +51 -0
  250. package/dist/src/types.js.map +1 -0
  251. package/dist/src/utils/__tests__/fs.spec.d.ts +2 -0
  252. package/dist/src/utils/__tests__/fs.spec.d.ts.map +1 -0
  253. package/dist/src/utils/__tests__/fs.spec.js +14 -0
  254. package/dist/src/utils/__tests__/fs.spec.js.map +1 -0
  255. package/dist/src/utils/__tests__/levenshtein.spec.d.ts +2 -0
  256. package/dist/src/utils/__tests__/levenshtein.spec.d.ts.map +1 -0
  257. package/dist/src/utils/__tests__/levenshtein.spec.js +18 -0
  258. package/dist/src/utils/__tests__/levenshtein.spec.js.map +1 -0
  259. package/dist/src/utils/__tests__/suggest.spec.d.ts +2 -0
  260. package/dist/src/utils/__tests__/suggest.spec.d.ts.map +1 -0
  261. package/dist/src/utils/__tests__/suggest.spec.js +31 -0
  262. package/dist/src/utils/__tests__/suggest.spec.js.map +1 -0
  263. package/dist/src/utils/colorize.d.ts +2 -0
  264. package/dist/src/utils/colorize.d.ts.map +1 -0
  265. package/dist/src/utils/colorize.js +27 -0
  266. package/dist/src/utils/colorize.js.map +1 -0
  267. package/dist/src/utils/fs.d.ts +2 -0
  268. package/dist/src/utils/fs.d.ts.map +1 -0
  269. package/dist/src/utils/fs.js +19 -0
  270. package/dist/src/utils/fs.js.map +1 -0
  271. package/dist/src/utils/levenshtein.d.ts +6 -0
  272. package/dist/src/utils/levenshtein.d.ts.map +1 -0
  273. package/dist/src/utils/levenshtein.js +32 -0
  274. package/dist/src/utils/levenshtein.js.map +1 -0
  275. package/dist/src/utils/suggest.d.ts +15 -0
  276. package/dist/src/utils/suggest.d.ts.map +1 -0
  277. package/dist/src/utils/suggest.js +49 -0
  278. package/dist/src/utils/suggest.js.map +1 -0
  279. package/dist/src/utils/version.d.ts +2 -0
  280. package/dist/src/utils/version.d.ts.map +1 -0
  281. package/dist/src/utils/version.js +21 -0
  282. package/dist/src/utils/version.js.map +1 -0
  283. package/dist/src/utils/web/autocomplete.d.ts +12 -0
  284. package/dist/src/utils/web/autocomplete.d.ts.map +1 -0
  285. package/dist/src/utils/web/autocomplete.js +12 -0
  286. package/dist/src/utils/web/autocomplete.js.map +1 -0
  287. package/dist/src/utils/web/process.d.ts +15 -0
  288. package/dist/src/utils/web/process.d.ts.map +1 -0
  289. package/dist/src/utils/web/process.js +29 -0
  290. package/dist/src/utils/web/process.js.map +1 -0
  291. package/dist/src/validator/__tests__/array.spec.d.ts +2 -0
  292. package/dist/src/validator/__tests__/array.spec.d.ts.map +1 -0
  293. package/dist/src/validator/__tests__/array.spec.js +34 -0
  294. package/dist/src/validator/__tests__/array.spec.js.map +1 -0
  295. package/dist/src/validator/__tests__/caporal.spec.d.ts +2 -0
  296. package/dist/src/validator/__tests__/caporal.spec.d.ts.map +1 -0
  297. package/dist/src/validator/__tests__/caporal.spec.js +86 -0
  298. package/dist/src/validator/__tests__/caporal.spec.js.map +1 -0
  299. package/dist/src/validator/__tests__/function.spec.d.ts +2 -0
  300. package/dist/src/validator/__tests__/function.spec.d.ts.map +1 -0
  301. package/dist/src/validator/__tests__/function.spec.js +42 -0
  302. package/dist/src/validator/__tests__/function.spec.js.map +1 -0
  303. package/dist/src/validator/__tests__/regexp.spec.d.ts +2 -0
  304. package/dist/src/validator/__tests__/regexp.spec.d.ts.map +1 -0
  305. package/dist/src/validator/__tests__/regexp.spec.js +34 -0
  306. package/dist/src/validator/__tests__/regexp.spec.js.map +1 -0
  307. package/dist/src/validator/__tests__/utils.spec.d.ts +2 -0
  308. package/dist/src/validator/__tests__/utils.spec.d.ts.map +1 -0
  309. package/dist/src/validator/__tests__/utils.spec.js +66 -0
  310. package/dist/src/validator/__tests__/utils.spec.js.map +1 -0
  311. package/dist/src/validator/__tests__/validate.spec.d.ts +2 -0
  312. package/dist/src/validator/__tests__/validate.spec.d.ts.map +1 -0
  313. package/dist/src/validator/__tests__/validate.spec.js +25 -0
  314. package/dist/src/validator/__tests__/validate.spec.js.map +1 -0
  315. package/dist/src/validator/array.d.ts +14 -0
  316. package/dist/src/validator/array.d.ts.map +1 -0
  317. package/dist/src/validator/array.js +29 -0
  318. package/dist/src/validator/array.js.map +1 -0
  319. package/dist/src/validator/caporal.d.ts +25 -0
  320. package/dist/src/validator/caporal.d.ts.map +1 -0
  321. package/dist/src/validator/caporal.js +89 -0
  322. package/dist/src/validator/caporal.js.map +1 -0
  323. package/dist/src/validator/function.d.ts +7 -0
  324. package/dist/src/validator/function.d.ts.map +1 -0
  325. package/dist/src/validator/function.js +27 -0
  326. package/dist/src/validator/function.js.map +1 -0
  327. package/dist/src/validator/regexp.d.ts +14 -0
  328. package/dist/src/validator/regexp.d.ts.map +1 -0
  329. package/dist/src/validator/regexp.js +31 -0
  330. package/dist/src/validator/regexp.js.map +1 -0
  331. package/dist/src/validator/utils.d.ts +14 -0
  332. package/dist/src/validator/utils.d.ts.map +1 -0
  333. package/dist/src/validator/utils.js +81 -0
  334. package/dist/src/validator/utils.js.map +1 -0
  335. package/dist/src/validator/validate.d.ts +7 -0
  336. package/dist/src/validator/validate.d.ts.map +1 -0
  337. package/dist/src/validator/validate.js +29 -0
  338. package/dist/src/validator/validate.js.map +1 -0
  339. package/dist/tsconfig.tsbuildinfo +1 -0
  340. package/package.json +75 -0
  341. package/src/__tests__/issue-163.spec.ts +18 -0
  342. package/src/argument/__tests__/argument.spec.ts +84 -0
  343. package/src/argument/find.ts +11 -0
  344. package/src/argument/index.ts +35 -0
  345. package/src/argument/synopsis.ts +41 -0
  346. package/src/argument/validate.ts +176 -0
  347. package/src/autocomplete/__fixtures__/prog-autocomplete.ts +24 -0
  348. package/src/autocomplete/__tests__/autocomplete.spec.ts +129 -0
  349. package/src/autocomplete/index.ts +225 -0
  350. package/src/autocomplete/types.ts +29 -0
  351. package/src/command/__fixtures__/example-cmd.ts +14 -0
  352. package/src/command/__tests__/command.spec.ts +621 -0
  353. package/src/command/__tests__/find.spec.ts +32 -0
  354. package/src/command/__tests__/import.spec.ts +14 -0
  355. package/src/command/__tests__/scan.spec.ts +16 -0
  356. package/src/command/find.ts +57 -0
  357. package/src/command/import.ts +13 -0
  358. package/src/command/index.ts +458 -0
  359. package/src/command/scan.ts +30 -0
  360. package/src/command/validate-call.ts +19 -0
  361. package/src/config/index.ts +26 -0
  362. package/src/error/__tests__/fatal.spec.ts +38 -0
  363. package/src/error/action.ts +13 -0
  364. package/src/error/base.ts +20 -0
  365. package/src/error/fatal.ts +25 -0
  366. package/src/error/index.ts +17 -0
  367. package/src/error/invalid-validator.ts +12 -0
  368. package/src/error/missing-argument.ts +16 -0
  369. package/src/error/missing-flag.ts +16 -0
  370. package/src/error/multi-validation.ts +22 -0
  371. package/src/error/no-action.ts +19 -0
  372. package/src/error/option-synopsis-syntax.ts +12 -0
  373. package/src/error/too-many-arguments.ts +28 -0
  374. package/src/error/unknown-command.ts +41 -0
  375. package/src/error/unknown-option.ts +40 -0
  376. package/src/error/validation.ts +80 -0
  377. package/src/help/__tests__/__snapshots__/help.spec.ts.snap +334 -0
  378. package/src/help/__tests__/help.spec.ts +144 -0
  379. package/src/help/__tests__/utils.spec.ts +14 -0
  380. package/src/help/index.ts +107 -0
  381. package/src/help/templates/command.ts +27 -0
  382. package/src/help/templates/custom.ts +25 -0
  383. package/src/help/templates/header.ts +19 -0
  384. package/src/help/templates/index.ts +9 -0
  385. package/src/help/templates/program.ts +21 -0
  386. package/src/help/templates/usage.ts +24 -0
  387. package/src/help/types.ts +57 -0
  388. package/src/help/utils.ts +109 -0
  389. package/src/index.ts +93 -0
  390. package/src/logger/__tests__/logger.spec.ts +65 -0
  391. package/src/logger/index.ts +97 -0
  392. package/src/option/__tests__/global.spec.ts +141 -0
  393. package/src/option/__tests__/option.spec.ts +115 -0
  394. package/src/option/find.ts +17 -0
  395. package/src/option/index.ts +280 -0
  396. package/src/option/mapping.ts +17 -0
  397. package/src/option/utils.ts +141 -0
  398. package/src/option/validate.ts +80 -0
  399. package/src/parser/__tests__/parser.spec.ts +371 -0
  400. package/src/parser/index.ts +383 -0
  401. package/src/program/__tests__/program.spec.ts +316 -0
  402. package/src/program/index.ts +676 -0
  403. package/src/types.ts +432 -0
  404. package/src/utils/__tests__/fs.spec.ts +14 -0
  405. package/src/utils/__tests__/levenshtein.spec.ts +16 -0
  406. package/src/utils/__tests__/suggest.spec.ts +30 -0
  407. package/src/utils/colorize.ts +21 -0
  408. package/src/utils/fs.ts +13 -0
  409. package/src/utils/levenshtein.ts +28 -0
  410. package/src/utils/suggest.ts +52 -0
  411. package/src/utils/version.ts +14 -0
  412. package/src/utils/web/autocomplete.ts +19 -0
  413. package/src/utils/web/process.ts +24 -0
  414. package/src/validator/__tests__/array.spec.ts +41 -0
  415. package/src/validator/__tests__/caporal.spec.ts +132 -0
  416. package/src/validator/__tests__/function.spec.ts +52 -0
  417. package/src/validator/__tests__/regexp.spec.ts +38 -0
  418. package/src/validator/__tests__/utils.spec.ts +67 -0
  419. package/src/validator/__tests__/validate.spec.ts +24 -0
  420. package/src/validator/array.ts +31 -0
  421. package/src/validator/caporal.ts +104 -0
  422. package/src/validator/function.ts +31 -0
  423. package/src/validator/regexp.ts +34 -0
  424. package/src/validator/utils.ts +84 -0
  425. package/src/validator/validate.ts +38 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017-present Matthias ETIENNE
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,29 @@
1
+ <p align="center">
2
+ <img src="https://github.com/mattallty/Caporal.js/blob/6a8bd68b454ff6327df310d290ee453e0efc087b/assets/caporal.svg?raw=true" width="437" height="127">
3
+ </p>
4
+
5
+ # Caporal
6
+
7
+ > A full-featured framework for building command line applications (cli) with node.js,
8
+ > including help generation, colored output, verbosity control, custom logger, coercion
9
+ > and casting, typos suggestions, and auto-complete for bash/zsh/fish.
10
+
11
+ ## Install
12
+
13
+ Simply add Caporal as a dependency:
14
+
15
+ ```bash
16
+ $ npm install @caporal/core
17
+
18
+ # Or if you are using yarn (https://yarnpkg.com/lang/en/)
19
+ $ yarn add caporal @caporal/core
20
+ ```
21
+
22
+ ## Documentation
23
+
24
+ [**Checkout our website https://caporal.io for docs.**](https://caporal.io)
25
+
26
+ ## License
27
+
28
+ MIT License, see [LICENSE](./LICENSE) file.
29
+ Copyright (c) 2017-present Matthias ETIENNE.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=issue-163.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-163.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/issue-163.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const parser_1 = require("../parser");
5
+ (0, vitest_1.describe)("issue #163", () => {
6
+ (0, vitest_1.it)("should combine short and long versions of option flag when using array option", () => {
7
+ const results = (0, parser_1.parseArgv)({
8
+ variadic: ["file"],
9
+ alias: {
10
+ f: "file",
11
+ },
12
+ }, ["-f", "my-value", "--file", "joe", "--file", "1", "-f", "xxx"]);
13
+ (0, vitest_1.expect)(results.options.f).toEqual(["my-value", "joe", 1, "xxx"]);
14
+ (0, vitest_1.expect)(results.options.file).toEqual(["my-value", "joe", 1, "xxx"]);
15
+ });
16
+ });
17
+ //# sourceMappingURL=issue-163.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-163.spec.js","sourceRoot":"","sources":["../../../src/__tests__/issue-163.spec.ts"],"names":[],"mappings":";;AAAA,mCAA6C;AAC7C,sCAAqC;AAErC,IAAA,iBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,OAAO,GAAG,IAAA,kBAAS,EACvB;YACE,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE;gBACL,CAAC,EAAE,MAAM;aACV;SACF,EACD,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAChE,CAAA;QACD,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QAChE,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=argument.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument.spec.d.ts","sourceRoot":"","sources":["../../../../src/argument/__tests__/argument.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const __1 = require("..");
4
+ const vitest_1 = require("vitest");
5
+ (0, vitest_1.describe)("createArgument()", () => {
6
+ (0, vitest_1.it)("should create a basic required arg", () => {
7
+ const arg = (0, __1.createArgument)("<my-argument>", "My test argument");
8
+ (0, vitest_1.expect)(arg).toMatchObject({
9
+ description: "My test argument",
10
+ choices: [],
11
+ name: "myArgument",
12
+ required: true,
13
+ synopsis: "<my-argument>",
14
+ variadic: false,
15
+ });
16
+ });
17
+ (0, vitest_1.it)("should create a basic optional arg", () => {
18
+ const arg = (0, __1.createArgument)("[my-argument]", "My test argument");
19
+ (0, vitest_1.expect)(arg).toMatchObject({
20
+ description: "My test argument",
21
+ choices: [],
22
+ name: "myArgument",
23
+ required: false,
24
+ synopsis: "[my-argument]",
25
+ variadic: false,
26
+ });
27
+ });
28
+ (0, vitest_1.it)("should implicitly create an optional arg if no special character is set", () => {
29
+ const arg = (0, __1.createArgument)("my-argument", "My test argument");
30
+ (0, vitest_1.expect)(arg).toMatchObject({
31
+ description: "My test argument",
32
+ choices: [],
33
+ name: "myArgument",
34
+ required: false,
35
+ synopsis: "[my-argument]",
36
+ variadic: false,
37
+ });
38
+ });
39
+ (0, vitest_1.it)("arg.choices should equal the array validator when provided", () => {
40
+ const arg = (0, __1.createArgument)("[my-argument]", "My test argument", {
41
+ validator: ["one", "two"],
42
+ });
43
+ (0, vitest_1.expect)(arg).toMatchObject({
44
+ description: "My test argument",
45
+ choices: ["one", "two"],
46
+ name: "myArgument",
47
+ required: false,
48
+ typeHint: 'one of "one","two"',
49
+ synopsis: "[my-argument]",
50
+ validator: ["one", "two"],
51
+ variadic: false,
52
+ });
53
+ });
54
+ (0, vitest_1.it)("arg.variadic should be true for an optional variadic argument", () => {
55
+ const arg = (0, __1.createArgument)("[my-argument...]", "My test argument", {
56
+ validator: ["one", "two"],
57
+ });
58
+ (0, vitest_1.expect)(arg).toMatchObject({
59
+ description: "My test argument",
60
+ choices: ["one", "two"],
61
+ name: "myArgument",
62
+ required: false,
63
+ typeHint: 'one of "one","two"',
64
+ synopsis: "[my-argument...]",
65
+ validator: ["one", "two"],
66
+ variadic: true,
67
+ });
68
+ });
69
+ (0, vitest_1.it)("arg.variadic should be true for an required variadic argument", () => {
70
+ const arg = (0, __1.createArgument)("<my-argument...>", "My test argument", {
71
+ validator: ["one", "two"],
72
+ });
73
+ (0, vitest_1.expect)(arg).toMatchObject({
74
+ description: "My test argument",
75
+ choices: ["one", "two"],
76
+ name: "myArgument",
77
+ required: true,
78
+ typeHint: 'one of "one","two"',
79
+ synopsis: "<my-argument...>",
80
+ validator: ["one", "two"],
81
+ variadic: true,
82
+ });
83
+ });
84
+ });
85
+ //# sourceMappingURL=argument.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument.spec.js","sourceRoot":"","sources":["../../../../src/argument/__tests__/argument.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @internal
4
+ */
5
+ import type { Argument } from "../types";
6
+ import type { Command } from "../command";
7
+ export declare function findArgument(cmd: Command, name: string): Argument | undefined;
8
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/argument/find.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE7E"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @packageDocumentation
4
+ * @internal
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.findArgument = findArgument;
8
+ function findArgument(cmd, name) {
9
+ return cmd.args.find((a) => a.name === name);
10
+ }
11
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/argument/find.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAKH,oCAEC;AAFD,SAAgB,YAAY,CAAC,GAAY,EAAE,IAAY;IACrD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @internal
4
+ */
5
+ import type { Argument, CreateArgumentOpts } from "../types";
6
+ /**
7
+ *
8
+ * @param synopsis - Argument synopsis
9
+ * @param description - Argument description
10
+ * @param [options] - Various argument options like validator and default value
11
+ */
12
+ export declare function createArgument(synopsis: string, description: string, options?: CreateArgumentOpts): Argument;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/argument/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI5D;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,kBAAuB,GAC/B,QAAQ,CAgBV"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createArgument = createArgument;
4
+ const utils_1 = require("../validator/utils");
5
+ const synopsis_1 = require("./synopsis");
6
+ /**
7
+ *
8
+ * @param synopsis - Argument synopsis
9
+ * @param description - Argument description
10
+ * @param [options] - Various argument options like validator and default value
11
+ */
12
+ function createArgument(synopsis, description, options = {}) {
13
+ const { validator, default: defaultValue } = options;
14
+ (0, utils_1.checkValidator)(validator);
15
+ const syno = (0, synopsis_1.parseArgumentSynopsis)(synopsis);
16
+ const arg = {
17
+ kind: "argument",
18
+ default: defaultValue,
19
+ description,
20
+ choices: Array.isArray(validator) ? validator : [],
21
+ validator,
22
+ ...syno,
23
+ };
24
+ arg.typeHint = (0, utils_1.getTypeHint)(arg);
25
+ return arg;
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/argument/index.ts"],"names":[],"mappings":";;AAcA,wCAoBC;AA7BD,8CAAgE;AAChE,yCAAkD;AAElD;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,QAAgB,EAChB,WAAmB,EACnB,UAA8B,EAAE;IAEhC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IACpD,IAAA,sBAAc,EAAC,SAAS,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,GAAG,GAAa;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,YAAY;QACrB,WAAW;QACX,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAClD,SAAS;QACT,GAAG,IAAI;KACR,CAAA;IACD,GAAG,CAAC,QAAQ,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;IAE/B,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @internal
4
+ */
5
+ import type { ArgumentSynopsis } from "../types";
6
+ /**
7
+ * Check if the argument is explicitly required
8
+ *
9
+ * @ignore
10
+ * @param synopsis
11
+ */
12
+ export declare function isRequired(synopsis: string): boolean;
13
+ /**
14
+ *
15
+ * @param synopsis
16
+ */
17
+ export declare function isVariadic(synopsis: string): boolean;
18
+ export declare function parseArgumentSynopsis(synopsis: string): ArgumentSynopsis;
19
+ //# sourceMappingURL=synopsis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synopsis.d.ts","sourceRoot":"","sources":["../../../src/argument/synopsis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGhD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAexE"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRequired = isRequired;
4
+ exports.isVariadic = isVariadic;
5
+ exports.parseArgumentSynopsis = parseArgumentSynopsis;
6
+ const utils_1 = require("../option/utils");
7
+ /**
8
+ * Check if the argument is explicitly required
9
+ *
10
+ * @ignore
11
+ * @param synopsis
12
+ */
13
+ function isRequired(synopsis) {
14
+ return synopsis.substring(0, 1) === "<";
15
+ }
16
+ /**
17
+ *
18
+ * @param synopsis
19
+ */
20
+ function isVariadic(synopsis) {
21
+ return synopsis.substr(-4, 3) === "..." || synopsis.endsWith("...");
22
+ }
23
+ function parseArgumentSynopsis(synopsis) {
24
+ synopsis = synopsis.trim();
25
+ const rawName = (0, utils_1.getCleanNameFromNotation)(synopsis, false);
26
+ const name = (0, utils_1.getCleanNameFromNotation)(synopsis);
27
+ const required = isRequired(synopsis);
28
+ const variadic = isVariadic(synopsis);
29
+ const cleanSynopsis = required
30
+ ? `<${rawName}${variadic ? "..." : ""}>`
31
+ : `[${rawName}${variadic ? "..." : ""}]`;
32
+ return {
33
+ name,
34
+ synopsis: cleanSynopsis,
35
+ required,
36
+ variadic,
37
+ };
38
+ }
39
+ //# sourceMappingURL=synopsis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synopsis.js","sourceRoot":"","sources":["../../../src/argument/synopsis.ts"],"names":[],"mappings":";;AAaA,gCAEC;AAMD,gCAEC;AAED,sDAeC;AAnCD,2CAA0D;AAE1D;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAA;AACzC,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAgB;IACpD,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAA,gCAAwB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG;QACxC,CAAC,CAAC,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IAC1C,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,aAAa;QACvB,QAAQ;QACR,QAAQ;KACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @internal
4
+ */
5
+ import { BaseError, CommonError } from "../error";
6
+ import type { ArgumentsRange, ParsedArguments, ParsedArgumentsObject } from "../types";
7
+ import type { Command } from "../command";
8
+ /**
9
+ * Get the number of required argument for a given command
10
+ *
11
+ * @param cmd
12
+ */
13
+ export declare function getRequiredArgsCount(cmd: Command): number;
14
+ export declare function getArgsObjectFromArray(cmd: Command, args: ParsedArguments): ParsedArgumentsObject;
15
+ /**
16
+ * Check if the given command has at leat one variadic argument
17
+ *
18
+ * @param cmd
19
+ */
20
+ export declare function hasVariadicArgument(cmd: Command): boolean;
21
+ export declare function getArgsRange(cmd: Command): ArgumentsRange;
22
+ export declare function checkRequiredArgs(cmd: Command, args: ParsedArgumentsObject, parsedArgv: ParsedArguments): BaseError[];
23
+ export declare function removeCommandFromArgs(cmd: Command, args: ParsedArguments): ParsedArguments;
24
+ interface ArgsValidationResult {
25
+ args: ParsedArgumentsObject;
26
+ errors: CommonError[];
27
+ }
28
+ /**
29
+ *
30
+ * @param cmd
31
+ * @param parsedArgv
32
+ *
33
+ * @todo Bugs:
34
+ *
35
+ *
36
+ * ts-node examples/pizza/pizza.ts cancel my-order jhazd hazd
37
+ *
38
+ * -> result ok, should be too many arguments
39
+ *
40
+ */
41
+ export declare function validateArgs(cmd: Command, parsedArgv: ParsedArguments): Promise<ArgsValidationResult>;
42
+ export {};
43
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/argument/validate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAGL,SAAS,EACT,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAEV,cAAc,EACd,eAAe,EACf,qBAAqB,EAGtB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAIzC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,eAAe,GACpB,qBAAqB,CAUvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAIzD;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,qBAAqB,EAC3B,UAAU,EAAE,eAAe,GAC1B,SAAS,EAAE,CAiBb;AAaD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,eAAe,GACpB,eAAe,CAGjB;AASD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /**
3
+ * @packageDocumentation
4
+ * @internal
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getRequiredArgsCount = getRequiredArgsCount;
11
+ exports.getArgsObjectFromArray = getArgsObjectFromArray;
12
+ exports.hasVariadicArgument = hasVariadicArgument;
13
+ exports.getArgsRange = getArgsRange;
14
+ exports.checkRequiredArgs = checkRequiredArgs;
15
+ exports.removeCommandFromArgs = removeCommandFromArgs;
16
+ exports.validateArgs = validateArgs;
17
+ const reduce_1 = __importDefault(require("lodash/reduce"));
18
+ const error_1 = require("../error");
19
+ const validate_1 = require("../validator/validate");
20
+ const find_1 = require("./find");
21
+ /**
22
+ * Get the number of required argument for a given command
23
+ *
24
+ * @param cmd
25
+ */
26
+ function getRequiredArgsCount(cmd) {
27
+ return cmd.args.filter((a) => a.required).length;
28
+ }
29
+ function getArgsObjectFromArray(cmd, args) {
30
+ const result = {};
31
+ return cmd.args.reduce((acc, arg, index) => {
32
+ if (args[index] !== undefined) {
33
+ acc[arg.name] = args[index];
34
+ }
35
+ else if (arg.default !== undefined) {
36
+ acc[arg.name] = arg.default;
37
+ }
38
+ return acc;
39
+ }, result);
40
+ }
41
+ /**
42
+ * Check if the given command has at leat one variadic argument
43
+ *
44
+ * @param cmd
45
+ */
46
+ function hasVariadicArgument(cmd) {
47
+ return cmd.args.some((a) => a.variadic);
48
+ }
49
+ function getArgsRange(cmd) {
50
+ const min = getRequiredArgsCount(cmd);
51
+ const max = hasVariadicArgument(cmd) ? Infinity : cmd.args.length;
52
+ return { min, max };
53
+ }
54
+ function checkRequiredArgs(cmd, args, parsedArgv) {
55
+ const errors = cmd.args.reduce((acc, arg) => {
56
+ if (args[arg.name] === undefined && arg.required) {
57
+ acc.push(new error_1.MissingArgumentError(arg, cmd));
58
+ }
59
+ return acc;
60
+ }, []);
61
+ // Check if there is more args than specified
62
+ if (cmd.strictArgsCount) {
63
+ const numArgsError = checkNumberOfArgs(cmd, parsedArgv);
64
+ if (numArgsError) {
65
+ errors.push(numArgsError);
66
+ }
67
+ }
68
+ return errors;
69
+ }
70
+ function checkNumberOfArgs(cmd, args) {
71
+ const range = getArgsRange(cmd);
72
+ const argsCount = Object.keys(args).length;
73
+ if (range.max !== Infinity && range.max < Object.keys(args).length) {
74
+ return new error_1.TooManyArgumentsError(cmd, range, argsCount);
75
+ }
76
+ }
77
+ function removeCommandFromArgs(cmd, args) {
78
+ const words = cmd.name.split(" ").length;
79
+ return args.slice(words);
80
+ }
81
+ function validateArg(arg, value) {
82
+ return arg.validator ? (0, validate_1.validate)(value, arg.validator, arg) : value;
83
+ }
84
+ /**
85
+ *
86
+ * @param cmd
87
+ * @param parsedArgv
88
+ *
89
+ * @todo Bugs:
90
+ *
91
+ *
92
+ * ts-node examples/pizza/pizza.ts cancel my-order jhazd hazd
93
+ *
94
+ * -> result ok, should be too many arguments
95
+ *
96
+ */
97
+ async function validateArgs(cmd, parsedArgv) {
98
+ // remove the command from the argv array
99
+ const formatedArgs = cmd.isProgramCommand()
100
+ ? parsedArgv
101
+ : removeCommandFromArgs(cmd, parsedArgv);
102
+ // transfrom args array to object, and set defaults for arguments not passed
103
+ const argsObj = getArgsObjectFromArray(cmd, formatedArgs);
104
+ const errors = [];
105
+ const validations = (0, reduce_1.default)(argsObj, (acc, value, key) => {
106
+ const arg = (0, find_1.findArgument)(cmd, key);
107
+ try {
108
+ /* istanbul ignore if -- should not happen */
109
+ if (!arg) {
110
+ throw new error_1.BaseError(`Unknown argumment ${key}`);
111
+ }
112
+ acc[key] = validateArg(arg, value);
113
+ }
114
+ catch (e) {
115
+ errors.push(e);
116
+ }
117
+ return acc;
118
+ }, {});
119
+ const result = await (0, reduce_1.default)(validations, async (prevPromise, value, key) => {
120
+ const collection = await prevPromise;
121
+ collection[key] = await value;
122
+ return collection;
123
+ }, Promise.resolve({}));
124
+ errors.push(...checkRequiredArgs(cmd, result, formatedArgs));
125
+ return { args: result, errors };
126
+ }
127
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/argument/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { program } from "../..";
2
+ export { program };
3
+ //# sourceMappingURL=prog-autocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prog-autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/autocomplete/__fixtures__/prog-autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAuB/B,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.program = void 0;
4
+ const __1 = require("../..");
5
+ Object.defineProperty(exports, "program", { enumerable: true, get: function () { return __1.program; } });
6
+ __1.program
7
+ .bin("pizza")
8
+ // First possible command: "order"
9
+ .command("order", "Order a pizza")
10
+ .argument("<type>", "Type of pizza", {
11
+ validator: ["margherita", "caprese", "quattro fromaggi"],
12
+ })
13
+ .option("-e, --extra-ingredients <ingredients>", "Extra ingredients")
14
+ // Another command: "cancel"
15
+ .command("cancel", "Cancel an order")
16
+ .argument("<order-id>", "Order id")
17
+ .complete(function () {
18
+ return ["1234", "5678"];
19
+ })
20
+ .option("-c, --cash-out <type>", "Cash out type")
21
+ .complete(() => {
22
+ return Promise.resolve(["cash", "paypal", "credit-card"]);
23
+ });
24
+ //# sourceMappingURL=prog-autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prog-autocomplete.js","sourceRoot":"","sources":["../../../../src/autocomplete/__fixtures__/prog-autocomplete.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;AAuBtB,wFAvBA,WAAO,OAuBA;AArBhB,WAAO;KACJ,GAAG,CAAC,OAAO,CAAC;IAEb,kCAAkC;KACjC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE;IACnC,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,kBAAkB,CAAC;CACzD,CAAC;KACD,MAAM,CAAC,uCAAuC,EAAE,mBAAmB,CAAC;IAErE,4BAA4B;KAC3B,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC;KACpC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,QAAQ,CAAC;IACR,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACzB,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC;KAChD,QAAQ,CAAC,GAAG,EAAE;IACb,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;AAC3D,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=autocomplete.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.spec.d.ts","sourceRoot":"","sources":["../../../../src/autocomplete/__tests__/autocomplete.spec.ts"],"names":[],"mappings":""}