State schema
Schema declarations on the Application state allows Framework to handle complex serialisation scenarios, while also allowing your IDE and toolchains to provide autocomplete and type checking.
Schema declaration
Accessing an attribute by its key is always possible.
Attributes missing from the schema remain accessible by their key.
Schema composition
Schema composition allows you to model a complex Application state.
Calculated properties
Calculated properties are updated automatically when a dependency changes. They can be used to calculate values derived from application state.
Multi-level dictionary
Some components like Vega Lite Chart require specifying a graph in the form of a multi-level dictionary.
A schema allows you to specify that an attribute which contains a dictionary must be treated as a dictionary, rather than as a group of state.
Type checking
A schema allows you to check the integrity of your back-end using the type system. The code below will raise an error with mypy.
Here is the code, can you spot the error ?