Initial boiler plate project
This commit is contained in:
201
node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts
generated
vendored
Normal file
201
node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
/**
|
||||
* Basic HTTP cookie parser and serializer for HTTP servers.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Additional serialization options
|
||||
*/
|
||||
interface CookieSerializeOptions {
|
||||
/**
|
||||
* Specifies the value for the {@link https://tools.ietf.org/html/rfc6265#section-5.2.3|Domain Set-Cookie attribute}. By default, no
|
||||
* domain is set, and most clients will consider the cookie to apply to only
|
||||
* the current domain.
|
||||
*/
|
||||
domain?: string | undefined;
|
||||
|
||||
/**
|
||||
* Specifies a function that will be used to encode a cookie's value. Since
|
||||
* value of a cookie has a limited character set (and must be a simple
|
||||
* string), this function can be used to encode a value into a string suited
|
||||
* for a cookie's value.
|
||||
*
|
||||
* The default function is the global `encodeURIComponent`, which will
|
||||
* encode a JavaScript string into UTF-8 byte sequences and then URL-encode
|
||||
* any that fall outside of the cookie range.
|
||||
*/
|
||||
encode?(value: string): string;
|
||||
|
||||
/**
|
||||
* Specifies the `Date` object to be the value for the {@link https://tools.ietf.org/html/rfc6265#section-5.2.1|`Expires` `Set-Cookie` attribute}. By default,
|
||||
* no expiration is set, and most clients will consider this a "non-persistent cookie" and will delete
|
||||
* it on a condition like exiting a web browser application.
|
||||
*
|
||||
* *Note* the {@link https://tools.ietf.org/html/rfc6265#section-5.3|cookie storage model specification}
|
||||
* states that if both `expires` and `maxAge` are set, then `maxAge` takes precedence, but it is
|
||||
* possible not all clients by obey this, so if both are set, they should
|
||||
* point to the same date and time.
|
||||
*/
|
||||
expires?: Date | undefined;
|
||||
/**
|
||||
* Specifies the boolean value for the {@link https://tools.ietf.org/html/rfc6265#section-5.2.6|`HttpOnly` `Set-Cookie` attribute}.
|
||||
* When truthy, the `HttpOnly` attribute is set, otherwise it is not. By
|
||||
* default, the `HttpOnly` attribute is not set.
|
||||
*
|
||||
* *Note* be careful when setting this to true, as compliant clients will
|
||||
* not allow client-side JavaScript to see the cookie in `document.cookie`.
|
||||
*/
|
||||
httpOnly?: boolean | undefined;
|
||||
/**
|
||||
* Specifies the number (in seconds) to be the value for the `Max-Age`
|
||||
* `Set-Cookie` attribute. The given number will be converted to an integer
|
||||
* by rounding down. By default, no maximum age is set.
|
||||
*
|
||||
* *Note* the {@link https://tools.ietf.org/html/rfc6265#section-5.3|cookie storage model specification}
|
||||
* states that if both `expires` and `maxAge` are set, then `maxAge` takes precedence, but it is
|
||||
* possible not all clients by obey this, so if both are set, they should
|
||||
* point to the same date and time.
|
||||
*/
|
||||
maxAge?: number | undefined;
|
||||
/**
|
||||
* Specifies the `boolean` value for the [`Partitioned` `Set-Cookie`](rfc-cutler-httpbis-partitioned-cookies)
|
||||
* attribute. When truthy, the `Partitioned` attribute is set, otherwise it is not. By default, the
|
||||
* `Partitioned` attribute is not set.
|
||||
*
|
||||
* **note** This is an attribute that has not yet been fully standardized, and may change in the future.
|
||||
* This also means many clients may ignore this attribute until they understand it.
|
||||
*
|
||||
* More information about can be found in [the proposal](https://github.com/privacycg/CHIPS)
|
||||
*/
|
||||
partitioned?: boolean | undefined;
|
||||
/**
|
||||
* Specifies the value for the {@link https://tools.ietf.org/html/rfc6265#section-5.2.4|`Path` `Set-Cookie` attribute}.
|
||||
* By default, the path is considered the "default path".
|
||||
*/
|
||||
path?: string | undefined;
|
||||
/**
|
||||
* Specifies the `string` to be the value for the [`Priority` `Set-Cookie` attribute][rfc-west-cookie-priority-00-4.1].
|
||||
*
|
||||
* - `'low'` will set the `Priority` attribute to `Low`.
|
||||
* - `'medium'` will set the `Priority` attribute to `Medium`, the default priority when not set.
|
||||
* - `'high'` will set the `Priority` attribute to `High`.
|
||||
*
|
||||
* More information about the different priority levels can be found in
|
||||
* [the specification][rfc-west-cookie-priority-00-4.1].
|
||||
*
|
||||
* **note** This is an attribute that has not yet been fully standardized, and may change in the future.
|
||||
* This also means many clients may ignore this attribute until they understand it.
|
||||
*/
|
||||
priority?: "low" | "medium" | "high" | undefined;
|
||||
/**
|
||||
* Specifies the boolean or string to be the value for the {@link https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7|`SameSite` `Set-Cookie` attribute}.
|
||||
*
|
||||
* - `true` will set the `SameSite` attribute to `Strict` for strict same
|
||||
* site enforcement.
|
||||
* - `false` will not set the `SameSite` attribute.
|
||||
* - `'lax'` will set the `SameSite` attribute to Lax for lax same site
|
||||
* enforcement.
|
||||
* - `'strict'` will set the `SameSite` attribute to Strict for strict same
|
||||
* site enforcement.
|
||||
* - `'none'` will set the SameSite attribute to None for an explicit
|
||||
* cross-site cookie.
|
||||
*
|
||||
* More information about the different enforcement levels can be found in {@link https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7|the specification}.
|
||||
*
|
||||
* *note* This is an attribute that has not yet been fully standardized, and may change in the future. This also means many clients may ignore this attribute until they understand it.
|
||||
*/
|
||||
sameSite?: true | false | "lax" | "strict" | "none" | undefined;
|
||||
/**
|
||||
* Specifies the boolean value for the {@link https://tools.ietf.org/html/rfc6265#section-5.2.5|`Secure` `Set-Cookie` attribute}. When truthy, the
|
||||
* `Secure` attribute is set, otherwise it is not. By default, the `Secure` attribute is not set.
|
||||
*
|
||||
* *Note* be careful when setting this to `true`, as compliant clients will
|
||||
* not send the cookie back to the server in the future if the browser does
|
||||
* not have an HTTPS connection.
|
||||
*/
|
||||
secure?: boolean | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#dictdef-cookielistitem CookieListItem}
|
||||
* as specified by W3C.
|
||||
*/
|
||||
interface CookieListItem extends Pick<CookieSerializeOptions, 'domain' | 'path' | 'secure' | 'sameSite' | 'partitioned'> {
|
||||
/** A string with the name of a cookie. */
|
||||
name: string;
|
||||
/** A string containing the value of the cookie. */
|
||||
value: string;
|
||||
/** A number of milliseconds or Date interface containing the expires of the cookie. */
|
||||
expires?: number | CookieSerializeOptions['expires'];
|
||||
}
|
||||
/**
|
||||
* Superset of {@link CookieListItem} extending it with
|
||||
* the `httpOnly`, `maxAge` and `priority` properties.
|
||||
*/
|
||||
type ResponseCookie = CookieListItem & Pick<CookieSerializeOptions, 'httpOnly' | 'maxAge' | 'priority'>;
|
||||
/**
|
||||
* Subset of {@link CookieListItem}, only containing `name` and `value`
|
||||
* since other cookie attributes aren't be available on a `Request`.
|
||||
*/
|
||||
type RequestCookie = Pick<CookieListItem, 'name' | 'value'>;
|
||||
|
||||
/**
|
||||
* A class for manipulating {@link Request} cookies (`Cookie` header).
|
||||
*/
|
||||
declare class RequestCookies {
|
||||
constructor(requestHeaders: Headers);
|
||||
[Symbol.iterator](): IterableIterator<[string, RequestCookie]>;
|
||||
/**
|
||||
* The amount of cookies received from the client
|
||||
*/
|
||||
get size(): number;
|
||||
get(...args: [name: string] | [RequestCookie]): RequestCookie | undefined;
|
||||
getAll(...args: [name: string] | [RequestCookie] | []): RequestCookie[];
|
||||
has(name: string): boolean;
|
||||
set(...args: [key: string, value: string] | [options: RequestCookie]): this;
|
||||
/**
|
||||
* Delete the cookies matching the passed name or names in the request.
|
||||
*/
|
||||
delete(
|
||||
/** Name or names of the cookies to be deleted */
|
||||
names: string | string[]): boolean | boolean[];
|
||||
/**
|
||||
* Delete all the cookies in the cookies in the request.
|
||||
*/
|
||||
clear(): this;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
/**
|
||||
* A class for manipulating {@link Response} cookies (`Set-Cookie` header).
|
||||
* Loose implementation of the experimental [Cookie Store API](https://wicg.github.io/cookie-store/#dictdef-cookie)
|
||||
* The main difference is `ResponseCookies` methods do not return a Promise.
|
||||
*/
|
||||
declare class ResponseCookies {
|
||||
constructor(responseHeaders: Headers);
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.
|
||||
*/
|
||||
get(...args: [key: string] | [options: ResponseCookie]): ResponseCookie | undefined;
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.
|
||||
*/
|
||||
getAll(...args: [key: string] | [options: ResponseCookie] | []): ResponseCookie[];
|
||||
has(name: string): boolean;
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.
|
||||
*/
|
||||
set(...args: [key: string, value: string, cookie?: Partial<ResponseCookie>] | [options: ResponseCookie]): this;
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.
|
||||
*/
|
||||
delete(...args: [key: string] | [options: Omit<ResponseCookie, 'value' | 'expires'>]): this;
|
||||
toString(): string;
|
||||
}
|
||||
|
||||
declare function stringifyCookie(c: ResponseCookie | RequestCookie): string;
|
||||
/** Parse a `Cookie` header value */
|
||||
declare function parseCookie(cookie: string): Map<string, string>;
|
||||
/** Parse a `Set-Cookie` header value */
|
||||
declare function parseSetCookie(setCookie: string): undefined | ResponseCookie;
|
||||
|
||||
export { type CookieListItem, type RequestCookie, RequestCookies, type ResponseCookie, ResponseCookies, parseCookie, parseSetCookie, stringifyCookie };
|
||||
336
node_modules/next/dist/compiled/@edge-runtime/cookies/index.js
generated
vendored
Normal file
336
node_modules/next/dist/compiled/@edge-runtime/cookies/index.js
generated
vendored
Normal file
@ -0,0 +1,336 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var src_exports = {};
|
||||
__export(src_exports, {
|
||||
RequestCookies: () => RequestCookies,
|
||||
ResponseCookies: () => ResponseCookies,
|
||||
parseCookie: () => parseCookie,
|
||||
parseSetCookie: () => parseSetCookie,
|
||||
stringifyCookie: () => stringifyCookie
|
||||
});
|
||||
module.exports = __toCommonJS(src_exports);
|
||||
|
||||
// src/serialize.ts
|
||||
function stringifyCookie(c) {
|
||||
var _a;
|
||||
const attrs = [
|
||||
"path" in c && c.path && `Path=${c.path}`,
|
||||
"expires" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === "number" ? new Date(c.expires) : c.expires).toUTCString()}`,
|
||||
"maxAge" in c && typeof c.maxAge === "number" && `Max-Age=${c.maxAge}`,
|
||||
"domain" in c && c.domain && `Domain=${c.domain}`,
|
||||
"secure" in c && c.secure && "Secure",
|
||||
"httpOnly" in c && c.httpOnly && "HttpOnly",
|
||||
"sameSite" in c && c.sameSite && `SameSite=${c.sameSite}`,
|
||||
"partitioned" in c && c.partitioned && "Partitioned",
|
||||
"priority" in c && c.priority && `Priority=${c.priority}`
|
||||
].filter(Boolean);
|
||||
const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}`;
|
||||
return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join("; ")}`;
|
||||
}
|
||||
function parseCookie(cookie) {
|
||||
const map = /* @__PURE__ */ new Map();
|
||||
for (const pair of cookie.split(/; */)) {
|
||||
if (!pair)
|
||||
continue;
|
||||
const splitAt = pair.indexOf("=");
|
||||
if (splitAt === -1) {
|
||||
map.set(pair, "true");
|
||||
continue;
|
||||
}
|
||||
const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];
|
||||
try {
|
||||
map.set(key, decodeURIComponent(value != null ? value : "true"));
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
function parseSetCookie(setCookie) {
|
||||
if (!setCookie) {
|
||||
return void 0;
|
||||
}
|
||||
const [[name, value], ...attributes] = parseCookie(setCookie);
|
||||
const {
|
||||
domain,
|
||||
expires,
|
||||
httponly,
|
||||
maxage,
|
||||
path,
|
||||
samesite,
|
||||
secure,
|
||||
partitioned,
|
||||
priority
|
||||
} = Object.fromEntries(
|
||||
attributes.map(([key, value2]) => [key.toLowerCase(), value2])
|
||||
);
|
||||
const cookie = {
|
||||
name,
|
||||
value: decodeURIComponent(value),
|
||||
domain,
|
||||
...expires && { expires: new Date(expires) },
|
||||
...httponly && { httpOnly: true },
|
||||
...typeof maxage === "string" && { maxAge: Number(maxage) },
|
||||
path,
|
||||
...samesite && { sameSite: parseSameSite(samesite) },
|
||||
...secure && { secure: true },
|
||||
...priority && { priority: parsePriority(priority) },
|
||||
...partitioned && { partitioned: true }
|
||||
};
|
||||
return compact(cookie);
|
||||
}
|
||||
function compact(t) {
|
||||
const newT = {};
|
||||
for (const key in t) {
|
||||
if (t[key]) {
|
||||
newT[key] = t[key];
|
||||
}
|
||||
}
|
||||
return newT;
|
||||
}
|
||||
var SAME_SITE = ["strict", "lax", "none"];
|
||||
function parseSameSite(string) {
|
||||
string = string.toLowerCase();
|
||||
return SAME_SITE.includes(string) ? string : void 0;
|
||||
}
|
||||
var PRIORITY = ["low", "medium", "high"];
|
||||
function parsePriority(string) {
|
||||
string = string.toLowerCase();
|
||||
return PRIORITY.includes(string) ? string : void 0;
|
||||
}
|
||||
function splitCookiesString(cookiesString) {
|
||||
if (!cookiesString)
|
||||
return [];
|
||||
var cookiesStrings = [];
|
||||
var pos = 0;
|
||||
var start;
|
||||
var ch;
|
||||
var lastComma;
|
||||
var nextStart;
|
||||
var cookiesSeparatorFound;
|
||||
function skipWhitespace() {
|
||||
while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) {
|
||||
pos += 1;
|
||||
}
|
||||
return pos < cookiesString.length;
|
||||
}
|
||||
function notSpecialChar() {
|
||||
ch = cookiesString.charAt(pos);
|
||||
return ch !== "=" && ch !== ";" && ch !== ",";
|
||||
}
|
||||
while (pos < cookiesString.length) {
|
||||
start = pos;
|
||||
cookiesSeparatorFound = false;
|
||||
while (skipWhitespace()) {
|
||||
ch = cookiesString.charAt(pos);
|
||||
if (ch === ",") {
|
||||
lastComma = pos;
|
||||
pos += 1;
|
||||
skipWhitespace();
|
||||
nextStart = pos;
|
||||
while (pos < cookiesString.length && notSpecialChar()) {
|
||||
pos += 1;
|
||||
}
|
||||
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
|
||||
cookiesSeparatorFound = true;
|
||||
pos = nextStart;
|
||||
cookiesStrings.push(cookiesString.substring(start, lastComma));
|
||||
start = pos;
|
||||
} else {
|
||||
pos = lastComma + 1;
|
||||
}
|
||||
} else {
|
||||
pos += 1;
|
||||
}
|
||||
}
|
||||
if (!cookiesSeparatorFound || pos >= cookiesString.length) {
|
||||
cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
|
||||
}
|
||||
}
|
||||
return cookiesStrings;
|
||||
}
|
||||
|
||||
// src/request-cookies.ts
|
||||
var RequestCookies = class {
|
||||
constructor(requestHeaders) {
|
||||
/** @internal */
|
||||
this._parsed = /* @__PURE__ */ new Map();
|
||||
this._headers = requestHeaders;
|
||||
const header = requestHeaders.get("cookie");
|
||||
if (header) {
|
||||
const parsed = parseCookie(header);
|
||||
for (const [name, value] of parsed) {
|
||||
this._parsed.set(name, { name, value });
|
||||
}
|
||||
}
|
||||
}
|
||||
[Symbol.iterator]() {
|
||||
return this._parsed[Symbol.iterator]();
|
||||
}
|
||||
/**
|
||||
* The amount of cookies received from the client
|
||||
*/
|
||||
get size() {
|
||||
return this._parsed.size;
|
||||
}
|
||||
get(...args) {
|
||||
const name = typeof args[0] === "string" ? args[0] : args[0].name;
|
||||
return this._parsed.get(name);
|
||||
}
|
||||
getAll(...args) {
|
||||
var _a;
|
||||
const all = Array.from(this._parsed);
|
||||
if (!args.length) {
|
||||
return all.map(([_, value]) => value);
|
||||
}
|
||||
const name = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
|
||||
return all.filter(([n]) => n === name).map(([_, value]) => value);
|
||||
}
|
||||
has(name) {
|
||||
return this._parsed.has(name);
|
||||
}
|
||||
set(...args) {
|
||||
const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;
|
||||
const map = this._parsed;
|
||||
map.set(name, { name, value });
|
||||
this._headers.set(
|
||||
"cookie",
|
||||
Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join("; ")
|
||||
);
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Delete the cookies matching the passed name or names in the request.
|
||||
*/
|
||||
delete(names) {
|
||||
const map = this._parsed;
|
||||
const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));
|
||||
this._headers.set(
|
||||
"cookie",
|
||||
Array.from(map).map(([_, value]) => stringifyCookie(value)).join("; ")
|
||||
);
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* Delete all the cookies in the cookies in the request.
|
||||
*/
|
||||
clear() {
|
||||
this.delete(Array.from(this._parsed.keys()));
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Format the cookies in the request as a string for logging
|
||||
*/
|
||||
[Symbol.for("edge-runtime.inspect.custom")]() {
|
||||
return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
|
||||
}
|
||||
toString() {
|
||||
return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join("; ");
|
||||
}
|
||||
};
|
||||
|
||||
// src/response-cookies.ts
|
||||
var ResponseCookies = class {
|
||||
constructor(responseHeaders) {
|
||||
/** @internal */
|
||||
this._parsed = /* @__PURE__ */ new Map();
|
||||
var _a, _b, _c;
|
||||
this._headers = responseHeaders;
|
||||
const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get("set-cookie")) != null ? _c : [];
|
||||
const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);
|
||||
for (const cookieString of cookieStrings) {
|
||||
const parsed = parseSetCookie(cookieString);
|
||||
if (parsed)
|
||||
this._parsed.set(parsed.name, parsed);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.
|
||||
*/
|
||||
get(...args) {
|
||||
const key = typeof args[0] === "string" ? args[0] : args[0].name;
|
||||
return this._parsed.get(key);
|
||||
}
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.
|
||||
*/
|
||||
getAll(...args) {
|
||||
var _a;
|
||||
const all = Array.from(this._parsed.values());
|
||||
if (!args.length) {
|
||||
return all;
|
||||
}
|
||||
const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
|
||||
return all.filter((c) => c.name === key);
|
||||
}
|
||||
has(name) {
|
||||
return this._parsed.has(name);
|
||||
}
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.
|
||||
*/
|
||||
set(...args) {
|
||||
const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;
|
||||
const map = this._parsed;
|
||||
map.set(name, normalizeCookie({ name, value, ...cookie }));
|
||||
replace(map, this._headers);
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.
|
||||
*/
|
||||
delete(...args) {
|
||||
const [name, path, domain] = typeof args[0] === "string" ? [args[0]] : [args[0].name, args[0].path, args[0].domain];
|
||||
return this.set({ name, path, domain, value: "", expires: /* @__PURE__ */ new Date(0) });
|
||||
}
|
||||
[Symbol.for("edge-runtime.inspect.custom")]() {
|
||||
return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
|
||||
}
|
||||
toString() {
|
||||
return [...this._parsed.values()].map(stringifyCookie).join("; ");
|
||||
}
|
||||
};
|
||||
function replace(bag, headers) {
|
||||
headers.delete("set-cookie");
|
||||
for (const [, value] of bag) {
|
||||
const serialized = stringifyCookie(value);
|
||||
headers.append("set-cookie", serialized);
|
||||
}
|
||||
}
|
||||
function normalizeCookie(cookie = { name: "", value: "" }) {
|
||||
if (typeof cookie.expires === "number") {
|
||||
cookie.expires = new Date(cookie.expires);
|
||||
}
|
||||
if (cookie.maxAge) {
|
||||
cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);
|
||||
}
|
||||
if (cookie.path === null || cookie.path === void 0) {
|
||||
cookie.path = "/";
|
||||
}
|
||||
return cookie;
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
RequestCookies,
|
||||
ResponseCookies,
|
||||
parseCookie,
|
||||
parseSetCookie,
|
||||
stringifyCookie
|
||||
});
|
||||
1
node_modules/next/dist/compiled/@edge-runtime/cookies/package.json
generated
vendored
Normal file
1
node_modules/next/dist/compiled/@edge-runtime/cookies/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"name":"@edge-runtime/cookies","version":"5.0.0","main":"./index.js","license":"MIT"}
|
||||
Reference in New Issue
Block a user