29 lines
969 B
JavaScript
29 lines
969 B
JavaScript
'use strict';
|
|
|
|
const ClientBrowser = require('../../../../lib/client/browser/index');
|
|
const promiseUtils = require('../../utils');
|
|
|
|
/**
|
|
* Constructor for a Jayson Promise Browser Client that does not depend any node.js core libraries
|
|
* @class PromiseClientBrowser
|
|
* @extends ClientBrowser
|
|
* @return {PromiseClientBrowser}
|
|
*/
|
|
const PromiseClientBrowser = function(callServerPromise, options) {
|
|
if(!(this instanceof PromiseClientBrowser)) {
|
|
return new PromiseClientBrowser(callServerPromise, options);
|
|
}
|
|
|
|
const callServer = function (request, callback) {
|
|
callServerPromise(request).then(res => callback(null, res), err => callback(err));
|
|
};
|
|
|
|
ClientBrowser.call(this, callServer, options);
|
|
this.request = promiseUtils.wrapClientRequestMethod(this.request.bind(this));
|
|
};
|
|
|
|
// let's hope this ancient method of inheriting works the way I remember it.
|
|
PromiseClientBrowser.prototype = ClientBrowser.prototype;
|
|
|
|
module.exports = PromiseClientBrowser;
|