11 changed files with 740 additions and 1 deletions
@ -0,0 +1,215 @@
|
||||
// ignore_for_file: camel_case_types |
||||
// ignore_for_file: discarded_futures |
||||
// ignore_for_file: public_member_api_docs |
||||
// ignore_for_file: unreachable_switch_case |
||||
|
||||
import 'package:built_collection/built_collection.dart'; |
||||
import 'package:built_value/built_value.dart'; |
||||
import 'package:built_value/json_object.dart'; |
||||
import 'package:built_value/serializer.dart'; |
||||
import 'package:built_value/standard_json_plugin.dart'; |
||||
import 'package:collection/collection.dart'; |
||||
import 'package:dynamite_runtime/built_value.dart'; |
||||
import 'package:dynamite_runtime/http_client.dart'; |
||||
|
||||
part 'some_ofs.openapi.g.dart'; |
||||
|
||||
class Client extends DynamiteClient { |
||||
Client( |
||||
super.baseURL, { |
||||
super.baseHeaders, |
||||
super.userAgent, |
||||
super.httpClient, |
||||
super.cookieJar, |
||||
}); |
||||
|
||||
Client.fromClient(final DynamiteClient client) |
||||
: super( |
||||
client.baseURL, |
||||
baseHeaders: client.baseHeaders, |
||||
httpClient: client.httpClient, |
||||
cookieJar: client.cookieJar, |
||||
authentications: client.authentications, |
||||
); |
||||
} |
||||
|
||||
@BuiltValue(instantiable: false) |
||||
abstract interface class BaseInterface { |
||||
String get attribute; |
||||
} |
||||
|
||||
abstract class Base implements BaseInterface, Built<Base, BaseBuilder> { |
||||
factory Base([final void Function(BaseBuilder)? b]) = _$Base; |
||||
|
||||
const Base._(); |
||||
|
||||
factory Base.fromJson(final Map<String, dynamic> json) => _jsonSerializers.deserializeWith(serializer, json)!; |
||||
|
||||
Map<String, dynamic> toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map<String, dynamic>; |
||||
|
||||
static Serializer<Base> get serializer => _$baseSerializer; |
||||
} |
||||
|
||||
@BuiltValue(instantiable: false) |
||||
abstract interface class OneOfUnspecifiedArrayInterface { |
||||
Base? get base; |
||||
BuiltList<JsonObject>? get builtListJsonObject; |
||||
} |
||||
|
||||
abstract class OneOfUnspecifiedArray |
||||
implements OneOfUnspecifiedArrayInterface, Built<OneOfUnspecifiedArray, OneOfUnspecifiedArrayBuilder> { |
||||
factory OneOfUnspecifiedArray([final void Function(OneOfUnspecifiedArrayBuilder)? b]) = _$OneOfUnspecifiedArray; |
||||
|
||||
const OneOfUnspecifiedArray._(); |
||||
|
||||
factory OneOfUnspecifiedArray.fromJson(final Map<String, dynamic> json) => |
||||
_jsonSerializers.deserializeWith(serializer, json)!; |
||||
|
||||
Map<String, dynamic> toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map<String, dynamic>; |
||||
|
||||
@BuiltValueSerializer(custom: true) |
||||
static Serializer<OneOfUnspecifiedArray> get serializer => _$OneOfUnspecifiedArraySerializer(); |
||||
|
||||
JsonObject get data; |
||||
@BuiltValueHook(finalizeBuilder: true) |
||||
static void _validate(final OneOfUnspecifiedArrayBuilder b) { |
||||
// When this is rebuild from another builder |
||||
if (b._data == null) { |
||||
return; |
||||
} |
||||
|
||||
final match = [b._base, b._builtListJsonObject].singleWhereOrNull((final x) => x != null); |
||||
if (match == null) { |
||||
throw StateError("Need exactly one of 'base', 'builtListJsonObject' for ${b._data}"); |
||||
} |
||||
} |
||||
} |
||||
|
||||
class _$OneOfUnspecifiedArraySerializer implements PrimitiveSerializer<OneOfUnspecifiedArray> { |
||||
@override |
||||
final Iterable<Type> types = const [OneOfUnspecifiedArray, _$OneOfUnspecifiedArray]; |
||||
|
||||
@override |
||||
final String wireName = 'OneOfUnspecifiedArray'; |
||||
|
||||
@override |
||||
Object serialize( |
||||
final Serializers serializers, |
||||
final OneOfUnspecifiedArray object, { |
||||
final FullType specifiedType = FullType.unspecified, |
||||
}) => |
||||
object.data.value; |
||||
|
||||
@override |
||||
OneOfUnspecifiedArray deserialize( |
||||
final Serializers serializers, |
||||
final Object data, { |
||||
final FullType specifiedType = FullType.unspecified, |
||||
}) { |
||||
final result = OneOfUnspecifiedArrayBuilder()..data = JsonObject(data); |
||||
try { |
||||
final value = _jsonSerializers.deserialize(data, specifiedType: const FullType(Base))! as Base; |
||||
result.base.replace(value); |
||||
return result.build(); |
||||
} catch (_) {} |
||||
try { |
||||
final value = _jsonSerializers.deserialize( |
||||
data, |
||||
specifiedType: const FullType(BuiltList, [FullType(JsonObject)]), |
||||
)! as BuiltList<JsonObject>; |
||||
result.builtListJsonObject.replace(value); |
||||
return result.build(); |
||||
} catch (_) {} |
||||
return result.build(); |
||||
} |
||||
} |
||||
|
||||
@BuiltValue(instantiable: false) |
||||
abstract interface class OneOfStringArrayInterface { |
||||
Base? get base; |
||||
BuiltList<String>? get builtListString; |
||||
} |
||||
|
||||
abstract class OneOfStringArray implements OneOfStringArrayInterface, Built<OneOfStringArray, OneOfStringArrayBuilder> { |
||||
factory OneOfStringArray([final void Function(OneOfStringArrayBuilder)? b]) = _$OneOfStringArray; |
||||
|
||||
const OneOfStringArray._(); |
||||
|
||||
factory OneOfStringArray.fromJson(final Map<String, dynamic> json) => |
||||
_jsonSerializers.deserializeWith(serializer, json)!; |
||||
|
||||
Map<String, dynamic> toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map<String, dynamic>; |
||||
|
||||
@BuiltValueSerializer(custom: true) |
||||
static Serializer<OneOfStringArray> get serializer => _$OneOfStringArraySerializer(); |
||||
|
||||
JsonObject get data; |
||||
@BuiltValueHook(finalizeBuilder: true) |
||||
static void _validate(final OneOfStringArrayBuilder b) { |
||||
// When this is rebuild from another builder |
||||
if (b._data == null) { |
||||
return; |
||||
} |
||||
|
||||
final match = [b._base, b._builtListString].singleWhereOrNull((final x) => x != null); |
||||
if (match == null) { |
||||
throw StateError("Need exactly one of 'base', 'builtListString' for ${b._data}"); |
||||
} |
||||
} |
||||
} |
||||
|
||||
class _$OneOfStringArraySerializer implements PrimitiveSerializer<OneOfStringArray> { |
||||
@override |
||||
final Iterable<Type> types = const [OneOfStringArray, _$OneOfStringArray]; |
||||
|
||||
@override |
||||
final String wireName = 'OneOfStringArray'; |
||||
|
||||
@override |
||||
Object serialize( |
||||
final Serializers serializers, |
||||
final OneOfStringArray object, { |
||||
final FullType specifiedType = FullType.unspecified, |
||||
}) => |
||||
object.data.value; |
||||
|
||||
@override |
||||
OneOfStringArray deserialize( |
||||
final Serializers serializers, |
||||
final Object data, { |
||||
final FullType specifiedType = FullType.unspecified, |
||||
}) { |
||||
final result = OneOfStringArrayBuilder()..data = JsonObject(data); |
||||
try { |
||||
final value = _jsonSerializers.deserialize(data, specifiedType: const FullType(Base))! as Base; |
||||
result.base.replace(value); |
||||
return result.build(); |
||||
} catch (_) {} |
||||
try { |
||||
final value = _jsonSerializers.deserialize(data, specifiedType: const FullType(BuiltList, [FullType(String)]))! |
||||
as BuiltList<String>; |
||||
result.builtListString.replace(value); |
||||
return result.build(); |
||||
} catch (_) {} |
||||
return result.build(); |
||||
} |
||||
} |
||||
|
||||
// coverage:ignore-start |
||||
final Serializers _serializers = (Serializers().toBuilder() |
||||
..addBuilderFactory(const FullType(Base), Base.new) |
||||
..add(Base.serializer) |
||||
..addBuilderFactory(const FullType(OneOfUnspecifiedArray), OneOfUnspecifiedArray.new) |
||||
..add(OneOfUnspecifiedArray.serializer) |
||||
..addBuilderFactory(const FullType(BuiltList, [FullType(JsonObject)]), ListBuilder<JsonObject>.new) |
||||
..addBuilderFactory(const FullType(OneOfStringArray), OneOfStringArray.new) |
||||
..add(OneOfStringArray.serializer) |
||||
..addBuilderFactory(const FullType(BuiltList, [FullType(String)]), ListBuilder<String>.new)) |
||||
.build(); |
||||
|
||||
final Serializers _jsonSerializers = (_serializers.toBuilder() |
||||
..add(DynamiteDoubleSerializer()) |
||||
..addPlugin(StandardJsonPlugin()) |
||||
..addPlugin(const ContentStringPlugin())) |
||||
.build(); |
||||
// coverage:ignore-end |
@ -0,0 +1,390 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND |
||||
|
||||
part of 'some_ofs.openapi.dart'; |
||||
|
||||
// ************************************************************************** |
||||
// BuiltValueGenerator |
||||
// ************************************************************************** |
||||
|
||||
Serializer<Base> _$baseSerializer = _$BaseSerializer(); |
||||
|
||||
class _$BaseSerializer implements StructuredSerializer<Base> { |
||||
@override |
||||
final Iterable<Type> types = const [Base, _$Base]; |
||||
@override |
||||
final String wireName = 'Base'; |
||||
|
||||
@override |
||||
Iterable<Object?> serialize(Serializers serializers, Base object, {FullType specifiedType = FullType.unspecified}) { |
||||
final result = <Object?>[ |
||||
'attribute', |
||||
serializers.serialize(object.attribute, specifiedType: const FullType(String)), |
||||
]; |
||||
|
||||
return result; |
||||
} |
||||
|
||||
@override |
||||
Base deserialize(Serializers serializers, Iterable<Object?> serialized, |
||||
{FullType specifiedType = FullType.unspecified}) { |
||||
final result = BaseBuilder(); |
||||
|
||||
final iterator = serialized.iterator; |
||||
while (iterator.moveNext()) { |
||||
final key = iterator.current! as String; |
||||
iterator.moveNext(); |
||||
final Object? value = iterator.current; |
||||
switch (key) { |
||||
case 'attribute': |
||||
result.attribute = serializers.deserialize(value, specifiedType: const FullType(String))! as String; |
||||
break; |
||||
} |
||||
} |
||||
|
||||
return result.build(); |
||||
} |
||||
} |
||||
|
||||
abstract mixin class BaseInterfaceBuilder { |
||||
void replace(BaseInterface other); |
||||
void update(void Function(BaseInterfaceBuilder) updates); |
||||
String? get attribute; |
||||
set attribute(String? attribute); |
||||
} |
||||
|
||||
class _$Base extends Base { |
||||
@override |
||||
final String attribute; |
||||
|
||||
factory _$Base([void Function(BaseBuilder)? updates]) => (BaseBuilder()..update(updates))._build(); |
||||
|
||||
_$Base._({required this.attribute}) : super._() { |
||||
BuiltValueNullFieldError.checkNotNull(attribute, r'Base', 'attribute'); |
||||
} |
||||
|
||||
@override |
||||
Base rebuild(void Function(BaseBuilder) updates) => (toBuilder()..update(updates)).build(); |
||||
|
||||
@override |
||||
BaseBuilder toBuilder() => BaseBuilder()..replace(this); |
||||
|
||||
@override |
||||
bool operator ==(Object other) { |
||||
if (identical(other, this)) return true; |
||||
return other is Base && attribute == other.attribute; |
||||
} |
||||
|
||||
@override |
||||
int get hashCode { |
||||
var _$hash = 0; |
||||
_$hash = $jc(_$hash, attribute.hashCode); |
||||
_$hash = $jf(_$hash); |
||||
return _$hash; |
||||
} |
||||
|
||||
@override |
||||
String toString() { |
||||
return (newBuiltValueToStringHelper(r'Base')..add('attribute', attribute)).toString(); |
||||
} |
||||
} |
||||
|
||||
class BaseBuilder implements Builder<Base, BaseBuilder>, BaseInterfaceBuilder { |
||||
_$Base? _$v; |
||||
|
||||
String? _attribute; |
||||
String? get attribute => _$this._attribute; |
||||
set attribute(covariant String? attribute) => _$this._attribute = attribute; |
||||
|
||||
BaseBuilder(); |
||||
|
||||
BaseBuilder get _$this { |
||||
final $v = _$v; |
||||
if ($v != null) { |
||||
_attribute = $v.attribute; |
||||
_$v = null; |
||||
} |
||||
return this; |
||||
} |
||||
|
||||
@override |
||||
void replace(covariant Base other) { |
||||
ArgumentError.checkNotNull(other, 'other'); |
||||
_$v = other as _$Base; |
||||
} |
||||
|
||||
@override |
||||
void update(void Function(BaseBuilder)? updates) { |
||||
if (updates != null) updates(this); |
||||
} |
||||
|
||||
@override |
||||
Base build() => _build(); |
||||
|
||||
_$Base _build() { |
||||
final _$result = _$v ?? _$Base._(attribute: BuiltValueNullFieldError.checkNotNull(attribute, r'Base', 'attribute')); |
||||
replace(_$result); |
||||
return _$result; |
||||
} |
||||
} |
||||
|
||||
abstract mixin class OneOfUnspecifiedArrayInterfaceBuilder { |
||||
void replace(OneOfUnspecifiedArrayInterface other); |
||||
void update(void Function(OneOfUnspecifiedArrayInterfaceBuilder) updates); |
||||
BaseBuilder get base; |
||||
set base(BaseBuilder? base); |
||||
|
||||
ListBuilder<JsonObject> get builtListJsonObject; |
||||
set builtListJsonObject(ListBuilder<JsonObject>? builtListJsonObject); |
||||
} |
||||
|
||||
class _$OneOfUnspecifiedArray extends OneOfUnspecifiedArray { |
||||
@override |
||||
final JsonObject data; |
||||
@override |
||||
final Base? base; |
||||
@override |
||||
final BuiltList<JsonObject>? builtListJsonObject; |
||||
|
||||
factory _$OneOfUnspecifiedArray([void Function(OneOfUnspecifiedArrayBuilder)? updates]) => |
||||
(OneOfUnspecifiedArrayBuilder()..update(updates))._build(); |
||||
|
||||
_$OneOfUnspecifiedArray._({required this.data, this.base, this.builtListJsonObject}) : super._() { |
||||
BuiltValueNullFieldError.checkNotNull(data, r'OneOfUnspecifiedArray', 'data'); |
||||
} |
||||
|
||||
@override |
||||
OneOfUnspecifiedArray rebuild(void Function(OneOfUnspecifiedArrayBuilder) updates) => |
||||
(toBuilder()..update(updates)).build(); |
||||
|
||||
@override |
||||
OneOfUnspecifiedArrayBuilder toBuilder() => OneOfUnspecifiedArrayBuilder()..replace(this); |
||||
|
||||
@override |
||||
bool operator ==(Object other) { |
||||
if (identical(other, this)) return true; |
||||
return other is OneOfUnspecifiedArray && |
||||
data == other.data && |
||||
base == other.base && |
||||
builtListJsonObject == other.builtListJsonObject; |
||||
} |
||||
|
||||
@override |
||||
int get hashCode { |
||||
var _$hash = 0; |
||||
_$hash = $jc(_$hash, data.hashCode); |
||||
_$hash = $jc(_$hash, base.hashCode); |
||||
_$hash = $jc(_$hash, builtListJsonObject.hashCode); |
||||
_$hash = $jf(_$hash); |
||||
return _$hash; |
||||
} |
||||
|
||||
@override |
||||
String toString() { |
||||
return (newBuiltValueToStringHelper(r'OneOfUnspecifiedArray') |
||||
..add('data', data) |
||||
..add('base', base) |
||||
..add('builtListJsonObject', builtListJsonObject)) |
||||
.toString(); |
||||
} |
||||
} |
||||
|
||||
class OneOfUnspecifiedArrayBuilder |
||||
implements Builder<OneOfUnspecifiedArray, OneOfUnspecifiedArrayBuilder>, OneOfUnspecifiedArrayInterfaceBuilder { |
||||
_$OneOfUnspecifiedArray? _$v; |
||||
|
||||
JsonObject? _data; |
||||
JsonObject? get data => _$this._data; |
||||
set data(covariant JsonObject? data) => _$this._data = data; |
||||
|
||||
BaseBuilder? _base; |
||||
BaseBuilder get base => _$this._base ??= BaseBuilder(); |
||||
set base(covariant BaseBuilder? base) => _$this._base = base; |
||||
|
||||
ListBuilder<JsonObject>? _builtListJsonObject; |
||||
ListBuilder<JsonObject> get builtListJsonObject => _$this._builtListJsonObject ??= ListBuilder<JsonObject>(); |
||||
set builtListJsonObject(covariant ListBuilder<JsonObject>? builtListJsonObject) => |
||||
_$this._builtListJsonObject = builtListJsonObject; |
||||
|
||||
OneOfUnspecifiedArrayBuilder(); |
||||
|
||||
OneOfUnspecifiedArrayBuilder get _$this { |
||||
final $v = _$v; |
||||
if ($v != null) { |
||||
_data = $v.data; |
||||
_base = $v.base?.toBuilder(); |
||||
_builtListJsonObject = $v.builtListJsonObject?.toBuilder(); |
||||
_$v = null; |
||||
} |
||||
return this; |
||||
} |
||||
|
||||
@override |
||||
void replace(covariant OneOfUnspecifiedArray other) { |
||||
ArgumentError.checkNotNull(other, 'other'); |
||||
_$v = other as _$OneOfUnspecifiedArray; |
||||
} |
||||
|
||||
@override |
||||
void update(void Function(OneOfUnspecifiedArrayBuilder)? updates) { |
||||
if (updates != null) updates(this); |
||||
} |
||||
|
||||
@override |
||||
OneOfUnspecifiedArray build() => _build(); |
||||
|
||||
_$OneOfUnspecifiedArray _build() { |
||||
OneOfUnspecifiedArray._validate(this); |
||||
_$OneOfUnspecifiedArray _$result; |
||||
try { |
||||
_$result = _$v ?? |
||||
_$OneOfUnspecifiedArray._( |
||||
data: BuiltValueNullFieldError.checkNotNull(data, r'OneOfUnspecifiedArray', 'data'), |
||||
base: _base?.build(), |
||||
builtListJsonObject: _builtListJsonObject?.build()); |
||||
} catch (_) { |
||||
late String _$failedField; |
||||
try { |
||||
_$failedField = 'base'; |
||||
_base?.build(); |
||||
_$failedField = 'builtListJsonObject'; |
||||
_builtListJsonObject?.build(); |
||||
} catch (e) { |
||||
throw BuiltValueNestedFieldError(r'OneOfUnspecifiedArray', _$failedField, e.toString()); |
||||
} |
||||
rethrow; |
||||
} |
||||
replace(_$result); |
||||
return _$result; |
||||
} |
||||
} |
||||
|
||||
abstract mixin class OneOfStringArrayInterfaceBuilder { |
||||
void replace(OneOfStringArrayInterface other); |
||||
void update(void Function(OneOfStringArrayInterfaceBuilder) updates); |
||||
BaseBuilder get base; |
||||
set base(BaseBuilder? base); |
||||
|
||||
ListBuilder<String> get builtListString; |
||||
set builtListString(ListBuilder<String>? builtListString); |
||||
} |
||||
|
||||
class _$OneOfStringArray extends OneOfStringArray { |
||||
@override |
||||
final JsonObject data; |
||||
@override |
||||
final Base? base; |
||||
@override |
||||
final BuiltList<String>? builtListString; |
||||
|
||||
factory _$OneOfStringArray([void Function(OneOfStringArrayBuilder)? updates]) => |
||||
(OneOfStringArrayBuilder()..update(updates))._build(); |
||||
|
||||
_$OneOfStringArray._({required this.data, this.base, this.builtListString}) : super._() { |
||||
BuiltValueNullFieldError.checkNotNull(data, r'OneOfStringArray', 'data'); |
||||
} |
||||
|
||||
@override |
||||
OneOfStringArray rebuild(void Function(OneOfStringArrayBuilder) updates) => (toBuilder()..update(updates)).build(); |
||||
|
||||
@override |
||||
OneOfStringArrayBuilder toBuilder() => OneOfStringArrayBuilder()..replace(this); |
||||
|
||||
@override |
||||
bool operator ==(Object other) { |
||||
if (identical(other, this)) return true; |
||||
return other is OneOfStringArray && |
||||
data == other.data && |
||||
base == other.base && |
||||
builtListString == other.builtListString; |
||||
} |
||||
|
||||
@override |
||||
int get hashCode { |
||||
var _$hash = 0; |
||||
_$hash = $jc(_$hash, data.hashCode); |
||||
_$hash = $jc(_$hash, base.hashCode); |
||||
_$hash = $jc(_$hash, builtListString.hashCode); |
||||
_$hash = $jf(_$hash); |
||||
return _$hash; |
||||
} |
||||
|
||||
@override |
||||
String toString() { |
||||
return (newBuiltValueToStringHelper(r'OneOfStringArray') |
||||
..add('data', data) |
||||
..add('base', base) |
||||
..add('builtListString', builtListString)) |
||||
.toString(); |
||||
} |
||||
} |
||||
|
||||
class OneOfStringArrayBuilder |
||||
implements Builder<OneOfStringArray, OneOfStringArrayBuilder>, OneOfStringArrayInterfaceBuilder { |
||||
_$OneOfStringArray? _$v; |
||||
|
||||
JsonObject? _data; |
||||
JsonObject? get data => _$this._data; |
||||
set data(covariant JsonObject? data) => _$this._data = data; |
||||
|
||||
BaseBuilder? _base; |
||||
BaseBuilder get base => _$this._base ??= BaseBuilder(); |
||||
set base(covariant BaseBuilder? base) => _$this._base = base; |
||||
|
||||
ListBuilder<String>? _builtListString; |
||||
ListBuilder<String> get builtListString => _$this._builtListString ??= ListBuilder<String>(); |
||||
set builtListString(covariant ListBuilder<String>? builtListString) => _$this._builtListString = builtListString; |
||||
|
||||
OneOfStringArrayBuilder(); |
||||
|
||||
OneOfStringArrayBuilder get _$this { |
||||
final $v = _$v; |
||||
if ($v != null) { |
||||
_data = $v.data; |
||||
_base = $v.base?.toBuilder(); |
||||
_builtListString = $v.builtListString?.toBuilder(); |
||||
_$v = null; |
||||
} |
||||
return this; |
||||
} |
||||
|
||||
@override |
||||
void replace(covariant OneOfStringArray other) { |
||||
ArgumentError.checkNotNull(other, 'other'); |
||||
_$v = other as _$OneOfStringArray; |
||||
} |
||||
|
||||
@override |
||||
void update(void Function(OneOfStringArrayBuilder)? updates) { |
||||
if (updates != null) updates(this); |
||||
} |
||||
|
||||
@override |
||||
OneOfStringArray build() => _build(); |
||||
|
||||
_$OneOfStringArray _build() { |
||||
OneOfStringArray._validate(this); |
||||
_$OneOfStringArray _$result; |
||||
try { |
||||
_$result = _$v ?? |
||||
_$OneOfStringArray._( |
||||
data: BuiltValueNullFieldError.checkNotNull(data, r'OneOfStringArray', 'data'), |
||||
base: _base?.build(), |
||||
builtListString: _builtListString?.build()); |
||||
} catch (_) { |
||||
late String _$failedField; |
||||
try { |
||||
_$failedField = 'base'; |
||||
_base?.build(); |
||||
_$failedField = 'builtListString'; |
||||
_builtListString?.build(); |
||||
} catch (e) { |
||||
throw BuiltValueNestedFieldError(r'OneOfStringArray', _$failedField, e.toString()); |
||||
} |
||||
rethrow; |
||||
} |
||||
replace(_$result); |
||||
return _$result; |
||||
} |
||||
} |
||||
|
||||
// ignore_for_file: deprecated_member_use_from_same_package,type=lint |
@ -0,0 +1,47 @@
|
||||
{ |
||||
"openapi": "3.1.0", |
||||
"info": { |
||||
"title": "some ofs test", |
||||
"version": "0.0.1" |
||||
}, |
||||
"components": { |
||||
"schemas": { |
||||
"Base": { |
||||
"type": "object", |
||||
"required": [ |
||||
"attribute" |
||||
], |
||||
"properties": { |
||||
"attribute": { |
||||
"type": "string" |
||||
} |
||||
} |
||||
}, |
||||
"OneOfUnspecifiedArray": { |
||||
"oneOf": [ |
||||
{ |
||||
"$ref": "#/components/schemas/Base" |
||||
}, |
||||
{ |
||||
"type": "array" |
||||
} |
||||
] |
||||
}, |
||||
"OneOfStringArray": { |
||||
"oneOf": [ |
||||
{ |
||||
"$ref": "#/components/schemas/Base" |
||||
}, |
||||
{ |
||||
"type": "array", |
||||
"items": { |
||||
"type": "string" |
||||
} |
||||
} |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
"paths": {}, |
||||
"tags": [] |
||||
} |
@ -0,0 +1,39 @@
|
||||
import 'package:built_value/json_object.dart'; |
||||
import 'package:dynamite_end_to_end_test/some_ofs.openapi.dart'; |
||||
import 'package:test/test.dart'; |
||||
|
||||
void main() { |
||||
test('Array with unspecified items', () { |
||||
final object = OneOfUnspecifiedArray( |
||||
(final b) => b |
||||
..data = JsonObject(['attribute', 'attributeValue']) |
||||
..base.update( |
||||
(final b) => b..attribute = 'attributeValue', |
||||
), |
||||
); |
||||
|
||||
final json = {'attribute': 'attributeValue'}; |
||||
|
||||
expect(object.toJson(), equals(json)); |
||||
expect(OneOfUnspecifiedArray.fromJson(json), equals(object)); |
||||
}); |
||||
|
||||
test( |
||||
'Array with String items', |
||||
() { |
||||
final object = OneOfStringArray( |
||||
(final b) => b |
||||
..data = JsonObject(['attributeValue', 'attributeValue', 'attributeValue']) |
||||
..builtListString.replace(['attributeValue', 'attributeValue', 'attributeValue']), |
||||
); |
||||
|
||||
final json = { |
||||
'builtListString': ['attributeValue', 'attributeValue', 'attributeValue'], |
||||
}; |
||||
|
||||
expect(object.toJson(), equals(json)); |
||||
expect(OneOfStringArray.fromJson(json), equals(object)); |
||||
}, |
||||
skip: true, |
||||
); |
||||
} |
Loading…
Reference in new issue