• Public
  • Public/Protected
  • All

A special subclass of EmbeddedDocumentField which allows construction of the ActorDelta to be lazily evaluated.





  • initialize(value: any, model: any, options?: {}): any
  • getCollection(parent: Document): Collection<Document>
  • Return the embedded document(s) as a Collection.


    • parent: Document

      The parent document.

    Returns Collection<Document>

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


    • sourceData: any

      Candidate source data of the root model

    • fieldData: any

      The value of this field within the source data

    Returns void

  • _validateModel(changes: any, options: any): void
  • keys(): string[]
  • has(fieldName: string): boolean
  • Test whether a certain field name belongs to this schema definition.


    • fieldName: string

      The field name

    Returns boolean

    Does the named field exist in this schema?

  • Get a DataField instance from the schema by name


    • fieldName: string

      The field name

    Returns DataField

    The DataField instance or undefined

  • Traverse the schema, obtaining the DataField definition for a particular field.


    • fieldName: string | string[]

      A field path like ["abilities", "strength"] or "abilities.strength"

    Returns DataField | SchemaField

    The corresponding DataField definition for that field, or undefined

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


    • data: any

      The appropriately coerced value.

    • options: {} = {}

      Returns any

      The cleaned value.

    • apply(fn: any, data?: {}, options?: {}): {}
    • [iterator](): 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.


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


      An error if there is no valid initial value defined


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


      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.


      May throw a specific error if the value is not valid


      • value: any

        The candidate value

      Returns boolean | void

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


    model: typeof DataModel

    The embedded DataModel definition which is contained in this field.

    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.

    parent: any

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

    hierarchical: boolean = true
    recursive: boolean = true


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

      Returns string

    • get _defaults(): any
    • inheritdoc

      Returns any