add memberwise initializer

This commit is contained in:
Ivan Smolin 2017-06-13 17:31:52 +03:00
parent 79cab8265d
commit 20e188f2a9
4 changed files with 23 additions and 1 deletions

View File

@ -11,7 +11,14 @@ import ObjectMapper
{% include 'blocks/class/fields.twig' with { fields: fields } %}
{% include 'blocks/class/date-transformers.twig' with { fields: fields } %}
// MARK: - Initializer
// MARK: - Initializers
{% if (hasParent and (fields is empty)) %} override {% endif %}init({%- include 'blocks/class/init-parameters-fields.twig' with { fields: merge(fields, superclassesFields) } -%}) {
{%- include 'blocks/class/fields-initialization.twig' with { fields: fields } -%}
{% if hasParent %}
super.init({%- include 'blocks/class/fields-super-initialization.twig' with { fields: superclassesFields } -%})
{%- endif %}
}
required init(map: Map) throws {
{%- include 'blocks/class/fields-mapping-from-map.twig' with { fields: fields } -%}

View File

@ -0,0 +1,4 @@
{%- import '../../utils.twig' as utils -%}
{%- for field in fields %}
self.{{ field.name }} = {{ field.name }}
{%- endfor -%}

View File

@ -0,0 +1,4 @@
{%- import '../../utils.twig' as utils -%}
{%- for field in fields -%}
{{ field.name }}: {{ field.name }}{%- if not (loop.last) %}, {% endif %}
{%- endfor -%}

View File

@ -0,0 +1,7 @@
{%- import '../../utils.twig' as utils -%}
{%- if fields is not empty -%}
{%- for field in fields -%}
{{ field.name }}: {{ utils.formatNullable(utils.formatFieldValueType(field.type.type), field.nullable) }}{%- if not (loop.last) %}, {% endif %}
{%- endfor -%}
{%- endif -%}