UNPKG

sec-edgar-api

Version:

Fetch and parse SEC earnings reports and other filings. Useful for financial analysis.

35 lines (34 loc) 1.11 kB
interface OnProgressData { queueLength: number; countRunning: number; } type ResolveValue = any; interface ThrottlerArgs { maxConcurrent?: number; delayMs?: number; onProgress?: (data: OnProgressData) => void; onResult?: (result: ResolveValue) => void; onError?: (err: ResolveValue) => void; onEnd?: (results: ResolveValue[], errors: ResolveValue[]) => void; } export interface IThrottler { setDelayMs(delayMs: number): void; add: (fn: () => Promise<ResolveValue>) => void; } export default class Throttler implements IThrottler { private readonly decrementTimeouts; private readonly queue; private readonly results; private readonly errors; private maxConcurrent; private delayMs; onProgress?: (data: OnProgressData) => void; onResult?: (result: ResolveValue) => void; onError?: (err: ResolveValue) => void; onEnd?: (results: ResolveValue[], errors: ResolveValue[]) => void; constructor(args?: ThrottlerArgs); setDelayMs(delayMs: number): void; add(fn: () => Promise<ResolveValue>): void; private run; } export {};