Merge pull request #6161 from egistli/enhance/parse-d-ts

Change Parse.Promise to be a class
This commit is contained in:
Masahiro Wakame
2015-10-07 22:02:37 +09:00
2 changed files with 25 additions and 12 deletions
+13
View File
@@ -400,3 +400,16 @@ function test_view() {
var model = Parse.User.current();
var view = new Parse.View<Parse.User>();
}
function test_promise() {
let resolved = Parse.Promise.as(true);
let rejected = Parse.Promise.error("an error object");
Parse.Promise.when([resolved, rejected]).then(function() {
// success
}, function() {
// failed
});
// can check whether an object is a Parse.Promise object or not
Parse.Promise.is(resolved);
}
+12 -12
View File
@@ -72,14 +72,16 @@ declare namespace Parse {
then<U>(resolvedCallback: (value: T) => U, rejectedCallback?: (reason: any) => U): IPromise<U>;
}
interface Promise<T> {
class Promise<T> {
static as<U>(resolvedValue: U): Promise<U>;
static error<U>(error: U): Promise<U>;
static is(possiblePromise: any): Boolean;
static when(promises: Promise<any>[]): Promise<any>;
always(callback: Function): Promise<T>;
as(): Promise<T>;
done(callback: Function): Promise<T>;
error(): Promise<T>;
fail(callback: Function): Promise<T>;
is(): Promise<T>;
reject(error: any): void;
resolve(result: any): void;
then<U>(resolvedCallback: (value: T) => Promise<U>,
@@ -88,8 +90,6 @@ declare namespace Parse {
rejectedCallback?: (reason: any) => IPromise<U>): IPromise<T>;
then<U>(resolvedCallback: (value: T) => U,
rejectedCallback?: (reason: any) => U): IPromise<T>;
when(promises: Promise<T>[]): Promise<T>;
}
interface IBaseObject {
@@ -1050,11 +1050,11 @@ declare namespace Parse {
}
declare module "parse/node" {
export = { Parse };
}
declare module "parse" {
var type: typeof Parse;
var subType: {
Parse: typeof type;
}
export = subType;
import parse = require("parse/node");
export = parse
}