@playcanvas/react
Version:
A React renderer for PlayCanvas – build interactive 3D applications using React's declarative paradigm.
27 lines (26 loc) • 1.32 kB
TypeScript
import { Application } from "playcanvas";
export declare const warnOnce: (message: string) => void;
export type PropValidator<T> = {
validate: (value: unknown) => boolean;
errorMsg: (value: unknown) => string;
default: T | unknown;
};
export type Schema<T> = {
[K in keyof T]?: PropValidator<T[K]>;
};
export type ComponentDefinition<T> = {
name: string;
apiName?: string;
schema: Schema<T>;
};
export declare function validateAndSanitize<T>(value: unknown, propDef: PropValidator<T>, propName: string, componentName: string, apiName?: string): T;
export declare function validateAndSanitizeProps<T extends object>(rawProps: Partial<T>, componentDef: ComponentDefinition<T>, warnUnknownProps?: boolean): T;
export declare function getPseudoPublicProps(container: Record<string, unknown>): any;
export declare function createComponentDefinition<T extends object>(name: string, createInstance: () => T, cleanup?: (instance: T) => void, apiName?: string): ComponentDefinition<T>;
/**
* This is a mock application that is used to render the application without a canvas.
* @private
* @returns A mock application that is used to render the application without a canvas.
*/
export declare function getNullApplication(): Application;
export declare const getStaticNullApplication: () => Application;