Skip to content

Commit

Permalink
Merge pull request #44 from doublemarked/39-support-promises
Browse files Browse the repository at this point in the history
Add promise support
  • Loading branch information
superkhau committed Apr 25, 2016
2 parents 2b38f3c + 75fd2f4 commit 8343a64
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
11 changes: 8 additions & 3 deletions lib/remote-connector.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

var assert = require('assert');
var remoting = require('strong-remoting');
var utils = require('loopback-datasource-juggler/lib/utils');
var jutil = require('loopback-datasource-juggler/lib/jutil');
var RelationMixin = require('./relations');
var InclusionMixin = require('loopback-datasource-juggler/lib/include');
Expand Down Expand Up @@ -94,14 +95,18 @@ function createProxyMethod(Model, remotes, remoteMethod) {
var callback;
if (lastArgIsFunc) {
callback = args.pop();
} else {
callback = utils.createPromiseCallback();
}

if (remoteMethod.isStatic) {
return remotes.invoke(remoteMethod.stringName, args, callback);
remotes.invoke(remoteMethod.stringName, args, callback);
} else {
var ctorArgs = [this.id];
remotes.invoke(remoteMethod.stringName, ctorArgs, args, callback);
}

var ctorArgs = [this.id];
return remotes.invoke(remoteMethod.stringName, ctorArgs, args, callback);
return callback.promise;
}

scope[remoteMethod.name] = remoteMethodProxy;
Expand Down
9 changes: 9 additions & 0 deletions test/models.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,15 @@ describe('Model tests', function() {
});
});

describe('Model methods', function() {
it('should support promises', function(done) {
assert(User.create() instanceof Promise);
assert(User.find() instanceof Promise);
assert(User.findById(99) instanceof Promise);
done();
});
});

describe('Model.create([data], [callback])', function() {
it('should create an instance and save to the attached data source',
function(done) {
Expand Down

0 comments on commit 8343a64

Please sign in to comment.