Skip to main content
Version: 5.9

abstractBaseEntity <Entity, Primary, Populate>

Index

Constructors

constructor

  • new BaseEntity<Entity, Primary, Populate>(): BaseEntity<Entity, Primary, Populate>
  • Type parameters

    • Entity: object
    • Primary: string | number | symbol
    • Populate: string = string

    Returns BaseEntity<Entity, Primary, Populate>

Methods

assign

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

    • data: EntityData<Entity>
    • optionaloptions: AssignOptions

    Returns Entity

getSchema

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

init

  • init<Populate>(populated?: boolean): Promise<Loaded<Entity, Populate>>
  • Type parameters

    • Populate: string = never

    Parameters

    • populated: boolean = true

    Returns Promise<Loaded<Entity, Populate>>

isInitialized

  • isInitialized(): boolean
  • Returns boolean

isTouched

  • isTouched(): boolean
  • Returns boolean

populate

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

    • This: BaseEntity<Entity, Primary, Populate, This>
    • 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<This, never> ? `${A}.${B extends any ? ((B & `${string}.`) extends never ? B : B & `${string}.`) extends Q ? Q extends `${A}.${B}` ? A extends StringKeys<Exclude<GetStringKey<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, 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<This, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<This, 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<This, 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<This, A, never>, undefined | null>, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<This, A, never>, undefined | null>, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<Exclude<GetStringKey<This, 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<This, A, never>, undefined | null>, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<This, A, never>, undefined | null>, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<Exclude<GetStringKey<This, A, never>, undefined | null>, never> ? (Exclude<GetStringKey<Exclude<GetStringKey<This, A, never>, undefined | null>, Q, never>, undefined | null> extends unknown ? Exclude<B, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<Exclude<GetStringKey<This, A, never>, undefined | null>, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<Exclude<GetStringKey<This, A, never>, undefined | null>, never> : never : never}` : never : Q extends StringKeys<This, never> ? (Exclude<GetStringKey<This, Q, never>, undefined | null> extends unknown ? Exclude<Hint, `${string}.`> : never) | (StringKeys<Exclude<GetStringKey<This, Q, never>, undefined | null>, never> extends never ? never : `${Q}.`) : StringKeys<This, never> : never : never)[]
    • options: EntityLoaderOptions<This, Hint> = {}

    Returns Promise<Loaded<This, Hint>>

populated

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

    • populated: boolean = true

    Returns void

setSchema

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

    • optionalschema: string

    Returns void

toJSON

  • toJSON(...args: any[]): EntityDTO<BaseEntity<Entity, Primary, Populate>>
  • Parameters

    • rest...args: any[]

    Returns EntityDTO<BaseEntity<Entity, Primary, Populate>>

toObject

  • toObject(ignoreFields?: string[]): EntityDTO<BaseEntity<Entity, Primary, Populate>>
  • Parameters

    • ignoreFields: string[] = []

    Returns EntityDTO<BaseEntity<Entity, Primary, Populate>>

toPOJO

  • toPOJO(): EntityDTO<BaseEntity<Entity, Primary, Populate>>
  • Returns EntityDTO<BaseEntity<Entity, Primary, Populate>>

toReference

  • toReference(): IdentifiedReference<Entity, Primary>
  • Returns IdentifiedReference<Entity, Primary>