Skip to content

Commit 2201fb4

Browse files
committed
Extract inline types to an interface
1 parent e84b683 commit 2201fb4

File tree

1 file changed

+15
-14
lines changed
  • v-next/hardhat/src/internal/cli/helpers

1 file changed

+15
-14
lines changed

v-next/hardhat/src/internal/cli/helpers/utils.ts

+15-14
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@ import { BUILTIN_OPTIONS } from "../../builtin-options.js";
66

77
export const GLOBAL_NAME_PADDING = 6;
88

9+
interface ArgumentDescriptor {
10+
name: string;
11+
description: string;
12+
type?: ParameterType;
13+
isRequired?: boolean;
14+
}
15+
916
export function parseGlobalOptions(
1017
globalOptionsMap: GlobalOptionsMap,
11-
): Array<{ name: string; description: string }> {
18+
): ArgumentDescriptor[] {
1219
const formattedBuiltinOptions = BUILTIN_OPTIONS.map(
1320
({ name, description }) => ({
1421
name: formatOptionName(name),
@@ -27,8 +34,8 @@ export function parseGlobalOptions(
2734
}
2835

2936
export function parseTasks(taskMap: Map<string, Task>): {
30-
tasks: Array<{ name: string; description: string }>;
31-
subtasks: Array<{ name: string; description: string }>;
37+
tasks: ArgumentDescriptor[];
38+
subtasks: ArgumentDescriptor[];
3239
} {
3340
const tasks = [];
3441
const subtasks = [];
@@ -46,9 +53,7 @@ export function parseTasks(taskMap: Map<string, Task>): {
4653
return { tasks, subtasks };
4754
}
4855

49-
export function parseSubtasks(
50-
task: Task,
51-
): Array<{ name: string; description: string }> {
56+
export function parseSubtasks(task: Task): ArgumentDescriptor[] {
5257
const subtasks = [];
5358

5459
for (const [, subtask] of task.subtasks) {
@@ -62,12 +67,8 @@ export function parseSubtasks(
6267
}
6368

6469
export function parseOptions(task: Task): {
65-
options: Array<{ name: string; description: string; type: ParameterType }>;
66-
positionalArguments: Array<{
67-
name: string;
68-
description: string;
69-
isRequired: boolean;
70-
}>;
70+
options: ArgumentDescriptor[];
71+
positionalArguments: ArgumentDescriptor[];
7172
} {
7273
const options = [];
7374
const positionalArguments = [];
@@ -108,7 +109,7 @@ export function getLongestNameLength(tasks: Array<{ name: string }>): number {
108109

109110
export function getSection(
110111
title: string,
111-
items: Array<{ name: string; description: string }>,
112+
items: ArgumentDescriptor[],
112113
namePadding: number,
113114
): string {
114115
return `\n${title}:\n\n${items.map(({ name, description }) => ` ${name.padEnd(namePadding)}${description}`).join("\n")}\n`;
@@ -126,7 +127,7 @@ export function getUsageString(
126127
}
127128

128129
if (positionalArguments.length > 0) {
129-
output += ` [--] ${positionalArguments.map((a) => (a.isRequired ? a.name : `[${a.name}]`)).join(" ")}`;
130+
output += ` [--] ${positionalArguments.map((a) => (a.isRequired === true ? a.name : `[${a.name}]`)).join(" ")}`;
130131
}
131132

132133
return output;

0 commit comments

Comments
 (0)