From 819ea00877f5484746f9efb6d3eba69e467d3bef Mon Sep 17 00:00:00 2001 From: Mark Wong Siang Kai Date: Fri, 20 Mar 2015 14:14:38 -0700 Subject: [PATCH] Added type definitions for dagre-d3 --- dagre-d3/dagre-d3-tests.ts | 19 +++++++++++++++++++ dagre-d3/dagre-d3.d.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 dagre-d3/dagre-d3-tests.ts create mode 100644 dagre-d3/dagre-d3.d.ts diff --git a/dagre-d3/dagre-d3-tests.ts b/dagre-d3/dagre-d3-tests.ts new file mode 100644 index 0000000000..e3e068816c --- /dev/null +++ b/dagre-d3/dagre-d3-tests.ts @@ -0,0 +1,19 @@ +/// +module DagreD3Tests { + var gDagre = new dagreD3.graphlib.Graph(); + var graph = gDagre.graph(); + + // has graph methods from dagre.d.ts + graph.setNode("a", {}); + var num: number = 251 + graph.height + graph.width; + var predecessors: { [vertex:string]: string[] } = {}; + var successors: { [vertex:string]: string[] } = {}; + + predecessors["a"] = graph.predecessors("a"); + successors["a"] = graph.successors("a"); + + var render = new dagreD3.render(); + var svg = d3.select("svg"); + render(svg, graph); +} + diff --git a/dagre-d3/dagre-d3.d.ts b/dagre-d3/dagre-d3.d.ts new file mode 100644 index 0000000000..d088d1d829 --- /dev/null +++ b/dagre-d3/dagre-d3.d.ts @@ -0,0 +1,31 @@ +// Type definitions for dagre-d3.core.js +// Project: https://github.com/cpettitt/dagre-d3 +// Definitions by: Mark Wong Siang Kai +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// + +declare module Dagre { + + interface DagreD3Factory extends Dagre.DagreFactory { + render: Render; + } + + // coupled with dagre.d.ts' Graph + // a lot of these methods come from graphlib.core.js + interface Graph { + graph(): Graph; + height: number; + predecessors(id: string): string[]; + successors(id: string): string[]; + width: number; + } + + interface Render { + new (): Render; + (selection: D3.Selection, g: Dagre.Graph): void; + } +} + +declare var dagreD3: Dagre.DagreD3Factory;