UNPKG

ng7-storage

Version:

An Angular service for browser session storage management with optional base64 encryption/decryption.

61 lines (56 loc) 1.97 kB
import * as i0 from '@angular/core'; import { Injectable } from '@angular/core'; class NgStorageService { #message = `Your browser doesn't support ng-storage, Please update your browser`; constructor() { if (typeof window.sessionStorage == 'undefined') { console.error(this.#message); throw new Error(this.#message); } } setData(key, value, encrypt) { if (key) { if (encrypt) { sessionStorage.setItem(key.toLowerCase(), window.btoa(JSON.stringify(value))); } else { sessionStorage.setItem(key.toLowerCase(), JSON.stringify(value)); } return true; } else { throw new Error('key not found'); } } getData(key, decrypt) { const details = sessionStorage.getItem(key.toLowerCase()); if (decrypt) { return window.atob(JSON.parse(details)); } else { return JSON.parse(details); } } removeData(key) { sessionStorage.removeItem(key.toLowerCase()); } removeAll() { sessionStorage.clear(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: NgStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: NgStorageService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: NgStorageService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [] }); /* * Public API Surface of ng-storage */ /** * Generated bundle index. Do not edit. */ export { NgStorageService }; //# sourceMappingURL=ng7-storage.mjs.map