Skip to content

Commit a5e7775

Browse files
authored
Merge pull request #172 from eclipse-thingweb/validation-2
feat!: improve deserialization and production logic
2 parents 39ccee8 + 91669cb commit a5e7775

23 files changed

+679
-1077
lines changed

lib/src/core/definitions.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,3 @@ export "definitions/security/psk_security_scheme.dart";
4444
export "definitions/security/security_scheme.dart";
4545
export "definitions/thing_description.dart";
4646
export "definitions/thing_model.dart";
47-
export "definitions/validation/thing_description_schema.dart";

lib/src/core/definitions/data_schema.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,20 @@ class DataSchema {
6161
Set<String>? parsedFields,
6262
]) {
6363
parsedFields = parsedFields ?? {};
64-
final atType = json.parseArrayField<String>("@type", parsedFields);
64+
final atType =
65+
json.parseArrayField<String>("@type", parsedFields: parsedFields);
6566
final title = json.parseField<String>("title", parsedFields);
6667
final titles = json.parseMapField<String>("titles", parsedFields);
6768
final description = json.parseField<String>("description", parsedFields);
6869
final descriptions =
6970
json.parseMapField<String>("descriptions", parsedFields);
7071
final constant = json.parseField<Object>("constant", parsedFields);
7172
final defaultValue = json.parseField<Object>("default", parsedFields);
72-
final enumeration = json.parseField<List<Object>>("enum", parsedFields);
73+
final enumeration = json.parseArrayField<Object?>(
74+
"enum",
75+
parsedFields: parsedFields,
76+
minimalSize: 1,
77+
);
7378
final readOnly = json.parseField<bool>("readOnly", parsedFields);
7479
final writeOnly = json.parseField<bool>("writeOnly", parsedFields);
7580
final format = json.parseField<String>("format", parsedFields);
@@ -166,7 +171,7 @@ class DataSchema {
166171
final List<DataSchema>? oneOf;
167172

168173
/// Restricted set of values provided as a [List].
169-
final List<Object>? enumeration;
174+
final List<Object?>? enumeration;
170175

171176
/// Indicates if a value is read only.
172177
final bool? readOnly;

0 commit comments

Comments
 (0)