@foxpage/foxpage-types
Version:
foxpage sdk types
35 lines (34 loc) • 1.1 kB
TypeScript
import { Variable } from '../manager';
import { StructureNode } from '../structure';
export interface NodePerformance {
id: string;
name: string;
version?: string;
parseTime?: number;
initialPropsTime?: number;
buildTime?: number;
}
export interface VariablePerformance extends NodePerformance {
}
export interface RenderPerformance {
appId?: string | number;
templateId?: string;
start?: number;
end?: number;
time?: number;
routerTime?: number;
getDSLTime?: number;
parseTime?: number;
variableTime?: number;
conditionTime?: number;
structureTime?: number;
componentLoadTime?: number;
buildTime?: number;
renderTime?: number;
mainRenderTime?: number;
nodePerformance?: Record<string, NodePerformance>;
variablePerformance?: Record<string, VariablePerformance>;
[k: string]: any;
}
export type RecordPerformanceKey = keyof RenderPerformance;
export type PerformanceLogger = (key: keyof Pick<RenderPerformance, RecordPerformanceKey>, value?: string | StructureNode | Variable) => (msg?: string) => void;