@any-routing/core
Version:
This library was generated with [Nx](https://nx.dev).
45 lines (44 loc) • 1.22 kB
TypeScript
import type { BBox, FeatureCollection, Geometry, LineString } from '@turf/helpers';
import { Waypoint, LngLatPosition, Mode } from '../libre-routing.model';
export interface AnyRoutingDataProvider {
request: (waypoints: Waypoint[], opts: RequestOptions) => Promise<AnyRoutingDataResponse>;
destroy(): void;
hasPendingRequests(): Promise<boolean>;
abortAllRequests(): void;
}
export interface RequestOptions {
mode: Mode;
}
export interface AnyRoutingDataResponse {
rawResponse: any;
routesShapeGeojson: FeatureCollection<Geometry, {
routeId: number;
waypoint: number;
}>;
routes: RouteSummary[];
selectedRouteId?: number | null;
routesShapeBounds?: BBox;
version: number;
latest: boolean;
mode: Mode;
}
export type RoutePath = LngLatPosition[];
export interface RouteSummary {
id: number;
label?: string;
path: RoutePath;
durationTime: number;
arriveTime: Date;
departureTime: Date;
distance: number;
cost?: number;
waypoints: {
lat: number;
lng: number;
}[];
shape: FeatureCollection<LineString, {
routeId: number;
waypoint: number;
}>;
}
export * from './errors';