@contember/cli-common 2.1.0-alpha.30 → 2.1.0-alpha.35

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 (241) hide show
  1. package/package.json +11 -6
  2. package/src/application/Application.ts +6 -4
  3. package/src/index.ts +1 -1
  4. package/src/npm/CommandRunner.ts +0 -1
  5. package/src/npm/PackageWorkspace.ts +0 -2
  6. package/src/npm/packageManagers/PackageManagerHelpers.ts +3 -1
  7. package/src/npm/packageManagers/Yarn.ts +2 -1
  8. package/dist/development/index.cjs +0 -32
  9. package/dist/development/index.cjs.map +0 -1
  10. package/dist/development/index.js +0 -32
  11. package/dist/development/index.js.map +0 -1
  12. package/dist/development/src/application/Application.cjs +0 -82
  13. package/dist/development/src/application/Application.cjs.map +0 -1
  14. package/dist/development/src/application/Application.js +0 -82
  15. package/dist/development/src/application/Application.js.map +0 -1
  16. package/dist/development/src/application/Argument.cjs +0 -25
  17. package/dist/development/src/application/Argument.cjs.map +0 -1
  18. package/dist/development/src/application/Argument.js +0 -25
  19. package/dist/development/src/application/Argument.js.map +0 -1
  20. package/dist/development/src/application/Command.cjs +0 -28
  21. package/dist/development/src/application/Command.cjs.map +0 -1
  22. package/dist/development/src/application/Command.js +0 -28
  23. package/dist/development/src/application/Command.js.map +0 -1
  24. package/dist/development/src/application/CommandConfiguration.cjs +0 -44
  25. package/dist/development/src/application/CommandConfiguration.cjs.map +0 -1
  26. package/dist/development/src/application/CommandConfiguration.js +0 -44
  27. package/dist/development/src/application/CommandConfiguration.js.map +0 -1
  28. package/dist/development/src/application/CommandManager.cjs +0 -37
  29. package/dist/development/src/application/CommandManager.cjs.map +0 -1
  30. package/dist/development/src/application/CommandManager.js +0 -37
  31. package/dist/development/src/application/CommandManager.js.map +0 -1
  32. package/dist/development/src/application/Input.cjs +0 -16
  33. package/dist/development/src/application/Input.cjs.map +0 -1
  34. package/dist/development/src/application/Input.js +0 -16
  35. package/dist/development/src/application/Input.js.map +0 -1
  36. package/dist/development/src/application/InputParser.cjs +0 -117
  37. package/dist/development/src/application/InputParser.cjs.map +0 -1
  38. package/dist/development/src/application/InputParser.js +0 -117
  39. package/dist/development/src/application/InputParser.js.map +0 -1
  40. package/dist/development/src/application/Option.cjs +0 -49
  41. package/dist/development/src/application/Option.cjs.map +0 -1
  42. package/dist/development/src/application/Option.js +0 -49
  43. package/dist/development/src/application/Option.js.map +0 -1
  44. package/dist/development/src/application/UsageFormatter.cjs +0 -61
  45. package/dist/development/src/application/UsageFormatter.cjs.map +0 -1
  46. package/dist/development/src/application/UsageFormatter.js +0 -61
  47. package/dist/development/src/application/UsageFormatter.js.map +0 -1
  48. package/dist/development/src/application/assertNever.cjs +0 -7
  49. package/dist/development/src/application/assertNever.cjs.map +0 -1
  50. package/dist/development/src/application/assertNever.js +0 -7
  51. package/dist/development/src/application/assertNever.js.map +0 -1
  52. package/dist/development/src/npm/CommandRunner.cjs +0 -59
  53. package/dist/development/src/npm/CommandRunner.cjs.map +0 -1
  54. package/dist/development/src/npm/CommandRunner.js +0 -59
  55. package/dist/development/src/npm/CommandRunner.js.map +0 -1
  56. package/dist/development/src/npm/Package.cjs +0 -11
  57. package/dist/development/src/npm/Package.cjs.map +0 -1
  58. package/dist/development/src/npm/Package.js +0 -11
  59. package/dist/development/src/npm/Package.js.map +0 -1
  60. package/dist/development/src/npm/PackageWorkspace.cjs +0 -79
  61. package/dist/development/src/npm/PackageWorkspace.cjs.map +0 -1
  62. package/dist/development/src/npm/PackageWorkspace.js +0 -79
  63. package/dist/development/src/npm/PackageWorkspace.js.map +0 -1
  64. package/dist/development/src/npm/PackageWorkspaceResolver.cjs +0 -48
  65. package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  66. package/dist/development/src/npm/PackageWorkspaceResolver.js +0 -48
  67. package/dist/development/src/npm/PackageWorkspaceResolver.js.map +0 -1
  68. package/dist/development/src/npm/packageManagers/Bun.cjs +0 -34
  69. package/dist/development/src/npm/packageManagers/Bun.cjs.map +0 -1
  70. package/dist/development/src/npm/packageManagers/Bun.js +0 -34
  71. package/dist/development/src/npm/packageManagers/Bun.js.map +0 -1
  72. package/dist/development/src/npm/packageManagers/Npm.cjs +0 -34
  73. package/dist/development/src/npm/packageManagers/Npm.cjs.map +0 -1
  74. package/dist/development/src/npm/packageManagers/Npm.js +0 -34
  75. package/dist/development/src/npm/packageManagers/Npm.js.map +0 -1
  76. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  77. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  78. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  79. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  80. package/dist/development/src/npm/packageManagers/Pnpm.cjs +0 -39
  81. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  82. package/dist/development/src/npm/packageManagers/Pnpm.js +0 -39
  83. package/dist/development/src/npm/packageManagers/Pnpm.js.map +0 -1
  84. package/dist/development/src/npm/packageManagers/Yarn.cjs +0 -34
  85. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +0 -1
  86. package/dist/development/src/npm/packageManagers/Yarn.js +0 -34
  87. package/dist/development/src/npm/packageManagers/Yarn.js.map +0 -1
  88. package/dist/development/src/npm/packageManagers/YarnClassic.cjs +0 -35
  89. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  90. package/dist/development/src/npm/packageManagers/YarnClassic.js +0 -35
  91. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +0 -1
  92. package/dist/development/src/utils/findPackageRoot.cjs +0 -20
  93. package/dist/development/src/utils/findPackageRoot.cjs.map +0 -1
  94. package/dist/development/src/utils/findPackageRoot.js +0 -20
  95. package/dist/development/src/utils/findPackageRoot.js.map +0 -1
  96. package/dist/production/index.cjs +0 -32
  97. package/dist/production/index.cjs.map +0 -1
  98. package/dist/production/index.js +0 -32
  99. package/dist/production/index.js.map +0 -1
  100. package/dist/production/src/application/Application.cjs +0 -82
  101. package/dist/production/src/application/Application.cjs.map +0 -1
  102. package/dist/production/src/application/Application.js +0 -82
  103. package/dist/production/src/application/Application.js.map +0 -1
  104. package/dist/production/src/application/Argument.cjs +0 -25
  105. package/dist/production/src/application/Argument.cjs.map +0 -1
  106. package/dist/production/src/application/Argument.js +0 -25
  107. package/dist/production/src/application/Argument.js.map +0 -1
  108. package/dist/production/src/application/Command.cjs +0 -28
  109. package/dist/production/src/application/Command.cjs.map +0 -1
  110. package/dist/production/src/application/Command.js +0 -28
  111. package/dist/production/src/application/Command.js.map +0 -1
  112. package/dist/production/src/application/CommandConfiguration.cjs +0 -44
  113. package/dist/production/src/application/CommandConfiguration.cjs.map +0 -1
  114. package/dist/production/src/application/CommandConfiguration.js +0 -44
  115. package/dist/production/src/application/CommandConfiguration.js.map +0 -1
  116. package/dist/production/src/application/CommandManager.cjs +0 -37
  117. package/dist/production/src/application/CommandManager.cjs.map +0 -1
  118. package/dist/production/src/application/CommandManager.js +0 -37
  119. package/dist/production/src/application/CommandManager.js.map +0 -1
  120. package/dist/production/src/application/Input.cjs +0 -16
  121. package/dist/production/src/application/Input.cjs.map +0 -1
  122. package/dist/production/src/application/Input.js +0 -16
  123. package/dist/production/src/application/Input.js.map +0 -1
  124. package/dist/production/src/application/InputParser.cjs +0 -117
  125. package/dist/production/src/application/InputParser.cjs.map +0 -1
  126. package/dist/production/src/application/InputParser.js +0 -117
  127. package/dist/production/src/application/InputParser.js.map +0 -1
  128. package/dist/production/src/application/Option.cjs +0 -49
  129. package/dist/production/src/application/Option.cjs.map +0 -1
  130. package/dist/production/src/application/Option.js +0 -49
  131. package/dist/production/src/application/Option.js.map +0 -1
  132. package/dist/production/src/application/UsageFormatter.cjs +0 -61
  133. package/dist/production/src/application/UsageFormatter.cjs.map +0 -1
  134. package/dist/production/src/application/UsageFormatter.js +0 -61
  135. package/dist/production/src/application/UsageFormatter.js.map +0 -1
  136. package/dist/production/src/application/assertNever.cjs +0 -7
  137. package/dist/production/src/application/assertNever.cjs.map +0 -1
  138. package/dist/production/src/application/assertNever.js +0 -7
  139. package/dist/production/src/application/assertNever.js.map +0 -1
  140. package/dist/production/src/npm/CommandRunner.cjs +0 -59
  141. package/dist/production/src/npm/CommandRunner.cjs.map +0 -1
  142. package/dist/production/src/npm/CommandRunner.js +0 -59
  143. package/dist/production/src/npm/CommandRunner.js.map +0 -1
  144. package/dist/production/src/npm/Package.cjs +0 -11
  145. package/dist/production/src/npm/Package.cjs.map +0 -1
  146. package/dist/production/src/npm/Package.js +0 -11
  147. package/dist/production/src/npm/Package.js.map +0 -1
  148. package/dist/production/src/npm/PackageWorkspace.cjs +0 -79
  149. package/dist/production/src/npm/PackageWorkspace.cjs.map +0 -1
  150. package/dist/production/src/npm/PackageWorkspace.js +0 -79
  151. package/dist/production/src/npm/PackageWorkspace.js.map +0 -1
  152. package/dist/production/src/npm/PackageWorkspaceResolver.cjs +0 -48
  153. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  154. package/dist/production/src/npm/PackageWorkspaceResolver.js +0 -48
  155. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +0 -1
  156. package/dist/production/src/npm/packageManagers/Bun.cjs +0 -34
  157. package/dist/production/src/npm/packageManagers/Bun.cjs.map +0 -1
  158. package/dist/production/src/npm/packageManagers/Bun.js +0 -34
  159. package/dist/production/src/npm/packageManagers/Bun.js.map +0 -1
  160. package/dist/production/src/npm/packageManagers/Npm.cjs +0 -34
  161. package/dist/production/src/npm/packageManagers/Npm.cjs.map +0 -1
  162. package/dist/production/src/npm/packageManagers/Npm.js +0 -34
  163. package/dist/production/src/npm/packageManagers/Npm.js.map +0 -1
  164. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  165. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  166. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  167. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  168. package/dist/production/src/npm/packageManagers/Pnpm.cjs +0 -39
  169. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  170. package/dist/production/src/npm/packageManagers/Pnpm.js +0 -39
  171. package/dist/production/src/npm/packageManagers/Pnpm.js.map +0 -1
  172. package/dist/production/src/npm/packageManagers/Yarn.cjs +0 -34
  173. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +0 -1
  174. package/dist/production/src/npm/packageManagers/Yarn.js +0 -34
  175. package/dist/production/src/npm/packageManagers/Yarn.js.map +0 -1
  176. package/dist/production/src/npm/packageManagers/YarnClassic.cjs +0 -35
  177. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  178. package/dist/production/src/npm/packageManagers/YarnClassic.js +0 -35
  179. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +0 -1
  180. package/dist/production/src/utils/findPackageRoot.cjs +0 -20
  181. package/dist/production/src/utils/findPackageRoot.cjs.map +0 -1
  182. package/dist/production/src/utils/findPackageRoot.js +0 -20
  183. package/dist/production/src/utils/findPackageRoot.js.map +0 -1
  184. package/dist/types/application/Application.d.ts +0 -18
  185. package/dist/types/application/Application.d.ts.map +0 -1
  186. package/dist/types/application/Argument.d.ts +0 -16
  187. package/dist/types/application/Argument.d.ts.map +0 -1
  188. package/dist/types/application/Command.d.ts +0 -10
  189. package/dist/types/application/Command.d.ts.map +0 -1
  190. package/dist/types/application/CommandConfiguration.d.ts +0 -23
  191. package/dist/types/application/CommandConfiguration.d.ts.map +0 -1
  192. package/dist/types/application/CommandManager.d.ts +0 -11
  193. package/dist/types/application/CommandManager.d.ts.map +0 -1
  194. package/dist/types/application/Input.d.ts +0 -10
  195. package/dist/types/application/Input.d.ts.map +0 -1
  196. package/dist/types/application/InputParser.d.ts +0 -13
  197. package/dist/types/application/InputParser.d.ts.map +0 -1
  198. package/dist/types/application/Option.d.ts +0 -27
  199. package/dist/types/application/Option.d.ts.map +0 -1
  200. package/dist/types/application/UsageFormatter.d.ts +0 -11
  201. package/dist/types/application/UsageFormatter.d.ts.map +0 -1
  202. package/dist/types/application/assertNever.d.ts +0 -2
  203. package/dist/types/application/assertNever.d.ts.map +0 -1
  204. package/dist/types/application/index.d.ts +0 -11
  205. package/dist/types/application/index.d.ts.map +0 -1
  206. package/dist/types/index.d.ts +0 -5
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/npm/CommandRunner.d.ts +0 -22
  209. package/dist/types/npm/CommandRunner.d.ts.map +0 -1
  210. package/dist/types/npm/FileSystem.d.ts +0 -7
  211. package/dist/types/npm/FileSystem.d.ts.map +0 -1
  212. package/dist/types/npm/Package.d.ts +0 -8
  213. package/dist/types/npm/Package.d.ts.map +0 -1
  214. package/dist/types/npm/PackageJson.d.ts +0 -13
  215. package/dist/types/npm/PackageJson.d.ts.map +0 -1
  216. package/dist/types/npm/PackageWorkspace.d.ts +0 -25
  217. package/dist/types/npm/PackageWorkspace.d.ts.map +0 -1
  218. package/dist/types/npm/PackageWorkspaceResolver.d.ts +0 -13
  219. package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +0 -1
  220. package/dist/types/npm/index.d.ts +0 -9
  221. package/dist/types/npm/index.d.ts.map +0 -1
  222. package/dist/types/npm/packageManagers/Bun.d.ts +0 -24
  223. package/dist/types/npm/packageManagers/Bun.d.ts.map +0 -1
  224. package/dist/types/npm/packageManagers/Npm.d.ts +0 -24
  225. package/dist/types/npm/packageManagers/Npm.d.ts.map +0 -1
  226. package/dist/types/npm/packageManagers/PackageManager.d.ts +0 -18
  227. package/dist/types/npm/packageManagers/PackageManager.d.ts.map +0 -1
  228. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts +0 -15
  229. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +0 -1
  230. package/dist/types/npm/packageManagers/Pnpm.d.ts +0 -24
  231. package/dist/types/npm/packageManagers/Pnpm.d.ts.map +0 -1
  232. package/dist/types/npm/packageManagers/Yarn.d.ts +0 -24
  233. package/dist/types/npm/packageManagers/Yarn.d.ts.map +0 -1
  234. package/dist/types/npm/packageManagers/YarnClassic.d.ts +0 -24
  235. package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +0 -1
  236. package/dist/types/tsconfig.tsbuildinfo +0 -1
  237. package/dist/types/utils/findPackageRoot.d.ts +0 -2
  238. package/dist/types/utils/findPackageRoot.d.ts.map +0 -1
  239. package/dist/types/utils/index.d.ts +0 -2
  240. package/dist/types/utils/index.d.ts.map +0 -1
  241. package/src/.eslintrc.cjs +0 -5
@@ -1,117 +0,0 @@
1
- import { OptionMode } from "./Option.js";
2
- import { Input } from "./Input.js";
3
- class InputParser {
4
- constructor(_arguments, options) {
5
- this._arguments = _arguments;
6
- this.options = options;
7
- }
8
- parse(args) {
9
- args = args.reduce((acc, arg) => [...acc, ...arg.startsWith("-") ? arg.split("=", 2) : [arg]], []);
10
- let options = {};
11
- let argumentValues = {};
12
- let i = 0;
13
- let argumentNumber = 0;
14
- const variadicArg = this._arguments[this._arguments.length - 1]?.variadic ? this._arguments[this._arguments.length - 1] : void 0;
15
- for (; i < args.length; i++) {
16
- const value = this.tryParseValue(args[i]);
17
- if (value === void 0) {
18
- break;
19
- }
20
- const argument = this._arguments[argumentNumber] || variadicArg;
21
- if (!argument) {
22
- throw new InvalidInputError(`Unresolved argument for value "${value}"`);
23
- }
24
- if (argument.validator && !argument.validator(value)) {
25
- throw new InvalidInputError(`Invalid value "${value}" for argument ${argument.name}`);
26
- }
27
- if (argument.variadic) {
28
- argumentValues[argument.name] = argumentValues[argument.name] || [];
29
- argumentValues[argument.name].push(value);
30
- } else {
31
- argumentValues[argument.name] = value;
32
- }
33
- argumentNumber++;
34
- }
35
- for (; argumentNumber < this._arguments.length; argumentNumber++) {
36
- if (!this._arguments[argumentNumber].optional) {
37
- throw new InvalidInputError(`Argument ${this._arguments[argumentNumber].name} is required`);
38
- } else {
39
- argumentValues[this._arguments[argumentNumber].name] = void 0;
40
- }
41
- }
42
- for (; i < args.length; i++) {
43
- let option;
44
- if (args[i].startsWith("--")) {
45
- option = this.options.find((it) => it.name === args[i].slice(2));
46
- if (!option) {
47
- throw new InvalidInputError(`Undefined option ${args[i]}`);
48
- }
49
- } else if (args[i].startsWith("-")) {
50
- option = this.options.find((it) => it.shortcut === args[i].slice(1));
51
- if (!option) {
52
- throw new InvalidInputError(`Undefined option ${args[i]}`);
53
- }
54
- }
55
- if (!option) {
56
- throw new InvalidInputError(`Unexpected value "${args[i]}"`);
57
- }
58
- if (option) {
59
- if (option.deprecated) {
60
- console.warn(`Option ${option.name} is deprecated.`);
61
- }
62
- if (option.mode === OptionMode.VALUE_NONE) {
63
- options[option.name] = true;
64
- continue;
65
- }
66
- const value = this.tryParseValue(args[i + 1]);
67
- if (value !== void 0) {
68
- i++;
69
- }
70
- if (option.mode === OptionMode.VALUE_ARRAY) {
71
- if (value === void 0) {
72
- throw new InvalidInputError(`Undefined value for option --${option.name}`);
73
- }
74
- options[option.name] = options[option.name] || [];
75
- options[option.name].push(value);
76
- } else if (option.mode === OptionMode.VALUE_REQUIRED) {
77
- if (value === void 0) {
78
- throw new InvalidInputError(`Undefined value for option --${option.name}`);
79
- }
80
- options[option.name] = value;
81
- } else if (option.mode === OptionMode.VALUE_OPTIONAL) {
82
- options[option.name] = value === void 0 ? true : value;
83
- }
84
- }
85
- }
86
- for (let option of this.options) {
87
- if (options[option.name] !== void 0) {
88
- continue;
89
- }
90
- if (option.required) {
91
- throw new InvalidInputError(`Option --${option.name} is required`);
92
- } else {
93
- options[option.name] = void 0;
94
- }
95
- }
96
- return new Input(argumentValues, options);
97
- }
98
- tryParseValue(arg) {
99
- if (arg === void 0) {
100
- return void 0;
101
- }
102
- if (arg.startsWith("-")) {
103
- return void 0;
104
- }
105
- if (arg.startsWith("\\-")) {
106
- return "-" + arg.slice(1);
107
- }
108
- return arg;
109
- }
110
- }
111
- class InvalidInputError extends Error {
112
- }
113
- export {
114
- InputParser,
115
- InvalidInputError
116
- };
117
- //# sourceMappingURL=InputParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputParser.js","sources":["../../../../../packages/cli-common/src/application/InputParser.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { Arguments, Input, Options } from './Input'\n\nexport class InputParser {\n\tconstructor(private _arguments: Argument[], private options: Option[]) {}\n\n\tparse<Args extends Arguments, Opts extends Options>(args: string[]): Input<Args, Opts> {\n\t\targs = args.reduce<string[]>((acc, arg) => [...acc, ...(arg.startsWith('-') ? arg.split('=', 2) : [arg])], [])\n\t\tlet options: Options = {}\n\t\tlet argumentValues: Arguments = {}\n\n\t\tlet i = 0\n\t\tlet argumentNumber = 0\n\t\tconst variadicArg = this._arguments[this._arguments.length - 1]?.variadic\n\t\t\t? this._arguments[this._arguments.length - 1]\n\t\t\t: undefined\n\t\tfor (; i < args.length; i++) {\n\t\t\tconst value = this.tryParseValue(args[i])\n\t\t\tif (value === undefined) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tconst argument = this._arguments[argumentNumber] || variadicArg\n\t\t\tif (!argument) {\n\t\t\t\tthrow new InvalidInputError(`Unresolved argument for value \"${value}\"`)\n\t\t\t}\n\t\t\tif (argument.validator && !argument.validator(value)) {\n\t\t\t\tthrow new InvalidInputError(`Invalid value \"${value}\" for argument ${argument.name}`)\n\t\t\t}\n\t\t\tif (argument.variadic) {\n\t\t\t\targumentValues[argument.name] = argumentValues[argument.name] || []\n\t\t\t\t;(argumentValues[argument.name] as Array<string>).push(value)\n\t\t\t} else {\n\t\t\t\targumentValues[argument.name] = value\n\t\t\t}\n\t\t\targumentNumber++\n\t\t}\n\t\tfor (; argumentNumber < this._arguments.length; argumentNumber++) {\n\t\t\tif (!this._arguments[argumentNumber].optional) {\n\t\t\t\tthrow new InvalidInputError(`Argument ${this._arguments[argumentNumber].name} is required`)\n\t\t\t} else {\n\t\t\t\targumentValues[this._arguments[argumentNumber].name] = undefined\n\t\t\t}\n\t\t}\n\n\t\tfor (; i < args.length; i++) {\n\t\t\tlet option: Option | undefined\n\t\t\tif (args[i].startsWith('--')) {\n\t\t\t\toption = this.options.find(it => it.name === args[i].slice(2))\n\t\t\t\tif (!option) {\n\t\t\t\t\tthrow new InvalidInputError(`Undefined option ${args[i]}`)\n\t\t\t\t}\n\t\t\t} else if (args[i].startsWith('-')) {\n\t\t\t\toption = this.options.find(it => it.shortcut === args[i].slice(1))\n\t\t\t\tif (!option) {\n\t\t\t\t\tthrow new InvalidInputError(`Undefined option ${args[i]}`)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!option) {\n\t\t\t\tthrow new InvalidInputError(`Unexpected value \"${args[i]}\"`)\n\t\t\t}\n\t\t\tif (option) {\n\t\t\t\tif (option.deprecated) {\n\t\t\t\t\tconsole.warn(`Option ${option.name} is deprecated.`)\n\t\t\t\t}\n\t\t\t\tif (option.mode === OptionMode.VALUE_NONE) {\n\t\t\t\t\toptions[option.name] = true\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst value = this.tryParseValue(args[i + 1])\n\t\t\t\tif (value !== undefined) {\n\t\t\t\t\ti++\n\t\t\t\t}\n\t\t\t\tif (option.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\t\tif (value === undefined) {\n\t\t\t\t\t\tthrow new InvalidInputError(`Undefined value for option --${option.name}`)\n\t\t\t\t\t}\n\t\t\t\t\toptions[option.name] = options[option.name] || []\n\t\t\t\t\t;(options[option.name] as Array<string>).push(value)\n\t\t\t\t} else if (option.mode === OptionMode.VALUE_REQUIRED) {\n\t\t\t\t\tif (value === undefined) {\n\t\t\t\t\t\tthrow new InvalidInputError(`Undefined value for option --${option.name}`)\n\t\t\t\t\t}\n\t\t\t\t\toptions[option.name] = value\n\t\t\t\t} else if (option.mode === OptionMode.VALUE_OPTIONAL) {\n\t\t\t\t\toptions[option.name] = value === undefined ? true : value\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let option of this.options) {\n\t\t\tif (options[option.name] !== undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (option.required) {\n\t\t\t\tthrow new InvalidInputError(`Option --${option.name} is required`)\n\t\t\t} else {\n\t\t\t\toptions[option.name] = undefined\n\t\t\t}\n\t\t}\n\n\t\treturn new Input<Args, Opts>(argumentValues as Args, options as Opts)\n\t}\n\n\tprivate tryParseValue(arg: string | undefined): string | undefined {\n\t\tif (arg === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (arg.startsWith('-')) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (arg.startsWith('\\\\-')) {\n\t\t\treturn '-' + arg.slice(1)\n\t\t}\n\t\treturn arg\n\t}\n}\n\nexport class InvalidInputError extends Error {}\n"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- var OptionMode = /* @__PURE__ */ ((OptionMode2) => {
4
- OptionMode2["VALUE_NONE"] = "value_none";
5
- OptionMode2["VALUE_OPTIONAL"] = "value_optional";
6
- OptionMode2["VALUE_REQUIRED"] = "value_required";
7
- OptionMode2["VALUE_ARRAY"] = "value_array";
8
- return OptionMode2;
9
- })(OptionMode || {});
10
- class OptionConfiguration {
11
- constructor(option) {
12
- this.option = option;
13
- }
14
- shortcut(shortcut) {
15
- this.option.shortcut = shortcut;
16
- return this;
17
- }
18
- description(description) {
19
- this.option.description = description;
20
- return this;
21
- }
22
- required(required = true) {
23
- this.option.required = required;
24
- return this;
25
- }
26
- valueRequired() {
27
- this.option.mode = "value_required";
28
- return this;
29
- }
30
- valueNone() {
31
- this.option.mode = "value_none";
32
- return this;
33
- }
34
- valueOptional() {
35
- this.option.mode = "value_optional";
36
- return this;
37
- }
38
- valueArray() {
39
- this.option.mode = "value_array";
40
- return this;
41
- }
42
- deprecated() {
43
- this.option.deprecated = true;
44
- return this;
45
- }
46
- }
47
- exports.OptionConfiguration = OptionConfiguration;
48
- exports.OptionMode = OptionMode;
49
- //# sourceMappingURL=Option.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Option.cjs","sources":["../../../../../packages/cli-common/src/application/Option.ts"],"sourcesContent":["export type Option = {\n\tname: string\n\tdescription?: string\n\tshortcut?: string\n\trequired: boolean\n\tdeprecated: boolean\n\tmode: OptionMode\n}\n\nexport enum OptionMode {\n\tVALUE_NONE = 'value_none',\n\tVALUE_OPTIONAL = 'value_optional',\n\tVALUE_REQUIRED = 'value_required',\n\tVALUE_ARRAY = 'value_array',\n}\n\nexport class OptionConfiguration {\n\tconstructor(private readonly option: Option) {}\n\n\tpublic shortcut(shortcut: string) {\n\t\tthis.option.shortcut = shortcut\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.option.description = description\n\t\treturn this\n\t}\n\n\tpublic required(required: boolean = true) {\n\t\tthis.option.required = required\n\t\treturn this\n\t}\n\n\tpublic valueRequired() {\n\t\tthis.option.mode = OptionMode.VALUE_REQUIRED\n\t\treturn this\n\t}\n\n\tpublic valueNone() {\n\t\tthis.option.mode = OptionMode.VALUE_NONE\n\t\treturn this\n\t}\n\n\tpublic valueOptional() {\n\t\tthis.option.mode = OptionMode.VALUE_OPTIONAL\n\t\treturn this\n\t}\n\n\tpublic valueArray() {\n\t\tthis.option.mode = OptionMode.VALUE_ARRAY\n\t\treturn this\n\t}\n\n\tpublic deprecated() {\n\t\tthis.option.deprecated = true\n\t\treturn this\n\t}\n}\n"],"names":["OptionMode"],"mappings":";;AASY,IAAA,+BAAAA,gBAAL;AACNA,cAAA,YAAa,IAAA;AACbA,cAAA,gBAAiB,IAAA;AACjBA,cAAA,gBAAiB,IAAA;AACjBA,cAAA,aAAc,IAAA;AAJHA,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;AAOL,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAgB;AAAhB,SAAA,SAAA;AAAA,EAAA;AAAA,EAEtB,SAAS,UAAkB;AACjC,SAAK,OAAO,WAAW;AAChB,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY,aAAqB;AACvC,SAAK,OAAO,cAAc;AACnB,WAAA;AAAA,EAAA;AAAA,EAGD,SAAS,WAAoB,MAAM;AACzC,SAAK,OAAO,WAAW;AAChB,WAAA;AAAA,EAAA;AAAA,EAGD,gBAAgB;AACtB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY;AAClB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,gBAAgB;AACtB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa;AACnB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa;AACnB,SAAK,OAAO,aAAa;AAClB,WAAA;AAAA,EAAA;AAET;;;"}
@@ -1,49 +0,0 @@
1
- var OptionMode = /* @__PURE__ */ ((OptionMode2) => {
2
- OptionMode2["VALUE_NONE"] = "value_none";
3
- OptionMode2["VALUE_OPTIONAL"] = "value_optional";
4
- OptionMode2["VALUE_REQUIRED"] = "value_required";
5
- OptionMode2["VALUE_ARRAY"] = "value_array";
6
- return OptionMode2;
7
- })(OptionMode || {});
8
- class OptionConfiguration {
9
- constructor(option) {
10
- this.option = option;
11
- }
12
- shortcut(shortcut) {
13
- this.option.shortcut = shortcut;
14
- return this;
15
- }
16
- description(description) {
17
- this.option.description = description;
18
- return this;
19
- }
20
- required(required = true) {
21
- this.option.required = required;
22
- return this;
23
- }
24
- valueRequired() {
25
- this.option.mode = "value_required";
26
- return this;
27
- }
28
- valueNone() {
29
- this.option.mode = "value_none";
30
- return this;
31
- }
32
- valueOptional() {
33
- this.option.mode = "value_optional";
34
- return this;
35
- }
36
- valueArray() {
37
- this.option.mode = "value_array";
38
- return this;
39
- }
40
- deprecated() {
41
- this.option.deprecated = true;
42
- return this;
43
- }
44
- }
45
- export {
46
- OptionConfiguration,
47
- OptionMode
48
- };
49
- //# sourceMappingURL=Option.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Option.js","sources":["../../../../../packages/cli-common/src/application/Option.ts"],"sourcesContent":["export type Option = {\n\tname: string\n\tdescription?: string\n\tshortcut?: string\n\trequired: boolean\n\tdeprecated: boolean\n\tmode: OptionMode\n}\n\nexport enum OptionMode {\n\tVALUE_NONE = 'value_none',\n\tVALUE_OPTIONAL = 'value_optional',\n\tVALUE_REQUIRED = 'value_required',\n\tVALUE_ARRAY = 'value_array',\n}\n\nexport class OptionConfiguration {\n\tconstructor(private readonly option: Option) {}\n\n\tpublic shortcut(shortcut: string) {\n\t\tthis.option.shortcut = shortcut\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.option.description = description\n\t\treturn this\n\t}\n\n\tpublic required(required: boolean = true) {\n\t\tthis.option.required = required\n\t\treturn this\n\t}\n\n\tpublic valueRequired() {\n\t\tthis.option.mode = OptionMode.VALUE_REQUIRED\n\t\treturn this\n\t}\n\n\tpublic valueNone() {\n\t\tthis.option.mode = OptionMode.VALUE_NONE\n\t\treturn this\n\t}\n\n\tpublic valueOptional() {\n\t\tthis.option.mode = OptionMode.VALUE_OPTIONAL\n\t\treturn this\n\t}\n\n\tpublic valueArray() {\n\t\tthis.option.mode = OptionMode.VALUE_ARRAY\n\t\treturn this\n\t}\n\n\tpublic deprecated() {\n\t\tthis.option.deprecated = true\n\t\treturn this\n\t}\n}\n"],"names":["OptionMode"],"mappings":"AASY,IAAA,+BAAAA,gBAAL;AACNA,cAAA,YAAa,IAAA;AACbA,cAAA,gBAAiB,IAAA;AACjBA,cAAA,gBAAiB,IAAA;AACjBA,cAAA,aAAc,IAAA;AAJHA,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;AAOL,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAgB;AAAhB,SAAA,SAAA;AAAA,EAAA;AAAA,EAEtB,SAAS,UAAkB;AACjC,SAAK,OAAO,WAAW;AAChB,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY,aAAqB;AACvC,SAAK,OAAO,cAAc;AACnB,WAAA;AAAA,EAAA;AAAA,EAGD,SAAS,WAAoB,MAAM;AACzC,SAAK,OAAO,WAAW;AAChB,WAAA;AAAA,EAAA;AAAA,EAGD,gBAAgB;AACtB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY;AAClB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,gBAAgB;AACtB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa;AACnB,SAAK,OAAO,OAAO;AACZ,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa;AACnB,SAAK,OAAO,aAAa;AAClB,WAAA;AAAA,EAAA;AAET;"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Option = require("./Option.cjs");
4
- const assertNever = require("./assertNever.cjs");
5
- class UsageFormatter {
6
- static format(args, options, { format, indent }) {
7
- let parts = [];
8
- format ?? (format = "short");
9
- indent ?? (indent = " ");
10
- const isShort = format === "short";
11
- for (let arg of args) {
12
- const name = arg.name;
13
- const argDescription = !isShort && arg.description ? ` (${arg.description})` : "";
14
- if (arg.variadic) {
15
- parts.push(`[...${name}${argDescription}]`);
16
- } else if (arg.optional) {
17
- parts.push(`[${name}${argDescription}]`);
18
- } else {
19
- parts.push(`<${name}${argDescription}>`);
20
- }
21
- }
22
- for (let opt of options) {
23
- if (opt.deprecated) {
24
- continue;
25
- }
26
- const name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : "");
27
- let valueDescription;
28
- switch (opt.mode) {
29
- case Option.OptionMode.VALUE_ARRAY:
30
- case Option.OptionMode.VALUE_REQUIRED:
31
- valueDescription = " <value>";
32
- break;
33
- case Option.OptionMode.VALUE_OPTIONAL:
34
- valueDescription = " [value]";
35
- break;
36
- case Option.OptionMode.VALUE_NONE:
37
- valueDescription = "";
38
- break;
39
- default:
40
- assertNever.assertNever(opt.mode);
41
- }
42
- let optionDescription = `${name}${valueDescription}`;
43
- if (opt.mode === Option.OptionMode.VALUE_ARRAY) {
44
- optionDescription = `${optionDescription} [... ${optionDescription}]`;
45
- }
46
- if (!isShort && opt.description) {
47
- optionDescription += ` (${opt.description})`;
48
- }
49
- if (!opt.required) {
50
- optionDescription = `[${optionDescription}]`;
51
- }
52
- parts.push(optionDescription);
53
- }
54
- if (format === "multiline") {
55
- return parts.map((it) => `${indent}${it}`).join("\n");
56
- }
57
- return parts.join(" ");
58
- }
59
- }
60
- exports.UsageFormatter = UsageFormatter;
61
- //# sourceMappingURL=UsageFormatter.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsageFormatter.cjs","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":["OptionMode","assertNever"],"mappings":";;;;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAC;AACF,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA;AAAA,IACxC;AAED,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MAAA;AAED,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAKA,OAAW,WAAA;AAAA,QAChB,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD;AACCC,sBAAA,YAAY,IAAI,IAAI;AAAA,MAAA;AAEtB,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAASD,OAAA,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MAAA;AAE/D,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAAA;AAEtC,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAAA;AAE1C,YAAM,KAAK,iBAAiB;AAAA,IAAA;AAE7B,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IAAA;AAE5C,WAAA,MAAM,KAAK,GAAG;AAAA,EAAA;AAEvB;;"}
@@ -1,61 +0,0 @@
1
- import { OptionMode } from "./Option.js";
2
- import { assertNever } from "./assertNever.js";
3
- class UsageFormatter {
4
- static format(args, options, { format, indent }) {
5
- let parts = [];
6
- format ?? (format = "short");
7
- indent ?? (indent = " ");
8
- const isShort = format === "short";
9
- for (let arg of args) {
10
- const name = arg.name;
11
- const argDescription = !isShort && arg.description ? ` (${arg.description})` : "";
12
- if (arg.variadic) {
13
- parts.push(`[...${name}${argDescription}]`);
14
- } else if (arg.optional) {
15
- parts.push(`[${name}${argDescription}]`);
16
- } else {
17
- parts.push(`<${name}${argDescription}>`);
18
- }
19
- }
20
- for (let opt of options) {
21
- if (opt.deprecated) {
22
- continue;
23
- }
24
- const name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : "");
25
- let valueDescription;
26
- switch (opt.mode) {
27
- case OptionMode.VALUE_ARRAY:
28
- case OptionMode.VALUE_REQUIRED:
29
- valueDescription = " <value>";
30
- break;
31
- case OptionMode.VALUE_OPTIONAL:
32
- valueDescription = " [value]";
33
- break;
34
- case OptionMode.VALUE_NONE:
35
- valueDescription = "";
36
- break;
37
- default:
38
- assertNever(opt.mode);
39
- }
40
- let optionDescription = `${name}${valueDescription}`;
41
- if (opt.mode === OptionMode.VALUE_ARRAY) {
42
- optionDescription = `${optionDescription} [... ${optionDescription}]`;
43
- }
44
- if (!isShort && opt.description) {
45
- optionDescription += ` (${opt.description})`;
46
- }
47
- if (!opt.required) {
48
- optionDescription = `[${optionDescription}]`;
49
- }
50
- parts.push(optionDescription);
51
- }
52
- if (format === "multiline") {
53
- return parts.map((it) => `${indent}${it}`).join("\n");
54
- }
55
- return parts.join(" ");
56
- }
57
- }
58
- export {
59
- UsageFormatter
60
- };
61
- //# sourceMappingURL=UsageFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UsageFormatter.js","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAC;AACF,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA;AAAA,IACxC;AAED,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MAAA;AAED,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD;AACC,sBAAY,IAAI,IAAI;AAAA,MAAA;AAEtB,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAAS,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MAAA;AAE/D,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAAA;AAEtC,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAAA;AAE1C,YAAM,KAAK,iBAAiB;AAAA,IAAA;AAE7B,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IAAA;AAE5C,WAAA,MAAM,KAAK,GAAG;AAAA,EAAA;AAEvB;"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function assertNever(_) {
4
- throw new Error();
5
- }
6
- exports.assertNever = assertNever;
7
- //# sourceMappingURL=assertNever.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/cli-common/src/application/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;;"}
@@ -1,7 +0,0 @@
1
- function assertNever(_) {
2
- throw new Error();
3
- }
4
- export {
5
- assertNever
6
- };
7
- //# sourceMappingURL=assertNever.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertNever.js","sources":["../../../../../packages/cli-common/src/application/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAM;AACjB;"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const node_child_process = require("node:child_process");
4
- const chalk = require("chalk");
5
- var __defProp = Object.defineProperty;
6
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
8
- class CommandRunner {
9
- constructor() {
10
- __publicField(this, "runCommand", (command, args, options) => {
11
- const args2 = args.filter((it) => it !== void 0);
12
- if (!process.env.DISABLE_COMMAND_PRINTING) {
13
- console.error(chalk.gray(`$ ${command} ${args2.map((it) => `'${it.replace(/'/g, `'\\''`)}'`).join(" ")}`));
14
- }
15
- const child = node_child_process.spawn(command, args2, {
16
- cwd: options.cwd,
17
- env: { ...process.env, ...options.env || {} },
18
- detached: options.detached
19
- });
20
- if (options.stdin) {
21
- options.stdin.pipe(child.stdin);
22
- }
23
- let stdout = "";
24
- let stderr = "";
25
- child.stdout.on("data", (chunk) => {
26
- stdout += chunk.toString();
27
- });
28
- child.stderr.on("data", (chunk) => {
29
- stderr += chunk.toString();
30
- });
31
- if (options.stdout) {
32
- child.stdout.pipe(options.stdout);
33
- }
34
- if (options.stderr) {
35
- child.stderr.pipe(options.stderr);
36
- }
37
- const output = new Promise((resolve, reject) => {
38
- child.on("exit", (exitCode) => {
39
- if (exitCode === 0) {
40
- resolve(stdout);
41
- } else {
42
- reject(new ChildProcessError(exitCode, stderr));
43
- }
44
- });
45
- });
46
- return { output, child };
47
- });
48
- }
49
- }
50
- class ChildProcessError extends Error {
51
- constructor(exitCode, stderr) {
52
- super(`Command has failed(${exitCode}): ${stderr} `);
53
- this.exitCode = exitCode;
54
- this.stderr = stderr;
55
- }
56
- }
57
- exports.ChildProcessError = ChildProcessError;
58
- exports.CommandRunner = CommandRunner;
59
- //# sourceMappingURL=CommandRunner.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandRunner.cjs","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":["spawn"],"mappings":";;;;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQA,mBAAAA,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;;;"}
@@ -1,59 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import chalk from "chalk";
3
- var __defProp = Object.defineProperty;
4
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
6
- class CommandRunner {
7
- constructor() {
8
- __publicField(this, "runCommand", (command, args, options) => {
9
- const args2 = args.filter((it) => it !== void 0);
10
- if (!process.env.DISABLE_COMMAND_PRINTING) {
11
- console.error(chalk.gray(`$ ${command} ${args2.map((it) => `'${it.replace(/'/g, `'\\''`)}'`).join(" ")}`));
12
- }
13
- const child = spawn(command, args2, {
14
- cwd: options.cwd,
15
- env: { ...process.env, ...options.env || {} },
16
- detached: options.detached
17
- });
18
- if (options.stdin) {
19
- options.stdin.pipe(child.stdin);
20
- }
21
- let stdout = "";
22
- let stderr = "";
23
- child.stdout.on("data", (chunk) => {
24
- stdout += chunk.toString();
25
- });
26
- child.stderr.on("data", (chunk) => {
27
- stderr += chunk.toString();
28
- });
29
- if (options.stdout) {
30
- child.stdout.pipe(options.stdout);
31
- }
32
- if (options.stderr) {
33
- child.stderr.pipe(options.stderr);
34
- }
35
- const output = new Promise((resolve, reject) => {
36
- child.on("exit", (exitCode) => {
37
- if (exitCode === 0) {
38
- resolve(stdout);
39
- } else {
40
- reject(new ChildProcessError(exitCode, stderr));
41
- }
42
- });
43
- });
44
- return { output, child };
45
- });
46
- }
47
- }
48
- class ChildProcessError extends Error {
49
- constructor(exitCode, stderr) {
50
- super(`Command has failed(${exitCode}): ${stderr} `);
51
- this.exitCode = exitCode;
52
- this.stderr = stderr;
53
- }
54
- }
55
- export {
56
- ChildProcessError,
57
- CommandRunner
58
- };
59
- //# sourceMappingURL=CommandRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandRunner.js","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQ,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- class Package {
4
- constructor(dir, isRoot, packageJson) {
5
- this.dir = dir;
6
- this.isRoot = isRoot;
7
- this.packageJson = packageJson;
8
- }
9
- }
10
- exports.Package = Package;
11
- //# sourceMappingURL=Package.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.cjs","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;;"}
@@ -1,11 +0,0 @@
1
- class Package {
2
- constructor(dir, isRoot, packageJson) {
3
- this.dir = dir;
4
- this.isRoot = isRoot;
5
- this.packageJson = packageJson;
6
- }
7
- }
8
- export {
9
- Package
10
- };
11
- //# sourceMappingURL=Package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.js","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;"}