UNPKG

@darwish/hooks-core

Version:

32 lines (31 loc) 1.27 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var js_cookie_1 = __importDefault(require("js-cookie")); /** * @description A hook to get, set and delete cookie * @param cookieName cookie name * @returns UseCookieOutput A tuple with three elements * @property UseCookieOutput[0] cookie value * @property UseCookieOutput[1] updateCookie * @property UseCookieOutput[2] deleteCookie * @example * updateCookie('cookieValue'); * deleteCookie(); */ function useCookie(cookieName) { var _a = (0, react_1.useState)(function () { return js_cookie_1.default.get(cookieName) || null; }), cookieValue = _a[0], setCookieValue = _a[1]; var updateCookie = (0, react_1.useCallback)(function (value, option) { js_cookie_1.default.set(cookieName, value, option); setCookieValue(value); }, [cookieName]); var deleteCookie = (0, react_1.useCallback)(function () { js_cookie_1.default.remove(cookieName); setCookieValue(null); }, [cookieName]); return [cookieValue, updateCookie, deleteCookie]; } exports.default = useCookie;