Merge pull request #12215 from DefinitelyTyped/weswigham-patch-3

Modernize Vega Definitions
This commit is contained in:
Paul van Brenk
2016-11-30 15:06:36 -08:00
committed by GitHub
+36 -20
View File
@@ -3,18 +3,24 @@
// Definitions by: Tom Crockett <http://github.com/pelotom>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace Vega {
declare namespace vg {
export type ChartViewConstructor = {
(args: {renderer: 'svg'} & ViewArgs): SvgView;
(args: {renderer: 'canvas'} & ViewArgs): CanvasView;
(args: ViewArgs): View;
};
export interface Parse {
spec(url: string, callback: (chart: (args: ViewArgs) => View) => void): void;
spec(spec: Spec, callback: (chart: (args: ViewArgs) => View) => void): void;
spec(url: string, callback: (chart: ChartViewConstructor) => void): void;
spec(spec: Spec, callback: (chart: ChartViewConstructor) => void): void;
data(dataSet: Data[], callback: () => void): void;
// TODO all the other stuff
}
export interface ViewArgs {
// TODO docs
el: any;
el?: any;
data?: any;
hover?: boolean;
renderer?: string;
@@ -23,33 +29,41 @@ declare namespace Vega {
export interface View {
// TODO docs
width(): number;
width(w: number): View;
width(w: number): this;
height(): number;
height(h: number): View;
height(h: number): this;
padding(): Padding;
padding(p: Padding): View;
padding(p: Padding): this;
viewport(): number[];
viewport(v: number[]): View;
viewport(v: number[]): this;
renderer(r: string): View;
renderer(r: string): this;
data(): Runtime.DataSets;
data(d: any/*TODO*/): View;
data(d: any/*TODO*/): this;
initialize(selector: string): View;
initialize(node: Element): View;
initialize(selector: string): this;
initialize(node: Element): this;
render(r?: any[]): View;
render(r?: any[]): this;
update(options?: UpdateOptions): View;
update(options?: UpdateOptions): this;
model(): Vega.Model;
defs(): Defs;
defs(defs: Defs): View;
defs(defs: Defs): this;
}
export interface SvgView extends View {
svg(): string;
}
export interface CanvasView extends View {
canvas(): any; // Returns a node-canvas instance
}
export interface Padding {
@@ -511,15 +525,13 @@ declare namespace Vega {
offset?: number;
band?: boolean;
}
}
declare namespace vg {
export var parse: Vega.Parse;
export var parse: Parse;
export namespace scene {
export function item(mark: Vega.Node): Vega.Node;
export function item(mark: Node): Node;
}
export class Bounds implements Vega.Bounds {
export class Bounds implements Bounds {
x1: number;
y1: number;
x2: number;
@@ -541,3 +553,7 @@ declare namespace vg {
// TODO: classes for View, Model, etc.
}
export = vg;
export as namespace vg;
export as namespace Vega;