UNPKG

cookies-next

Version:

Set, Get, Remove cookies on both client and server side with Next.js

108 lines (107 loc) 4.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRevalidateCookiesState = exports.useReactiveHasCookie = exports.useReactiveDeleteCookie = exports.useReactiveSetCookie = exports.useReactiveGetCookie = exports.useReactiveGetCookies = exports.useReactiveCookiesNext = exports.useCookiesNext = exports.useHasCookie = exports.useDeleteCookie = exports.useSetCookie = exports.useGetCookie = exports.useGetCookies = exports.useCookiesPolling = void 0; var context_1 = require("./context"); var react_1 = require("react"); var cookie_functions_1 = require("./cookie-functions"); var useWrappedCookieFn = function (cookieFnCb) { var _a = (0, react_1.useState)(false), isMounted = _a[0], setIsMounted = _a[1]; (0, react_1.useEffect)(function () { setIsMounted(true); }, []); return isMounted ? cookieFnCb : (function () { }); }; var useCookieContext = function () { var context = (0, react_1.useContext)(context_1.CookieContext); if (!context) { throw new Error('useCookieContext must be used within a CookieProvider'); } return context; }; var useCookiesPolling = function (onChange, pollingOptions) { var _a = pollingOptions || {}, _b = _a.intervalMs, intervalMs = _b === void 0 ? 1000 : _b, _c = _a.enabled, enabled = _c === void 0 ? false : _c; (0, react_1.useEffect)(function () { if (!enabled) { return; } var previousCookies = (0, cookie_functions_1.getCookies)(); var interval = setInterval(function () { (0, cookie_functions_1.revalidateCookies)(onChange, previousCookies); }, intervalMs); return function () { return clearInterval(interval); }; }, [onChange, intervalMs]); }; exports.useCookiesPolling = useCookiesPolling; var useGetCookies = function () { return useWrappedCookieFn(cookie_functions_1.getCookies); }; exports.useGetCookies = useGetCookies; var useGetCookie = function () { return useWrappedCookieFn(cookie_functions_1.getCookie); }; exports.useGetCookie = useGetCookie; var useHasCookie = function () { return useWrappedCookieFn(cookie_functions_1.hasCookie); }; exports.useHasCookie = useHasCookie; var useSetCookie = function () { return useWrappedCookieFn(cookie_functions_1.setCookie); }; exports.useSetCookie = useSetCookie; var useDeleteCookie = function () { return useWrappedCookieFn(cookie_functions_1.deleteCookie); }; exports.useDeleteCookie = useDeleteCookie; var useCookiesNext = function () { return { getCookies: useGetCookies(), getCookie: useGetCookie(), hasCookie: useHasCookie(), setCookie: useSetCookie(), deleteCookie: useDeleteCookie(), }; }; exports.useCookiesNext = useCookiesNext; var useReactiveGetCookies = function () { var context = useCookieContext(); return function (_options) { return context === null || context === void 0 ? void 0 : context.getAll(); }; }; exports.useReactiveGetCookies = useReactiveGetCookies; var useReactiveGetCookie = function () { var context = useCookieContext(); return function (key, _options) { return context === null || context === void 0 ? void 0 : context.get(key); }; }; exports.useReactiveGetCookie = useReactiveGetCookie; var useReactiveSetCookie = function () { var context = useCookieContext(); return function (key, data, _options) { context === null || context === void 0 ? void 0 : context.set(key, data); return (0, cookie_functions_1.setCookie)(key, data); }; }; exports.useReactiveSetCookie = useReactiveSetCookie; var useReactiveDeleteCookie = function () { var context = useCookieContext(); return function (key, _options) { context === null || context === void 0 ? void 0 : context.delete(key); return (0, cookie_functions_1.deleteCookie)(key); }; }; exports.useReactiveDeleteCookie = useReactiveDeleteCookie; var useReactiveHasCookie = function () { var context = useCookieContext(); return function (key, _options) { return context === null || context === void 0 ? void 0 : context.has(key); }; }; exports.useReactiveHasCookie = useReactiveHasCookie; var useRevalidateCookiesState = function () { var context = useCookieContext(); return function () { context === null || context === void 0 ? void 0 : context.revalidateCookiesState(); }; }; exports.useRevalidateCookiesState = useRevalidateCookiesState; var useReactiveCookiesNext = function () { return { getCookies: useReactiveGetCookies(), getCookie: useReactiveGetCookie(), hasCookie: useReactiveHasCookie(), setCookie: useReactiveSetCookie(), deleteCookie: useReactiveDeleteCookie(), revalidateCookiesState: useRevalidateCookiesState(), }; }; exports.useReactiveCookiesNext = useReactiveCookiesNext;