12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- const Storage = {
-
- set(key, value) {
- if (key && value !== undefined) {
-
- if (typeof value === 'object') {
- value = JSON.stringify(value);
- }
- localStorage.setItem(key, value);
- } else {
- console.warn("Invalid key or value");
- }
- },
-
-
- get(key) {
- if (key) {
- const value = localStorage.getItem(key);
- if (value) {
- try {
-
- return JSON.parse(value);
- } catch (e) {
-
- return value;
- }
- }
- return null;
- }
- return null;
- },
-
-
- remove(key) {
- if (key) {
- localStorage.removeItem(key);
- }
- },
-
-
- clear() {
- localStorage.clear();
- },
-
-
- exists(key) {
- return localStorage.getItem(key) !== null;
- },
-
-
- getAllKeys() {
- return Object.keys(localStorage);
- },
-
-
- setWithExpire(key, value, expireTimeInSec) {
- if (expireTimeInSec && expireTimeInSec > 0) {
- const expireDate = new Date().getTime() + expireTimeInSec * 1000;
- const data = {
- value: value,
- expireDate: expireDate,
- };
- this.set(key, data);
- } else {
- console.warn("Invalid expire time");
- }
- },
-
-
- getWithExpire(key) {
- const data = this.get(key);
- if (data && data.expireDate && new Date().getTime() < data.expireDate) {
- return data.value;
- } else {
-
- this.remove(key);
- return null;
- }
- },
- };
-
-
- export default Storage;
-
|