@@ -14,7 +14,7 @@ class Property extends InteractionAffordance implements DataSchema {
1414 required super .forms,
1515 super .uriVariables,
1616 super .additionalFields,
17- this .dataSchema,
17+ required this .dataSchema,
1818 this .observable = false ,
1919 });
2020
@@ -52,101 +52,105 @@ class Property extends InteractionAffordance implements DataSchema {
5252 }
5353
5454 /// The internal [DataSchema] this property is based on.
55- final DataSchema ? dataSchema;
55+ final DataSchema dataSchema;
5656
5757 @override
58- String ? get title => dataSchema? .title;
58+ String ? get title => dataSchema.title;
5959
6060 @override
61- Map <String , String >? get titles => dataSchema? .titles;
61+ Map <String , String >? get titles => dataSchema.titles;
6262
6363 @override
64- String ? get description => dataSchema? .description;
64+ String ? get description => dataSchema.description;
6565
6666 @override
67- Map <String , String >? get descriptions => dataSchema? .descriptions;
67+ Map <String , String >? get descriptions => dataSchema.descriptions;
6868
6969 @override
70- List <String >? get atType => dataSchema? .atType;
70+ List <String >? get atType => dataSchema.atType;
7171
7272 @override
73- Object ? get constant => dataSchema? .constant;
73+ Object ? get constant => dataSchema.constant;
7474
7575 @override
76- Object ? get defaultValue => dataSchema? .defaultValue;
76+ Object ? get defaultValue => dataSchema.defaultValue;
7777
7878 @override
79- List <Object ?>? get enumeration => dataSchema? .enumeration;
79+ List <Object ?>? get enumeration => dataSchema.enumeration;
8080
8181 @override
82- String ? get format => dataSchema? .format;
82+ String ? get format => dataSchema.format;
8383
8484 @override
85- List <DataSchema >? get oneOf => dataSchema? .oneOf;
85+ List <DataSchema >? get oneOf => dataSchema.oneOf;
8686
8787 @override
88- bool get readOnly => dataSchema? .readOnly ?? false ;
88+ bool get readOnly => dataSchema.readOnly ?? false ;
8989
9090 @override
91- String ? get type => dataSchema? .type;
91+ String ? get type => dataSchema.type;
9292
9393 @override
94- String ? get unit => dataSchema? .unit;
94+ String ? get unit => dataSchema.unit;
9595
9696 @override
97- bool get writeOnly => dataSchema? .writeOnly ?? false ;
97+ bool get writeOnly => dataSchema.writeOnly ?? false ;
9898
9999 @override
100- String ? get contentEncoding => dataSchema? .contentEncoding;
100+ String ? get contentEncoding => dataSchema.contentEncoding;
101101
102102 @override
103- String ? get contentMediaType => dataSchema? .contentMediaType;
103+ String ? get contentMediaType => dataSchema.contentMediaType;
104104
105105 @override
106- num ? get exclusiveMaximum => dataSchema? .exclusiveMaximum;
106+ num ? get exclusiveMaximum => dataSchema.exclusiveMaximum;
107107
108108 @override
109- num ? get exclusiveMinimum => dataSchema? .exclusiveMinimum;
109+ num ? get exclusiveMinimum => dataSchema.exclusiveMinimum;
110110
111111 @override
112- List <DataSchema >? get items => dataSchema? .items;
112+ List <DataSchema >? get items => dataSchema.items;
113113
114114 @override
115- int ? get maxItems => dataSchema? .maxItems;
115+ int ? get maxItems => dataSchema.maxItems;
116116
117117 @override
118- int ? get maxLength => dataSchema? .maxLength;
118+ int ? get maxLength => dataSchema.maxLength;
119119
120120 @override
121- num ? get maximum => dataSchema? .maximum;
121+ num ? get maximum => dataSchema.maximum;
122122
123123 @override
124- int ? get minItems => dataSchema? .minItems;
124+ int ? get minItems => dataSchema.minItems;
125125
126126 @override
127- int ? get minLength => dataSchema? .minItems;
127+ int ? get minLength => dataSchema.minItems;
128128
129129 @override
130- num ? get minimum => dataSchema? .minimum;
130+ num ? get minimum => dataSchema.minimum;
131131
132132 @override
133- num ? get multipleOf => dataSchema? .multipleOf;
133+ num ? get multipleOf => dataSchema.multipleOf;
134134
135135 @override
136- String ? get pattern => dataSchema? .pattern;
136+ String ? get pattern => dataSchema.pattern;
137137
138138 @override
139- Map <String , DataSchema >? get properties => dataSchema? .properties;
139+ Map <String , DataSchema >? get properties => dataSchema.properties;
140140
141141 @override
142- List <String >? get required => dataSchema? .required ;
142+ List <String >? get required => dataSchema.required ;
143143
144144 /// A hint that indicates whether Servients hosting the Thing and
145145 /// Intermediaries should provide a Protocol Binding that supports the
146146 /// `observeproperty` and `unobserveproperty` operations for this Property.
147147 final bool observable;
148148
149149 @override
150- Map <String , dynamic > get additionalFields =>
151- dataSchema? .additionalFields ?? {};
150+ Map <String , dynamic > get additionalFields {
151+ final additionalDataSchemaFields = dataSchema.additionalFields.entries
152+ .where ((entry) => super .additionalFields.containsKey (entry.key));
153+
154+ return Map .fromEntries (additionalDataSchemaFields);
155+ }
152156}
0 commit comments