@antischematic/angular-state-library
Version:
Reactive state without boilerplate
35 lines (34 loc) • 1.25 kB
TypeScript
import { MonoTypeOperatorFunction, Observable } from "rxjs";
import * as i0 from "@angular/core";
export interface QueryOptions<T = any> {
key: unknown[];
refreshInterval?: number;
refreshOnFocus?: boolean;
refreshOnReconnect?: boolean;
refreshIfStale?: boolean;
staleTime?: number;
cacheTime?: number;
resource?: ResourceManager;
}
export interface MutateOptions {
invalidate?: unknown[] | unknown[][];
resource?: ResourceManager;
}
export declare class ResourceManager {
cache: Map<any, any>;
document: Document;
query<T>(source: Observable<T>, options: QueryOptions): Observable<T>;
mutate<T>(source: Observable<T>, options: MutateOptions): Observable<T>;
revalidate(key: any[]): void;
private keygen;
private invalidate;
static ɵfac: i0.ɵɵFactoryDeclaration<ResourceManager, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<ResourceManager>;
}
export declare function useQuery<T>(options: QueryOptions<T>): MonoTypeOperatorFunction<T>;
export declare function useMutation<T>(options: MutateOptions): MonoTypeOperatorFunction<T>;
export declare class QueryError {
error: unknown;
retryCount: unknown;
constructor(error: unknown, retryCount: unknown);
}