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.
An array of field names which are present in the schema.
An array of DataField instances which are present in the schema.
An array of [name, DataField] tuples which define the schema.
Test whether a certain field name belongs to this schema definition.
The field name
Does the named field exist in this schema?
Get a DataField instance from the schema by name
The field name
The DataField instance or undefined
Traverse the schema, obtaining the DataField definition for a particular field.
A field path like ["abilities", "strength"] or "abilities.strength"
The corresponding DataField definition for that field, or undefined
Apply any cleaning logic specific to this DataField type.
The appropriately coerced value.
The cleaned value.
Migrate this field's candidate source data.
Candidate source data of the root model
The value of this field within the source data
Iterate over a SchemaField by iterating over its fields.
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
Attempt to retrieve a valid initial value for the DataField.
The source data object for which an initial value is required
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.
The initial value
Returns a DataModelValidationFailure if a validation failure occurred.
Initialize and validate the structure of the provided field definitions.
The provided field definitions
The validated schema
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.
A dot-separated string representation of the field path within the parent schema.
A custom SchemaField for defining a related Package. It may be required to be a specific type of package, by passing the packageType option to the constructor.