UNPKG

@amplitude/analytics-core

Version:
46 lines 1.67 kB
import { ILogger } from '.'; export interface NetworkRequestEvent { type: string; method: string; url: string; timestamp: number; status?: number; duration?: number; requestBodySize?: number; requestHeaders?: Record<string, string>; responseBodySize?: number; responseHeaders?: Record<string, string>; error?: { name: string; message: string; }; startTime?: number; endTime?: number; } type FormDataEntryValueBrowser = string | Blob | null; export interface FormDataBrowser { entries(): IterableIterator<[string, FormDataEntryValueBrowser]>; } export type FetchRequestBody = string | Blob | ArrayBuffer | FormDataBrowser | URLSearchParams | null | undefined; export declare function getRequestBodyLength(body: FetchRequestBody | null | undefined): number | undefined; export type NetworkEventCallbackFn = (event: NetworkRequestEvent) => void; export declare class NetworkEventCallback { readonly callback: (event: NetworkRequestEvent) => void; readonly id: string; constructor(callback: (event: NetworkRequestEvent) => void, id?: string); } export declare class NetworkObserver { private originalFetch?; private eventCallbacks; private isObserving; private globalScope?; constructor(logger?: ILogger); static isSupported(): boolean; subscribe(eventCallback: NetworkEventCallback): void; unsubscribe(eventCallback: NetworkEventCallback): void; protected triggerEventCallbacks(event: NetworkRequestEvent): void; private observeFetch; } export declare const networkObserver: NetworkObserver; export {}; //# sourceMappingURL=network-observer.d.ts.map