api-generator-templates/Swift/macroses/common.utils.twig

48 lines
1.5 KiB
Twig

{% macro decapitalize(text) %}
{{- concat(slice(text, 0, 1) | lower, slice(text, 1, text | length)) -}}
{% endmacro %}
{% macro formatNullableOrOptional(expr, nullable, optional) %}
{{- expr -}}{%- if nullable or optional -%}?{%- endif -%}
{% endmacro %}
{% macro formatValueType(valueType) %}
{%- import _self as self -%}
{%- if valueType.baseTypeName == "Array" -%}
[{{ self.formatValueType(valueType.itemsType) }}]
{%- elseif valueType.baseTypeName == "Map" -%}
[{{ self.formatValueType(valueType.keysType) }}: {{ self.formatValueType(valueType.valuesType) }}]
{%- elseif valueType.baseTypeName == "DateTime" -%}
Date
{%- elseif valueType.baseTypeName == "Long" -%}
Int64
{%- else -%}
{{ valueType.baseTypeName }}
{%- endif -%}
{% endmacro %}
{% macro escapeIfNeeded(expr) %}
{%- if expr == "default" -%}
`{{ expr }}`
{%- else -%}
{{ expr }}
{%- endif -%}
{% endmacro %}
{% macro mappingFromMapForField(field) %}
{%- if field.type.type.baseTypeName == "DateTime" -%}
map.value("{{ field.jsonName }}", using: {{ field.name -}}Transform)
{%- else -%}
map.value("{{ field.jsonName }}")
{%- endif -%}
{% endmacro %}
{% macro mappingToMapForField(field) %}
{%- if field.type.type.baseTypeName == "DateTime" -%}
(map["{{ field.jsonName }}"], {{ field.name -}}Transform)
{%- else -%}
map["{{ field.jsonName }}"]
{%- endif -%}
{% endmacro %}