{"version":3,"file":"async-encrypt-storage.cjs","names":["#encryptStorage","EncryptStorage"],"sources":["../../src/classes/async-encrypt-storage.ts"],"sourcesContent":["import { EncryptStorage } from './encrypt-storage';\n\nimport type { EncryptStorageNoble } from './encrypt-storage-noble';\nimport type { EncryptStorageWebApi } from './encrypt-storage-web-api';\nimport type {\n  EncryptStorageOptions,\n  GetFromPatternOptions,\n  RemoveFromPatternOptions,\n} from '@/@types';\n\nexport class AsyncEncryptStorage {\n  #encryptStorage: EncryptStorageNoble | EncryptStorageWebApi;\n\n  constructor(secretKey: string, options: EncryptStorageOptions) {\n    this.#encryptStorage = EncryptStorage.create(secretKey, options as any);\n  }\n\n  public get length(): Promise<number> {\n    return Promise.resolve(this.#encryptStorage.length);\n  }\n\n  public async setItem(\n    key: string,\n    value: any,\n    dotNotEncrypt?: boolean,\n  ): Promise<void> {\n    return await this.#encryptStorage.setItem(key, value, dotNotEncrypt);\n  }\n\n  public async getItem<T = any>(\n    key: string,\n    doNotDecrypt?: boolean,\n  ): Promise<T | undefined> {\n    const storageValue = await this.#encryptStorage.getItem<T>(\n      key,\n      doNotDecrypt,\n    );\n    return storageValue;\n  }\n\n  public async removeItem(key: string): Promise<void> {\n    return new Promise((resolve) => {\n      resolve(this.#encryptStorage.removeItem(key));\n    });\n  }\n\n  public async getItemFromPattern(\n    pattern: string,\n    options?: GetFromPatternOptions,\n  ): Promise<Record<string, any> | undefined> {\n    const storageValues = await this.#encryptStorage.getItemFromPattern(\n      pattern,\n      options,\n    );\n\n    return storageValues;\n  }\n\n  public async removeItemFromPattern(\n    pattern: string,\n    options?: RemoveFromPatternOptions,\n  ): Promise<void> {\n    return new Promise((resolve) => {\n      resolve(this.#encryptStorage.removeItemFromPattern(pattern, options));\n    });\n  }\n\n  public async clear(): Promise<void> {\n    return new Promise((resolve) => {\n      resolve(this.#encryptStorage.clear());\n    });\n  }\n\n  public async key(index: number): Promise<string | null> {\n    return new Promise((resolve) => {\n      resolve(this.#encryptStorage.key(index));\n    });\n  }\n\n  public async encryptValue(value: any): Promise<string> {\n    const encryptedValue = await this.#encryptStorage.encryptValue(value);\n\n    return encryptedValue;\n  }\n\n  public async decryptValue<T = any>(value: string): Promise<T> {\n    const decryptedValue = (await this.#encryptStorage.decryptValue<T>(\n      value,\n    )) as T;\n\n    return decryptedValue;\n  }\n\n  public async hash(value: string): Promise<string> {\n    return await this.#encryptStorage.hash(value);\n  }\n}\n\n/* v8 ignore start -- @preserve */\nif (typeof window !== 'undefined') {\n  (window as any).AsyncEncryptStorage = AsyncEncryptStorage;\n}\n\nif (typeof window !== 'undefined' && window?.globalThis) {\n  // oxlint-disable-next-line no-unsafe-optional-chaining\n  (window?.globalThis as any).AsyncEncryptStorage = AsyncEncryptStorage;\n}\n/* v8 ignore end -- @preserve */\n"],"mappings":"yCAUA,IAAa,EAAb,KAAiC,CAC/B,GAEA,YAAY,EAAmB,EAAgC,CAC7D,KAAKA,GAAkBC,EAAAA,eAAe,OAAO,EAAW,CAAc,CACxE,CAEA,IAAW,QAA0B,CACnC,OAAO,QAAQ,QAAQ,KAAKD,GAAgB,MAAM,CACpD,CAEA,MAAa,QACX,EACA,EACA,EACe,CACf,OAAO,MAAM,KAAKA,GAAgB,QAAQ,EAAK,EAAO,CAAa,CACrE,CAEA,MAAa,QACX,EACA,EACwB,CAKxB,OAAO,MAJoB,KAAKA,GAAgB,QAC9C,EACA,CACF,CAEF,CAEA,MAAa,WAAW,EAA4B,CAClD,OAAO,IAAI,QAAS,GAAY,CAC9B,EAAQ,KAAKA,GAAgB,WAAW,CAAG,CAAC,CAC9C,CAAC,CACH,CAEA,MAAa,mBACX,EACA,EAC0C,CAM1C,OAAO,MALqB,KAAKA,GAAgB,mBAC/C,EACA,CACF,CAGF,CAEA,MAAa,sBACX,EACA,EACe,CACf,OAAO,IAAI,QAAS,GAAY,CAC9B,EAAQ,KAAKA,GAAgB,sBAAsB,EAAS,CAAO,CAAC,CACtE,CAAC,CACH,CAEA,MAAa,OAAuB,CAClC,OAAO,IAAI,QAAS,GAAY,CAC9B,EAAQ,KAAKA,GAAgB,MAAM,CAAC,CACtC,CAAC,CACH,CAEA,MAAa,IAAI,EAAuC,CACtD,OAAO,IAAI,QAAS,GAAY,CAC9B,EAAQ,KAAKA,GAAgB,IAAI,CAAK,CAAC,CACzC,CAAC,CACH,CAEA,MAAa,aAAa,EAA6B,CAGrD,OAAO,MAFsB,KAAKA,GAAgB,aAAa,CAAK,CAGtE,CAEA,MAAa,aAAsB,EAA2B,CAK5D,OAAO,MAJuB,KAAKA,GAAgB,aACjD,CACF,CAGF,CAEA,MAAa,KAAK,EAAgC,CAChD,OAAO,MAAM,KAAKA,GAAgB,KAAK,CAAK,CAC9C,CACF,EAGI,OAAO,OAAW,MACpB,OAAgB,oBAAsB,GAGpC,OAAO,OAAW,KAAe,QAAQ,aAE3C,CAAC,QAAQ,WAAA,CAAmB,oBAAsB"}