UNPKG

@bytedance/mona-client-mini

Version:

miniapp for mona

41 lines (40 loc) 1.2 kB
import { FiberRoot } from 'react-reconciler'; import ServerElement, { RenderNode } from './ServerElement'; import { NodeTask } from '@/utils'; interface SpliceTask { type: NodeTask.SPLICE; key?: number; children?: number[]; targetNode: RenderNode | null; taskNode: ServerElement; parentPath: any[]; } interface UpdateTask { type: NodeTask.UPDATE; key?: number; propName: string; propValue: any; path: any[]; taskNode: ServerElement; } export type Task = SpliceTask | UpdateTask; export declare const ROOT_KEY = "mona"; export default class TaskController { context: any; _root: ServerElement; tasks: Task[]; _stopUpdate: boolean; rootContainer?: FiberRoot; rootKey: string; constructor(context: any); requestUpdate(task: Task): void; applyUpdate(): void; genUpdatePath(paths: string[]): string; stopUpdate(): void; addCallback(cbKey: string, cb: (...args: any) => any): void; removeCallback(name: string | number): void; appendChild(child: ServerElement): void; removeChild(child: ServerElement): void; insertBefore(child: ServerElement, beforeChild: ServerElement): void; } export {};