All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.react-utils.useLocalStorage.useLocalStorage.js.map Maven / Gradle / Ivy

Go to download

A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.

There is a newer version: 4.12.3
Show newest version
{"version":3,"file":"useLocalStorage.js","names":["useState","isNil","removeFromLocalStorage","setToLocalStorage","getStorageValue","key","defaultValue","storedValue","localStorage","getItem","JSON","parse","error","logger","useLocalStorage","_useState","_useState2","_slicedToArray","setStoredValue","setValue","value","prevStoredValue","newValue"],"sources":["../../../src/react-utils/useLocalStorage/useLocalStorage.js"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/no-local-storage */\n\nimport { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\nimport { removeFromLocalStorage, setToLocalStorage } from \"utils\";\n\nconst getStorageValue = (key, defaultValue) => {\n  try {\n    const storedValue = localStorage.getItem(key);\n\n    return storedValue ? JSON.parse(storedValue) : defaultValue;\n  } catch (error) {\n    logger.error(error);\n\n    return defaultValue;\n  }\n};\n\nconst useLocalStorage = (key, defaultValue) => {\n  const [storedValue, setStoredValue] = useState(() =>\n    getStorageValue(key, defaultValue)\n  );\n\n  const setValue = value =>\n    setStoredValue(prevStoredValue => {\n      const newValue =\n        typeof value === \"function\" ? value(prevStoredValue) : value;\n\n      if (isNil(newValue)) {\n        removeFromLocalStorage(key);\n      } else {\n        setToLocalStorage(key, newValue);\n      }\n\n      return newValue;\n    });\n\n  return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";AAAA;;AAEA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,SAASC,KAAK,QAAQ,OAAO;AAC7B,SAASC,sBAAsB,EAAEC,iBAAiB;AAElD,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAI;IACF,IAAMC,WAAW,GAAGC,YAAY,CAACC,OAAO,CAACJ,GAAG,CAAC;IAE7C,OAAOE,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,GAAGD,YAAY;EAC7D,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC;IAEnB,OAAON,YAAY;EACrB;AACF,CAAC;AAED,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIT,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAAS,SAAA,GAAsCf,QAAQ,CAAC;MAAA,OAC7CI,eAAe,CAACC,GAAG,EAAEC,YAAY,CAAC;IAAA,EACnC;IAAAU,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFMR,WAAW,GAAAS,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAIlC,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK;IAAA,OACpBF,cAAc,CAAC,UAAAG,eAAe,EAAI;MAChC,IAAMC,QAAQ,GACZ,OAAOF,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACC,eAAe,CAAC,GAAGD,KAAK;MAE9D,IAAInB,KAAK,CAACqB,QAAQ,CAAC,EAAE;QACnBpB,sBAAsB,CAACG,GAAG,CAAC;MAC7B,CAAC,MAAM;QACLF,iBAAiB,CAACE,GAAG,EAAEiB,QAAQ,CAAC;MAClC;MAEA,OAAOA,QAAQ;IACjB,CAAC,CAAC;EAAA;EAEJ,OAAO,CAACf,WAAW,EAAEY,QAAQ,CAAC;AAChC,CAAC;AAED,eAAeL,eAAe"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy