@ionic/storage-angular
Version:
Ionic Storage utility
89 lines (85 loc) • 3 kB
JavaScript
import { __awaiter } from 'tslib';
import { isPlatformServer } from '@angular/common';
import * as i0 from '@angular/core';
import { InjectionToken, PLATFORM_ID, NgModule } from '@angular/core';
import { Storage } from '@ionic/storage';
export { Storage } from '@ionic/storage';
const StorageConfigToken = new InjectionToken('STORAGE_CONFIG_TOKEN');
class NoopStorage extends Storage {
constructor() {
super();
}
create() {
return __awaiter(this, void 0, void 0, function* () {
return this;
});
}
defineDriver() {
return __awaiter(this, void 0, void 0, function* () { });
}
get driver() {
return 'noop';
}
get(key) {
return __awaiter(this, void 0, void 0, function* () {
return null;
});
}
set(key, value) {
return __awaiter(this, void 0, void 0, function* () { });
}
remove(key) {
return __awaiter(this, void 0, void 0, function* () { });
}
clear() {
return __awaiter(this, void 0, void 0, function* () { });
}
length() {
return __awaiter(this, void 0, void 0, function* () {
return 0;
});
}
keys() {
return __awaiter(this, void 0, void 0, function* () {
return [];
});
}
// eslint-disable-next-line @typescript-eslint/ban-types
forEach(iteratorCallback) {
return __awaiter(this, void 0, void 0, function* () { });
}
setEncryptionKey(key) { }
}
function provideStorage(platformId, storageConfig) {
if (isPlatformServer(platformId)) {
// When running in a server context return the NoopStorage
return new NoopStorage();
}
return new Storage(storageConfig);
}
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
}] });
/**
* Generated bundle index. Do not edit.
*/
export { IonicStorageModule, StorageConfigToken, provideStorage };
//# sourceMappingURL=ionic-storage-angular.mjs.map