A RootSupervisor is a ValueSupervisor that supervises a specific root Schema. It acts as a factory for ValueSupervisors for sub-schemas of the root schema.

You can produce a ValueSupervisor for any schema using this factory. However, there are specific customizations controlled by the root schema:

  • Change eventing occur for root schema members. In the case of a cluster this means you can monitor for changes on a per-attribute basis.

  • If the root schema defines a cluster, the cluster's featureMap and supportedFeatures affect conformance-based validation.

Implements

Constructors

  • Create a new supervisor.

    Parameters

    Returns RootSupervisor

Accessors

  • get cast(): Cast
  • Convert a JS value to the appropriate JS type for the schema.

    Returns Cast

  • get manage(): Manage
  • Create a managed instance of a value.

    Returns Manage

  • get memberNames(): Set<string>
  • The names of all members.

    Returns Set<string>

  • get patch(): Patch
  • Apply changes. Does not validate perform validation.

    Returns Patch

  • get persistentNames(): Set<string>
  • Names of fields configured as non-volatile.

    Returns Set<string>

  • get schema(): Schema
  • The logical schema that controls the value's behavior.

    Returns Schema

  • get supportedFeatures(): FeatureSet
  • Features supported by this implementation.

    Returns FeatureSet

  • get validate(): undefined | Validate
  • Perform validation.

    Returns undefined | Validate

Methods

  • Obtain ValueSupervisor implementation for a specific schema.

    Parameters

    • schema: Schema

      the model describing the record type

    Returns ValueSupervisor

    the I/O implementation