@@ -44,7 +44,52 @@ export class {{ service.name | caseUcfirst }} {
4444 {%~ endif %}
4545 {%~ endif %}
4646 */
47+ {%~ if method .parameters .all | length > 0 %}
48+ {{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}(params: { {% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %} {% if ' multipart/form-data' in method .consumes %}, onProgress?: (progress: UploadProgress) => {}{% endif %} }): {{ method | getReturn(spec ) | raw }};
49+ {{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}({% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %}, onProgress?: (progress: UploadProgress) => {}{% endif %}): {{ method | getReturn(spec ) | raw }};
50+ {{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}(
51+ {% if method .parameters .all | length > 0 %}paramsOrFirst{% if not method .parameters .all [0 ].required or method .parameters .all [0 ].nullable %}?{% endif %}: { {% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %}, onProgress?: (progress: UploadProgress) => {} {% endif %} } | {{ method .parameters .all [0 ] | getPropertyType(method ) | raw }}{% if method .parameters .all | length > 1 %},
52+ ...rest: [{% for parameter in method .parameters .all [1:] %}({{ parameter | getPropertyType(method ) | raw }})?{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %},((progress: UploadProgress) => {})?{% endif %}]{% endif %}{% endif %}
53+
54+ ): {{ method | getReturn(spec ) | raw }} {
55+ {%~ if method .parameters .all | length > 0 %}
56+ let params: { {% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %} };
57+ {%~ if ' multipart/form-data' in method .consumes %}
58+ let onProgress: ((progress: UploadProgress) => {});
59+ {%~ endif %}
60+
61+ if (typeof paramsOrFirst === 'object' && paramsOrFirst !== null && !Array.isArray(paramsOrFirst)
62+ {% if method .parameters .all | length > 0 %}&& ({% for parameter in method .parameters .all %}'{{ parameter .name | caseCamel | escapeKeyword }}' in paramsOrFirst{% if not loop .last %} || {% endif %}{% endfor %} || Object.keys(paramsOrFirst).length === 0){% endif %}) {
63+ params = paramsOrFirst as { {% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %} };
64+ {%~ if ' multipart/form-data' in method .consumes %}
65+ onProgress = paramsOrFirst.onProgress as ((progress: UploadProgress) => {});
66+ {%~ endif %}
67+ } else {
68+ params = {
69+ {%~ for parameter in method .parameters .all %}
70+ {{ parameter .name | caseCamel | escapeKeyword }}: {% if loop .index0 == 0 %}paramsOrFirst{% else %}rest[{{ loop .index0 - 1 }}]{% endif %} as {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %},
71+ {% endif %}
72+ {%~ endfor %}
73+
74+ };
75+ {%~ if ' multipart/form-data' in method .consumes %}
76+ onProgress = rest[{{ method .parameters .all | length - 1 }}] as ((progress: UploadProgress) => {});
77+ {%~ endif %}
78+ }
79+
80+ {%~ for parameter in method .parameters .all %}
81+ const {{ parameter .name | caseCamel | escapeKeyword }} = params.{{ parameter .name | caseCamel | escapeKeyword }};
82+ {%~ endfor %}
83+ {%~ else %}
84+ {%~ if ' multipart/form-data' in method .consumes %}
85+ if (typeof paramsOrFirst === 'function') {
86+ onProgress = paramsOrFirst;
87+ }
88+ {%~ endif %}
89+ {%~ endif %}
90+ {%~ else %}
4791 {{ method .name | caseCamel }}{{ method .responseModel | getGenerics(spec ) | raw }}({% for parameter in method .parameters .all %}{{ parameter .name | caseCamel | escapeKeyword }}{% if not parameter .required or parameter .nullable %}?{% endif %}: {{ parameter | getPropertyType(method ) | raw }}{% if not loop .last %}, {% endif %}{% endfor %}{% if ' multipart/form-data' in method .consumes %}, onProgress = (progress: UploadProgress) => {}{% endif %}): {{ method | getReturn(spec ) | raw }} {
92+ {%~ endif %}
4893 {%~ for parameter in method .parameters .all %}
4994 {%~ if parameter .required %}
5095 if (typeof {{ parameter .name | caseCamel | escapeKeyword }} === 'undefined') {
@@ -119,4 +164,4 @@ export class {{ service.name | caseUcfirst }} {
119164
120165{%~ endif %}
121166 {%~ endfor %}
122- }
167+ }
0 commit comments