UNPKG

use-cookie-state

Version:

State management React hook using browser cookies as persistent storage

3 lines (2 loc) 1.02 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("cookie"),t=require("react");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=r(e);var n={path:"/",expires:new Date("9999")};exports.useCookieState=function(e,r,u){var i=t.useState((function(){var t="function"==typeof r?r():r;return"undefined"==typeof window?t:function(e){var t,r=e.key,n=e.cookies,u=e.decode,i=e.defaultValue,c=o.parse(n||"",{decode:u});return void 0===c[r]?i:null!==(t=c[r])&&void 0!==t?t:i}({key:e,cookies:document.cookie,decode:null==u?void 0:u.decode,defaultValue:t})})),c=i[0],a=i[1];return[c,function(t,r){var i="string"==typeof t?t:JSON.stringify(t);document.cookie=o.serialize(e,i,Object.assign({},n,null==u?void 0:u.encode,r)),a(t)}]}; //# sourceMappingURL=index.js.map