@@ -33,13 +33,12 @@ export interface AllVueApolloComponentSpecialOptions {
3333export type VueApolloComponentSpecialOptions =
3434 Partial < AllVueApolloComponentSpecialOptions >
3535
36- interface PrivateVueApolloComponentOptions
37- extends VueApolloComponentSpecialOptions {
36+ interface PrivateVueApolloComponentOptions extends VueApolloComponentSpecialOptions {
3837 [ key : string ] : VueApolloQueryProperty |
3938 VueApolloComponentSpecialOptions [ keyof VueApolloComponentSpecialOptions ]
4039}
4140
42- // https://github.com/microsoft/TypeScript/issues/33392
41+ // DeepApplyThisType is buggy: https://github.com/microsoft/TypeScript/issues/33392
4342// export type VueApolloComponentOptions<Instance> = DeepApplyThisType<PrivateVueApolloComponentOptions, Instance>
4443export type VueApolloComponentOptions < Instance > = PrivateVueApolloComponentOptions & ThisType < Instance >
4544
@@ -50,7 +49,7 @@ export type ErrorHandler = (error: ApolloError) => void
5049
5150/* Query */
5251
53- type QueryVariables = ( ( ) => OperationVariables ) | OperationVariables
52+ type QueryVariables < Variables = OperationVariables > = ( ( ) => Variables ) | Variables
5453
5554export type VueApolloQueryProperty =
5655 DocumentNode |
@@ -60,9 +59,9 @@ export type VueApolloQueryProperty =
6059// exclude query prop because it causes type incorrectly error
6160type WatchQueryOptionsWithoutQuery = Omit < WatchQueryOptions , 'query' >
6261
63- export interface VueApolloQueryDefinition < Result = any > extends WatchQueryOptionsWithoutQuery {
62+ export interface VueApolloQueryDefinition < Result = any , Variables = OperationVariables > extends WatchQueryOptionsWithoutQuery {
6463 query : DocumentNode | ( ( ) => DocumentNode | null )
65- variables ?: QueryVariables
64+ variables ?: QueryVariables < Variables >
6665 update ?: ( data : Result ) => any
6766 result ?: ( result : ApolloQueryResult < Result > , key : string ) => void
6867 error ?: ErrorHandler
@@ -73,17 +72,17 @@ export interface VueApolloQueryDefinition<Result = any> extends WatchQueryOption
7372 prefetch ?: ( ( context : any ) => any ) | boolean
7473 client ?: string
7574 deep ?: boolean
76- subscribeToMore ?: VueApolloSubscribeToMoreOptions | VueApolloSubscribeToMoreOptions [ ]
75+ subscribeToMore ?: VueApolloSubscribeToMoreOptions < Result , Variables > | VueApolloSubscribeToMoreOptions < Result , Variables > [ ]
7776}
7877
7978/* Subscriptions */
8079
81- interface VueApolloSubscribeToMoreOptions extends SubscribeToMoreOptions {
82- variables ?: QueryVariables
80+ export interface VueApolloSubscribeToMoreOptions < Result = any , Variables = OperationVariables > extends Omit < SubscribeToMoreOptions < Result , Variables > , 'variables' > {
81+ variables ?: QueryVariables < Variables >
8382}
8483
85- interface VueApolloSubscriptionDefinition extends SubscriptionOptions {
86- variables ?: QueryVariables
84+ export interface VueApolloSubscriptionDefinition < Variables = OperationVariables > extends Omit < SubscriptionOptions < Variables > , 'variables' > {
85+ variables ?: QueryVariables < Variables >
8786 client ?: string
8887}
8988
0 commit comments