@lynx-js/types
Version:
@lynx-js/types is a type package of all public APIs officially provided by the Lynx team. Using this package can help you better use Lynx APIs to develop your applications.
93 lines (81 loc) • 2.56 kB
TypeScript
// Copyright 2024 The Lynx Authors. All rights reserved.
// Licensed under the Apache License Version 2.0 that can be found in the
// LICENSE file in the root directory of this source tree.
export interface PerformanceEntry {
name: string;
entryType: string;
}
export interface FrameworkRenderingTiming {
vmExecuteStart?: number;
vmExecuteEnd?: number;
dataProcessorStart?: number;
dataProcessorEnd?: number;
setInitDataStart?: number;
setInitDataEnd?: number;
}
export interface FrameworkRenderingTimings {
}
export interface PipelineEntry extends PerformanceEntry {
identifier: string;
pipelineStart: number;
pipelineEnd: number;
mtsRenderStart: number;
mtsRenderEnd: number;
resolveStart: number;
resolveEnd: number;
layoutStart: number;
layoutEnd: number;
paintingUiOperationExecuteStart: number;
paintingUiOperationExecuteEnd: number;
layoutUiOperationExecuteStart: number;
layoutUiOperationExecuteEnd: number;
paintEnd: number;
frameworkRenderingTiming: FrameworkRenderingTimings[keyof FrameworkRenderingTimings] & FrameworkRenderingTiming;
}
export interface LoadBundleEntry extends PipelineEntry {
loadBundleStart: number;
loadBundleEnd: number;
parseStart: number;
parseEnd: number;
loadBackgroundStart: number;
loadBackgroundEnd: number;
}
export interface InitContainerEntry extends PerformanceEntry {
openTime: number;
containerInitStart: number;
containerInitEnd: number;
prepareTemplateStart: number;
prepareTemplateEnd: number;
extraTiming: Record<string, number>;
}
export interface InitLynxviewEntry extends PerformanceEntry {
createLynxStart: number;
createLynxEnd: number;
}
export interface InitBackgroundRuntimeEntry extends PerformanceEntry {
loadCoreStart: number;
loadCoreEnd: number;
}
export interface PerformanceMetric {
name: string;
duration: number;
startTimestampName: string;
startTimestamp: number;
endTimestampName: string;
endTimestamp: number;
}
export interface MetricFcpEntry extends PerformanceEntry {
fcp: PerformanceMetric;
lynxFcp: PerformanceMetric;
totalFcp: PerformanceMetric;
}
export interface MetricTtiEntry extends PerformanceEntry {
tti: PerformanceMetric;
lynxTti: PerformanceMetric;
totalTti: PerformanceMetric;
}
export interface MetricActualFmpEntry extends PerformanceEntry {
actualFmp: PerformanceMetric;
lynxActualFmp: PerformanceMetric;
totalActualFmp: PerformanceMetric;
}