mirror of
https://github.com/anvaka/ngraph.path.git
synced 2025-12-08 19:55:59 +00:00
Merge pull request #10 from zakhenry/feat/generic-data-types
feat(Typescript): Add generic data types for strongly typing nodes/links
This commit is contained in:
commit
7ede140bbf
19
index.d.ts
vendored
19
index.d.ts
vendored
@ -3,25 +3,26 @@
|
||||
// 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" {
|
||||
|
||||
import { Graph, Link, Node, NodeId } from "ngraph.graph"
|
||||
|
||||
interface PathFinderOptions {
|
||||
interface PathFinderOptions<NodeData, LinkData> {
|
||||
oriented?: boolean
|
||||
quitFast?: boolean
|
||||
heuristic?: (from: NodeId, to: NodeId) => number
|
||||
distance?: (from: NodeId, to: NodeId, link: Link) => number
|
||||
heuristic?: (from: Node<NodeData>, to: Node<NodeData>) => number
|
||||
distance?: (from: Node<NodeData>, to: Node<NodeData>, link: Link<NodeData>) => number
|
||||
}
|
||||
|
||||
interface PathFinder {
|
||||
find: (from: NodeId, to: NodeId) => Node[]
|
||||
interface PathFinder<NodeData> {
|
||||
find: (from: NodeId, to: NodeId) => Node<NodeData>[]
|
||||
}
|
||||
|
||||
export function aStar(graph: Graph, options?: PathFinderOptions): PathFinder
|
||||
export function aStar<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
||||
|
||||
export function aGreedy(graph: Graph, options?: PathFinderOptions): PathFinder
|
||||
export function aGreedy<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
||||
|
||||
export function nba(graph: Graph, options?: PathFinderOptions): PathFinder
|
||||
export function nba<NodeData, LinkData>(graph: Graph<NodeData, LinkData>, options?: PathFinderOptions<NodeData, LinkData>): PathFinder<NodeData>
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user