Milan Schema Convertor To SharedTree LLS #1
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.
Description
This is the initial implementation of the schema converter from Property DDS schema to SharedTree LLS schema.
It is based on the code at
https://github.com/sharptrip/FluidFramework/blob/editable-tree-inspector-with-transaction-handling/experimental/PropertyDDS/examples/schemas/src/schemaConverter.ts
Following are the changes and additions to the original code
Fields are never merged
Two fields of the Array context are not merged to one Empty Key field with both type1 and type2 instances possible. All fields are generated in the LLS schema as they were present in PDDS schema
Enums
Enums are supported and converted to the type Enum which is the node containing the number value as follows
OO Inheritance
Inheritance within the class hierarchy is covered by union of types. For example, if we have the types
Ext2-1.0.0 inherits from Ext1-1.0.0 inherits from Base-1.0.0and the Base is configured for the propertyfieldWithInherits, we get following schema structureReview Notes
Reviewers:
@dstanesc @sharptrip @ruiterr