Skip to content

Commit 020d028

Browse files
authored
Merge pull request #86 from TorstenDittmann/master
fix(dotnet): nullish optional datatype
2 parents 544c904 + e37e8f8 commit 020d028

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

src/SDK/Language/DotNet.php

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,22 @@ public function getTypeName($type)
141141
switch ($type) {
142142
case self::TYPE_INTEGER:
143143
return 'int';
144-
break;
144+
break;
145145
case self::TYPE_STRING:
146146
return 'string';
147-
break;
147+
break;
148148
case self::TYPE_FILE:
149149
return 'FileInfo';
150-
break;
150+
break;
151151
case self::TYPE_BOOLEAN:
152152
return 'bool';
153-
break;
153+
break;
154154
case self::TYPE_ARRAY:
155-
return 'List<object>';
156-
case self::TYPE_OBJECT:
157-
return 'object';
158-
break;
155+
return 'List<object>';
156+
break;
157+
case self::TYPE_OBJECT:
158+
return 'object';
159+
break;
159160
}
160161

161162
return $type;
@@ -179,28 +180,20 @@ public function getParamDefault(array $param)
179180

180181
if(empty($default) && $default !== 0 && $default !== false) {
181182
switch ($type) {
182-
case self::TYPE_NUMBER:
183183
case self::TYPE_INTEGER:
184+
case self::TYPE_ARRAY:
185+
case self::TYPE_OBJECT:
184186
case self::TYPE_BOOLEAN:
185187
$output .= 'null';
186188
break;
187189
case self::TYPE_STRING:
188190
$output .= '""';
189191
break;
190-
case self::TYPE_ARRAY:
191-
$output .= '[]';
192-
break;
193-
case self::TYPE_OBJECT:
194-
$output .= '{}';
195-
break;
196192
}
197193
}
198194
else {
199195
switch ($type) {
200-
case self::TYPE_NUMBER:
201196
case self::TYPE_INTEGER:
202-
case self::TYPE_ARRAY:
203-
case self::TYPE_OBJECT:
204197
$output .= $default;
205198
break;
206199
case self::TYPE_BOOLEAN:
@@ -209,6 +202,10 @@ public function getParamDefault(array $param)
209202
case self::TYPE_STRING:
210203
$output .= "\"{$default}\"";
211204
break;
205+
case self::TYPE_ARRAY:
206+
case self::TYPE_OBJECT:
207+
$output .= 'null';
208+
break;
212209
}
213210
}
214211

templates/dotnet/src/Appwrite/Services/ServiceTemplate.cs.twig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% macro parameter(parameter) %}
2-
{% if parameter.name == 'orderType' %}{{ 'OrderType orderType' }}{% else %}
3-
{{ parameter.type | typeName }} {{ parameter.name | caseCamel | escapeKeyword }}{{ parameter | escapeDollarSign | paramDefault }}{% endif %}
2+
{% if parameter.name == 'orderType' %}{{ 'OrderType orderType = OrderType.ASC' }}{% else %}
3+
{{ parameter.type | typeName }}{% if not parameter.required and (parameter.type == 'boolean' or parameter.type == 'integer') %}?{% endif %} {{ parameter.name | caseCamel | escapeKeyword }}{{ parameter | paramDefault }}{% endif %}
44
{% endmacro %}
55
{% macro method_parameters(parameters) %}
66
{% if parameters.all|length > 0 %}{% for parameter in parameters.all %}{{ _self.parameter(parameter) }}{% if not loop.last %}{{ ', ' }}{% endif %}{% endfor %}{% endif %}
@@ -34,7 +34,7 @@ namespace {{ spec.title | caseUcfirst }}
3434
{{ method.description|comment1 }}
3535
*/
3636
{% endif %}
37-
public async Task<{% if method.type == "location" %}string{% else %}HttpResponseMessage{% endif %}> {{ method.name | caseUcfirst }}({{ _self.method_parameters(method.parameters) }})
37+
public {% if method.type == "location" %}string{% else %}async Task<HttpResponseMessage>{% endif %} {{ method.name | caseUcfirst }}({{ _self.method_parameters(method.parameters) }})
3838
{
3939
string path = "{{ method.path }}"{% for parameter in method.parameters.path %}.Replace("{{ '{' ~ parameter.name | caseCamel ~ '}' }}", {{ parameter.name | caseCamel }}){% endfor %};
4040

0 commit comments

Comments
 (0)