Skip to main content
Version: Next

EnumArrayType <T>

Hierarchy

Index

Constructors

constructor

  • new EnumArrayType<T>(owner: string, items?: T[], hydrate?: (i: string) => T): EnumArrayType<T>
  • Type parameters

    • T: string | number = string

    Parameters

    • owner: string
    • optionalitems: T[]
    • hydrate: (i: string) => T = ...

      Returns EnumArrayType<T>

    Properties

    optionalmeta

    meta?: EntityMetadata<any>

    optionalplatform

    platform?: Platform

    optionalprop

    prop?: EntityProperty<any, any>

    Accessors

    name

    • get name(): string
    • Returns string

    runtimeType

    • get runtimeType(): string
    • Returns string

    Methods

    compareAsType

    • compareAsType(): string
    • How should the raw database values be compared? Used in EntityComparator. Possible values: string | number | bigint | boolean | date | any | buffer | array


      Returns string

    optionalcompareValues

    • compareValues(a: null | string, b: null | string): boolean
    • Allows to override the internal comparison logic.


      Parameters

      • a: null | string
      • b: null | string

      Returns boolean

    convertToDatabaseValue

    • Converts a value from its JS representation to its database representation of this type.


      Parameters

      Returns null | string

    optionalconvertToDatabaseValueSQL

    • convertToDatabaseValueSQL(key: string, platform: Platform): string
    • Converts a value from its JS representation to its database representation of this type.


      Parameters

      Returns string

    convertToJSValue

    • convertToJSValue(value: null | string | T[], platform: Platform): null | T[]
    • Converts a value from its database representation to its JS representation of this type.


      Parameters

      • value: null | string | T[]
      • platform: Platform

      Returns null | T[]

    optionalconvertToJSValueSQL

    • convertToJSValueSQL(key: string, platform: Platform): string
    • Modifies the SQL expression (identifier, parameter) to convert to a JS value.


      Parameters

      Returns string

    ensureComparable

    • When a value is hydrated, we convert it back to the database value to ensure comparability, as often the raw database response is not the same as the convertToDatabaseValue result. This allows to disable the additional conversion in case you know it is not needed.


      Type parameters

      • T: object

      Parameters

      Returns boolean

    getColumnType

    • Gets the SQL declaration snippet for a field of this type.


      Parameters

      Returns string

    optionalgetDefaultLength

    • getDefaultLength(platform: Platform): number
    • Get the default length for values of this type

      When doing schema generation, if neither "length" nor "columnType" option is provided, the length will be defaulted to this value.

      When doing entity generation, if the type is recognized to this type, and the inferred length is this value, the length option will be omitted in the output. If this method is not defined, length is always outputted based on what is in the database metadata.


      Parameters

      • platform: Platform

        The platform the default will be used for.

      Returns number

      The default value for the given platform.

    toJSON

    • toJSON(value: T[]): T[]
    • Converts a value from its JS representation to its serialized JSON form of this type. By default uses the runtime value.


      Parameters

      • value: T[]

      Returns T[]

    staticgetType

    • getType<JSType, DBType, TypeClass>(cls: TypeClass): InstanceType<TypeClass>
    • Type parameters

      Parameters

      • cls: TypeClass

      Returns InstanceType<TypeClass>

    staticisMappedType

    • isMappedType(data: any): data is Type<any, any>
    • Checks whether the argument is instance of Type.


      Parameters

      • data: any

      Returns data is Type<any, any>