Extends or sets the metadata for a given schema.
The schema to extend metadata for.
A function that receives the existing metadata (or undefined) and returns the new metadata.
Retrieves the metadata associated with a given schema.
The value type of the schema.
The update type of the schema (defaults to TValue).
The schema to retrieve metadata for.
The associated SchemaMeta, or undefined if not present.
Returns a mapping of channel instances for each property in the schema using the associated metadata in the registry.
This is used to create the channels
object that's passed to the Graph
constructor.
The schema to extract channels from.
A mapping from property names to channel instances.
Returns a modified schema that introspectively looks at all keys of the provided
object schema, and applies the augmentations based on meta provided with those keys
in the registry and the selectors provided in the effects
parameter.
This assumes that the passed in schema is the "root" schema object for a graph where
the keys of the schema are the channels of the graph. Because we need to represent
the input of a graph in a couple of different ways, the effects
parameter allows
us to apply those augmentations based on pre determined conditions.
The root schema object to extend.
The effects that are being applied.
Optional
asApplies the .partial()
modifier to the schema.
Optional
withApplies the stringified jsonSchemaExtra as a description to the schema.
Optional
withAugments the shape by using the reducer's schema if it exists
The extended schema.
A registry for storing and managing metadata associated with schemas. This class provides methods to get, extend, remove, and check metadata for a given schema.