Merged q.d.ts and q.module.d.ts using new semantics for export = . Hoozah!

This commit is contained in:
Andrew Gaspar
2013-06-19 23:18:45 -07:00
parent 3d190b9b50
commit a615315e63
4 changed files with 51 additions and 72 deletions
+2
View File
@@ -1,5 +1,7 @@
/// <reference path="Q.d.ts" />
Q(8).then(x => console.log(x));
var delay = function (delay) {
var d = Q.defer();
setTimeout(d.resolve, delay);
Vendored
+32 -26
View File
@@ -35,30 +35,36 @@ interface Qpromise {
valueOf(): any;
}
interface QStatic {
when(value: any, onFulfilled?: Function, onRejected?: Function): Qpromise;
try(method: Function, ...args: any[]): Qpromise;
fbind(method: Function, ...args: any[]): Qpromise;
fcall(method: Function, ...args: any[]): Qpromise;
all(promises: Qpromise[]): Qpromise;
allResolved(promises: Qpromise[]): Qpromise;
resolve(object:any):Qpromise;
spread(onFulfilled: Function, onRejected: Function): Qpromise;
timeout(ms: number): Qpromise;
delay(ms: number): Qpromise;
delay(value: any, ms: number): Qpromise;
isFulfilled(): bool;
isRejected(): bool;
isPending(): bool;
valueOf(): any;
defer(): Qdeferred;
(value: any): Qpromise;
reject(): Qpromise;
promise(factory: { resolve: Function; reject: Function; notify: Function; }): Qpromise;
isPromise(value: any): bool;
async(generatorFunction: any): Qdeferred;
nextTick(callback: Function);
oneerror: any;
longStackJumpLimit: number;
declare function Q(value: any): Qpromise;
declare module Q {
export function when(value: any, onFulfilled: Function, onRejected?: Function): Qpromise;
//export function try(method: Function, ...args: any[]): Qpromise; <- This is broken currently - not sure how to fix.
export function fbind(method: Function, ...args: any[]): Qpromise;
export function fcall(method: Function, ...args: any[]): Qpromise;
export function nfbind(nodeFunction: Function): (...args: any[]) => Qpromise;
export function nfcall(nodeFunction: Function, ...args: any[]): Qpromise;
export function ninvoke(nodeModule: any, functionName: string, ...args: any[]): Qpromise;
export function all(promises: Qpromise[]): Qpromise;
export function allResolved(promises: Qpromise[]): Qpromise;
export function spread(onFulfilled: Function, onRejected: Function): Qpromise;
export function timeout(ms: number): Qpromise;
export function delay(ms: number): Qpromise;
export function delay(value: any, ms: number): Qpromise;
export function isFulfilled(): bool;
export function isRejected(): bool;
export function isPending(): bool;
export function valueOf(): any;
export function defer(): Qdeferred;
export function reject(): Qpromise;
export function promise(factory: { resolve: Function; reject: Function; notify: Function; }): Qpromise;
export function isPromise(value: any): bool;
export function async(generatorFunction: any): Qdeferred;
export function nextTick(callback: Function);
export var oneerror: any;
export var longStackJumpLimit: number;
export function resolve(object?: Qpromise);
}
declare var Q: QStatic;
declare module "q" {
export = Q;
}
+17 -15
View File
@@ -1,30 +1,32 @@
/// <reference path="q.module.d.ts" />
/// <reference path="q.d.ts" />
/// <reference path="../jasmine/jasmine.d.ts" />
/// <reference path="../node/node.d.ts" />
import Q = module("q");
import q = module("q");
import fs = module("fs");
q(8).then(x => console.log(x));
var delay = function (delay) {
var d = Q.defer();
var d = q.defer();
setTimeout(d.resolve, delay);
return d.promise;
};
Q.when(delay(1000), function () {
q.when(delay(1000), function () {
console.log('Hello, World!');
});
var eventually = function (eventually) {
return Q.delay(eventually, 1000);
return q.delay(eventually, 1000);
};
var x = Q.all([1, 2, 3].map(eventually));
Q.when(x, function (x) {
var x = q.all([1, 2, 3].map(eventually));
q.when(x, function (x) {
console.log(x);
});
Q.all([
q.all([
eventually(10),
eventually(20)
])
@@ -32,7 +34,7 @@ Q.all([
console.log(x, y);
});
Q.fcall(function () { })
q.fcall(function () { })
.then(function () { })
.then(function () { })
.then(function () { })
@@ -42,7 +44,7 @@ Q.fcall(function () { })
// Handle any error from step1 through step4
}).done();
Q.allResolved([])
q.allResolved([])
.then(function (promises: Qpromise[]) {
promises.forEach(function (promise) {
if (promise.isFulfilled()) {
@@ -55,20 +57,20 @@ Q.allResolved([])
var initialVal: any;
var funcs = ['foo', 'bar', 'baz', 'qux'];
var result = Q.resolve(initialVal);
var result = q.resolve(initialVal);
funcs.forEach(function (f) {
result = result.then(f);
});
var replaceText = (text: string) => text.replace("a", "b");
Q.nfcall(fs.readFile, "foo.txt", "utf-8").then(replaceText);
q.nfcall(fs.readFile, "foo.txt", "utf-8").then(replaceText);
Q.ninvoke(fs, "readFile", "foo.txt", "utf-8").then(replaceText);
q.ninvoke(fs, "readFile", "foo.txt", "utf-8").then(replaceText);
var deferred = Q.defer();
var deferred = q.defer();
fs.readFile("foo.txt", "utf-8", deferred.makeNodeResolver());
deferred.promise.then(replaceText);
var readFile = Q.nfbind(fs.readFile);
var readFile = q.nfbind(fs.readFile);
readFile("foo.txt", "utf-8").then(replaceText);
-31
View File
@@ -1,31 +0,0 @@
/// <reference path="Q.d.ts" />
declare module "q" {
export function when(value: any, onFulfilled: Function, onRejected?: Function): Qpromise;
export function try(method: Function, ...args: any[]): Qpromise;
export function fbind(method: Function, ...args: any[]): Qpromise;
export function fcall(method: Function, ...args: any[]): Qpromise;
export function nfbind(nodeFunction: Function): (...args: any[]) => Qpromise;
export function nfcall(nodeFunction: Function, ...args: any[]): Qpromise;
export function ninvoke(nodeModule: any, functionName: string, ...args: any[]): Qpromise;
export function all(promises: Qpromise[]): Qpromise;
export function allResolved(promises: Qpromise[]): Qpromise;
export function spread(onFulfilled: Function, onRejected: Function): Qpromise;
export function timeout(ms: number): Qpromise;
export function delay(ms: number): Qpromise;
export function delay(value: any, ms: number): Qpromise;
export function isFulfilled(): bool;
export function isRejected(): bool;
export function isPending(): bool;
export function valueOf(): any;
export function defer(): Qdeferred;
export function (value: any): Qpromise;
export function reject(): Qpromise;
export function promise(factory: { resolve: Function; reject: Function; notify: Function; }): Qpromise;
export function isPromise(value: any): bool;
export function async(generatorFunction: any): Qdeferred;
export function nextTick(callback: Function);
export var oneerror: any;
export var longStackJumpLimit: number;
export function resolve(object?:Qpromise);
}