| /** | |
| * Models HTTP cookies and cookie collections for requests and responses. | |
| * | |
| * A `Cookie` stores a name, value, encoded value, and standard cookie | |
| * attributes. A `Cookies` value is an immutable collection keyed by cookie | |
| * name. This module parses request `Cookie` headers, builds response | |
| * `Set-Cookie` headers, and provides helpers for adding, removing, merging, and | |
| * expiring cookies. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| import * as Data from "../../Data.ts"; | |
| import * as Duration from "../../Duration.ts"; | |
| import * as Inspectable from "../../Inspectable.ts"; | |
| import * as Option from "../../Option.ts"; | |
| import { type Pipeable } from "../../Pipeable.ts"; | |
| import * as Record from "../../Record.ts"; | |
| import * as Result from "../../Result.ts"; | |
| import * as Schema from "../../Schema.ts"; | |
| import type * as Types from "../../Types.ts"; | |
| declare const TypeId = "~effect/http/Cookies"; | |
| /** | |
| * Returns `true` when a value is a `Cookies` collection. | |
| * | |
| * @category refinements | |
| * @since 4.0.0 | |
| */ | |
| export declare const isCookies: (u: unknown) => u is Cookies; | |
| /** | |
| * Immutable collection of HTTP cookies keyed by cookie name. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface Cookies extends Pipeable, Inspectable.Inspectable { | |
| readonly [TypeId]: typeof TypeId; | |
| readonly cookies: Record.ReadonlyRecord<string, Cookie>; | |
| } | |
| /** | |
| * Schema interface for validating and encoding `Cookies` collections. | |
| * | |
| * @category schemas | |
| * @since 4.0.0 | |
| */ | |
| export interface CookiesSchema extends Schema.declare<Cookies, Record.ReadonlyRecord<string, Cookie>> { | |
| } | |
| /** | |
| * Schema for `Cookies` collections. | |
| * | |
| * **Details** | |
| * | |
| * JSON encoding uses `Set-Cookie` header strings, while isomorphic encoding uses | |
| * a readonly record of cookie values. | |
| * | |
| * @category schemas | |
| * @since 4.0.0 | |
| */ | |
| export declare const CookiesSchema: CookiesSchema; | |
| declare const CookieTypeId = "~effect/http/Cookies/Cookie"; | |
| /** | |
| * HTTP cookie value with its decoded value, encoded value, and optional cookie | |
| * attributes such as domain, path, expiration, security, and same-site settings. | |
| * | |
| * @category cookies | |
| * @since 4.0.0 | |
| */ | |
| export interface Cookie extends Inspectable.Inspectable { | |
| readonly [CookieTypeId]: typeof CookieTypeId; | |
| readonly name: string; | |
| readonly value: string; | |
| readonly valueEncoded: string; | |
| readonly options?: { | |
| readonly domain?: string | undefined; | |
| readonly expires?: Date | undefined; | |
| readonly maxAge?: Duration.Input | undefined; | |
| readonly path?: string | undefined; | |
| readonly priority?: "low" | "medium" | "high" | undefined; | |
| readonly httpOnly?: boolean | undefined; | |
| readonly secure?: boolean | undefined; | |
| readonly partitioned?: boolean | undefined; | |
| readonly sameSite?: "lax" | "strict" | "none" | undefined; | |
| } | undefined; | |
| } | |
| /** | |
| * Returns `true` when a value is a `Cookie`. | |
| * | |
| * @category guards | |
| * @since 4.0.0 | |
| */ | |
| export declare const isCookie: (u: unknown) => u is Cookie; | |
| /** | |
| * Schema interface for validating `Cookie` values. | |
| * | |
| * @category schemas | |
| * @since 4.0.0 | |
| */ | |
| export interface CookieSchema extends Schema.declare<Cookie> { | |
| } | |
| /** | |
| * Schema for `Cookie` values. | |
| * | |
| * @category schemas | |
| * @since 4.0.0 | |
| */ | |
| export declare const CookieSchema: CookieSchema; | |
| declare const CookieErrorTypeId = "~effect/http/Cookies/CookieError"; | |
| /** | |
| * Error reason describing why cookie construction failed, such as invalid name, | |
| * value, domain, path, or infinite max-age. | |
| * | |
| * @category errors | |
| * @since 4.0.0 | |
| */ | |
| export declare class CookiesErrorReason extends Data.Error<{ | |
| readonly _tag: "InvalidCookieName" | "InvalidCookieValue" | "InvalidCookieDomain" | "InvalidCookiePath" | "CookieInfinityMaxAge"; | |
| readonly cause?: unknown; | |
| }> { | |
| } | |
| declare const CookiesError_base: new <A extends Record<string, any> = {}>(args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & { | |
| readonly _tag: "CookieError"; | |
| } & Readonly<A>; | |
| /** | |
| * Error returned when a cookie name, value, domain, path, or max-age option is invalid. | |
| * | |
| * **Details** | |
| * | |
| * Inspect `reason` to determine the specific validation failure. | |
| * | |
| * @category errors | |
| * @since 4.0.0 | |
| */ | |
| export declare class CookiesError extends CookiesError_base<{ | |
| readonly reason: CookiesErrorReason; | |
| }> { | |
| /** | |
| * Creates a cookie error from a reason tag and optional cause. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| static fromReason(reason: CookiesError["reason"]["_tag"], cause?: unknown): CookiesError; | |
| /** | |
| * Marks this value as a cookie validation error for runtime guards. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| readonly [CookieErrorTypeId] = "~effect/http/Cookies/CookieError"; | |
| /** | |
| * Uses the concrete cookie error reason as the public message. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| get message(): "InvalidCookieName" | "InvalidCookieValue" | "InvalidCookieDomain" | "InvalidCookiePath" | "CookieInfinityMaxAge"; | |
| } | |
| /** | |
| * Creates a `Cookies` collection from an existing readonly record of cookies keyed by cookie name. | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const fromReadonlyRecord: (cookies: Record.ReadonlyRecord<string, Cookie>) => Cookies; | |
| /** | |
| * Create a Cookies object from an Iterable | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const fromIterable: (cookies: Iterable<Cookie>) => Cookies; | |
| /** | |
| * Create a Cookies object from a set of Set-Cookie headers | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const fromSetCookie: (headers: Iterable<string> | string) => Cookies; | |
| /** | |
| * An empty Cookies object | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const empty: Cookies; | |
| /** | |
| * Returns `true` when the `Cookies` collection contains no cookies. | |
| * | |
| * @category refinements | |
| * @since 4.0.0 | |
| */ | |
| export declare const isEmpty: (self: Cookies) => boolean; | |
| /** | |
| * Creates a cookie, validating the name, encoded value, domain, path, and finite `maxAge`. | |
| * | |
| * **Details** | |
| * | |
| * Returns a `CookiesError` in the `Result` failure channel when validation fails. | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare function makeCookie(name: string, value: string, options?: Cookie["options"] | undefined): Result.Result<Cookie, CookiesError>; | |
| /** | |
| * Create a new cookie, throwing an error if invalid | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const makeCookieUnsafe: (name: string, value: string, options?: Cookie["options"] | undefined) => Cookie; | |
| /** | |
| * Adds a cookie to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setCookie: { | |
| /** | |
| * Adds a cookie to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (cookie: Cookie): (self: Cookies) => Cookies; | |
| /** | |
| * Adds a cookie to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, cookie: Cookie): Cookies; | |
| }; | |
| /** | |
| * Adds multiple cookies to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setAllCookie: { | |
| /** | |
| * Adds multiple cookies to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (cookies: Iterable<Cookie>): (self: Cookies) => Cookies; | |
| /** | |
| * Adds multiple cookies to a Cookies object | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, cookies: Iterable<Cookie>): Cookies; | |
| }; | |
| /** | |
| * Combines two Cookies objects, removing duplicates from the first | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const merge: { | |
| /** | |
| * Combines two Cookies objects, removing duplicates from the first | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (that: Cookies): (self: Cookies) => Cookies; | |
| /** | |
| * Combines two Cookies objects, removing duplicates from the first | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, that: Cookies): Cookies; | |
| }; | |
| /** | |
| * Removes a cookie by name | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const remove: { | |
| /** | |
| * Removes a cookie by name | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string): (self: Cookies) => Cookies; | |
| /** | |
| * Removes a cookie by name | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string): Cookies; | |
| }; | |
| /** | |
| * Gets a cookie from a Cookies object safely. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const get: { | |
| /** | |
| * Gets a cookie from a Cookies object safely. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string): (self: Cookies) => Option.Option<Cookie>; | |
| /** | |
| * Gets a cookie from a Cookies object safely. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string): Option.Option<Cookie>; | |
| }; | |
| /** | |
| * Gets the decoded value of a cookie by name safely. | |
| * | |
| * **Details** | |
| * | |
| * Returns `Option.none()` when the cookie is not present. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const getValue: { | |
| /** | |
| * Gets the decoded value of a cookie by name safely. | |
| * | |
| * **Details** | |
| * | |
| * Returns `Option.none()` when the cookie is not present. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string): (self: Cookies) => Option.Option<string>; | |
| /** | |
| * Gets the decoded value of a cookie by name safely. | |
| * | |
| * **Details** | |
| * | |
| * Returns `Option.none()` when the cookie is not present. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string): Option.Option<string>; | |
| }; | |
| /** | |
| * Creates and adds a cookie safely by name and value. | |
| * | |
| * **Details** | |
| * | |
| * The cookie fields are validated first; invalid input returns a `CookiesError` in the `Result` failure channel. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const set: { | |
| /** | |
| * Creates and adds a cookie safely by name and value. | |
| * | |
| * **Details** | |
| * | |
| * The cookie fields are validated first; invalid input returns a `CookiesError` in the `Result` failure channel. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string, value: string, options?: Cookie["options"]): (self: Cookies) => Result.Result<Cookies, CookiesError>; | |
| /** | |
| * Creates and adds a cookie safely by name and value. | |
| * | |
| * **Details** | |
| * | |
| * The cookie fields are validated first; invalid input returns a `CookiesError` in the `Result` failure channel. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string, value: string, options?: Cookie["options"]): Result.Result<Cookies, CookiesError>; | |
| }; | |
| /** | |
| * Creates and adds a cookie by name and value, throwing if the cookie fields are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setUnsafe: { | |
| /** | |
| * Creates and adds a cookie by name and value, throwing if the cookie fields are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string, value: string, options?: Cookie["options"]): (self: Cookies) => Cookies; | |
| /** | |
| * Creates and adds a cookie by name and value, throwing if the cookie fields are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string, value: string, options?: Cookie["options"]): Cookies; | |
| }; | |
| /** | |
| * Adds an expired cookie safely with an empty value, `Max-Age=0`, and an epoch `Expires` value. | |
| * | |
| * **Details** | |
| * | |
| * Returns a `CookiesError` in the `Result` failure channel when the name or options are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const expireCookie: { | |
| /** | |
| * Adds an expired cookie safely with an empty value, `Max-Age=0`, and an epoch `Expires` value. | |
| * | |
| * **Details** | |
| * | |
| * Returns a `CookiesError` in the `Result` failure channel when the name or options are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string, options?: Omit<NonNullable<Cookie["options"]>, "expires" | "maxAge">): (self: Cookies) => Result.Result<Cookies, CookiesError>; | |
| /** | |
| * Adds an expired cookie safely with an empty value, `Max-Age=0`, and an epoch `Expires` value. | |
| * | |
| * **Details** | |
| * | |
| * Returns a `CookiesError` in the `Result` failure channel when the name or options are invalid. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string, options?: Omit<NonNullable<Cookie["options"]>, "expires" | "maxAge">): Result.Result<Cookies, CookiesError>; | |
| }; | |
| /** | |
| * Adds an expired cookie to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const expireCookieUnsafe: { | |
| /** | |
| * Adds an expired cookie to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (name: string, options?: Omit<NonNullable<Cookie["options"]>, "expires" | "maxAge">): (self: Cookies) => Cookies; | |
| /** | |
| * Adds an expired cookie to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, name: string, options?: Omit<NonNullable<Cookie["options"]>, "expires" | "maxAge">): Cookies; | |
| }; | |
| /** | |
| * Creates and adds multiple cookies safely from name/value/options tuples. | |
| * | |
| * **Details** | |
| * | |
| * If any tuple is invalid, returns the first `CookiesError` and leaves the original collection unchanged. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setAll: { | |
| /** | |
| * Creates and adds multiple cookies safely from name/value/options tuples. | |
| * | |
| * **Details** | |
| * | |
| * If any tuple is invalid, returns the first `CookiesError` and leaves the original collection unchanged. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (cookies: Iterable<readonly [name: string, value: string, options?: Cookie["options"]]>): (self: Cookies) => Result.Result<Cookies, CookiesError>; | |
| /** | |
| * Creates and adds multiple cookies safely from name/value/options tuples. | |
| * | |
| * **Details** | |
| * | |
| * If any tuple is invalid, returns the first `CookiesError` and leaves the original collection unchanged. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, cookies: Iterable<readonly [name: string, value: string, options?: Cookie["options"]]>): Result.Result<Cookies, CookiesError>; | |
| }; | |
| /** | |
| * Adds multiple cookies to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const setAllUnsafe: { | |
| /** | |
| * Adds multiple cookies to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (cookies: Iterable<readonly [name: string, value: string, options?: Cookie["options"]]>): (self: Cookies) => Cookies; | |
| /** | |
| * Adds multiple cookies to a Cookies object, throwing an error if invalid | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| (self: Cookies, cookies: Iterable<readonly [name: string, value: string, options?: Cookie["options"]]>): Cookies; | |
| }; | |
| /** | |
| * Serializes a cookie into a string. | |
| * | |
| * **Details** | |
| * | |
| * Adapted from https://github.com/fastify/fastify-cookie under MIT License | |
| * | |
| * @category encoding | |
| * @since 4.0.0 | |
| */ | |
| export declare function serializeCookie(self: Cookie): string; | |
| /** | |
| * Serializes a `Cookies` object into a Cookie header. | |
| * | |
| * @category encoding | |
| * @since 4.0.0 | |
| */ | |
| export declare const toCookieHeader: (self: Cookies) => string; | |
| /** | |
| * Converts a `Cookies` collection to a record of decoded cookie values keyed by cookie name. | |
| * | |
| * @category encoding | |
| * @since 4.0.0 | |
| */ | |
| export declare const toRecord: (self: Cookies) => Record<string, string>; | |
| /** | |
| * Schema for transforming `Cookies` into records of decoded string values keyed | |
| * by cookie name. | |
| * | |
| * @category schemas | |
| * @since 4.0.0 | |
| */ | |
| export declare const schemaRecord: Schema.decodeTo<Schema.$Record<Schema.String, Schema.String>, CookiesSchema, never, never>; | |
| /** | |
| * Serializes a `Cookies` collection into an array of `Set-Cookie` header values. | |
| * | |
| * @category encoding | |
| * @since 4.0.0 | |
| */ | |
| export declare const toSetCookieHeaders: (self: Cookies) => Array<string>; | |
| /** | |
| * Parses a cookie header into a record of key-value pairs | |
| * | |
| * **Details** | |
| * | |
| * Adapted from https://github.com/fastify/fastify-cookie under MIT License | |
| * | |
| * @category decoding | |
| * @since 4.0.0 | |
| */ | |
| export declare function parseHeader(header: string): Record<string, string>; | |
| export {}; | |
| //# sourceMappingURL=Cookies.d.ts.map |
Xet Storage Details
- Size:
- 16.7 kB
- Xet hash:
- 99870e6b7894e1b1cf55e9c7aac089b6ff74866fcdd6634e6da4432f5c067960
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.