Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 2x 2x 2x 3x 3x 3x 1x 2x | import Cookies from 'js-cookie'
export interface IPutioAnalyticsCacheOptions {
domain: string
expires: number
}
const createCache = <T extends object>(
options: IPutioAnalyticsCacheOptions,
) => ({
set: (key: string, value: T) => {
Cookies.set(key, value, {
expires: options.expires,
domain: options.domain,
sameSite: 'lax',
})
return value
},
get: (key: string) => Cookies.getJSON(key) as T,
clear: (key: string) => Cookies.remove(key, { domain: options.domain }),
})
export type PutioAnalyticsCache = ReturnType<typeof createCache>
export default createCache
|