UNPKG

@ozmos/viper-react

Version:

React plugin for Viper

362 lines 14.2 kB
import { type QueryClient, useMutation } from "@tanstack/react-query"; type BaseProps = Record<string, unknown>; type BaseActions = Record<string, { args: unknown; result: unknown; }>; type BaseParams = Record<string, string>; interface BasePageType { props: BaseProps; actions: BaseActions; params: BaseParams; } interface BasePage extends BasePageType { hashes: Record<string, string>; title?: string | null; } interface PageInit { formatTitle?: (title: string) => string; queryClient: QueryClient; } export declare class Page { formatTitle: (title: string) => string; props: Record<string, unknown>; actions: {}; hashes: Record<string, string>; queryClient: QueryClient | null; updateFromPageJson(json: BasePage): void; setPageTitle(title: string): void; } export declare function ViperProvider({ children, formatTitle, }: { children: React.ReactNode; } & PageInit): import("react").JSX.Element; export declare function reactRouterLoader({ request }: { request: Request; }): Promise<{}>; export declare function usePage<P extends BasePageType>(): { setPageTitle: (title: string) => void; params: P["params"]; useQuery<K extends keyof P["props"]>(key: K): { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; } | { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: false; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; } | { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; } | { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; } | { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; } | { data: (0 extends 1 & P["props"][K] ? true : false) extends true ? unknown : P["props"][K]; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error | null; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").NoInfer<P["props"][K]>, Error>>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise<import("@tanstack/react-query").NoInfer<P["props"][K]>>; }; useMutation<K extends keyof P["actions"]>(key: K, options?: Parameters<typeof useMutation<P["actions"][K]["result"], unknown, P["actions"][K]["args"]>>[0]): import("@tanstack/react-query").UseMutationResult<P["actions"][K]["result"], unknown, P["actions"][K]["args"], unknown>; useForm<K extends keyof P["actions"]>(key: K, options: Parameters<typeof useMutation<P["actions"][K]["result"], unknown, P["actions"][K]["args"]>>[0] & { state: P["actions"][K]["args"]; }): { mutate(override?: P["actions"][K]["args"]): void; mutateAsync(override?: P["actions"][K]["args"]): Promise<P["actions"][K]["result"]>; reset: () => void; errors: Record<string, string>; state: P["actions"][K]["args"]; setState: import("react").Dispatch<import("react").SetStateAction<P["actions"][K]["args"]>>; data: undefined; variables: undefined; error: null; isError: false; isIdle: true; isPending: false; isSuccess: false; status: "idle"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][K]["args"]): void; mutateAsync(override?: P["actions"][K]["args"]): Promise<P["actions"][K]["result"]>; reset: () => void; errors: Record<string, string>; state: P["actions"][K]["args"]; setState: import("react").Dispatch<import("react").SetStateAction<P["actions"][K]["args"]>>; data: undefined; variables: P["actions"][K]["args"]; error: null; isError: false; isIdle: false; isPending: true; isSuccess: false; status: "pending"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][K]["args"]): void; mutateAsync(override?: P["actions"][K]["args"]): Promise<P["actions"][K]["result"]>; reset: () => void; errors: Record<string, string>; state: P["actions"][K]["args"]; setState: import("react").Dispatch<import("react").SetStateAction<P["actions"][K]["args"]>>; data: undefined; error: unknown; variables: P["actions"][K]["args"]; isError: true; isIdle: false; isPending: false; isSuccess: false; status: "error"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][K]["args"]): void; mutateAsync(override?: P["actions"][K]["args"]): Promise<P["actions"][K]["result"]>; reset: () => void; errors: Record<string, string>; state: P["actions"][K]["args"]; setState: import("react").Dispatch<import("react").SetStateAction<P["actions"][K]["args"]>>; data: P["actions"][K]["result"]; error: null; variables: P["actions"][K]["args"]; isError: false; isIdle: false; isPending: false; isSuccess: true; status: "success"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; }; useFormData(key: keyof P["actions"], options: Parameters<typeof useMutation<P["actions"][keyof P["actions"]]["result"], unknown, P["actions"][keyof P["actions"]]["args"]>>[0] & { state: P["actions"][keyof P["actions"]]["args"]; files: string[]; }): { mutate(override?: P["actions"][keyof P["actions"]]["args"]): void; mutateAsync(override?: P["actions"][keyof P["actions"]]["args"]): Promise<P["actions"][keyof P["actions"]]["result"]>; reset: () => void; errors: Record<string, string>; state: any; data: undefined; variables: undefined; error: null; isError: false; isIdle: true; isPending: false; isSuccess: false; status: "idle"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][keyof P["actions"]]["args"]): void; mutateAsync(override?: P["actions"][keyof P["actions"]]["args"]): Promise<P["actions"][keyof P["actions"]]["result"]>; reset: () => void; errors: Record<string, string>; state: any; data: undefined; variables: P["actions"][keyof P["actions"]]["args"]; error: null; isError: false; isIdle: false; isPending: true; isSuccess: false; status: "pending"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][keyof P["actions"]]["args"]): void; mutateAsync(override?: P["actions"][keyof P["actions"]]["args"]): Promise<P["actions"][keyof P["actions"]]["result"]>; reset: () => void; errors: Record<string, string>; state: any; data: undefined; error: unknown; variables: P["actions"][keyof P["actions"]]["args"]; isError: true; isIdle: false; isPending: false; isSuccess: false; status: "error"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; } | { mutate(override?: P["actions"][keyof P["actions"]]["args"]): void; mutateAsync(override?: P["actions"][keyof P["actions"]]["args"]): Promise<P["actions"][keyof P["actions"]]["result"]>; reset: () => void; errors: Record<string, string>; state: any; data: P["actions"][keyof P["actions"]]["result"]; error: null; variables: P["actions"][keyof P["actions"]]["args"]; isError: false; isIdle: false; isPending: false; isSuccess: true; status: "success"; context: unknown; failureCount: number; failureReason: unknown; isPaused: boolean; submittedAt: number; }; }; export {}; //# sourceMappingURL=page.d.ts.map