UNPKG

@any-routing/core

Version:

This library was generated with [Nx](https://nx.dev).

45 lines (44 loc) 1.22 kB
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';