Skip to content

Commit

Permalink
feat: accept generics on relationships query
Browse files Browse the repository at this point in the history
  • Loading branch information
thetutlage committed Jan 16, 2020
1 parent 4e74c95 commit 8e8df45
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions adonis-typings/relations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -400,13 +400,17 @@ declare module '@ioc:Adonis/Lucid/Relations' {
/**
* Return a query builder instance of the relationship
*/
query (): RelationBaseQueryBuilderContract<RelatedModel, InstanceType<RelatedModel>>
query<
Result extends any = InstanceType<RelatedModel>
> (): RelationBaseQueryBuilderContract<RelatedModel, Result>

/**
* Eager query only works when client instance is created using multiple
* parent model instances
*/
eagerQuery (): RelationBaseQueryBuilderContract<RelatedModel, InstanceType<RelatedModel>>
eagerQuery<
Result extends any = InstanceType<RelatedModel>
> (): RelationBaseQueryBuilderContract<RelatedModel, Result>
}

/**
Expand Down Expand Up @@ -453,18 +457,24 @@ declare module '@ioc:Adonis/Lucid/Relations' {
Model extends ModelConstructorContract,
RelatedModel extends ModelConstructorContract
> {
query (): ManyToManyQueryBuilderContract<RelatedModel, InstanceType<RelatedModel>>
query<
Result extends any = InstanceType<RelatedModel>
> (): ManyToManyQueryBuilderContract<RelatedModel, Result>

/**
* Eager query only works when client instance is created using multiple
* parent model instances
*/
eagerQuery (): ManyToManyQueryBuilderContract<RelatedModel, InstanceType<RelatedModel>>
eagerQuery<
Result extends any = InstanceType<RelatedModel>
> (): ManyToManyQueryBuilderContract<RelatedModel, Result>

/**
* Pivot query just targets the pivot table without any joins
*/
pivotQuery (): ManyToManyQueryBuilderContract<RelatedModel, InstanceType<RelatedModel>>
pivotQuery<
Result extends any = any
> (): ManyToManyQueryBuilderContract<RelatedModel, Result>

/**
* Save related model instance.
Expand Down

0 comments on commit 8e8df45

Please sign in to comment.