Skip to content

Commit 4647c0b

Browse files
authored
Add features missing from OpenAPITools#24286 (OpenAPITools#24350)
* Add new argument to nullify a property when using `copyWith()`. * Add `final` to class properties when they are not required. * Check nullify argument in `copyWith()`.
1 parent 8611f24 commit 4647c0b

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

modules/openapi-generator/src/main/resources/dart2/serialization/native/native_class.mustache

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ class {{{classname}}} {
3838
{{/required}}
3939
{{^required}}
4040
{{#vendorExtensions.x-is-optional}}
41-
{{{datatypeWithEnum}}} {{{name}}};
41+
{{#useFinalProperties}}final {{/useFinalProperties}}{{{datatypeWithEnum}}} {{{name}}};
4242
{{/vendorExtensions.x-is-optional}}
4343
{{^vendorExtensions.x-is-optional}}
44-
{{{datatypeWithEnum}}}{{#isNullable}}?{{/isNullable}}{{^isNullable}}{{^defaultValue}}?{{/defaultValue}}{{/isNullable}} {{{name}}};
44+
{{#useFinalProperties}}final {{/useFinalProperties}}{{{datatypeWithEnum}}}{{#isNullable}}?{{/isNullable}}{{^isNullable}}{{^defaultValue}}?{{/defaultValue}}{{/isNullable}} {{{name}}};
4545
{{/vendorExtensions.x-is-optional}}
4646
{{/required}}
4747

@@ -155,11 +155,12 @@ class {{{classname}}} {
155155
/// properties have changed.
156156
{{{classname}}} copyWith({
157157
{{#vars}}
158-
final {{{datatypeWithEnum}}}? {{{name}}},
158+
{{{datatypeWithEnum}}}? {{{name}}},{{#isNullable}}
159+
bool {{{name}}}SetToNull = false,{{/isNullable}}
159160
{{/vars}}
160161
}) => {{{classname}}}(
161162
{{#vars}}
162-
{{{name}}}: {{{name}}} ?? this.{{{name}}},
163+
{{{name}}}: {{#isNullable}}{{{name}}}SetToNull ? null : {{/isNullable}}{{{name}}} ?? this.{{{name}}},
163164
{{/vars}}
164165
);
165166

0 commit comments

Comments
 (0)