apollo-angular
Version:
Use your GraphQL data in your Angular app, with the Apollo Client
22 lines (21 loc) • 1.44 kB
TypeScript
import type { DocumentNode } from 'graphql';
import type { Observable } from 'rxjs';
import type { OperationVariables, TypedDocumentNode } from '@apollo/client';
import { Apollo } from './apollo';
import { QueryRef } from './query-ref';
import { EmptyObject } from './types';
import * as i0 from "@angular/core";
export declare namespace Query {
type WatchOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = Omit<Apollo.WatchQueryOptions<TData, TVariables>, 'query'>;
type FetchOptions<TData = unknown, TVariables extends OperationVariables = EmptyObject> = Omit<Apollo.QueryOptions<TData, TVariables>, 'query'>;
}
export declare abstract class Query<TData = unknown, TVariables extends OperationVariables = EmptyObject> {
protected readonly apollo: Apollo;
abstract readonly document: DocumentNode | TypedDocumentNode<TData, TVariables>;
client: string;
constructor(apollo: Apollo);
watch(...[options]: {} extends TVariables ? [options?: Query.WatchOptions<TData, TVariables>] : [options: Query.WatchOptions<TData, TVariables>]): QueryRef<TData, TVariables>;
fetch(...[options]: {} extends TVariables ? [options?: Query.FetchOptions<TData, TVariables>] : [options: Query.FetchOptions<TData, TVariables>]): Observable<Apollo.QueryResult<TData>>;
static ɵfac: i0.ɵɵFactoryDeclaration<Query<any, any>, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<Query<any, any>>;
}