ng-storage-local
Version:
An Angular module that makes Web Storage working in the Angular Way
297 lines (290 loc) • 10.7 kB
JavaScript
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