@sophat/cookies
Version:
This project provides a set of utility functions for interacting with browser cookies. The `Cookies` class offers methods to set, get, update, remove, and clear cookies, as well as retrieve all cookie keys.
47 lines (46 loc) • 1.22 kB
JavaScript
import Cookies from "../cookie";
/**
* Custom hook for managing cookies in a React application.
* @returns An object containing methods to manipulate cookies:
* - `setCookie`: Sets a cookie with the specified name, value, and options
* - `getCookie`: Retrieves a cookie value by name
* - `removeCookie`: Removes a cookie by name
* - `getKeys`: Gets an array of all cookie names
*
* @example
* ```typescript
* const { setCookie, getCookie, removeCookie, getKeys } = useCookie();
*
* // Set a cookie
* setCookie('user', 'john', { expires: 7 });
*
* // Get a cookie
* const value = getCookie('user');
*
* // Remove a cookie
* removeCookie('user');
*
* // Get all cookie names
* const cookieNames = getKeys();
* ```
*/
export const useCookie = () => {
const setCookie = (name, value, options) => {
Cookies.setItem(name, value, options);
};
const getCookie = (name) => {
return Cookies.getItem(name);
};
const removeCookie = (name, options) => {
Cookies.removeItem(name, options);
};
const getKeys = () => {
return Cookies.getKeys();
};
return {
getCookie,
setCookie,
removeCookie,
getKeys
};
};