This repository has been archived on 2026-09-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2026-09-05 04:33:55 +05:30

40 lines
1.4 KiB
TypeScript

import type { SWRConfig as CoreSWRConfig, Key, Fetcher, MutatorOptions, BareFetcher } from '../../core'
import type { Writable, Readable } from 'svelte/store'
export interface SWRConfig<Data = unknown, Error = unknown> extends CoreSWRConfig<Data, Error> {
// Svelte-specific config
store?: boolean
suspense?: boolean
fallbackData?: Data
revalidateOnMount?: boolean
revalidateOnFocus?: boolean
revalidateOnReconnect?: boolean
refreshWhenHidden?: boolean
refreshWhenOffline?: boolean
compare?: (a: Data | undefined, b: Data | undefined) => boolean
}
export interface SWRStores<Data = unknown, Error = unknown> {
data: Readable<Data | undefined>
error: Readable<Error | undefined>
isLoading: Readable<boolean>
isValidating: Readable<boolean>
loading: Readable<boolean>
validating: Readable<boolean>
mutate: (data?: Data | ((current: Data | undefined) => Data | Promise<Data>), options?: Partial<MutatorOptions<Data>>) => Promise<Data | undefined>
}
export interface SWRStore<Data = unknown, Error = unknown> extends Writable<{
data?: Data
error?: Error
isLoading: boolean
isValidating: boolean
loading: boolean
validating: boolean
}> {
mutate: (data?: Data | ((current: Data | undefined) => Data | Promise<Data>), options?: Partial<MutatorOptions<Data>>) => Promise<Data | undefined>
}
// Re-export core types
export type { Key, Fetcher, MutatorOptions, BareFetcher, SWRFetcher } from '../../core'