pagespeed-quest
Version:
A framework for efficient web front-end speed improvement
47 lines (46 loc) • 1.43 kB
TypeScript
/// <reference types="node" />
import { ContentEncodingType } from './encoding.js';
import { HttpHeaders } from './http.js';
import { DependencyInterface, DeviceType } from './types.js';
export interface Resource {
method: string;
url: string;
ttfbMs: number;
mbps?: number;
statusCode?: number;
errorMessage?: string;
rawHeaders?: HttpHeaders;
contentEncoding?: ContentEncodingType;
contentTypeMime?: string;
contentTypeCharset?: string;
contentFilePath?: string;
contentUtf8?: string;
contentBase64?: string;
minify?: boolean;
}
export interface Transaction {
method: string;
url: string;
ttfbMs: number;
statusCode?: number;
errorMessage?: string;
rawHeaders?: HttpHeaders;
content?: Buffer;
durationMs?: number;
}
export interface Inventory {
entryUrl?: string;
deviceType?: DeviceType;
resources: Resource[];
}
type InventoryRepositoryDependency = Pick<DependencyInterface, 'logger'>;
export declare class InventoryRepository {
dirPath: string;
dependency: InventoryRepositoryDependency;
constructor(dirPath?: string, dependency?: InventoryRepositoryDependency);
saveInventory(inventory: Inventory): Promise<void>;
loadInventory(): Promise<Inventory>;
saveTransactions(transactions: Transaction[]): Promise<Resource[]>;
loadTransactions(resources: Resource[]): Promise<Transaction[]>;
}
export {};