mirror of
https://github.com/anvaka/ngraph.path.git
synced 2026-01-25 15:23:38 +00:00
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
// Type definitions for ngraph.path v1.0.2
|
|
// Project: https://github.com/anvaka/ngraph.path
|
|
// Definitions by: Nathan Westlake <https://github.com/CorayThan>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
import { Graph, Link, Node, NodeId } from "ngraph.graph"
|
|
|
|
declare module "ngraph.path" {
|
|
|
|
|
|
interface PathFinderOptions<NodeData, LinkData> {
|
|
oriented?: boolean
|
|
quitFast?: boolean
|
|
heuristic?: (from: Node<NodeData>, to: Node<NodeData>) => number
|
|
distance?: (from: Node<NodeData>, to: Node<NodeData>, link: Link<LinkData>) => number
|
|
}
|
|
|
|
interface PathFinder<NodeData> {
|
|
find: (from: NodeId, to: NodeId) => Node<NodeData>[]
|
|
}
|
|
|
|
export function aStar<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
|
|
|
export function aGreedy<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
|
|
|
export function nba<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
|
|
|
}
|