feat!: improve TD data model and serialization behavior #89
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR reworks the serialization and general data models used for Thing Descriptions, and improves the code coverage. Due to the rework, a couple of bugs are fixed, especially regarding JSON Schema validation and URI variables. However, especially regarding the latter, some more work is still needed.
One important piece for simplifying the data models is introducing a new
AugmentedForm
class where most of the logic from interaction-affordance-specific forms is being moved while the data model classes are labeled as@immutable
. This should make the library a bit more reliable and should also slightly improve performance due to the use ofconst
constructors.