Skip to main content
Version: 5.9

WrappedEntity <T, PK>

Index

Constructors

constructor

  • new WrappedEntity<T, PK>(entity: T, hydrator: IHydrator, pkGetter?: (e: T) => Primary<T>, pkSerializer?: (e: T) => string, pkGetterConverted?: (e: T) => Primary<T>): WrappedEntity<T, PK>
  • Type parameters

    • T: object
    • PK: string | number | symbol

    Parameters

    • entity: T
    • hydrator: IHydrator
    • optionalpkGetter: (e: T) => Primary<T>
      • optionalpkSerializer: (e: T) => string
        • optionalpkGetterConverted: (e: T) => Primary<T>

          Returns WrappedEntity<T, PK>

        Properties

        __data

        __data: Dictionary = {}

        optional__em

        __em?: EntityManager<IDatabaseDriver<Connection>>

        optional__identifier

        __identifier?: EntityIdentifier

        holds wrapped primary key, so we can compute change set without eager commit

        __initialized

        __initialized: boolean = true

        optional__lazyInitialized

        __lazyInitialized?: boolean

        __loadedProperties

        __loadedProperties: Set<string> = ...

        optional__managed

        __managed?: boolean

        optional__onLoadFired

        __onLoadFired?: boolean

        optional__originalEntityData

        __originalEntityData?: EntityData<T>

        holds last entity data snapshot, so we can compute changes when persisting managed entities

        optional__pk

        __pk?: Primary<T>

        stores last known primary key, as its current state might be broken due to propagation/orphan removal, but we need to know the PK to be able t remove the entity

        optional__populated

        __populated?: boolean

        __processing

        __processing: boolean = false

        optional__reference

        __reference?: Reference<T>

        holds the reference wrapper instance (if created), so we can maintain the identity on reference wrappers too

        optional__schema

        __schema?: string

        __serializationContext

        __serializationContext: { populate?: PopulateOptions<T>[]; root?: SerializationContext<T> } = {}

        Type declaration

        • optionalpopulate?: PopulateOptions<T>[]
        • optionalroot?: SerializationContext<T>

        __touched

        __touched: boolean = false

        Accessors

        __meta

        • get __meta(): EntityMetadata<T>
        • Returns EntityMetadata<T>

        __platform

        • get __platform(): Platform
        • Returns Platform

        __primaryKeys

        • get __primaryKeys(): Primary<T>[]
        • Returns Primary<T>[]

        Methods

        [custom]

        • [custom](): string
        • Returns string

        assign

        • assign(data: EntityData<T>, options?: AssignOptions): T
        • Parameters

          • data: EntityData<T>
          • optionaloptions: AssignOptions

          Returns T

        getPrimaryKey

        • getPrimaryKey(convertCustomTypes?: boolean): null | Primary<T>
        • Parameters

          • convertCustomTypes: boolean = false

          Returns null | Primary<T>

        getPrimaryKeys

        • getPrimaryKeys(convertCustomTypes?: boolean): null | Primary<T>[]
        • Parameters

          • convertCustomTypes: boolean = false

          Returns null | Primary<T>[]

        getSchema

        • getSchema(): undefined | string
        • Returns undefined | string

        getSerializedPrimaryKey

        • getSerializedPrimaryKey(): string
        • Returns string

        hasPrimaryKey

        • hasPrimaryKey(): boolean
        • Returns boolean

        init

        • init<P>(populated?: boolean, populate?: P, lockMode?: LockMode, connectionType?: ConnectionType): Promise<T>
        • Type parameters

          • P: Populate<T> = Populate<T>

          Parameters

          • populated: boolean = true
          • optionalpopulate: P
          • optionallockMode: LockMode
          • optionalconnectionType: ConnectionType

          Returns Promise<T>

        isInitialized

        • isInitialized(): boolean
        • Returns boolean

        isTouched

        • isTouched(): boolean
        • Returns boolean

        populate

        • populate<Hint>(populate: boolean | (Hint extends any ? ((Hint & `${string}.`) extends never ? Hint : Hint & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<T, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${string}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<T, never> ? (Exclude<GetStringKey<T, Q, never>, undefined | null> extends unknown ? Exclude<Hint, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<T, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<T, never> : never : never)[], options?: EntityLoaderOptions<T, Hint>): Promise<Loaded<T, Hint>>
        • Type parameters

          • Hint: string = never

          Parameters

          • populate: boolean | (Hint extends any ? ((Hint & `${string}.`) extends never ? Hint : Hint & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<T, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? `${A}.${string}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<T, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<T, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<T, never> ? (Exclude<GetStringKey<T, Q, never>, undefined | null> extends unknown ? Exclude<Hint, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<T, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<T, never> : never : never)[]
          • options: EntityLoaderOptions<T, Hint> = {}

          Returns Promise<Loaded<T, Hint>>

        populated

        • populated(populated?: boolean): void
        • Parameters

          • populated: boolean = true

          Returns void

        setPrimaryKey

        • setPrimaryKey(id: null | Primary<T>): void
        • Parameters

          • id: null | Primary<T>

          Returns void

        setSchema

        • setSchema(schema?: string): void
        • Parameters

          • optionalschema: string

          Returns void

        toJSON

        • toJSON(...args: any[]): EntityDictionary<T>
        • Parameters

          • rest...args: any[]

          Returns EntityDictionary<T>

        toObject

        • toObject(ignoreFields?: string[]): EntityData<T>
        • Parameters

          • ignoreFields: string[] = []

          Returns EntityData<T>

        toPOJO

        • toPOJO(): EntityData<T>
        • Returns EntityData<T>

        toReference

        • toReference(): IdentifiedReference<T, PK>
        • Returns IdentifiedReference<T, PK>