next-client-cookies
Version:
SSR and client support for Next.js v13 cookies (app directory)
41 lines • 1.5 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
import { cookies } from "next/headers";
import React from "react";
import { SecureCookiesProvider } from "./provider";
import { storeSecureCookies } from "./secure";
const CookiesProvider = /* @__PURE__ */ __name(async ({ children }) => {
const cookiesSync = await cookies();
const secretValue = cookiesSync.getAll();
return /* @__PURE__ */ React.createElement(SecureCookiesProvider, {
value: storeSecureCookies(secretValue)
}, children);
}, "CookiesProvider");
const getCookies = /* @__PURE__ */ __name(async () => {
const org = await cookies();
return {
get: (name) => name == null ? Object.fromEntries(org.getAll().map((c) => [
c.name,
c.value
])) : org.get(name)?.value,
set: (name, value, options) => {
const pre = org.get(name)?.value;
org.set(name, value, options && convertCookieAttributes(options));
return pre;
},
remove: (name) => org.delete(name),
toString: () => org.toString()
};
}, "getCookies");
const convertCookieAttributes = /* @__PURE__ */ __name((options) => ({
expires: typeof options.expires === "number" ? options.expires * 864e5 : options.expires,
path: options.path,
domain: options.domain,
secure: options.secure,
sameSite: options.sameSite?.toLowerCase()
}), "convertCookieAttributes");
export {
CookiesProvider,
getCookies
};
//# sourceMappingURL=server.mjs.map