vim-webgl-component
Version:
A demonstration app built on top of the vim-webgl-viewer
62 lines (61 loc) • 1.57 kB
TypeScript
import { Logger } from "./logging";
/**
* Represents the state of a single web request
*/
declare class Request {
status: 'active' | 'completed' | 'failed';
field: string;
loaded: number;
total: number;
lengthComputable: boolean;
constructor(field: string);
}
export interface IProgressLogs {
get loaded(): number;
get total(): number;
get all(): Map<string, Request>;
}
/**
* Represents a collection of webrequests
* Will only send update signal at most every delay
* Provides convenient aggregation of metrics.
*/
export declare class RequestTracker {
source: string;
all: Map<string, Request>;
lastUpdate: number;
delay: number;
sleeping: boolean;
logs: Logger;
/**
* callback on update, called at most every delay time.
*/
onUpdate: ((self: RequestTracker) => void) | undefined;
constructor(source: string, logger?: Logger);
/**
* Returns the sum of .loaded across all requests
*/
get loaded(): number;
/**
* Returns the sum of .total across all requests
*/
get total(): number;
/**
* Starts tracking a new web request
*/
start(field: string): void;
/**
* Update an existing web request
*/
update(field: string, progress: ProgressEvent): void;
/**
* Notify a webrequest of failure
*/
fail(field: string): void;
/**
* Notify a webrequest of success
*/
end(field: string): void;
private signal;
}
export {};