Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. export const setStorage = (key: string, value: object) => {
  2. window.localStorage.setItem(key, JSON.stringify(value));
  3. };
  4. export const getStorage = (key: string) => {
  5. if (typeof window === 'undefined') {
  6. return null;
  7. }
  8. const storedItems = window.localStorage.getItem(key);
  9. return storedItems
  10. ? Object.keys(JSON.parse(storedItems)).length
  11. ? JSON.parse(storedItems)
  12. : []
  13. : [];
  14. };
  15. export const removeStorage = (key: string) => {
  16. if (typeof window === 'undefined') {
  17. return null;
  18. }
  19. window.localStorage.removeItem(key);
  20. };
  21. export const setSStorage = (key: string, value: object) => {
  22. window.sessionStorage.setItem(key, JSON.stringify(value));
  23. };
  24. export const getSStorage = (key: string) => {
  25. if (typeof window === 'undefined') {
  26. return null;
  27. }
  28. const storedItems = window.sessionStorage.getItem(key);
  29. return storedItems ? JSON.parse(storedItems) : [];
  30. };
  31. export const removeSStorage = (key: string) => {
  32. if (typeof window === 'undefined') {
  33. return null;
  34. }
  35. window.sessionStorage.removeItem(key);
  36. };