Cookies
Combinators
Signature
declare const get: {
(name: string): (self: Cookies) => Option<Cookie>;
(self: Cookies, name: string): Option<Cookie>;
};Get a cookie from a Cookies object
Signature
declare const getValue: {
(name: string): (self: Cookies) => Option<string>;
(self: Cookies, name: string): Option<string>;
};Combine two Cookies objects, removing duplicates from the first
Signature
declare const merge: {
(that: Cookies): (self: Cookies) => Cookies;
(self: Cookies, that: Cookies): Cookies;
};Remove a cookie by name
Signature
declare const remove: {
(name: string): (self: Cookies) => Cookies;
(self: Cookies, name: string): Cookies;
};Add a cookie to a Cookies object
Signature
declare const set: {
(
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): (self: Cookies) => Either<Cookies, CookiesError>;
(
self: Cookies,
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): Either<Cookies, CookiesError>;
};Add multiple cookies to a Cookies object
Signature
declare const setAll: {
(
cookies: Iterable<
readonly [
string,
string,
(
| {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
}
| undefined
),
]
>,
): (self: Cookies) => Either<Cookies, CookiesError>;
(
self: Cookies,
cookies: Iterable<
readonly [
string,
string,
(
| {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
}
| undefined
),
]
>,
): Either<Cookies, CookiesError>;
};setAllCookie
Add multiple cookies to a Cookies object
Signature
declare const setAllCookie: {
(cookies: Iterable<Cookie>): (self: Cookies) => Cookies;
(self: Cookies, cookies: Iterable<Cookie>): Cookies;
};Add a cookie to a Cookies object
Signature
declare const setCookie: {
(cookie: Cookie): (self: Cookies) => Cookies;
(self: Cookies, cookie: Cookie): Cookies;
};Add a cookie to a Cookies object
Signature
declare const unsafeSet: {
(
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): (self: Cookies) => Cookies;
(
self: Cookies,
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): Cookies;
};unsafeSetAll
Add multiple cookies to a Cookies object, throwing an error if invalid
Signature
declare const unsafeSetAll: {
(
cookies: Iterable<
readonly [
string,
string,
(
| {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
}
| undefined
),
]
>,
): (self: Cookies) => Cookies;
(
self: Cookies,
cookies: Iterable<
readonly [
string,
string,
(
| {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: Duration.DurationInput;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
}
| undefined
),
]
>,
): Cookies;
};Constructors
An empty Cookies object
Signature
declare const empty: Cookies;fromIterable
Create a Cookies object from an Iterable
Signature
declare function fromIterable(cookies: Iterable<Cookie>): Cookies;fromReadonlyRecord
Create a Cookies object from an Iterable
Signature
declare function fromReadonlyRecord(cookies: Record.ReadonlyRecord<string, Cookie>): Cookies;fromSetCookie
Create a Cookies object from a set of Set-Cookie headers
Signature
declare function fromSetCookie(headers: string | Iterable<string, any, any>): Cookies;makeCookie
Create a new cookie
Signature
declare function makeCookie(
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: any;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): Either<Cookie, CookiesError>;unsafeMakeCookie
Create a new cookie, throwing an error if invalid
Signature
declare function unsafeMakeCookie(
name: string,
value: string,
options?: {
readonly domain?: string;
readonly expires?: Date;
readonly httpOnly?: boolean;
readonly maxAge?: any;
readonly partitioned?: boolean;
readonly path?: string;
readonly priority?: "low" | "medium" | "high";
readonly sameSite?: "lax" | "strict" | "none";
readonly secure?: boolean;
},
): Cookie;Decoding
parseHeader
Parse a cookie header into a record of key-value pairs
Adapted from https://github.com/fastify/fastify-cookie under MIT License
Signature
declare function parseHeader(header: string): Record<string, string>;Encoding
serializeCookie
Serialize a cookie into a string
Adapted from https://github.com/fastify/fastify-cookie under MIT License
Signature
declare function serializeCookie(self: Cookie): string;toCookieHeader
Serialize a Cookies object into a Cookie header
Signature
declare function toCookieHeader(self: Cookies): string;To record
Signature
declare function toRecord(self: Cookies): Record<string, string>;toSetCookieHeaders
Serialize a Cookies object into Headers object containing one or more Set-Cookie headers
Signature
declare function toSetCookieHeaders(self: Cookies): Array<string>;Errors
CookiesError
Signature
declare class CookiesError extends YieldableError<this> & Record<typeof ErrorTypeId, typeof ErrorTypeId> & {
readonly _tag: "CookieError";
} & Readonly<{
readonly reason: "InvalidName" | "InvalidValue" | "InvalidDomain" | "InvalidPath" | "InfinityMaxAge";
}> {
constructor(args: {
readonly reason: "InvalidName" | "InvalidValue" | "InvalidDomain" | "InvalidPath" | "InfinityMaxAge";
});
message: "InvalidName" | "InvalidValue" | "InvalidDomain" | "InvalidPath" | "InfinityMaxAge";
}Models
Refinements
Type Ids
CookieTypeId
Signature
declare const CookieTypeId: unique symbol;CookieTypeId type
Signature
type CookieTypeId = typeof CookieTypeId;ErrorTypeId
Signature
declare const ErrorTypeId: unique symbol;ErrorTypeId type
Signature
type ErrorTypeId = typeof ErrorTypeId;Signature
declare const TypeId: unique symbol;Signature
type TypeId = typeof TypeId;
Get a cookie from a Cookies object