UNPKG

@baqhub/sdk-react

Version:

The official React SDK for the BAQ federated app platform.

55 lines (54 loc) 1.93 kB
import { AnyRecord, Query, QueryDate } from "@baqhub/sdk"; type RefreshMode = "sync" | "full"; export interface QueryRefreshSpec { mode: RefreshMode; interval: number; } export interface StoreQuery<T extends AnyRecord, Q extends T> { id: number; query: Query<Q>; promise: Promise<void> | undefined; error: unknown | undefined; refreshSpec: QueryRefreshSpec | undefined; refreshCount: number; refreshBoundary: QueryDate | undefined; refresh: (refreshCount: number) => void; loadMorePromise: Promise<void> | undefined; loadMoreError: unknown | undefined; loadMoreQuery: string | undefined; loadMore: (() => void) | undefined; isSync: boolean; isComplete: boolean; isDisplayed: boolean; loadedBoundary: QueryDate | undefined; recordVersions: ReadonlyArray<string> | undefined; } export type LiveQueryMode = "local" | "local-tracked" | "fetch" | "sync"; export interface UseRecordsQueryOptions { mode?: LiveQueryMode; loadMorePageSize?: number; } export interface UseRecordQueryOptions { mode?: LiveQueryMode; } interface NoRefreshUseStaticRecordsQueryOptions { refreshMode?: "none"; refreshIntervalSeconds?: never; loadMorePageSize?: number; } interface SyncRefreshUseStaticRecordsQueryOptions { refreshMode: "sync"; refreshIntervalSeconds: number; loadMorePageSize?: number; } interface FullRefreshUseStaticRecordsQueryOptions { refreshMode: "full"; refreshIntervalSeconds: number; loadMorePageSize?: never; } export type UseStaticRecordsQueryOptions = NoRefreshUseStaticRecordsQueryOptions | SyncRefreshUseStaticRecordsQueryOptions | FullRefreshUseStaticRecordsQueryOptions; export interface UseStaticRecordQueryOptions { refreshIntervalSeconds?: number; } export declare function staticRecordQueryOptionsToRefreshSpec(options: UseStaticRecordsQueryOptions): QueryRefreshSpec | undefined; export {};