UNPKG

ng-storage-local

Version:

An Angular module that makes Web Storage working in the Angular Way

297 lines (290 loc) 10.7 kB
import { __awaiter } from 'tslib'; import { ɵɵdefineInjectable, Injectable, Component, NgModule } from '@angular/core'; class NgStorage { /** @LocalStorage Service */ /** @setLocalStorage * Set data in local storage */ setLocalStorage(options) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (options.storageKey && options.storageType && options.storageData) { if (options.storageType == "JSON" /* JSON */) { this.convertJsonToString(options.storageData); this.saveDataInLocalStorage(options.storageKey, this.convertJsonToString(options.storageData)); } else if (options.storageType == "STRING" /* STRING */) { this.saveDataInLocalStorage(options.storageKey, options.storageData); } resolve({ error: false, message: "data store successfully" }); } else { reject({ error: true, message: "Please check parameters" }); } }); }); } /** @getLocalStorage * Get data in local storage */ getLocalStorage(options) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.localStorage.getItem(options.storageKey)) { if (options.storageType == "JSON" /* JSON */) { resolve(this.convertStringToJson(window.localStorage.getItem(options.storageKey))); } else if (options.storageType == "STRING" /* STRING */) { resolve(window.localStorage.getItem(options.storageKey)); } } else { reject({ error: true, message: options.storageKey + " No data found" }); } reject(new TypeError('Something Wrong')); }); }); } /** @removeLocalStorageItem * Remove data in local storage */ removeLocalStorageItem(key) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (key) { window.localStorage.removeItem(key); resolve({ error: false, message: key + " removed successfully" }); } else { reject({ error: true, message: "Please pass key to remove" }); } }); }); } /** @getLocalStorageLength * Get total local storage */ getLocalStorageLength() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.localStorage.length > 0) { resolve({ error: false, session: window.localStorage.length }); } else { reject({ error: true, message: " No local storage stored" }); } }); }); } /** @getLocalStorageAllKey * Get all local storage KEY list */ getLocalStorageAllKey() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.localStorage.length > 0) { let allLocalStorageKeyList = []; for (let index = 0; index < window.localStorage.length; index++) { allLocalStorageKeyList.push({ keyIndex: index, keyName: window.localStorage.key(index) }); resolve(allLocalStorageKeyList); } } else { reject({ error: true, message: " No local storage stored" }); } }); }); } /* To Clear Local Storage */ clearAllLocalStorage() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.localStorage.length > 0) { window.localStorage.clear(); resolve({ error: false, message: "All local storage are cleared" }); } else { reject({ error: true, message: " No local storage stored" }); } }); }); } /** @SessionStorage Service */ /** @setSessionStorage * Set data in session storage */ setSessionStorage(options) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (options.storageKey && options.storageType && options.storageData) { if (options.storageType == "JSON" /* JSON */) { this.convertJsonToString(options.storageData); this.saveDataInSessionStorage(options.storageKey, this.convertJsonToString(options.storageData)); } else if (options.storageType == "STRING" /* STRING */) { this.saveDataInSessionStorage(options.storageKey, options.storageData); } resolve({ error: false, message: "data store successfully" }); } else { reject({ error: true, message: "Please check parameters" }); } }); }); } /** @getSessionStorage * Get data in session storage */ getSessionStorage(options) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.sessionStorage.getItem(options.storageKey)) { if (options.storageType == "JSON" /* JSON */) { resolve(this.convertStringToJson(window.sessionStorage.getItem(options.storageKey))); } else if (options.storageType == "STRING" /* STRING */) { resolve(window.sessionStorage.getItem(options.storageKey)); } } else { reject({ error: true, message: options.storageKey + " No data found" }); } reject(new TypeError('Something Wrong')); }); }); } /** @getSessionStorageLength * Get total session storage */ getSessionStorageLength() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.sessionStorage.length > 0) { resolve({ error: false, session: window.sessionStorage.length }); } else { reject({ error: true, message: " No session stored" }); } }); }); } /** @getSessionStorageAllKey * Get all session storage KEY list */ getSessionStorageAllKey() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.sessionStorage.length > 0) { let allSessionStorageKeyList = []; for (let index = 0; index < window.sessionStorage.length; index++) { allSessionStorageKeyList.push({ keyIndex: index, keyName: window.sessionStorage.key(index) }); resolve(allSessionStorageKeyList); } } else { reject({ error: true, message: " No session storage stored" }); } }); }); } /** @removeLocalStorageItem * Remove data in local storage */ removeSessionStorageItem(key) { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (key) { window.sessionStorage.removeItem(key); resolve({ error: false, message: key + " removed successfully" }); } else { reject({ error: true, message: "Please pass key to remove" }); } }); }); } clearAllSessionStorage() { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { if (window.sessionStorage.length > 0) { window.sessionStorage.clear(); resolve({ error: false, message: "All session storage are cleared" }); } else { reject({ error: true, message: " No session storage stored" }); } }); }); } convertJsonToString(json) { return JSON.stringify(json); } convertStringToJson(stringData) { return JSON.parse(stringData); } saveDataInLocalStorage(storageName, storageData) { window.localStorage.setItem(storageName, storageData); } saveDataInSessionStorage(storageName, storageData) { window.sessionStorage.setItem(storageName, storageData); } } NgStorage.ɵprov = ɵɵdefineInjectable({ factory: function NgStorage_Factory() { return new NgStorage(); }, token: NgStorage, providedIn: "root" }); NgStorage.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; class StorageComponent { constructor() { } ngOnInit() { } } StorageComponent.decorators = [ { type: Component, args: [{ selector: 'lib-storage', template: ` <p> storage works! </p> ` },] } ]; StorageComponent.ctorParameters = () => []; class NgStorageModule { } NgStorageModule.decorators = [ { type: NgModule, args: [{ declarations: [StorageComponent], imports: [], exports: [StorageComponent] },] } ]; /* * Public API Surface of storage */ /** * Generated bundle index. Do not edit. */ export { NgStorage, NgStorageModule, StorageComponent }; //# sourceMappingURL=ng-storage-local.js.map