remix-utils
Version:
This package contains simple utility functions to use with [React Router](https://reactrouter.com/).
44 lines (43 loc) • 2.23 kB
TypeScript
import { z } from "zod";
declare const FetchDestSchema: z.ZodEnum<["audio", "audioworklet", "document", "embed", "empty", "font", "frame", "iframe", "image", "manifest", "object", "paintworklet", "report", "script", "serviceworker", "sharedworker", "style", "track", "video", "worker", "xslt"]>;
export type FetchDest = z.output<typeof FetchDestSchema>;
/**
* Returns the value of the `Sec-Fetch-Dest` header.
*
* The `Sec-Fetch-Dest` header indicates the destination of the request and
* can be used to know if the request came from a `fetch` call or not, among
* other things.
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest
* @example
* // Detect if the request came from a fetch call and return
* // json, otherwise return a redirect
* export async function action({ request }: ActionFunctionArgs) {
* let dest = fetchDest(request);
* if (dest === "empty") return json(data)
* return redirect(destination)
* }
*/
export declare function fetchDest(request: Request): FetchDest | null;
export declare function fetchDest(headers: Headers): FetchDest | null;
declare const FetchModeSchema: z.ZodEnum<["cors", "navigate", "no-cors", "same-origin", "websocket"]>;
export type FetchMode = z.output<typeof FetchModeSchema>;
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode
*/
export declare function fetchMode(request: Request): FetchMode | null;
export declare function fetchMode(headers: Headers): FetchMode | null;
declare const FetchSiteSchema: z.ZodEnum<["cross-site", "same-origin", "same-site", "none"]>;
export type FetchSite = z.output<typeof FetchSiteSchema>;
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site
*/
export declare function fetchSite(request: Request): FetchSite | null;
export declare function fetchSite(headers: Headers): FetchSite | null;
declare const FetchUserSchema: z.ZodLiteral<"?1">;
export type FetchUser = z.output<typeof FetchUserSchema>;
/**
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-User
*/
export declare function isUserInitiated(request: Request): boolean;
export declare function isUserInitiated(headers: Headers): boolean;
export {};