Options
All
  • Public
  • Public/Protected
  • All
Menu

A subclass of DataField which deals with object-typed data.

Hierarchy

Index

Constructors

Methods

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

    Parameters

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

      Returns any

    • toObject(value: any): any
    • _validateType(value: any, options?: {}): void
    • apply(fn: string | Function, value: any, options?: any): any
    • Apply a function to this DataField which propagates through recursively to any contained data schema.

      Parameters

      • fn: string | Function

        The function to apply

      • value: any

        The current value of this field

      • options: any = {}

      Returns any

      The results object

    • 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), by returning false, or by returning a DataModelValidationFailure instance. A validator which returns true denotes that the result is certainly valid and further validations are unnecessary.

      Parameters

      Returns DataModelValidationFailure

      Returns a DataModelValidationFailure if a validation failure occurred.

    • _validateModel(data: any, options?: any): void
    • Certain fields may declare joint data validation criteria. This method will only be called if the field is designated as recursive.

      throws

      An error if joint model validation fails

      internal

      Parameters

      • data: any

        Candidate data for joint model validation

      • options: any = {}

        Options which modify joint model validation

      Returns void

    • _cleanType(value: any, options: any): any
    • Apply any cleaning logic specific to this DataField type.

      Parameters

      • value: any

        The appropriately coerced value.

      • options: any

      Returns any

      The cleaned value.

    • _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.

    • Recursively traverse a schema and retrieve a field specification by a given path

      Parameters

      • path: string[]

        The field path as an array of strings

      Returns ObjectField

    Properties

    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
    hierarchical: boolean = false

    Whether this field defines part of a Document/Embedded Document hierarchy.

    recursive: boolean = false

    Does this field type contain other fields in a recursive structure? Examples of recursive fields are SchemaField, ArrayField, or TypeDataField Examples of non-recursive fields are StringField, NumberField, or ObjectField

    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