A subclass of ObjectField which supports a type-specific data object.
The canonical document name of the document type which belongs in this field
The initially provided options which configure the data field
The field name of this DataField instance. This is assigned by SchemaField#initialize.
A reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.
Whether this field defines part of a Document/Embedded Document hierarchy.
A convenience accessor for the name of the document type associated with this TypeDataField
A dot-separated string representation of the field path within the parent schema.
Get the DataModel definition that should be used for this type of document.
The Document instance type
The DataModel class or null
Migrate this field's candidate source data.
Candidate source data of the root model
The value of this field within the source data
Apply a function to this DataField which propagates through recursively to any contained data schema.
The function to apply
The current value of this field
The results object
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.
The initial value
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), 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.
The initial value
Returns a DataModelValidationFailure if a validation failure occurred.
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.
The candidate value
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
The field path as an array of strings