Skip to content

API reference > @kontsedal/olas-core > QueryDefaults

QueryDefaults type โ€‹

Defaults for every query, infinite query and createCache under a root, passed as queryEngine({ defaults }). Every field mirrors the same-named field on QuerySpec, and a per-query spec always wins:spec.X ?? defaults.X ?? <built-in default>. Spec ยง5.9.

Derived via Pick rather than re-declared so the types can't drift fromQuerySpec. None of the picked fields reference Args/T, which is why instantiating with never[] / unknown is safe here.

Deliberately NOT defaultable: - refetchInterval โ€” a root-wide interval would silently start polling every query in the app. Opt in per query. - id / key / fetcher / meta โ€” per-query identity and plugin settings; meaningless as an app-wide default.

Every default applies to infinite queries too. A focus or reconnect refetch of an infinite query re-fetches every loaded page.

Signature:

typescript
type QueryDefaults = Pick<QuerySpec<never[], unknown>, 'staleTime' | 'gcTime' | 'refetchOnWindowFocus' | 'refetchOnReconnect' | 'keepPreviousData' | 'retry' | 'retryDelay' | 'networkMode' | 'structuralShare'>;

References: QuerySpec

Released under the MIT License.