panku-app/src/storage.js

1import { logger, safeParseJSON } from "./utils"; 2 3const keys = { 4 activities: "panku-activities", 5 friends: "panku-friends", 6 upiSettings: "panku-upi", 7}; 8 9const getKey = (dataType) => { 10 let key = ""; 11 if (dataType === "activities") { 12 key = keys.activities; 13 } else if (dataType === "friends") { 14 key = keys.friends; 15 } else if (dataType === "upi") { 16 key = keys.upiSettings; 17 } 18 19 return key; 20}; 21 22export const set = (dataType, data) => { 23 const str = JSON.stringify(data); 24 const key = getKey(dataType); 25 26 if (key !== "") { 27 localStorage.setItem(key, str); 28 } else { 29 logger("key was empty when local storage set was called."); 30 } 31 32 return; 33}; 34 35export const get = (dataType) => { 36 const key = getKey(dataType); 37 38 if (key === "") { 39 logger("key was empty when local storage get was called."); 40 return null; 41 } 42 43 const str = localStorage.getItem(key); 44 const json = safeParseJSON(str); 45 return json || null; 46}; 47 48export default { 49 set, 50 get, 51};