• Public
  • Public/Protected
  • All

A subclass of ObjectField which supports a system-level data object.





document: {}

The canonical document name of the document type which belongs in this field

Type declaration

    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.



    • get documentName(): string
    • A convenience accessor for the name of the document type associated with this SystemDataField

      Returns string

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

      Returns string

    • get _defaults(): any
    • inheritdoc

      Returns any


    • getModelForType(type: string): typeof DataModel
    • Get the DataModel definition that should be used for this type of document.


      • type: string

        The Document instance type

      Returns typeof DataModel

      The DataModel class, or null

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


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


      • value: any

        The initial value

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

      Returns any

      The cast 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.


      • value: any

        The initial value

      • options: any = {}

      Returns ModelValidationError

      Returns a ModelValidationError 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.