Skip to content

Commit

Permalink
feat!: improve deserialization and production logic
Browse files Browse the repository at this point in the history
  • Loading branch information
JKRhb committed Jun 2, 2024
1 parent 39ccee8 commit 19a3a1d
Show file tree
Hide file tree
Showing 23 changed files with 656 additions and 1,070 deletions.
1 change: 0 additions & 1 deletion lib/src/core/definitions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,3 @@ export "definitions/security/psk_security_scheme.dart";
export "definitions/security/security_scheme.dart";
export "definitions/thing_description.dart";
export "definitions/thing_model.dart";
export "definitions/validation/thing_description_schema.dart";
11 changes: 8 additions & 3 deletions lib/src/core/definitions/data_schema.dart
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,20 @@ class DataSchema {
Set<String>? parsedFields,
]) {
parsedFields = parsedFields ?? {};
final atType = json.parseArrayField<String>("@type", parsedFields);
final atType =
json.parseArrayField<String>("@type", parsedFields: parsedFields);
final title = json.parseField<String>("title", parsedFields);
final titles = json.parseMapField<String>("titles", parsedFields);
final description = json.parseField<String>("description", parsedFields);
final descriptions =
json.parseMapField<String>("descriptions", parsedFields);
final constant = json.parseField<Object>("constant", parsedFields);
final defaultValue = json.parseField<Object>("default", parsedFields);
final enumeration = json.parseField<List<Object>>("enum", parsedFields);
final enumeration = json.parseArrayField<Object?>(
"enum",
parsedFields: parsedFields,
minimalSize: 1,
);
final readOnly = json.parseField<bool>("readOnly", parsedFields);
final writeOnly = json.parseField<bool>("writeOnly", parsedFields);
final format = json.parseField<String>("format", parsedFields);
Expand Down Expand Up @@ -166,7 +171,7 @@ class DataSchema {
final List<DataSchema>? oneOf;

/// Restricted set of values provided as a [List].
final List<Object>? enumeration;
final List<Object?>? enumeration;

/// Indicates if a value is read only.
final bool? readOnly;
Expand Down
Loading

0 comments on commit 19a3a1d

Please sign in to comment.