@donverduyn/react-runtime
Version:
effect-ts react integration
27 lines (26 loc) • 793 B
TypeScript
import type { ComponentId, RegisterId } from '@/types';
import { type EdgeDataFields } from '@/utils/hash';
export type TreeFrameParentNode = Partial<{
[K in keyof EdgeDataFields]: EdgeDataFields[K] | null;
}> & {
registerId: RegisterId;
cumSig: string;
};
export type SeqEntry = {
inUse: number;
nextSalt: number;
free: number[];
claims: Map<symbol, number | null>;
};
export type TreeFrame = {
parent: TreeFrameParentNode;
seq: Map<ComponentId, SeqEntry>;
depth: number;
dryRunMeta?: {
parentHit: boolean;
} | undefined;
};
export declare function createRootTreeFrame(): TreeFrame;
export declare function createTreeFrame(parent: Omit<TreeFrame, 'seq'>, node: TreeFrameParentNode, dryRunMeta?: {
parentHit: boolean;
}): TreeFrame;