WitGeneratorConfig.fromJson constructor
WitGeneratorConfig.fromJson(
- Object? json_
Returns a new instance from a JSON value. May throw if the value does not have the expected structure.
Implementation
factory WitGeneratorConfig.fromJson(Object? json_) {
final json = json_ is Map
? _spec.fields.map((f) => json_[f.label]).toList(growable: false)
: json_;
return switch (json) {
[
final inputs,
final jsonSerialization,
final copyWith_,
final equalityAndHashCode,
final toString_,
final generateDocs,
final fileHeader,
final objectComparator,
final useNullForOption,
final requiredOption,
final int64Type,
final typedNumberLists,
final asyncWorker,
final sameClassUnion
] ||
(
final inputs,
final jsonSerialization,
final copyWith_,
final equalityAndHashCode,
final toString_,
final generateDocs,
final fileHeader,
final objectComparator,
final useNullForOption,
final requiredOption,
final int64Type,
final typedNumberLists,
final asyncWorker,
final sameClassUnion
) =>
WitGeneratorConfig(
inputs: WitGeneratorInput.fromJson(inputs),
jsonSerialization: jsonSerialization! as bool,
copyWith_: copyWith_! as bool,
equalityAndHashCode: equalityAndHashCode! as bool,
toString_: toString_! as bool,
generateDocs: generateDocs! as bool,
fileHeader: Option.fromJson(
fileHeader,
(some) =>
some is String ? some : (some! as ParsedString).value).value,
objectComparator: Option.fromJson(
objectComparator,
(some) =>
some is String ? some : (some! as ParsedString).value).value,
useNullForOption: useNullForOption! as bool,
requiredOption: requiredOption! as bool,
int64Type: Int64TypeConfig.fromJson(int64Type),
typedNumberLists: typedNumberLists! as bool,
asyncWorker: asyncWorker! as bool,
sameClassUnion: sameClassUnion! as bool,
),
_ => throw Exception('Invalid JSON $json_')
};
}