next-client-cookies
Version:
SSR and client support for Next.js v13 cookies (app directory)
32 lines • 904 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
import { useContext, useMemo, useState } from "react";
import jsCookies from "js-cookie";
import { Ctx } from "./context";
const useCookies = /* @__PURE__ */ __name(() => {
const ctx = useContext(Ctx);
const [, refresh] = useState(0);
return useMemo(() => {
const org = typeof window === "undefined" ? ctx : jsCookies;
if (!org) {
throw new Error('Missing `<CookiesProvider>` from "next-client-cookies/server"');
}
return {
get: org.get.bind(org),
set: (...args) => {
org.set(...args);
refresh((v) => v + 1);
},
remove: (...args) => {
org.remove(...args);
refresh((v) => v + 1);
}
};
}, [
ctx
]);
}, "useCookies");
export {
useCookies
};
//# sourceMappingURL=hook.mjs.map