UNPKG

apollo-angular

Version:

Use your GraphQL data in your Angular app, with the Apollo Client

94 lines (93 loc) 4.53 kB
import { Observable } from 'rxjs'; import { NgZone } from '@angular/core'; import type { OperationVariables } from '@apollo/client'; import { ApolloClient } from '@apollo/client'; import { QueryRef } from './query-ref'; import type { EmptyObject, Flags, NamedOptions } from './types'; import * as i0 from "@angular/core"; export declare namespace Apollo { type WatchQueryOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = ApolloClient.WatchQueryOptions<TData, TVariables>; type QueryOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = ApolloClient.QueryOptions<TData, TVariables>; type QueryResult<TData = unknown> = ApolloClient.QueryResult<TData>; type MutateOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = ApolloClient.MutateOptions<TData, TVariables> & { /** * Observable starts with `{ loading: true }`. * * Disabled by default */ useMutationLoading?: boolean; }; type MutateResult<TData = unknown> = ApolloClient.MutateResult<TData> & { loading?: boolean; }; type SubscribeOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = ApolloClient.SubscribeOptions<TData, TVariables> & { useZone?: boolean; }; type SubscribeResult<TData = unknown> = ApolloClient.SubscribeResult<TData>; interface WatchFragmentOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> extends ApolloClient.WatchFragmentOptions<TData, TVariables> { useZone?: boolean; } type WatchFragmentResult<TData = unknown> = ApolloClient.WatchFragmentResult<TData>; } export declare class ApolloBase { protected readonly ngZone: NgZone; protected readonly flags?: Flags; protected _client?: ApolloClient; private useMutationLoading; constructor(ngZone: NgZone, flags?: Flags, _client?: ApolloClient); watchQuery<TData, TVariables extends OperationVariables = EmptyObject>(options: Apollo.WatchQueryOptions<TData, TVariables>): QueryRef<TData, TVariables>; query<TData, TVariables extends OperationVariables = EmptyObject>(options: Apollo.QueryOptions<TData, TVariables>): Observable<Apollo.QueryResult<TData>>; mutate<TData, TVariables extends OperationVariables = EmptyObject>(options: Apollo.MutateOptions<TData, TVariables>): Observable<Apollo.MutateResult<TData>>; watchFragment<TFragmentData = unknown, TVariables extends OperationVariables = EmptyObject>(options: Apollo.WatchFragmentOptions<TFragmentData, TVariables>): Observable<Apollo.WatchFragmentResult<TFragmentData>>; subscribe<TData, TVariables extends OperationVariables = EmptyObject>(options: Apollo.SubscribeOptions<TData, TVariables>): Observable<Apollo.SubscribeResult<TData>>; /** * Get an instance of ApolloClient */ get client(): ApolloClient; /** * Set a new instance of ApolloClient * Remember to clean up the store before setting a new client. * * @param client ApolloClient instance */ set client(client: ApolloClient); private ensureClient; private checkInstance; } export declare class Apollo extends ApolloBase { private map; constructor(ngZone: NgZone, apolloOptions?: ApolloClient.Options, apolloNamedOptions?: NamedOptions, flags?: Flags); /** * Create an instance of ApolloClient * @param options Options required to create ApolloClient * @param name client's name */ create(options: ApolloClient.Options, name?: string): void; /** * Use a default ApolloClient */ default(): ApolloBase; /** * Use a named ApolloClient * @param name client's name */ use(name: string): ApolloBase; /** * Create a default ApolloClient, same as `apollo.create(options)` * @param options ApolloClient's options */ createDefault(options: ApolloClient.Options): void; /** * Create a named ApolloClient, same as `apollo.create(options, name)` * @param name client's name * @param options ApolloClient's options */ createNamed(name: string, options: ApolloClient.Options): void; /** * Remember to clean up the store before removing a client * @param name client's name */ removeClient(name?: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<Apollo, [null, { optional: true; }, { optional: true; }, { optional: true; }]>; static ɵprov: i0.ɵɵInjectableDeclaration<Apollo>; }