Browse Source

fix discriminator types

pull/269/head
Nikolas Rimikis 2 years ago
parent
commit
c8abebaf5a
No known key found for this signature in database
GPG Key ID: 85ED1DE9786A4FF2
  1. 5
      packages/dynamite/lib/src/openapi_builder.dart

5
packages/dynamite/lib/src/openapi_builder.dart

@ -1770,6 +1770,11 @@ TypeResult resolveType(
'result.${fields[result.name]!} = ${result.deserialize('data', toBuilder: true)};', 'result.${fields[result.name]!} = ${result.deserialize('data', toBuilder: true)};',
], ],
] else ...[ ] else ...[
if (schema.discriminator != null) ...[
'if (data is! Map<String, dynamic>) {',
"throw StateError('discriminator is only supported for serializing Json like data.');",
'}',
],
for (final result in results) ...[ for (final result in results) ...[
if (schema.discriminator != null) ...[ if (schema.discriminator != null) ...[
"if (data['${schema.discriminator!.propertyName}'] == '${result.name.replaceFirst(state.prefix, '')}'", "if (data['${schema.discriminator!.propertyName}'] == '${result.name.replaceFirst(state.prefix, '')}'",

Loading…
Cancel
Save