Cache
Members
policy : Map<string|RegExp, number>
policy : Map<string|RegExp, number>The cache policies that this application uses.
storage : any
storage : anyAny object that can be used as storage, valid values can be {}, window.localStorage, window.sessionStorage or any class that can be used as a key/value storage.
Methods
constructor(storage)
constructor(storage)Create a cache instance that can be used in the SDK.
storageshould match thestoragemember;
const myCache = new Cache(window.localStorage)async cache(key, callback)
async cache(key, callback)Attempt to get a cached value based on a key, it is not found in the cache, create it from the callback function.
const value = await myCache.cache('key', () => 'value')invalidate(key)
invalidate(key)Remove a key or a cache group from the cache.
keymust be a string that matches the cache key or a regular expression;
myCache.invalidate('key')
// ... or
myCache.invalidate(/^key/)addPolicy(key, lifespan)
addPolicy(key, lifespan)Add a new cache policy to the cache object.
keymust be a string that matches the cache key or a regular expression;lifespanspecifies for how long the cache object should be valid in seconds;
myCache.addPolicy('key', 300) // keep the object for 5 minutes
// ... or
myCache.addPolicy(/^key/, 300) // the same length as above but as a regexstatic use(cacheBuilder)
static use(cacheBuilder)Use a specific cache object for the global cache.
cacheBuildermust be a function that returnsCache;
Cache.use(() => myCache)
// ... or
Cache.use(() => new Cache(window.sessionStorage)
.addPolicy(/^key/, 300)
.addPolicy('other', 5))static get()
static get()Get the global cache object.
const globalCache = Cache.get()Helpers
async function cache(key, callback)
async function cache(key, callback)Cache something globally.
const value = await cache('key', () => 'value')function invalidate(key)
function invalidate(key)Invalidate something from global cache.
escapePolicyPart(string)
escapePolicyPart(string)Escape a variable to be used in a regex.
const value = '/-/' // this cannot be used in a regex without modifying it
const escapedValue = escapePoliciyPart(value)Last updated