DefinitelyTyped/types/simplecrawler/queue.d.ts
Pedro Mutter 7b5f8da253 Types definitions to simplecrawler module (#34997)
* simplecrawler modules type definition

* required fixes in export
2019-05-01 17:25:46 -07:00

42 lines
1.8 KiB
TypeScript

export type QueueItemStatus = 'queued' | 'spooled' | 'headers' | 'downloaded' | 'redirected' | 'notfound' | 'failed';
export interface QueueItem {
id: number;
url: string;
protocol: string;
host: string;
port: number;
path: string;
uriPath: string;
depth: number;
referrer: string;
fetched: boolean;
status: QueueItemStatus;
stateData: {
requestLatency: number;
requestTime: number;
downloadTime: number;
contentLength: number;
contentType: string;
code: number;
headers: object;
actualDataSize: number;
sentIncorrectSize: boolean;
};
}
export default class FetchQueue extends Array {
add(queueItem: QueueItem, force?: boolean, callback?: (error?: Error, queueItem?: QueueItem) => void): void;
exists(url: string, callback: (error: Error | null, exists: 0 | 1) => void): void;
get(index: number, callback?: (error?: Error, queueItem?: QueueItem) => void): void;
update(id: number, updates: object, callback?: (error?: Error, queueItem?: QueueItem) => void): void;
oldestUnfetchedItem(callback?: (error?: Error, queueItem?: QueueItem) => void): void;
max(statisticName: string, callback?: (error?: Error, maximum?: number) => void): void;
min(statisticName: string, callback?: (error?: Error, minimum?: number) => void): void;
avg(statisticName: string, callback?: (error?: Error, average?: number) => void): void;
countItems(comparator: object, callback?: (error?: Error, count?: number) => void): void;
filterItems(comparator: object, callback?: (error?: Error, items?: QueueItem[]) => void): void;
getLength(callback?: (error?: Error, length?: number) => void): void;
freeze(filename: string, callback?: (error?: Error) => void): void;
defrost(filename: string, callback?: (error?: Error) => void): void;
}