UNPKG

miniplex-react

Version:

React glue for Miniplex.

25 lines (24 loc) 908 B
import { Bucket, World } from "miniplex"; import React, { ForwardedRef, PropsWithRef, ReactElement, ReactNode } from "react"; export type EntityChildren<E> = ReactNode | ((entity: E) => ReactNode); type CommonProps<E> = { children?: EntityChildren<E>; }; export declare const createReactAPI: <E extends {}>(world: World<E>) => { world: World<E>; Component: <P extends keyof E>(props: { name: P; data?: E[P] | undefined; children?: ReactNode; }) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null; Entity: <D extends E>(props: CommonProps<D> & { entity?: D | undefined; } & { ref?: React.ForwardedRef<D> | undefined; }) => ReactElement; Entities: <D_1 extends E>({ in: source, ...props }: CommonProps<D_1> & { in: Bucket<D_1> | D_1[]; }) => JSX.Element; useCurrentEntity: () => E; }; export {};