Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Spaces => tabs
  • Loading branch information
Slavek Kabrda committed Mar 17, 2020
commit a214508a651a020d467561beb370c897abfb7f27
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,12 @@ func New{{classname}}({{#vars}}{{#required}}{{nameInCamelCase}} {{dataType}}, {{
{{#defaultValue}}
{{^isContainer}}
{{#isNullable}}
var {{nameInCamelCase}} {{{datatypeWithEnum}}} = {{{.}}}
this.{{name}} = *New{{{dataType}}}(&{{nameInCamelCase}})
var {{nameInCamelCase}} {{{datatypeWithEnum}}} = {{{.}}}
this.{{name}} = *New{{{dataType}}}(&{{nameInCamelCase}})
{{/isNullable}}
{{^isNullable}}
var {{nameInCamelCase}} {{{dataType}}} = {{{.}}}
this.{{name}} = &{{nameInCamelCase}}
var {{nameInCamelCase}} {{{dataType}}} = {{{.}}}
this.{{name}} = &{{nameInCamelCase}}
{{/isNullable}}
{{/isContainer}}
{{/defaultValue}}
Expand All @@ -89,12 +89,12 @@ func New{{classname}}WithDefaults() *{{classname}} {
{{^isContainer}}
{{#isNullable}}
{{!we use datatypeWithEnum here, since it will represent the non-nullable name of the datatype, e.g. int64 for NullableInt64}}
var {{nameInCamelCase}} {{{datatypeWithEnum}}} = {{{.}}}
this.{{name}} = *New{{{dataType}}}(&{{nameInCamelCase}})
var {{nameInCamelCase}} {{{datatypeWithEnum}}} = {{{.}}}
this.{{name}} = *New{{{dataType}}}(&{{nameInCamelCase}})
{{/isNullable}}
{{^isNullable}}
var {{nameInCamelCase}} {{{dataType}}} = {{{.}}}
this.{{name}} = {{^required}}&{{/required}}{{nameInCamelCase}}
var {{nameInCamelCase}} {{{dataType}}} = {{{.}}}
this.{{name}} = {{^required}}&{{/required}}{{nameInCamelCase}}
{{/isNullable}}
{{/isContainer}}
{{/defaultValue}}
Expand Down Expand Up @@ -138,16 +138,16 @@ func (o *{{classname}}) Get{{name}}Ok() ({{dataType}}, bool) {
return ret, false
}
{{#isNullable}}
return o.{{name}}, {{#isContainer}}o.{{name}} == nil{{/isContainer}}{{^isContainer}}o.{{name}}.IsSet(){{/isContainer}}
return o.{{name}}, {{#isContainer}}o.{{name}} == nil{{/isContainer}}{{^isContainer}}o.{{name}}.IsSet(){{/isContainer}}
{{/isNullable}}
{{^isNullable}}
return *o.{{name}}, true
return *o.{{name}}, true
{{/isNullable}}
}

// Has{{name}} returns a boolean if a field has been set.
func (o *{{classname}}) Has{{name}}() bool {
if o != nil && {{^isNullable}}o.{{name}} != nil{{/isNullable}}{{#isNullable}}{{#isContainer}}o.{{name}} != nil{{/isContainer}}{{^isContainer}}o.{{name}}.IsSet(){{/isContainer}}{{/isNullable}} {
if o != nil && {{^isNullable}}o.{{name}} != nil{{/isNullable}}{{#isNullable}}{{#isContainer}}o.{{name}} != nil{{/isContainer}}{{^isContainer}}o.{{name}}.IsSet(){{/isContainer}}{{/isNullable}} {
return true
}

Expand All @@ -162,42 +162,42 @@ func (o *{{classname}}) Set{{name}}(v {{dataType}}) {
{{/required}}
{{/vars}}
func (o {{classname}}) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
{{#parent}}
{{^isMapModel}}
serialized{{parent}}, err{{parent}} := json.Marshal(o.{{parent}})
if err{{parent}} != nil {
return []byte{}, err{{parent}}
}
err{{parent}} = json.Unmarshal([]byte(serialized{{parent}}), &toSerialize)
if err{{parent}} != nil {
return []byte{}, err{{parent}}
}
{{/isMapModel}}
{{/parent}}
{{#vars}}
{{! if argument is nullable, only serialize it if it is set}}
{{#isNullable}}
{{#isContainer}}
{{! support for container fields is not ideal at this point because of lack of Nullable* types}}
if o.{{name}} != nil {
toSerialize["{{baseName}}"] = o.{{name}}
}
{{/isContainer}}
{{^isContainer}}
if {{#required}}true{{/required}}{{^required}}o.{{name}}.IsSet(){{/required}} {
toSerialize["{{baseName}}"] = o.{{name}}.Get()
}
{{/isContainer}}
{{/isNullable}}
{{! if argument is not nullable, don't set it if it is nil}}
{{^isNullable}}
if {{#required}}true{{/required}}{{^required}}o.{{name}} != nil{{/required}} {
toSerialize["{{baseName}}"] = o.{{name}}
}
{{/isNullable}}
{{/vars}}
return json.Marshal(toSerialize)
toSerialize := map[string]interface{}{}
{{#parent}}
{{^isMapModel}}
serialized{{parent}}, err{{parent}} := json.Marshal(o.{{parent}})
if err{{parent}} != nil {
return []byte{}, err{{parent}}
}
err{{parent}} = json.Unmarshal([]byte(serialized{{parent}}), &toSerialize)
if err{{parent}} != nil {
return []byte{}, err{{parent}}
}
{{/isMapModel}}
{{/parent}}
{{#vars}}
{{! if argument is nullable, only serialize it if it is set}}
{{#isNullable}}
{{#isContainer}}
{{! support for container fields is not ideal at this point because of lack of Nullable* types}}
if o.{{name}} != nil {
toSerialize["{{baseName}}"] = o.{{name}}
}
{{/isContainer}}
{{^isContainer}}
if {{#required}}true{{/required}}{{^required}}o.{{name}}.IsSet(){{/required}} {
toSerialize["{{baseName}}"] = o.{{name}}.Get()
}
{{/isContainer}}
{{/isNullable}}
{{! if argument is not nullable, don't set it if it is nil}}
{{^isNullable}}
if {{#required}}true{{/required}}{{^required}}o.{{name}} != nil{{/required}} {
toSerialize["{{baseName}}"] = o.{{name}}
}
{{/isNullable}}
{{/vars}}
return json.Marshal(toSerialize)
}

{{/vendorExtensions.x-is-one-of-interface}}
Expand Down Expand Up @@ -259,33 +259,33 @@ type Nullable{{{classname}}} struct {
}

func (v Nullable{{classname}}) Get() *{{classname}} {
return v.value
return v.value
}

func (v Nullable{{classname}}) Set(val *{{classname}}) {
v.value = val
v.isSet = true
v.value = val
v.isSet = true
}

func (v Nullable{{classname}}) IsSet() bool {
return v.isSet
return v.isSet
}

func (v Nullable{{classname}}) Unset() {
v.value = nil
v.isSet = false
v.value = nil
v.isSet = false
}

func NewNullable{{classname}}(val *{{classname}}) *Nullable{{classname}} {
return &Nullable{{classname}}{value: val, isSet: true}
return &Nullable{{classname}}{value: val, isSet: true}
}

func (v Nullable{{{classname}}}) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
return json.Marshal(v.value)
}

func (v *Nullable{{{classname}}}) UnmarshalJSON(src []byte) error {
v.isSet = true
v.isSet = true
return json.Unmarshal(src, &v.value)
}
{{/model}}
Expand Down
Loading