#
Class: EntityLoadercore.EntityLoader
#
Constructors#
constructor+ new EntityLoader(em
: EntityManager<IDatabaseDriver<Connection>>): EntityLoader
#
Parameters:Name | Type |
---|---|
em | EntityManager<IDatabaseDriver<Connection>> |
Returns: EntityLoader
Defined in: packages/core/src/entity/EntityLoader.ts:25
#
Properties#
driver• Private
Readonly
driver: IDatabaseDriver<Connection>
Defined in: packages/core/src/entity/EntityLoader.ts:25
#
metadata• Private
Readonly
metadata: MetadataStorage
Defined in: packages/core/src/entity/EntityLoader.ts:24
#
Methods#
buildFieldsâ–¸ Private
buildFields<T>(prop
: EntityProperty<T>, options
: Required<Options<T>>): string[]
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type |
---|---|
prop | EntityProperty<T> |
options | Required<Options<T>> |
Returns: string[]
Defined in: packages/core/src/entity/EntityLoader.ts:306
#
expandNestedPopulateâ–¸ Private
expandNestedPopulate<T>(entityName
: string, parts
: string[], strategy?
: LoadStrategy): PopulateOptions<T>
Expands books.perex
like populate to use children
array instead of the dot syntax
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type |
---|---|
entityName | string |
parts | string[] |
strategy? | LoadStrategy |
Returns: PopulateOptions<T>
Defined in: packages/core/src/entity/EntityLoader.ts:117
#
filterCollectionsâ–¸ Private
filterCollections<T>(entities
: T[], field
: keyof T, refresh
: boolean): T[]
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entities | T[] |
field | keyof T |
refresh | boolean |
Returns: T[]
Defined in: packages/core/src/entity/EntityLoader.ts:344
#
filterReferencesâ–¸ Private
filterReferences<T>(entities
: T[], field
: keyof T, refresh
: boolean): T[keyof T][]
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entities | T[] |
field | keyof T |
refresh | boolean |
Returns: T[keyof T][]
Defined in: packages/core/src/entity/EntityLoader.ts:352
#
findChildrenâ–¸ Private
findChildren<T>(entities
: T[], prop
: EntityProperty<any>, populate
: PopulateOptions<T>, options
: Required<Options<T>>): Promise<AnyEntity<any>[]>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entities | T[] |
prop | EntityProperty<any> |
populate | PopulateOptions<T> |
options | Required<Options<T>> |
Returns: Promise<AnyEntity<any>[]>
Defined in: packages/core/src/entity/EntityLoader.ts:211
#
findChildrenFromPivotTableâ–¸ Private
findChildrenFromPivotTable<T>(filtered
: T[], prop
: EntityProperty<T>, options
: Required<Options<T>>, orderBy?
: QueryOrderMap, populate?
: PopulateOptions<T>): Promise<AnyEntity<any>[]>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
filtered | T[] |
prop | EntityProperty<T> |
options | Required<Options<T>> |
orderBy? | QueryOrderMap |
populate? | PopulateOptions<T> |
Returns: Promise<AnyEntity<any>[]>
Defined in: packages/core/src/entity/EntityLoader.ts:276
#
getChildReferencesâ–¸ Private
getChildReferences<T>(entities
: T[], prop
: EntityProperty<T>, refresh
: boolean): AnyEntity<any>[]
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entities | T[] |
prop | EntityProperty<T> |
refresh | boolean |
Returns: AnyEntity<any>[]
Defined in: packages/core/src/entity/EntityLoader.ts:327
#
initializeCollectionsâ–¸ Private
initializeCollections<T>(filtered
: T[], prop
: EntityProperty<any>, field
: keyof T, children
: AnyEntity<any>[]): void
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
filtered | T[] |
prop | EntityProperty<any> |
field | keyof T |
children | AnyEntity<any>[] |
Returns: void
Defined in: packages/core/src/entity/EntityLoader.ts:180
#
initializeManyToManyâ–¸ Private
initializeManyToMany<T>(filtered
: T[], children
: AnyEntity<any>[], prop
: EntityProperty<any>, field
: keyof T): void
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
filtered | T[] |
children | AnyEntity<any>[] |
prop | EntityProperty<any> |
field | keyof T |
Returns: void
Defined in: packages/core/src/entity/EntityLoader.ts:204
#
initializeOneToManyâ–¸ Private
initializeOneToMany<T>(filtered
: T[], children
: AnyEntity<any>[], prop
: EntityProperty<any>, field
: keyof T): void
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
filtered | T[] |
children | AnyEntity<any>[] |
prop | EntityProperty<any> |
field | keyof T |
Returns: void
Defined in: packages/core/src/entity/EntityLoader.ts:190
#
lookupAllRelationshipsâ–¸ Private
lookupAllRelationships<T>(entityName
: string, prefix?
: string, visited?
: string[]): PopulateOptions<T>[]
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | string | - |
prefix | string | '' |
visited | string[] | - |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/entity/EntityLoader.ts:362
#
lookupEagerLoadedRelationshipsâ–¸ Private
lookupEagerLoadedRelationships<T>(entityName
: string, populate
: PopulateOptions<T>[], prefix?
: string, visited?
: string[]): PopulateOptions<T>[]
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | string | - |
populate | PopulateOptions<T>[] | - |
prefix | string | '' |
visited | string[] | - |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/entity/EntityLoader.ts:388
#
mergeNestedPopulateâ–¸ Private
mergeNestedPopulate<T>(populate
: PopulateOptions<T>[]): PopulateOptions<T>[]
merge multiple populates for the same entity with different children
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type |
---|---|
populate | PopulateOptions<T>[] |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/entity/EntityLoader.ts:89
#
normalizePopulateâ–¸ normalizePopulate<T>(entityName
: string, populate
: true | PopulateOptions<T>[], lookup?
: boolean): PopulateOptions<T>[]
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | string | - |
populate | true | PopulateOptions<T>[] | - |
lookup | boolean | true |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/entity/EntityLoader.ts:58
#
populateâ–¸ populate<T>(entityName
: string, entities
: T[], populate
: boolean | PopulateOptions<T>[], options
: Options<T>): Promise<void>
Loads specified relations in batch. This will execute one query for each relation, that will populate it on all of the specified entities.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
entities | T[] |
populate | boolean | PopulateOptions<T>[] |
options | Options<T> |
Returns: Promise<void>
Defined in: packages/core/src/entity/EntityLoader.ts:32
#
populateFieldâ–¸ Private
populateField<T>(entityName
: string, entities
: T[], populate
: PopulateOptions<T>, options
: Required<Options<T>>): Promise<void>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
entities | T[] |
populate | PopulateOptions<T> |
options | Required<Options<T>> |
Returns: Promise<void>
Defined in: packages/core/src/entity/EntityLoader.ts:244
#
populateManyâ–¸ Private
populateMany<T>(entityName
: string, entities
: T[], populate
: PopulateOptions<T>, options
: Required<Options<T>>): Promise<AnyEntity<any>[]>
preload everything in one call (this will update already existing references in IM)
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
entities | T[] |
populate | PopulateOptions<T> |
options | Required<Options<T>> |
Returns: Promise<AnyEntity<any>[]>
Defined in: packages/core/src/entity/EntityLoader.ts:133