UNPKG

semantic-analysis

Version:

Extensible semantic Structured Data analysis library for Microdata and JSON-LD

58 lines (57 loc) 2.08 kB
import { IExtractionResult } from "../../structured-data/extraction"; import Exporter, { IExportInfo } from '../Exporter'; export declare type ITaskBase = Readonly<{ url: string; source?: string; resolver: { resolve: (value?: ITaskDone) => void; reject: (reason?: ITaskFailed) => void; }; queued: Date; handler: Promise<IExtractionResult>; run: Date; done: Date; results: IExtractionResult; failed: Date; error: unknown; exportInfo?: IExportInfo; }>; export declare type ITask = Pick<ITaskBase, 'url' | 'source' | 'resolver' | 'queued'> & Partial<ITaskBase>; export declare type ITaskQueued = ITask; export declare type ITaskRunning = ITaskQueued & Pick<ITaskBase, 'handler' | 'run'>; export declare type ITaskDone = ITaskRunning & Pick<ITaskBase, 'done' | 'results' | 'exportInfo'>; export declare type ITaskFailed = ITaskRunning & Pick<ITaskBase, 'failed' | 'error'>; export declare type ITaskArchived = Pick<ITaskBase, 'url' | 'queued'> & Partial<Pick<ITaskBase, 'run' | 'done' | 'failed' | 'error' | 'exportInfo'>>; /** * Common options for batch analyzers */ export interface IOptions { rateLimit: number; maxRunning: number; doneCallback?: (done: ITaskDone) => void; failedCallback?: (failed: ITaskFailed) => void; callback?: (finished: ITask) => void; onTaskUpdate?: (batch: IBatchState) => void; exporter?: Exporter; } /** * Conserved batch tasks state */ export interface IBatchState { queued: ReadonlyArray<ITaskArchived>; running: ReadonlyArray<ITaskArchived>; done: ReadonlyArray<ITaskArchived>; failed: ReadonlyArray<ITaskArchived>; } /** * Common interface for batch analysis class implementation */ export interface IBatchAnalyzer { readonly queued: ReadonlyArray<ITaskQueued>; readonly running: ReadonlyArray<ITaskRunning>; readonly done: ReadonlyArray<ITaskArchived>; readonly failed: ReadonlyArray<ITaskArchived>; addTask(url: string, source?: string): Promise<ITaskDone>; state(): IBatchState; dispose?(): void; }