UNPKG

react-cookie

Version:
2 lines (1 loc) 6.19 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("universal-cookie"),require("react")):"function"==typeof define&&define.amd?define(["exports","universal-cookie","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactCookie={},e.UniversalCookie,e.React)}(this,(function(e,t,o){"use strict";function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var n=r(o);const i=n.createContext(null),{Provider:s,Consumer:c}=i;function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var f,u,p,l,d={exports:{}},y={};function m(){return u||(u=1,d.exports=function(){if(f)return y;f=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,o=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,n=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,s=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,a=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,p=e?Symbol.for("react.forward_ref"):60112,l=e?Symbol.for("react.suspense"):60113,d=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,b=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,h=e?Symbol.for("react.fundamental"):60117,v=e?Symbol.for("react.responder"):60118,O=e?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var f=e.$$typeof;switch(f){case t:switch(e=e.type){case a:case u:case r:case i:case n:case l:return e;default:switch(e=e&&e.$$typeof){case c:case p:case b:case m:case s:return e;default:return f}}case o:return f}}}function C(e){return S(e)===u}return y.AsyncMode=a,y.ConcurrentMode=u,y.ContextConsumer=c,y.ContextProvider=s,y.Element=t,y.ForwardRef=p,y.Fragment=r,y.Lazy=b,y.Memo=m,y.Portal=o,y.Profiler=i,y.StrictMode=n,y.Suspense=l,y.isAsyncMode=function(e){return C(e)||S(e)===a},y.isConcurrentMode=C,y.isContextConsumer=function(e){return S(e)===c},y.isContextProvider=function(e){return S(e)===s},y.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},y.isForwardRef=function(e){return S(e)===p},y.isFragment=function(e){return S(e)===r},y.isLazy=function(e){return S(e)===b},y.isMemo=function(e){return S(e)===m},y.isPortal=function(e){return S(e)===o},y.isProfiler=function(e){return S(e)===i},y.isStrictMode=function(e){return S(e)===n},y.isSuspense=function(e){return S(e)===l},y.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===u||e===i||e===n||e===l||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===h||e.$$typeof===v||e.$$typeof===O||e.$$typeof===g)},y.typeOf=S,y}()),d.exports}var b=function(){if(l)return p;l=1;var e=m(),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},n={};function i(o){return e.isMemo(o)?r:n[o.$$typeof]||t}n[e.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},n[e.Memo]=r;var s=Object.defineProperty,c=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,u=Object.getPrototypeOf,d=Object.prototype;return p=function e(t,r,n){if("string"!=typeof r){if(d){var p=u(r);p&&p!==d&&e(t,p,n)}var l=c(r);a&&(l=l.concat(a(r)));for(var y=i(t),m=i(r),b=0;b<l.length;++b){var g=l[b];if(!(o[g]||n&&n[g]||m&&m[g]||y&&y[g])){var h=f(r,g);try{s(t,g,h)}catch(e){}}}}return t}}(),g=a(b);e.Cookies=t,e.CookiesProvider=e=>{const o=n.useMemo((()=>e.cookies?e.cookies:new t(void 0,e.defaultSetOptions)),[e.cookies,e.defaultSetOptions]);return n.createElement(s,{value:o},e.children)},e.useCookies=function(e,t){const r=o.useContext(i);if(!r)throw new Error("Missing <CookiesProvider>");const n=Object.assign(Object.assign({},{doNotUpdate:!0}),t),[s,c]=o.useState((()=>r.getAll(n)));"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement&&o.useLayoutEffect((()=>{function t(){if(!r)throw new Error("Missing <CookiesProvider>");const t=r.getAll(n);(function(e,t,o){if(!e)return!0;for(let r of e)if(t[r]!==o[r])return!0;return!1})(e||null,t,s)&&c(t)}return r.addChangeListener(t),()=>{r.removeChangeListener(t)}}),[r,s]);const a=o.useMemo((()=>r.set.bind(r)),[r]),f=o.useMemo((()=>r.remove.bind(r)),[r]),u=o.useMemo((()=>r.update.bind(r)),[r]);return[s,a,f,u]},e.withCookies=function(e){const t=e.displayName||e.name;class o extends n.Component{constructor(){super(...arguments),this.onChange=()=>{this.forceUpdate()}}listen(){this.props.cookies.addChangeListener(this.onChange)}unlisten(e){(e||this.props.cookies).removeChangeListener(this.onChange)}componentDidMount(){this.listen()}componentDidUpdate(e){e.cookies!==this.props.cookies&&(this.unlisten(e.cookies),this.listen())}componentWillUnmount(){this.unlisten()}render(){const t=this.props,{forwardedRef:o,cookies:r}=t,i=function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(o[r[n]]=e[r[n]])}return o}(t,["forwardedRef","cookies"]),s=r.getAll({doNotUpdate:!0});return n.createElement(e,Object.assign({},i,{ref:o,cookies:r,allCookies:s}))}}o.displayName=`withCookies(${t})`,o.WrappedComponent=e;const r=n.forwardRef(((e,t)=>n.createElement(c,null,(r=>n.createElement(o,Object.assign({cookies:r},e,{forwardedRef:t}))))));return r.displayName=o.displayName,r.WrappedComponent=o.WrappedComponent,g(r,e)}}));