Skip to content

Rename schema Factory classes, make compiled schema classes internal#40

Open
LucDeCaf wants to merge 3 commits intomainfrom
schema-table-rename
Open

Rename schema Factory classes, make compiled schema classes internal#40
LucDeCaf wants to merge 3 commits intomainfrom
schema-table-rename

Conversation

@LucDeCaf
Copy link
Contributor

@LucDeCaf LucDeCaf commented Feb 3, 2026

Followup to #37 that does the following:

  • Renames Schema -> CompiledSchema, Table -> CompiledTable and makes them internal.
  • Renames SchemaFactory -> Schema, TableFactory -> Table and adds more ways to modify/interact with the classes.
    • The intention behind the above changes is to separate the user-facing Schema and Table classes from the internal Compiled* classes, allowing us to make optimisations/"breaking" changes to the compiled classes in the future.

Breaking changes:

  • The above renames.
  • CompiledSchema and CompiledTable are internal.
  • Schema and Table have new APIs for both initialising the schema and modifying it programatically
  • UpdateSchema technically emits a different object to before (emits what is now called Schema instead of what is now called CompiledSchema); however I'm not sure if the API actually changed meaningfully, since the main point of emitting the schema in the first place is just for the caller to know that some schema change has occurred. The only difference now is that you can't call schema.Validate() or schema.ToJson(). This is open to changing before the PR goes through.

@Chriztiaan
Copy link
Collaborator

Happy with the changes. Please add a changelog entry for common/maui describing this as a breaking change - and should be the final iteration of the base schema syntax going going into beta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants