UNPKG

@ionic/storage-angular

Version:
62 lines 6.64 kB
import { isPlatformServer } from '@angular/common'; import { InjectionToken, NgModule, PLATFORM_ID } from '@angular/core'; import { Storage } from '@ionic/storage'; import * as i0 from "@angular/core"; const StorageConfigToken = new InjectionToken('STORAGE_CONFIG_TOKEN'); export { StorageConfigToken, Storage }; class NoopStorage extends Storage { constructor() { super(); } async create() { return this; } async defineDriver() { } get driver() { return 'noop'; } async get(key) { return null; } async set(key, value) { } async remove(key) { } async clear() { } async length() { return 0; } async keys() { return []; } // eslint-disable-next-line @typescript-eslint/ban-types async forEach(iteratorCallback) { } setEncryptionKey(key) { } } export function provideStorage(platformId, storageConfig) { if (isPlatformServer(platformId)) { // When running in a server context return the NoopStorage return new NoopStorage(); } return new Storage(storageConfig); } export class IonicStorageModule { static forRoot(storageConfig = null) { return { ngModule: IonicStorageModule, providers: [ { provide: StorageConfigToken, useValue: storageConfig }, { provide: Storage, useFactory: provideStorage, deps: [PLATFORM_ID, StorageConfigToken], }, ], }; } } IonicStorageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: IonicStorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); IonicStorageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: IonicStorageModule }); IonicStorageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: IonicStorageModule }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: IonicStorageModule, decorators: [{ type: NgModule }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXhELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQU0sc0JBQXNCLENBQUMsQ0FBQztBQUUzRSxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDO0FBRXRELE1BQU0sV0FBWSxTQUFRLE9BQU87SUFDL0I7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLEtBQUksQ0FBQztJQUV2QixJQUFJLE1BQU07UUFDUixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsSUFBRyxDQUFDO0lBRXJDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxJQUFpQixDQUFDO0lBRTFDLEtBQUssQ0FBQyxLQUFLLEtBQW1CLENBQUM7SUFFL0IsS0FBSyxDQUFDLE1BQU07UUFDVixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUEyRSxJQUFrQixDQUFDO0lBRTVHLGdCQUFnQixDQUFDLEdBQVcsSUFBRyxDQUFDO0NBQ2pDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFlLEVBQUUsYUFBNEI7SUFDMUUsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNoQywwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQzFCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBR0QsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUErQixJQUFJO1FBQ2hELE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO2dCQUN4RDtvQkFDRSxPQUFPLEVBQUUsT0FBTztvQkFDaEIsVUFBVSxFQUFFLGNBQWM7b0JBQzFCLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQztpQkFDeEM7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzsrR0FiVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE5nTW9kdWxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZSwgU3RvcmFnZUNvbmZpZyB9IGZyb20gJ0Bpb25pYy9zdG9yYWdlJztcblxuY29uc3QgU3RvcmFnZUNvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1NUT1JBR0VfQ09ORklHX1RPS0VOJyk7XG5cbmV4cG9ydCB7IFN0b3JhZ2VDb25maWcsIFN0b3JhZ2VDb25maWdUb2tlbiwgU3RvcmFnZSB9O1xuXG5jbGFzcyBOb29wU3RvcmFnZSBleHRlbmRzIFN0b3JhZ2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIGFzeW5jIGRlZmluZURyaXZlcigpIHt9XG5cbiAgZ2V0IGRyaXZlcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gJ25vb3AnO1xuICB9XG5cbiAgYXN5bmMgZ2V0KGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHt9XG5cbiAgYXN5bmMgcmVtb3ZlKGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHt9XG5cbiAgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7fVxuXG4gIGFzeW5jIGxlbmd0aCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgYXN5bmMga2V5cygpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBhc3luYyBmb3JFYWNoKGl0ZXJhdG9yQ2FsbGJhY2s6ICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgaXRlcmF0aW9uTnVtYmVyOiBOdW1iZXIpID0+IGFueSk6IFByb21pc2U8dm9pZD4ge31cblxuICBzZXRFbmNyeXB0aW9uS2V5KGtleTogc3RyaW5nKSB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0b3JhZ2UocGxhdGZvcm1JZDogYW55LCBzdG9yYWdlQ29uZmlnOiBTdG9yYWdlQ29uZmlnKTogU3RvcmFnZSB7XG4gIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgLy8gV2hlbiBydW5uaW5nIGluIGEgc2VydmVyIGNvbnRleHQgcmV0dXJuIHRoZSBOb29wU3RvcmFnZVxuICAgIHJldHVybiBuZXcgTm9vcFN0b3JhZ2UoKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgU3RvcmFnZShzdG9yYWdlQ29uZmlnKTtcbn1cblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBJb25pY1N0b3JhZ2VNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChzdG9yYWdlQ29uZmlnOiBTdG9yYWdlQ29uZmlnID0gbnVsbCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SW9uaWNTdG9yYWdlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJb25pY1N0b3JhZ2VNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTdG9yYWdlQ29uZmlnVG9rZW4sIHVzZVZhbHVlOiBzdG9yYWdlQ29uZmlnIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTdG9yYWdlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IHByb3ZpZGVTdG9yYWdlLFxuICAgICAgICAgIGRlcHM6IFtQTEFURk9STV9JRCwgU3RvcmFnZUNvbmZpZ1Rva2VuXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19