universal-speedtest
Version:
Test your network speed using Ookla speedtest.
74 lines (73 loc) • 1.84 kB
TypeScript
export interface OoklaOptions {
/** Number of Ookla test servers to fetch. */
serversToFetch?: number;
/** Perform Ookla test against single or multiple servers. */
connections?: "single" | "multi";
/** Technology used to perform the test. */
technology?: "http";
}
export interface OAConfig {
client: OAConfigClient;
}
interface OAConfigClient {
ip: string;
lat: number;
lon: number;
isp: string;
isprating: number;
ispdlavg: number;
ispulavg: number;
country: string;
}
export interface OAServer {
id: number;
host: string;
name: string;
lat: number;
lon: number;
distance: number;
country: string;
cc: string;
sponsor: string;
}
export interface OAMeasurementServer extends OAServer {
latency: number;
activeConnections: number;
}
export interface OAPingResult {
latency: number;
jitter: number;
}
export interface OADownloadResult {
transferredBytes: number;
latency: number;
jitter: number;
speed: number;
servers: OAMeasurementServer[];
totalTime: number;
}
export interface OAUploadResult {
transferredBytes: number;
latency: number;
jitter: number;
speed: number;
servers: OAMeasurementServer[];
totalTime: number;
}
export interface OAResult {
/** Client information. */
client: OAConfigClient;
/** Network ping measurement result. */
pingResult: OAPingResult;
/** Network download measurement result. */
downloadResult?: OADownloadResult;
/** Network upload measurement result. */
uploadResult?: OAUploadResult;
/** Servers information. */
servers: OAMeasurementServer[];
/** The best server information. */
bestServer: OAMeasurementServer;
/** Time the test lasted in seconds. */
totalTime: number;
}
export {};