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:
type QueryDefaults = Pick<QuerySpec<never[], unknown>, 'staleTime' | 'gcTime' | 'refetchOnWindowFocus' | 'refetchOnReconnect' | 'keepPreviousData' | 'retry' | 'retryDelay' | 'networkMode' | 'structuralShare'>;References: QuerySpec