Vulos Documentation
  • Identity
    • Welcome to the Vulos Identity Documentation!
    • Quick Start
    • Organizations
    • Scopes and Claims
  • Reference
    • Identity JavaScript SDK
      • The Base Package
        • KYC
          • KycStatus
          • KycInstance
          • KycDetails
          • KycApi
        • Profile
          • UserReference
          • ProfileApi
        • Cache
        • Authentication
          • Application
          • BaseAuth
          • User
          • UserInfo
          • BaseApi
        • Organizations
          • Organization
          • OrganizationMembership
            • OrganizationMembershipWithMetadata
          • OrganizationRole
          • OrganizationApi
      • The Backend Auth Package
        • CodeVerifier
        • BackendAuth
      • The Frontend Auth Package
        • IFrameRefresh
        • StateVerifier
        • FrontendAuth
    • Organization API
      • Organizations
      • Memberships
        • Roles
    • Profile API
    • KYC API
Powered by GitBook
On this page
  • Members
  • policy : Map<string|RegExp, number>
  • storage : any
  • Methods
  • constructor(storage)
  • async cache(key, callback)
  • invalidate(key)
  • addPolicy(key, lifespan)
  • static use(cacheBuilder)
  • static get()
  • Helpers
  • async function cache(key, callback)
  • function invalidate(key)
  • escapePolicyPart(string)
  1. Reference
  2. Identity JavaScript SDK
  3. The Base Package

Cache

Members

policy : Map<string|RegExp, number>

The cache policies that this application uses.

storage : any

Any 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)

Create a cache instance that can be used in the SDK.

  • storage should match the storage member;

const myCache = new Cache(window.localStorage)

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.

The callback function can be asynchronous.

const value = await myCache.cache('key', () => 'value')

invalidate(key)

Remove a key or a cache group from the cache.

  • key must be a string that matches the cache key or a regular expression;

myCache.invalidate('key')

// ... or

myCache.invalidate(/^key/)

addPolicy(key, lifespan)

Add a new cache policy to the cache object.

  • key must be a string that matches the cache key or a regular expression;

  • lifespan specifies 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 regex

static use(cacheBuilder)

Use a specific cache object for the global cache.

  • cacheBuilder must be a function that returns Cache;

Cache.use(() => myCache)

// ... or

Cache.use(() => new Cache(window.sessionStorage)
    .addPolicy(/^key/, 300)
    .addPolicy('other', 5))

static get()

Get the global cache object.

const globalCache = Cache.get()

Helpers

async function cache(key, callback)

Cache something globally.

This function is an alias for Cache.get().cache(key, callback).

const value = await cache('key', () => 'value')

function invalidate(key)

Invalidate something from global cache.

This function is an alias for Cache.get().invalidate(key).

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)
PreviousProfileApiNextAuthentication

Last updated 3 years ago