From 0254d85180b8a64d336de86706cf7b7dc9d2ccf4 Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Thu, 20 Jun 2019 07:55:57 +0200 Subject: [PATCH] fix(types): use ApolloQueryResult & FetchResult --- types/options.d.ts | 15 ++++++++++++--- types/vue-apollo.d.ts | 14 +++++--------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/types/options.d.ts b/types/options.d.ts index 24a95e3..d4a4f09 100644 --- a/types/options.d.ts +++ b/types/options.d.ts @@ -1,4 +1,13 @@ -import { WatchQueryOptions, MutationOptions, SubscriptionOptions, SubscribeToMoreOptions, ObservableQuery, NetworkStatus } from 'apollo-client' +import { + WatchQueryOptions, + MutationOptions, + SubscriptionOptions, + SubscribeToMoreOptions, + ObservableQuery, + NetworkStatus, + ApolloQueryResult, +} from 'apollo-client'; +import { FetchResult } from 'apollo-link'; import { DocumentNode } from 'graphql'; // include Omit type from https://github.com/Microsoft/TypeScript/issues/12215 @@ -28,7 +37,7 @@ type _WatchQueryOptions = Omit; // exclude query pro interface ExtendableVueApolloQueryOptions extends _WatchQueryOptions { update?: (this: ApolloVueThisType, data: R) => any; - result?: (this: ApolloVueThisType, data: R, loader: any, netWorkStatus: NetworkStatus) => void; + result?: (this: ApolloVueThisType, data: ApolloQueryResult, loader: any, netWorkStatus: NetworkStatus) => void; error?: ErrorHandler; loadingKey?: string; watchLoading?: WatchLoading; @@ -55,7 +64,7 @@ export interface VueApolloSubscriptionOptions extends SubscriptionOptions query: DocumentNode; variables?: VariableFn; skip?: (this: ApolloVueThisType) => boolean | boolean; - result?: (this: V, data: R) => void; + result?: (this: V, data: FetchResult) => void; } type QueryComponentProperty = ((this: ApolloVueThisType) => VueApolloQueryOptions) | VueApolloQueryOptions diff --git a/types/vue-apollo.d.ts b/types/vue-apollo.d.ts index 701bec2..1cdf54c 100644 --- a/types/vue-apollo.d.ts +++ b/types/vue-apollo.d.ts @@ -1,5 +1,6 @@ import Vue, { PluginObject, PluginFunction } from 'vue'; -import { ApolloClient, ObservableQuery } from 'apollo-client'; +import { ApolloClient, ObservableQuery, ApolloQueryResult } from 'apollo-client'; +import { FetchResult } from 'apollo-link'; import { Observable } from 'apollo-client/util/Observable'; import { ApolloProvider, VueApolloComponent } from './apollo-provider' import { @@ -40,11 +41,6 @@ export interface SmartQuery extends SmartApollo { export interface SmartSubscription extends SmartApollo { } -export declare type QueryResult = { - data: T; - errors?: GraphQLError[]; -}; - export interface DollarApollo { vm: V; queries: Record>; @@ -57,9 +53,9 @@ export interface DollarApollo { /* writeonly */ skipAllSubscriptions: boolean; /* writeonly */ skipAll: boolean; - query(options: VueApolloQueryOptions): Promise>; - mutate(options: VueApolloMutationOptions): Promise>; - subscribe(options: VueApolloSubscriptionOptions): Observable; + query(options: VueApolloQueryOptions): Promise>; + mutate(options: VueApolloMutationOptions): Promise>; + subscribe(options: VueApolloSubscriptionOptions): Observable>; addSmartQuery(key: string, options: VueApolloQueryOptions): SmartQuery; addSmartSubscription(key: string, options: VueApolloSubscriptionOptions): SmartSubscription;