Cookies
Combinators
Get a cookie from a Cookies object
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: CookiesfromIterable
Create a Cookies object from an Iterable
Signature
declare function fromIterable(cookies: Iterable<Cookie>): CookiesfromReadonlyRecord
Create a Cookies object from an Iterable
Signature
declare function fromReadonlyRecord(cookies: Record.ReadonlyRecord<string, Cookie>): CookiesfromSetCookie
Create a Cookies object from a set of Set-Cookie headers
Signature
declare function fromSetCookie(headers: string | Iterable<string, any, any>): CookiesmakeCookie
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;}): CookieDecoding
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): stringtoCookieHeader
Serialize a Cookies object into a Cookie header
Signature
declare function toCookieHeader(self: Cookies): stringTo 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 symbolCookieTypeId type
Signature
type CookieTypeId = typeof CookieTypeIdErrorTypeId
Signature
declare const ErrorTypeId: unique symbolErrorTypeId type
Signature
type ErrorTypeId = typeof ErrorTypeIdSignature
declare const TypeId: unique symbolSignature
type TypeId = typeof TypeId