UNPKG

pagespeed-quest

Version:

A framework for efficient web front-end speed improvement

47 lines (46 loc) 1.43 kB
/// <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 {};