Merged in feature/warmup (pull request #1887)
* unified warmup function Approved-by: Linus Flood
This commit is contained in:
27
apps/scandic-web/services/dataCache/cacheOrGetOptions.ts
Normal file
27
apps/scandic-web/services/dataCache/cacheOrGetOptions.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Options to control cache behavior when retrieving or storing data.
|
||||
*
|
||||
* - "cache-first": Default behaviour, check if the needed data is available in the cache first. If the data is found, it is returned immediately. Otherwise, the data is fetched and then cached.
|
||||
* - "fetch-then-cache": Always fetch the data first, and then update the cache with the freshly fetched data.
|
||||
*/
|
||||
export type CacheStrategy = "cache-first" | "fetch-then-cache"
|
||||
export type CacheOrGetOptions = {
|
||||
cacheStrategy?: CacheStrategy
|
||||
}
|
||||
|
||||
export function defaultCacheOrGetOptions(
|
||||
opts: CacheOrGetOptions = {}
|
||||
): CacheOrGetOptions {
|
||||
return {
|
||||
cacheStrategy: "cache-first",
|
||||
...opts,
|
||||
}
|
||||
}
|
||||
|
||||
export function shouldGetFromCache(
|
||||
opts: CacheOrGetOptions | undefined
|
||||
): boolean {
|
||||
opts = defaultCacheOrGetOptions(opts)
|
||||
|
||||
return opts.cacheStrategy === "cache-first"
|
||||
}
|
||||
Reference in New Issue
Block a user