diff --git a/lodash/lodash.d.ts b/lodash/lodash.d.ts index 68ee4f8df..97aeab757 100644 --- a/lodash/lodash.d.ts +++ b/lodash/lodash.d.ts @@ -3825,3 +3825,7 @@ declare module _ { [index: string]: T; } } + +declare module "lodash" { + export = _; +} diff --git a/rethinkdb/rethinkdb.d.ts b/rethinkdb/rethinkdb.d.ts index da6355094..2c65a7cf4 100644 --- a/rethinkdb/rethinkdb.d.ts +++ b/rethinkdb/rethinkdb.d.ts @@ -26,6 +26,12 @@ declare module "rethinkdb" { export function row(name:string):Expression; export function expr(stuff:any):Expression; + export function now():Time; + + // Control Structures + export function branch(test:Expression, trueBranch:Expression, falseBranch:Expression):Expression; + + export class Cursor { hasNext():boolean; each(cb:(err:Error, row:any)=>void, done?:()=>void); @@ -83,9 +89,9 @@ declare module "rethinkdb" { insert(obj:any[], options?:InsertOptions):Operation; insert(obj:any, options?:InsertOptions):Operation; - get(key:string):Expression; // primary key - getAll(key:string, index?:Index):Selection; // without index defaults to primary key - getAll(...keys:string[]):Selection; + get(key:string):Sequence; // primary key + getAll(key:string, index?:Index):Sequence; // without index defaults to primary key + getAll(...keys:string[]):Sequence; } interface Sequence extends Operation, Writeable { @@ -98,8 +104,8 @@ declare module "rethinkdb" { // Join // these return left, right - innerJoin(sequence:Sequence, join:ExpressionFunction):Sequence; - outerJoin(sequence:Sequence, join:ExpressionFunction):Sequence; + innerJoin(sequence:Sequence, join:JoinFunction):Sequence; + outerJoin(sequence:Sequence, join:JoinFunction):Sequence; eqJoin(leftAttribute:string, rightSequence:Sequence, index?:Index):Sequence; eqJoin(leftAttribute:ExpressionFunction, rightSequence:Sequence, index?:Index):Sequence; zip():Sequence; @@ -120,10 +126,10 @@ declare module "rethinkdb" { sample(n:number):Sequence; // Aggregate - reduce(r:Reduce, base?:any):Expression; + reduce(r:ReduceFunction, base?:any):Expression; count():Expression; distinct():Sequence; - groupedMapReduce(group:ExpressionFunction, map:ExpressionFunction, reduce:Reduce, base?:any):Expression; + groupedMapReduce(group:ExpressionFunction, map:ExpressionFunction, reduce:ReduceFunction, base?:any):Sequence; groupBy(...aggregators:Aggregator[]):Expression; // TODO: reduction object contains(prop:string):Expression; @@ -133,11 +139,15 @@ declare module "rethinkdb" { } interface ExpressionFunction { - (...docs:Expression[]):Expression; + (doc:Expression):Expression; } - interface Reduce { - (acc:any, val:any):any; + interface JoinFunction { + (left:Expression, right:Expression):Expression; + } + + interface ReduceFunction { + (acc:Expression, val:Expression):Expression; } interface InsertOptions { @@ -178,8 +188,8 @@ declare module "rethinkdb" { interface Index { index: string; - left_bound: string; // 'closed' - right_bound: string; // 'open' + left_bound?: string; // 'closed' + right_bound?: string; // 'open' } interface Expression extends Writeable, Operation { @@ -204,6 +214,10 @@ declare module "rethinkdb" { mul(n:number):Expression; div(n:number):Expression; mod(n:number):Expression; + + hasFields(...fields:string[]):Expression; + + default(value:T):Expression; } interface Operation { @@ -213,6 +227,8 @@ declare module "rethinkdb" { interface Aggregator {} interface Sort {} + interface Time {} + // http://www.rethinkdb.com/api/#js // TODO control structures diff --git a/svgjs/svgjs.d.ts b/svgjs/svgjs.d.ts index 6b7a7a6ae..5ff8303ff 100644 --- a/svgjs/svgjs.d.ts +++ b/svgjs/svgjs.d.ts @@ -38,7 +38,36 @@ declare module svgjs { mask():Mask; // TODO gradients - } + } + + + // https://github.com/wout/svg.filter.js + export interface Filter { + gaussianBlur(values:string):Filter; + colorMatrix(name:string, value:number):Filter; + colorMatrix(name:string, matrix:number[]):Filter; + componentTransfer(components:{rgb?: FilterComponentTransfer; g?: FilterComponentTransfer;}):Filter; + offset(x:number, y:number):Filter; + blend():Filter; + in(source:FilterSource):Filter; + sourceAlpha:FilterSource; + source:FilterSource; + } + + export interface FilterSource { + + } + + + export interface FilterComponentTransfer { + type: string; + tableValues?: string; + slope?: number; + intercept: number; + amplitude: number; + exponent: number; + offset: number; + } export interface Element extends Text, Parent { node:LinkedHTMLElement; @@ -48,9 +77,10 @@ declare module svgjs { animate(duration?:number, ease?:string, delay?:number):Animation; animate(info:{ease?:string; duration?:number; delay?:number}):Animation; - attr(name:string, value:any, namespace?:string):Element; - attr(obj:Object):Element; attr(name:string):any; + attr(obj:Object):Element; + attr(name:string, value:any, namespace?:string):Element; + viewbox():Viewbox; viewbox(x:number, y:number, w:number, h:number):Element; viewbox(obj:Viewbox):Element; @@ -71,6 +101,7 @@ declare module svgjs { remove():void; each(iterator:(i?:number, children?:Element[])=>void, deep?:boolean):void; + filter(adder:(filter:Filter)=>void):Element; transform(t:Transform):Element; @@ -204,6 +235,12 @@ declare module svgjs { export interface RBox extends BBox {} + export interface Attributes { + (name:string, value:any):void; + (obj:Object):void; + (name:string):any; + } + export interface Viewbox { x: number; y: number;