From d5bb7f5febc4777f6a2ada63917d1bc878ccdaa9 Mon Sep 17 00:00:00 2001 From: Nathan Westlake Date: Thu, 6 Dec 2018 14:12:58 -0800 Subject: [PATCH] Adding embedded type definition files. --- index.d.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..4d64f69 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,50 @@ +// Type definitions for ngraph.graph v0.0.14 +// Project: https://github.com/anvaka/ngraph.graph +// Definitions by: Nathan Westlake +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module "ngraph.graph" { + + type NodeId = string | number + + interface Link { + id: string, + fromId: NodeId, + toId: NodeId, + data: any + } + + interface Node { + id: NodeId, + links: Link[], + data: any + } + + interface Coordinates { + x: number, + y: number + } + + interface Graph { + addNode: (node: NodeId, nodeCoordinates: Coordinates) => Node + addLink: (from: NodeId, to: NodeId, data?: any) => Link + removeLink: (link: Link) => boolean + removeNode: (nodeId: NodeId) => boolean + getNode: (nodeId: NodeId) => Node | undefined + hasNode: (nodeId: NodeId) => Node | undefined + getLink: (fromNodeId: NodeId, toNodeId: NodeId) => Link | null + hasLink: (fromNodeId: NodeId, toNodeId: NodeId) => Link | null + getNodesCount: () => number + getLinksCount: () => number + getLinks: Link[] + forEachNode: (callbackPerNode: (node: Node) => void) => void + forEachLinkedNode: (nodeId: NodeId, callbackPerNode: (node: Node, link: Link) => void, oriented: boolean) => void + forEachLink: (callbackPerLink: (link: Link) => void) => void + beginUpdate: () => void + endUpdate: () => void + clear: () => void + } + + export default function createGraph(options?: { multigraph: boolean }): Graph + +}