Options
All
  • Public
  • Public/Protected
  • All
Menu

A special class of DataField which defines a data schema.

Hierarchy

Index

Constructors

Properties

fields: DataSchema
initial: (() => any)

Type declaration

    • (): any
    • Returns any

The initially provided options which configure the data field

name: any

The field name of this DataField instance. This is assigned by SchemaField#initialize.

internal
parent: any

A reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.

internal

Methods

  • keys(): string[]
  • An array of field names which are present in the schema.

    Returns string[]

  • An array of DataField instances which are present in the schema.

    Returns DataField[]

  • An array of [name, DataField] tuples which define the schema.

    Returns [string, DataField][]

  • has(fieldName: string): boolean
  • Test whether a certain field name belongs to this schema definition.

    Parameters

    • fieldName: string

      The field name

    Returns boolean

    Does the named field exist in this schema?

  • Get a DataField instance from the schema by name

    Parameters

    • fieldName: string

      The field name

    Returns DataField

    The DataField instance or undefined

  • _cast(value: any): any
  • _cleanType(data: any, options?: {}): any
  • Apply any cleaning logic specific to this DataField type.

    Parameters

    • data: any

      The appropriately coerced value.

    • options: {} = {}

      Returns any

      The cleaned value.

    • initialize(value: any, model: any, options?: {}): any
    • override

      Parameters

      • value: any
      • model: any
      • options: {} = {}

        Returns any

      • _validateType(data: any, options?: {}): void
      • toObject(value: any): {}
      • apply(fn: any, data?: {}, options?: {}): {}
      • override

        Parameters

        • fn: any
        • data: {} = {}
          • options: {} = {}

            Returns {}

            • [iterator](): Generator<any, void, unknown>
            • Iterate over a SchemaField by iterating over its fields.

              Returns Generator<any, void, unknown>

            • clean(value: any, options: { partial: boolean; source: any }): any
            • Coerce source data to ensure that it conforms to the correct data type for the field. Data coercion operations should be simple and synchronous as these are applied whenever a DataModel is constructed. For one-off cleaning of user-provided input the sanitize method should be used.

              Parameters

              • value: any

                The initial value

              • options: { partial: boolean; source: any }
                • partial: boolean
                • source: any

              Returns any

              The cast value

            • getInitialValue(data: any): any
            • Attempt to retrieve a valid initial value for the DataField.

              throws

              An error if there is no valid initial value defined

              Parameters

              • data: any

                The source data object for which an initial value is required

              Returns any

              A valid initial value

            • Validate a candidate input for this field, ensuring it meets the field requirements. A validation failure can be provided as a raised Error (with a string message) or by returning false. A validator which returns true denotes that the result is certainly valid and further validations are unnecessary.

              Parameters

              • value: any

                The initial value

              • options: any = {}

              Returns ModelValidationError

              Returns a ModelValidationError if a validation failure occurred

            • _initialize(fields: DataSchema): DataSchema
            • Initialize and validate the structure of the provided field definitions.

              Parameters

              • fields: DataSchema

                The provided field definitions

              Returns DataSchema

              The validated schema

            • _validateSpecial(value: any): boolean | void
            • Special validation rules which supersede regular field validation. This validator screens for certain values which are otherwise incompatible with this field like null or undefined.

              throws

              May throw a specific error if the value is not valid

              Parameters

              • value: any

                The candidate value

              Returns boolean | void

              A boolean to indicate with certainty whether the value is valid. Otherwise, return void.

            Accessors

            • get fieldPath(): string
            • A dot-separated string representation of the field path within the parent schema.

              Returns string

            • get _defaults(): any
            • inheritdoc

              Returns any