{"version":3,"file":"ionic-storage-angular.mjs","sources":["../../src/index.ts","../../src/ionic-storage-angular.ts"],"sourcesContent":["import { isPlatformServer } from '@angular/common';\nimport type { ModuleWithProviders } from '@angular/core';\nimport { InjectionToken, NgModule, PLATFORM_ID } from '@angular/core';\nimport { Storage, StorageConfig } from '@ionic/storage';\n\nconst StorageConfigToken = new InjectionToken<any>('STORAGE_CONFIG_TOKEN');\n\nexport { StorageConfig, StorageConfigToken, Storage };\n\nclass NoopStorage extends Storage {\n  constructor() {\n    super();\n  }\n\n  async create() {\n    return this;\n  }\n  async defineDriver() {}\n\n  get driver(): string | null {\n    return 'noop';\n  }\n\n  async get(key: string) {\n    return null;\n  }\n\n  async set(key: string, value: any) {}\n\n  async remove(key: string): Promise<any> {}\n\n  async clear(): Promise<void> {}\n\n  async length(): Promise<number> {\n    return 0;\n  }\n\n  async keys() {\n    return [];\n  }\n\n  // eslint-disable-next-line @typescript-eslint/ban-types\n  async forEach(iteratorCallback: (value: any, key: string, iterationNumber: Number) => any): Promise<void> {}\n\n  setEncryptionKey(key: string) {}\n}\n\nexport function provideStorage(platformId: any, storageConfig: StorageConfig): Storage {\n  if (isPlatformServer(platformId)) {\n    // When running in a server context return the NoopStorage\n    return new NoopStorage();\n  }\n\n  return new Storage(storageConfig);\n}\n\n@NgModule()\nexport class IonicStorageModule {\n  static forRoot(storageConfig: StorageConfig = null): ModuleWithProviders<IonicStorageModule> {\n    return {\n      ngModule: IonicStorageModule,\n      providers: [\n        { provide: StorageConfigToken, useValue: storageConfig },\n        {\n          provide: Storage,\n          useFactory: provideStorage,\n          deps: [PLATFORM_ID, StorageConfigToken],\n        },\n      ],\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAM,sBAAsB,EAAE;AAI3E,MAAM,WAAY,SAAQ,OAAO,CAAA;AAC/B,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;KACT;AAED,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,OAAO,IAAI,CAAC;KACb;IACD,MAAM,YAAY,GAAA,GAAK;AAEvB,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,MAAM,CAAC;KACf;IAED,MAAM,GAAG,CAAC,GAAW,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,KAAU,KAAI;AAErC,IAAA,MAAM,MAAM,CAAC,GAAW,KAAkB;IAE1C,MAAM,KAAK,GAAA,GAAoB;AAE/B,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,OAAO,CAAC,CAAC;KACV;AAED,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,OAAO,EAAE,CAAC;KACX;;AAGD,IAAA,MAAM,OAAO,CAAC,gBAA2E,KAAmB;IAE5G,gBAAgB,CAAC,GAAW,EAAA,GAAI;AACjC,CAAA;AAEe,SAAA,cAAc,CAAC,UAAe,EAAE,aAA4B,EAAA;AAC1E,IAAA,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;;QAEhC,OAAO,IAAI,WAAW,EAAE,CAAC;AAC1B,KAAA;AAED,IAAA,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;MAGY,kBAAkB,CAAA;AAC7B,IAAA,OAAO,OAAO,CAAC,aAAA,GAA+B,IAAI,EAAA;QAChD,OAAO;AACL,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE;AACxD,gBAAA;AACE,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,UAAU,EAAE,cAAc;AAC1B,oBAAA,IAAI,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;AACxC,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;+GAbU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,QAAQ;;;ACxDT;;AAEG;;;;"}