ng7-storage
Version:
An Angular service for browser session storage management with optional base64 encryption/decryption.
61 lines (56 loc) • 1.97 kB
JavaScript
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