Options
All
  • Public
  • Public/Protected
  • All
Menu

A subclass of ArrayField which supports an embedded Document collection. Invalid elements will be dropped from the collection during validation rather than failing for the field entirely.

Hierarchy

Index

Constructors

Properties

readonly: boolean
element: DataField

The data type of each element in this array

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 = true
override
recursive: boolean = true
override

Accessors

  • get model(): {}
  • A reference to the DataModel subclass of the embedded document element

    Returns {}

    • The DataSchema of the contained Document model.

      Returns SchemaField

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

      Returns string

    • The Collection implementation to use when initializing the collection.

      Returns typeof EmbeddedCollection

    • get _defaults(): any
    • Default parameters for this field type

      inheritdoc

      Returns any

    Methods

    • _cleanType(value: any, options: any): any
    • initialize(value: any, model: any, options?: {}): any
    • toObject(value: any): any
    • apply(fn: any, value?: any[], options?: {}): {}[]
    • override

      Parameters

      • fn: any
      • value: any[] = []
      • options: {} = {}

        Returns {}[]

      • migrateSource(sourceData: any, fieldData: any): void
      • Migrate this field's candidate source data.

        Parameters

        • sourceData: any

          Candidate source data of the root model

        • fieldData: any

          The value of this field within the source data

        Returns void

      • getCollection(parent: Document): Collection<Document>
      • Return the embedded document(s) as a Collection.

        Parameters

        • parent: Document

          The parent document.

        Returns Collection<Document>

      • _validateModel(changes: any, options: any): void
      • _cast(value: any): any[]
      • 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.

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

      • _validateElementType(element: any): any