Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import WeatherCore
- import RealmSwift
- {% for domainModel in types.implementing.AutoObjectInit|struct where domainModel.accessLevel == "public" %}
- {% for realmModel in domainModel.allVariables where realmModel.name == "object" %}
- {% for objectClass in types.all|class where objectClass.name == realmModel.typeName|replace:".Type","" %}
- public extension {{ domainModel.name }} {
- public static func new(object: {{ objectClass.name }}) -> {{ domainModel.name }} {
- return {{domainModel.name}}.new({% for argument in domainModel.variables where not argument.isComputed %}{{argument.name}}: {% for objectVariable in objectClass.variables where objectVariable.name == argument.name %}{% if argument.typeName|replace:"Int","Integer" == "Integer" and objectVariable.typeName|replace:"RealmOptional<Int>","RealmOptional<Integer>" == "RealmOptional<Integer>" %}object.{{argument.name}}.value ?? 0_{% elif argument.typeName|replace:"Int?","Integer?" == "Integer?" and objectVariable.typeName|replace:"RealmOptional<Int>","RealmOptional<Integer>" == "RealmOptional<Integer>" %}object.{{argument.name}}.value{% elif argument.typeName|replace:"Double","Double2" == "Double2" and objectVariable.typeName|replace:"RealmOptional<Double>","RealmOptional<Double2>" == "RealmOptional<Double2>" %}object.{{argument.name}}.value ?? 0{% elif argument.typeName|replace:"Double?","Double2?" == "Double2?" and objectVariable.typeName|replace:"RealmOptional<Double>","RealmOptional<Double2>" == "RealmOptional<Double2>" %}object.{{argument.name}}.value{% else %}object.{{argument.name}}{% endif %}{% empty %}{% if argument.type.name|replace:"?","" == "String" %}""{% endif %}{% if argument.typeName|replace:"Int","Integer" == "Integer" %}0{% endif %}{% if argument.isArray %}[]{% endif %}{% if argument.isDictionary %}[:]{% endif %}{% if argument.typeName|replace:"Double","Double2" == "Double2" %}0{% endif %}{% if argument.typeName|replace:"?","" == "Data" %}Data(){% endif %}{% if argument.typeName|replace:"?","" == "Date" %}Date(){% endif %}{% endfor %}{% if not forloop.last %}, {% endif %}{% endfor %})
- {% endfor %}
- {% endfor %}
- }
- }
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement