UNPKG

remix-utils

Version:

This package contains simple utility functions to use with [React Router](https://reactrouter.com/).

23 lines (22 loc) 1.11 kB
import type { StandardSchemaV1 } from "@standard-schema/spec"; import { type Cookie, type CookieParseOptions, type CookieSerializeOptions } from "react-router"; export interface TypedCookie<Schema extends StandardSchemaV1> extends Cookie { isTyped: true; parse(cookieHeader: string | null, options?: CookieParseOptions): Promise<StandardSchemaV1.InferOutput<Schema> | null>; serialize(value: StandardSchemaV1.InferInput<Schema>, options?: CookieSerializeOptions): Promise<string>; } export declare function createTypedCookie<Schema extends StandardSchemaV1>({ cookie, schema, }: { cookie: Cookie; schema: Schema; }): TypedCookie<Schema>; /** * Returns true if an object is a Remix Utils Typed Cookie container. * * @see https://github.com/sergiodxa/remix-utils#typed-cookies */ export declare function isTypedCookie<Schema extends StandardSchemaV1>(value: unknown): value is TypedCookie<Schema>; export declare class ValidationError extends Error { readonly issues: Readonly<StandardSchemaV1.Issue[]>; name: string; constructor(issues: Readonly<StandardSchemaV1.Issue[]>); }