UNPKG

@api-client/har

Version:

Everything related to HAR processing and visualizing in API Client.

299 lines (254 loc) 9.91 kB
import { LitElement, TemplateResult, CSSResult } from 'lit-element'; import { Entry, Har, Header, Page, QueryString, Request, Response, Timings } from 'har-format'; import { RenderedPage, RenderedEntry, SortableEntry, EntrySizing, RenderedEntryTimings } from './types'; export declare const harValue: unique symbol; export declare const ignorePagesValue: unique symbol; export declare const processHar: unique symbol; export declare const computeEntriesOnly: unique symbol; export declare const computePages: unique symbol; export declare const pagesValue: unique symbol; export declare const entriesValue: unique symbol; export declare const renderPages: unique symbol; export declare const renderEntries: unique symbol; export declare const pageTemplate: unique symbol; export declare const pageHeaderTemplate: unique symbol; export declare const entriesTemplate: unique symbol; export declare const entryTemplate: unique symbol; export declare const openedPagesValue: unique symbol; export declare const openedEntriesValue: unique symbol; export declare const computeRenderedEntries: unique symbol; export declare const computeStatusClasses: unique symbol; export declare const statusLabel: unique symbol; export declare const loadingTimeTemplate: unique symbol; export declare const responseSizeTemplate: unique symbol; export declare const togglePage: unique symbol; export declare const pageClickHandler: unique symbol; export declare const pageKeydownHandler: unique symbol; export declare const computeTotalTime: unique symbol; export declare const computeVisualTimes: unique symbol; export declare const sumTimings: unique symbol; export declare const timingsTemplate: unique symbol; export declare const timingTemplate: unique symbol; export declare const sortEntires: unique symbol; export declare const entrySelectionHandler: unique symbol; export declare const entryDetails: unique symbol; export declare const entryDetailsTabsTemplate: unique symbol; export declare const selectedTabsValue: unique symbol; export declare const detailsTabSelectionHandler: unique symbol; export declare const entryDetailsContentTemplate: unique symbol; export declare const entryDetailsRequestTemplate: unique symbol; export declare const entryDetailsResponseTemplate: unique symbol; export declare const definitionTemplate: unique symbol; export declare const headersTemplate: unique symbol; export declare const queryParamsTemplate: unique symbol; export declare const computeEntrySizeInfo: unique symbol; export declare const sizesTemplate: unique symbol; export declare const entryDetailsRequestBodyTemplate: unique symbol; export declare const entryDetailsResponseBodyTemplate: unique symbol; export declare const entryDetailsCookiesTemplate: unique symbol; /** * @deprecated Use `@advanced-rest-client/app` instead. */ export declare class HarViewerElement extends LitElement { static get styles(): CSSResult; /** * The HAR object to render. */ har: Har; /** * When set it ignores pages matching and renders all requests in a single table. * @attribute */ ignorePages: boolean; [entriesValue]: RenderedEntry[]; [pagesValue]: RenderedPage[]; [openedPagesValue]: string[]; [openedEntriesValue]: string[]; [selectedTabsValue]: object; constructor(); /** * Called when the `har` or `ignorePages` changed. */ [processHar](): void; /** * @returns Copy of the entires array with a shallow copy of each entry. */ [sortEntires](entries: Entry[]): SortableEntry[]; /** * Performs computations to render entries only. * @param entries The list of entries to process. */ [computeEntriesOnly](entries: SortableEntry[]): void; /** * Performs computations to render entries by page. * @param {} pages The list of pages to process. * @param {} entries The list of entries to process. */ [computePages](pages: Page[], entries: SortableEntry[]): void; /** * @param entries The entries to perform computations on. * @param totalTime The total time of all entries rendered in the group */ [computeRenderedEntries](entries: SortableEntry[], totalTime: number): RenderedEntry[]; [computeEntrySizeInfo](info: Request|Response): EntrySizing; /** * @param code The status code to test for classes. * @returns List of classes to be set on the status code */ [computeStatusClasses](code: number): any; /** * Computes the total time of page requests. * @param first The earliest entry in the range * @param last The latest entry in the range * @returns The total time of the page. Used to build the timeline. */ [computeTotalTime](first: Entry, last: Entry): number; /** * @param timings The entry's timings object. * @param delay The timestamp when the first request started. * @param total The number of milliseconds all entries took. */ [computeVisualTimes](timings: Timings, delay: number, total: number): RenderedEntryTimings|undefined; /** * Sums all timing values. * @param timings The timings object to compute * @returns The total time, excluding -1s */ [sumTimings](timings: Timings): number; /** * A handler for the page label click to toggle the page entries. */ [pageClickHandler](e: Event): void; /** * A handler for the page label keydown to toggle the page entries on space key. */ [pageKeydownHandler](e: KeyboardEvent): void; /** * Toggles the visibility of the page entries. * @param id The id of the page. */ [togglePage](id: string): void; /** * Handler for the list item selection event. */ [entrySelectionHandler](e: Event): void; /** * Handler for the list item selection event. */ [detailsTabSelectionHandler](e: Event): void; render(): TemplateResult; /** * @returns Template for the pages table */ [renderPages](pages: RenderedPage[]): TemplateResult; /** * @returns Template for the entries table */ [renderEntries](entries: RenderedEntry[]): TemplateResult; /** * @returns Template for a single page */ [pageTemplate](info: RenderedPage): TemplateResult; /** * @returns Template for the pages table */ [pageHeaderTemplate](page: Page, totalTime: number): TemplateResult; /** * @returns The template for the entries list */ [entriesTemplate](entries: RenderedEntry[]): TemplateResult; /** * @returns The template for a single entry */ [entryTemplate](entry: RenderedEntry): TemplateResult; /** * @param status The response status code * @param statusText The response reason part of the status. * @returns The template for the status message */ [statusLabel](status: number, statusText?: string): TemplateResult; /** * @param value The response loading time * @returns Template for the loading time message */ [loadingTimeTemplate](value: number): TemplateResult|string; /** * @returns Template for the response size */ [responseSizeTemplate](sizing: EntrySizing): TemplateResult|string; /** * @param timings The entry's timings * @param visualTimings The computed visual timings for the template * @param fullWidth When set then it renders the timeline in the whole available space. * @returns The template for the timings timeline */ [timingsTemplate](timings: Timings, visualTimings: RenderedEntryTimings, fullWidth?: boolean): TemplateResult|string; /** * @param width * @param type Added to the class name. * @param label The label to use in the title attribute * @param timings The entry's timings object * @returns The template for a timing timeline item */ [timingTemplate](width: number, type: string, label?: string, timings?: Timings): TemplateResult|string; /** * @param entry The entry to render * @returns The template for an entry details. */ [entryDetails](entry: RenderedEntry): TemplateResult; /** * @param entry The entry to render * @param selected The index of the selected tab * @returns The template for entry details content tabs. */ [entryDetailsTabsTemplate](entry: RenderedEntry, selected: number): TemplateResult; /** * @param entry The entry to render * @param selected The index of the selected tab * @returns The template for entry details content. */ [entryDetailsContentTemplate](entry: RenderedEntry, selected: number): TemplateResult|string; /** * @param entry The entry to render * @returns The template for entry's request content. */ [entryDetailsRequestTemplate](entry: RenderedEntry): TemplateResult; /** * @param entry The entry to render * @returns The template for entry's response content. */ [entryDetailsResponseTemplate](entry: RenderedEntry): TemplateResult; /** * @param entry The entry to render * @returns The template for entry's request body preview. */ [entryDetailsRequestBodyTemplate](entry: RenderedEntry): TemplateResult; /** * @param entry The entry to render * @returns The template for entry's response body preview. */ [entryDetailsResponseBodyTemplate](entry: RenderedEntry): TemplateResult; /** * @param entry The entry to render * @returns The template for entry's cookies. */ [entryDetailsCookiesTemplate](entry: RenderedEntry): TemplateResult; /** * @param term Definition label * @param value Definition value * @returns The template for the definition. */ [definitionTemplate](term: string, value: string): TemplateResult|string; /** * @returns The template for the list of headers. */ [headersTemplate](headers: Header[]): TemplateResult; /** * @returns The template for the query parameters. */ [queryParamsTemplate](params: QueryString[]): TemplateResult|string; /** * @returns The template for sizes information */ [sizesTemplate](sizes: EntrySizing): TemplateResult; }