@@ -35,11 +35,22 @@ function convertReadStreamToReadableStream(readStream) {
35
35
});
36
36
}
37
37
38
- const {{ service .name | caseLower }} = new Command("{{ service .name | caseLower }}").description(commandDescriptions['{{ service .name | caseLower }}'] ?? '').configureHelp({
38
+ const {{ service .name }} = new Command("{{ service .name | caseKebab }}").description(commandDescriptions['{{ service .name | caseKebab }}'] ?? '').configureHelp({
39
39
helpWidth: process.stdout.columns || 80
40
40
})
41
41
42
42
{% for method in service .methods %}
43
+ {% set commandNameLower = (method .name | caseKebab | lower ) %}
44
+ {# Check if this method should be skipped (is deprecated and has a non-deprecated duplicate) #}
45
+ {% set shouldSkip = false %}
46
+ {% if method .deprecated %}
47
+ {% for otherMethod in service .methods %}
48
+ {% if not otherMethod .deprecated and (otherMethod .name | caseKebab | lower ) == commandNameLower %}
49
+ {% set shouldSkip = true %}
50
+ {% endif %}
51
+ {% endfor %}
52
+ {% endif %}
53
+ {% if not shouldSkip %}
43
54
/**
44
55
* @typedef {Object} {{ service .name | caseUcfirst }}{{ method .name | caseUcfirst }}RequestParams
45
56
{% for parameter in method .parameters .all %}
@@ -60,7 +71,7 @@ const {{ service.name | caseLower }} = new Command("{{ service.name | caseLower
60
71
* @param {{ " {" }}{{ service .name | caseUcfirst }}{{ method .name | caseUcfirst }}RequestParams{{ " }" }} params
61
72
*/
62
73
{% block declaration %}
63
- const {{ service .name | caseLower }}{{ method .name | caseUcfirst }} = async ({
74
+ const {{ service .name }}{{ method .name | caseUcfirst }} = async ({
64
75
{%- for parameter in method .parameters .all -%}
65
76
{{ parameter .name | caseCamel | escapeKeyword }},
66
77
{%- endfor -%}
@@ -82,10 +93,24 @@ const {{ service.name | caseLower }}{{ method.name | caseUcfirst }} = async ({
82
93
{% endif %}
83
94
}
84
95
{% endblock declaration %}
85
-
96
+ {% endif %}
86
97
{% endfor %}
98
+ {% set processedCommands = [] %}
87
99
{% for method in service .methods %}
88
- {{service .name | caseLower }}
100
+ {% set commandName = method .name | caseKebab %}
101
+ {% set commandNameLower = commandName | lower %}
102
+ {# Check if this command name (in lowercase) has already been processed by a non-deprecated method #}
103
+ {% set shouldSkip = false %}
104
+ {% if method .deprecated %}
105
+ {% for otherMethod in service .methods %}
106
+ {% if not otherMethod .deprecated and (otherMethod .name | caseKebab | lower ) == commandNameLower %}
107
+ {% set shouldSkip = true %}
108
+ {% endif %}
109
+ {% endfor %}
110
+ {% endif %}
111
+ {% if not shouldSkip %}
112
+ {% set processedCommands = processedCommands | merge ([commandNameLower ]) %}
113
+ {{ service .name }}
89
114
.command(`{{ method .name | caseKebab }}`)
90
115
{% autoescape false %}
91
116
.description(`{% if method .deprecated %}[**DEPRECATED** - This command is deprecated.{% if method .replaceWith %} Please use '{{ method .replaceWith | replace({' .' : ' ' }) | caseKebab }}' instead{% endif %}] {% endif %}{{ method .description | replace({' `' :' \'' }) | replace({' \n' :' ' }) | replace({' \n \n' :' ' }) }}`)
@@ -99,13 +124,28 @@ const {{ service.name | caseLower }}{{ method.name | caseUcfirst }} = async ({
99
124
.option(`--console`, `Get the resource console url`)
100
125
{% endif %}
101
126
{% endautoescape %}
102
- .action(actionRunner({{ service .name | caseLower }}{{ method .name | caseUcfirst }}))
127
+ .action(actionRunner({{ service .name }}{{ method .name | caseUcfirst }}))
103
128
129
+ {% endif %}
104
130
{% endfor %}
105
131
module.exports = {
106
- {{ service .name | caseLower }},
132
+ {{ service .name }},
133
+ {% set exportedMethods = [] %}
107
134
{% for method in service .methods %}
108
- {{ service .name | caseLower }}{{ method .name | caseUcfirst }}{% if not loop .last %},{% endif %}
135
+ {% set commandNameLower = (method .name | caseKebab | lower ) %}
136
+ {# Check if this method should be skipped (is deprecated and has a non-deprecated duplicate) #}
137
+ {% set shouldSkip = false %}
138
+ {% if method .deprecated %}
139
+ {% for otherMethod in service .methods %}
140
+ {% if not otherMethod .deprecated and (otherMethod .name | caseKebab | lower ) == commandNameLower %}
141
+ {% set shouldSkip = true %}
142
+ {% endif %}
143
+ {% endfor %}
144
+ {% endif %}
145
+ {% if not shouldSkip %}
146
+ {% set exportedMethods = exportedMethods | merge ([service .name ~ method .name | caseUcfirst ]) %}
147
+ {{ service .name }}{{ method .name | caseUcfirst }}{% if not loop .last %},{% endif %}
109
148
149
+ {% endif %}
110
150
{% endfor %}
111
151
};
0 commit comments