@geoapify/route-planner-sdk
Version:
TypeScript SDK for the Geoapify Route Planner API. Supports route optimization, delivery planning, and timeline visualization in browser and Node.js
42 lines (41 loc) • 2.4 kB
TypeScript
import { ActionResponseData, FeatureResponseData, RoutePlannerResultResponseDataExtended, RoutingOptions, WaypointData, RoutePlannerInputData } from "../../models";
import { RoutePlannerCallOptions } from "../../models/interfaces/route-planner-call-options";
import { RouteMatrixHelper } from "./strategies/preserve-order/utils/route-matrix-helper";
import { RoutingHelper } from "./strategies/preserve-order/utils/routing-helper";
/**
* Base class for route result editors with shared functionality
*/
export declare abstract class RouteResultEditorBase {
protected readonly rawData: RoutePlannerResultResponseDataExtended;
protected readonly callOptions: RoutePlannerCallOptions;
protected readonly routingOptions: RoutingOptions;
constructor(rawData: RoutePlannerResultResponseDataExtended, callOptions: RoutePlannerCallOptions, routingOptions: RoutingOptions);
validateAgent(agentIndex: number): void;
protected ensureItemsProvided(indexes: number[], itemType: string): void;
protected ensureItemsUnique(indexes: number[], itemType: string): void;
protected ensureNewItemsValid<T>(items: T[], itemType: string): void;
getRawData(): RoutePlannerResultResponseDataExtended;
cloneInputData(): any;
executePlan(inputData: any): Promise<boolean>;
executeAgentPlan(agentIndex: number, inputData: RoutePlannerInputData): Promise<boolean>;
updateIssues(): void;
private updateAgentAsUnassigned;
private getUnassignedIndexes;
private updateResult;
getMatrixHelper(): RouteMatrixHelper;
getRoutingHelper(): RoutingHelper;
getAgentFeature(agentIndex: number): FeatureResponseData;
getOrCreateAgentFeature(agentIndex: number): Promise<FeatureResponseData>;
private createEmptyAgentFeature;
private resolveAgentLocation;
findEndActionIndex(actions: ActionResponseData[]): number;
reindexActions(actions: ActionResponseData[]): void;
addAgentCapabilities(agents: any[]): void;
getAgentIndexForShipment(shipmentIndex: number): number | undefined;
getAgentShipments(agentIndex: number): number[];
getAgentIndexForJob(jobIndex: number): number | undefined;
getAgentJobs(agentIndex: number): number[];
getAgentActions(agentIndex: number): ActionResponseData[];
getAgentWaypoints(agentIndex: number): WaypointData[];
getExistingConsecutiveTravelTimes(agentIndex: number): number[];
}