• Public
  • Public/Protected
  • All

A fields.SchemaField subclass used to represent texture data.


{string|null} src The URL of the texture source.


{number} [scaleX=1] The scale of the texture in the X dimension.


{number} [scaleY=1] The scale of the texture in the Y dimension.


{number} [offsetX=0] The X offset of the texture with (0,0) in the top left.


{number} [offsetY=0] The Y offset of the texture with (0,0) in the top left.


{number} [rotation] An angle of rotation by which this texture is rotated around its center.


{string|null} [tint=null] An optional color string used to tint the texture.




  • new TextureData(options?: DataFieldOptions, srcOptions?: FilePathFieldOptions): TextureData
  • Parameters

    • options: DataFieldOptions = {}

      Options which are forwarded to the SchemaField constructor

    • srcOptions: FilePathFieldOptions = {}

      Additional options for the src field

    Returns TextureData


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.

recursive: boolean = true
hierarchical: boolean = false

Whether this field defines part of a Document/Embedded Document hierarchy.


  • keys(): string[]
  • An array of field names which are present in the schema.

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

    • initialize(value: any, model: any, options?: {}): any
    • _validateModel(changes: any, options?: {}): void
    • toObject(value: any): any
    • apply(fn: any, data?: {}, options?: {}): {}
    • override


      • fn: any
      • data: {} = {}
        • options: {} = {}

          Returns {}

          • 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

          • [iterator](): Generator<any, void, unknown>
          • Iterate over a SchemaField by iterating over its fields.

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

          • _initialize(fields: DataSchema): DataSchema
          • Initialize and validate the structure of the provided field definitions.


            • fields: DataSchema

              The provided field definitions

            Returns DataSchema

            The validated schema

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


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

            Returns string

          • get _defaults(): any
          • inheritdoc

            Returns any