From 427c9729fb8780ce4e0b66a7da11f9aa888eee8b Mon Sep 17 00:00:00 2001 From: Sean Clark Hess Date: Tue, 21 Jan 2014 09:45:28 -0700 Subject: [PATCH 1/3] updated rethinkdb. Sequences instead of expressions. Added time. other fixes --- rethinkdb/rethinkdb.d.ts | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/rethinkdb/rethinkdb.d.ts b/rethinkdb/rethinkdb.d.ts index da6355094..002ee824c 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 { @@ -123,7 +129,7 @@ declare module "rethinkdb" { reduce(r:Reduce, base?:any):Expression; count():Expression; distinct():Sequence; - groupedMapReduce(group:ExpressionFunction, map:ExpressionFunction, reduce:Reduce, base?:any):Expression; + groupedMapReduce(group:ExpressionFunction, map:ExpressionFunction, reduce:Reduce, base?:any):Sequence; groupBy(...aggregators:Aggregator[]):Expression; // TODO: reduction object contains(prop:string):Expression; @@ -178,8 +184,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 +210,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 +223,8 @@ declare module "rethinkdb" { interface Aggregator {} interface Sort {} + interface Time {} + // http://www.rethinkdb.com/api/#js // TODO control structures From a6484815f51c7b0a53a5deee1ee0246fe4233e99 Mon Sep 17 00:00:00 2001 From: Sean Clark Hess Date: Tue, 21 Jan 2014 09:52:19 -0700 Subject: [PATCH 2/3] svgjs: added filters and bugfixes --- svgjs/svgjs.d.ts | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/svgjs/svgjs.d.ts b/svgjs/svgjs.d.ts index 6b7a7a6ae..8a3af1d68 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; @@ -71,6 +100,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 +234,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; From 9426f5677a424de81629d86447d447135a33eedb Mon Sep 17 00:00:00 2001 From: Sean Clark Hess Date: Thu, 23 Jan 2014 10:19:31 -0700 Subject: [PATCH 3/3] 0.9.5 changes to lodash, rethinkdb, and svgjs --- lodash/lodash.d.ts | 4 ++++ rethinkdb/rethinkdb.d.ts | 18 +++++++++++------- svgjs/svgjs.d.ts | 5 +++-- 3 files changed, 18 insertions(+), 9 deletions(-) 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 002ee824c..2c65a7cf4 100644 --- a/rethinkdb/rethinkdb.d.ts +++ b/rethinkdb/rethinkdb.d.ts @@ -104,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; @@ -126,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):Sequence; + groupedMapReduce(group:ExpressionFunction, map:ExpressionFunction, reduce:ReduceFunction, base?:any):Sequence; groupBy(...aggregators:Aggregator[]):Expression; // TODO: reduction object contains(prop:string):Expression; @@ -139,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 { diff --git a/svgjs/svgjs.d.ts b/svgjs/svgjs.d.ts index 8a3af1d68..5ff8303ff 100644 --- a/svgjs/svgjs.d.ts +++ b/svgjs/svgjs.d.ts @@ -77,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;