UNPKG

react-babylonjs

Version:
38 lines (37 loc) 1.41 kB
import { Scene } from '@babylonjs/core/scene.js'; import { Nullable } from '@babylonjs/core/types.js'; import { CreateInfo } from './codeGenerationDescriptors'; import { CreatedInstanceMetadata } from './CreatedInstance'; import { LifecycleListener } from './LifecycleListener'; import { HasPropsHandlers } from './PropsHandler'; export type DynamicHost<T, U> = { /** * lookup on host element */ hostElementName: string; /** * null is only valid when the metadata declares a deferred creation and the lifecycle listener creates the instance. */ hostFactory: (scene: Scene, props: any) => Nullable<T>; propHandlerInstance: HasPropsHandlers<U>; createInfo: CreateInfo; metadata: CreatedInstanceMetadata; lifecycleListenerFactory?: (scene: Scene, props: any) => LifecycleListener<T>; }; /** * Experimental - this will change - just a demo! * * Allows dynamic registration of host elements that the reconciler will take into consideration (case sensitive). */ export declare class HostRegistrationStore { private static _store; /** * Registers a new host element * @param host host element to dynamically register */ static Register(host: DynamicHost<any, any>): void; /** * Retrieve a registered host by element name */ static GetRegisteredHost(hostElementName: string): DynamicHost<any, any> | undefined; }