{"version":3,"file":"CacheManager.mjs","names":[],"sources":["../../../../../../cache/src/CacheManager.ts"],"sourcesContent":["import { CacheDriverInterface, CacheManagerInterface } from \"./types\";\r\n\r\n/**\r\n * The cache facade.\r\n *\r\n * Every storage-touching method forwards to the active driver and\r\n * returns the driver's promise, so swapping localStorage for IndexedDB\r\n * (or for a driver of your own that talks to a remote store) does not\r\n * change a single call site. Driver configuration — prefix, value\r\n * parser, value converter — stays synchronous and chainable.\r\n */\r\nexport class CacheManager implements CacheManagerInterface {\r\n  /**\r\n   * Cache Driver Engine\r\n   */\r\n  private driver!: CacheDriverInterface;\r\n\r\n  /**\r\n   * Set driver engine\r\n   */\r\n  public setDriver(driver: CacheDriverInterface) {\r\n    this.driver = driver;\r\n    return this;\r\n  }\r\n\r\n  /**\r\n   * Get driver engine\r\n   */\r\n  public getDriver(): CacheDriverInterface {\r\n    return this.driver;\r\n  }\r\n\r\n  /**\r\n   * Set cache into storage\r\n   */\r\n  public async set(key: string, value: any, expiresAfter?: number) {\r\n    await this.driver.set(key, value, expiresAfter);\r\n    return this as any;\r\n  }\r\n\r\n  /**\r\n   * Get value from cache engine, if key does not exist return default value\r\n   */\r\n  public get(key: string, defaultValue: any = null) {\r\n    return this.driver.get(key, defaultValue);\r\n  }\r\n\r\n  /**\r\n   * Determine whether the cache engine has the given key\r\n   */\r\n  public has(key: string) {\r\n    return this.driver.has(key);\r\n  }\r\n\r\n  /**\r\n   * Remove the given key from the cache storage\r\n   */\r\n  public async remove(key: string) {\r\n    await this.driver.remove(key);\r\n    return this as any;\r\n  }\r\n\r\n  /**\r\n   * List the caller-facing keys owned by the active driver\r\n   */\r\n  public keys(): Promise<string[]> {\r\n    return this.driver.keys();\r\n  }\r\n\r\n  /**\r\n   * Read every live entry owned by the active driver\r\n   */\r\n  public getAll(): Promise<Record<string, any>> {\r\n    return this.driver.getAll();\r\n  }\r\n\r\n  /**\r\n   * Set prefix key\r\n   */\r\n  public setPrefixKey(key: string) {\r\n    this.driver.setPrefixKey(key);\r\n    return this as any;\r\n  }\r\n\r\n  /**\r\n   * Get prefix key\r\n   */\r\n  public getPrefixKey(): string {\r\n    return this.driver.getPrefixKey();\r\n  }\r\n\r\n  /**\r\n   * {@inheritDoc}\r\n   */\r\n  public setValueParser(parser: any): CacheDriverInterface {\r\n    this.driver.setValueParser(parser);\r\n\r\n    return this;\r\n  }\r\n\r\n  /**\r\n   * {@inheritDoc}\r\n   */\r\n  public setValueConverter(converter: any): CacheDriverInterface {\r\n    this.driver.setValueConverter(converter);\r\n\r\n    return this;\r\n  }\r\n\r\n  /**\r\n   * Clear the cache storage\r\n   */\r\n  public async clear() {\r\n    await this.driver.clear();\r\n\r\n    return this;\r\n  }\r\n}\r\n\r\nconst cacheManager = new CacheManager();\r\n\r\nexport default cacheManager;\r\n"],"mappings":";;;;;;;;;;AAWA,IAAa,eAAb,MAA2D;;;;CASzD,AAAO,UAAU,QAA8B;EAC7C,KAAK,SAAS;EACd,OAAO;CACT;;;;CAKA,AAAO,YAAkC;EACvC,OAAO,KAAK;CACd;;;;CAKA,MAAa,IAAI,KAAa,OAAY,cAAuB;EAC/D,MAAM,KAAK,OAAO,IAAI,KAAK,OAAO,YAAY;EAC9C,OAAO;CACT;;;;CAKA,AAAO,IAAI,KAAa,eAAoB,MAAM;EAChD,OAAO,KAAK,OAAO,IAAI,KAAK,YAAY;CAC1C;;;;CAKA,AAAO,IAAI,KAAa;EACtB,OAAO,KAAK,OAAO,IAAI,GAAG;CAC5B;;;;CAKA,MAAa,OAAO,KAAa;EAC/B,MAAM,KAAK,OAAO,OAAO,GAAG;EAC5B,OAAO;CACT;;;;CAKA,AAAO,OAA0B;EAC/B,OAAO,KAAK,OAAO,KAAK;CAC1B;;;;CAKA,AAAO,SAAuC;EAC5C,OAAO,KAAK,OAAO,OAAO;CAC5B;;;;CAKA,AAAO,aAAa,KAAa;EAC/B,KAAK,OAAO,aAAa,GAAG;EAC5B,OAAO;CACT;;;;CAKA,AAAO,eAAuB;EAC5B,OAAO,KAAK,OAAO,aAAa;CAClC;;;;CAKA,AAAO,eAAe,QAAmC;EACvD,KAAK,OAAO,eAAe,MAAM;EAEjC,OAAO;CACT;;;;CAKA,AAAO,kBAAkB,WAAsC;EAC7D,KAAK,OAAO,kBAAkB,SAAS;EAEvC,OAAO;CACT;;;;CAKA,MAAa,QAAQ;EACnB,MAAM,KAAK,OAAO,MAAM;EAExB,OAAO;CACT;AACF;AAEA,MAAM,eAAe,IAAI,aAAa"}