react-playmakers
Version:
React wrapper providing utilities for PlayMakers integration
44 lines (43 loc) • 1.71 kB
TypeScript
import React from "react";
import { SchemaExtendedType, SchemaPayloadType, SchemaType } from "../types";
type SchemaPushMethod = (updatedSchema?: Partial<SchemaPayloadType & {
newThumbnailFile: File;
}>) => Promise<SchemaType>;
type SchemaFetchMethod = (quiet?: boolean) => Promise<SchemaType>;
type SchemaPushThumbnailMethod = (file: File | null) => Promise<void>;
interface UseSchemaReturn extends Partial<SchemaType> {
schema: SchemaType | null;
displayInteractive: SchemaPayloadType["displayInteractive"];
displayThumbnail: SchemaPayloadType["displayThumbnail"];
fetched: boolean;
setSchema: React.Dispatch<React.SetStateAction<SchemaType | null>>;
setThumbnail: React.Dispatch<React.SetStateAction<File | null>>;
push: SchemaPushMethod;
pushThumbnail: SchemaPushThumbnailMethod;
refresh: SchemaFetchMethod;
}
export declare const useSchema: (id?: string) => UseSchemaReturn;
type SchemaFetchMoreMethod = (refresh?: boolean) => Promise<void>;
type SchemasFetchMethod = (quiet?: boolean) => Promise<SchemaExtendedType[]>;
interface UseSchemasReturn {
schemas: SchemaExtendedType[];
fetched: boolean;
hasMore: boolean;
currentPage: number;
fetchMore: SchemaFetchMoreMethod;
refresh: SchemasFetchMethod;
}
export declare const useSchemas: (params?: {
[key: string]: any;
}) => UseSchemasReturn;
export declare const useSchemasByState: (state: string, params?: {
[key: string]: any;
} | undefined) => {
fetched: boolean;
hasMore: boolean;
currentPage: number;
fetchMore: SchemaFetchMoreMethod;
refresh: SchemasFetchMethod;
schemas: SchemaExtendedType[];
};
export {};