From 1b755999edaef40d884b959ca2e76f97305c7bda Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 16 Jul 2016 22:28:34 -0400 Subject: [PATCH] fixes return types of some promises that were missed --- mongoose/mongoose-tests.ts | 25 +++++++++++++++++++++++++ mongoose/mongoose.d.ts | 8 +++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/mongoose/mongoose-tests.ts b/mongoose/mongoose-tests.ts index 607058093c..dc8f795672 100644 --- a/mongoose/mongoose-tests.ts +++ b/mongoose/mongoose-tests.ts @@ -1024,6 +1024,31 @@ mongoose.model('') arg.b.toFixed; }); +mongoose.model('').findOne({}) + .then(function (arg) { + arg.save; + return 2; + }).then(function (num) { + num.toFixed; + return new Promise((resolve, reject) => { + resolve('str'); + }); + }).then(function (str) { + str.toLowerCase; + }); + +mongoose.model('').aggregate() + .then(function (arg) { + return 2; + }).then(function (num) { + num.toFixed; + return new Promise((resolve, reject) => { + resolve('str'); + }); + }).then(function (str) { + str.toLowerCase; + }); + /* pluggable promise */ mongoose.Promise = Promise; mongoose.Promise.race; diff --git a/mongoose/mongoose.d.ts b/mongoose/mongoose.d.ts index 71cb91bf8c..eb4c355237 100644 --- a/mongoose/mongoose.d.ts +++ b/mongoose/mongoose.d.ts @@ -1307,7 +1307,7 @@ declare module "mongoose" { * resolved with either the doc(s) or rejected with the error. * Like .then(), but only takes a rejection handler. */ - catch(reject?: (err: any) => void): Promise; + catch(reject?: (err: any) => void | TRes | PromiseLike): Promise; /** * DEPRECATED Alias for circle @@ -1651,7 +1651,8 @@ declare module "mongoose" { }): this; /** Executes this query and returns a promise */ - then(resolve?: (res: T) => void, reject?: (err: any) => void): Promise; + then(resolve?: (res: T) => void | TRes | PromiseLike, + reject?: (err: any) => void | TRes | PromiseLike): Promise; /** * Converts this query to a customized, reusable query @@ -2071,7 +2072,8 @@ declare module "mongoose" { sort(arg: string | Object): this; /** Provides promise for aggregate. */ - then(resolve?: (val: T) => void, reject?: (err: any) => void): Promise + then(resolve?: (val: T) => void | TRes | PromiseLike, + reject?: (err: any) => void | TRes | PromiseLike): Promise /** * Appends new custom $unwind operator(s) to this aggregate pipeline.