howsmydriving-utils
Version:
Utilities used by howsmydriving package any howsmydriving-[region] plug-in modules.
26 lines (25 loc) • 1.39 kB
TypeScript
import { ICitation } from './icitation';
import { ICollision, ICollisionHistory } from './icollision';
import { IStateStore } from './istatestore';
export interface IRegion {
readonly name: string;
state_store: IStateStore;
GetCitationsByPlate: (plate: string, state: string) => Promise<Array<ICitation>>;
ProcessCitationsForRequest: (citations: ICitation[], query_count: number) => Array<string>;
ProcessCollisions: (collisions: Array<ICollision>) => Promise<Array<string>>;
GetRecentCollisions: () => Promise<Array<ICollision>>;
GetCollisionHistory: (start_year: number, end_year: number) => Promise<ICollisionHistory>;
}
export declare abstract class RegionFactory {
abstract createRegion(state_store: IStateStore): Promise<Region>;
}
export declare abstract class Region implements IRegion {
constructor(name: string, state_store: IStateStore);
readonly name: string;
state_store: IStateStore;
abstract GetCitationsByPlate(plate: string, state: string): Promise<Array<ICitation>>;
abstract ProcessCitationsForRequest(citations: ICitation[], query_count: number): Array<string>;
abstract ProcessCollisions(collisions: Array<ICollision>): Promise<Array<string>>;
abstract GetRecentCollisions(): Promise<Array<ICollision>>;
abstract GetCollisionHistory(start_year: number, end_year: number): Promise<ICollisionHistory>;
}