@dcl/react-ecs
Version:
Decentraland ECS
32 lines (31 loc) • 1.03 kB
TypeScript
import type { Entity } from '@dcl/ecs';
import { Children, Key, Listeners } from '../components';
import type { EntityComponents } from '../react-ecs';
export type EngineComponents = Omit<EntityComponents, keyof Listeners>;
export type OpaqueHandle = any;
export type Type = 'entity';
export type Props = EntityComponents & {
children?: Children;
key?: Key;
};
export type Container = Document | Instance | any;
export type Instance = {
entity: Entity;
parent?: Entity;
rightOf?: Entity;
_child: Instance[];
};
export type TextInstance = never;
export type SuspenseInstance = never;
export type HydratableInstance = never;
export type PublicInstance = Instance;
export type HostContext = null;
export type UpdatePayload = Changes[];
export type _ChildSet = never;
export type TimeoutHandle = any;
export type NoTimeout = number;
export type Changes<K extends keyof EntityComponents = keyof EntityComponents> = {
type: 'delete' | 'add' | 'put';
props?: Partial<EntityComponents[K]>;
component: K;
};