Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. import WeatherCore
  2. import RealmSwift
  3.  
  4. {% for domainModel in types.implementing.AutoObjectInit|struct where domainModel.accessLevel == "public" %}
  5. {% for realmModel in domainModel.allVariables where realmModel.name == "object" %}
  6. {% for objectClass in types.all|class where objectClass.name == realmModel.typeName|replace:".Type","" %}
  7. public extension {{ domainModel.name }} {
  8. public static func new(object: {{ objectClass.name }}) -> {{ domainModel.name }} {
  9. 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 %})
  10. {% endfor %}
  11. {% endfor %}
  12. }
  13. }
  14. {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement