UNPKG

1.07 kBTypeScriptView Raw
1import { Entity } from '../../model';
2import { EntityCrudRepository } from '../../repositories';
3import { Getter, HasManyDefinition, InclusionResolver } from '../relation.types';
4/**
5 * Creates InclusionResolver for HasManyThrough relation.
6 * Notice that this function only generates the inclusionResolver.
7 * It doesn't register it for the source repository.
8 *
9 *
10 * @param meta - metadata of the hasMany relation (including through)
11 * @param getThroughRepo - through repository getter i.e. where through
12 * instances are
13 * @param getTargetRepo - target repository getter i.e where target instances
14 * are
15 */
16export declare function createHasManyThroughInclusionResolver<Through extends Entity, ThroughID, ThroughRelations extends object, Target extends Entity, TargetID, TargetRelations extends object>(meta: HasManyDefinition, getThroughRepo: Getter<EntityCrudRepository<Through, ThroughID, ThroughRelations>>, getTargetRepoDict: {
17 [repoType: string]: Getter<EntityCrudRepository<Target, TargetID, TargetRelations>>;
18}): InclusionResolver<Entity, Target>;