Skip to content

Commit f6ebe32

Browse files
author
Alan Cohen
committed
FIX: Use assert not assert-diff
1 parent 3caed3c commit f6ebe32

File tree

1 file changed

+85
-85
lines changed

1 file changed

+85
-85
lines changed

src/http.js

+85-85
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,85 @@
1-
/* eslint-disable new-cap */
2-
'use strict';
3-
4-
const assert = require('assert-diff');
5-
const _ = require('lodash');
6-
const jayson = require('jayson');
7-
8-
const RippleAPI = require('./api').RippleAPI;
9-
10-
11-
function createHTTPServer(options, httpPort) {
12-
const rippleAPI = new RippleAPI(options);
13-
14-
const methodNames = _.filter(_.keys(RippleAPI.prototype), k => {
15-
return typeof RippleAPI.prototype[k] === 'function'
16-
&& k !== 'connect'
17-
&& k !== 'disconnect'
18-
&& k !== 'constructor'
19-
&& k !== 'RippleAPI';
20-
});
21-
22-
function applyPromiseWithCallback(fnName, callback, args_) {
23-
try {
24-
let args = args_;
25-
if (!_.isArray(args_)) {
26-
const fnParameters = jayson.Utils.getParameterNames(rippleAPI[fnName]);
27-
args = fnParameters.map(name => args_[name]);
28-
const defaultArgs = _.omit(args_, fnParameters);
29-
assert(_.size(defaultArgs) <= 1,
30-
'Function must have no more than one default argument');
31-
if (_.size(defaultArgs) > 0) {
32-
args.push(defaultArgs[_.keys(defaultArgs)[0]]);
33-
}
34-
}
35-
Promise.resolve(rippleAPI[fnName].apply(rippleAPI, args))
36-
.then(res => callback(null, res))
37-
.catch(err => {
38-
callback({code: 99, message: err.message, data: {name: err.name}});
39-
});
40-
} catch (err) {
41-
callback({code: 99, message: err.message, data: {name: err.name}});
42-
}
43-
}
44-
45-
const methods = {};
46-
_.forEach(methodNames, fn => {
47-
methods[fn] = jayson.Method((args, cb) => {
48-
applyPromiseWithCallback(fn, cb, args);
49-
}, {collect: true});
50-
});
51-
52-
const server = jayson.server(methods);
53-
let httpServer = null;
54-
55-
return {
56-
server: server,
57-
start: function() {
58-
if (httpServer !== null) {
59-
return Promise.reject('Already started');
60-
}
61-
return new Promise((resolve) => {
62-
rippleAPI.connect().then(() => {
63-
httpServer = server.http();
64-
httpServer.listen(httpPort, resolve);
65-
});
66-
});
67-
},
68-
stop: function() {
69-
if (httpServer === null) {
70-
return Promise.reject('Not started');
71-
}
72-
return new Promise((resolve) => {
73-
rippleAPI.disconnect();
74-
httpServer.close(() => {
75-
httpServer = null;
76-
resolve();
77-
});
78-
});
79-
}
80-
};
81-
}
82-
83-
module.exports = {
84-
createHTTPServer
85-
};
1+
/* eslint-disable new-cap */
2+
'use strict';
3+
4+
const assert = require('assert');
5+
const _ = require('lodash');
6+
const jayson = require('jayson');
7+
8+
const RippleAPI = require('./api').RippleAPI;
9+
10+
11+
function createHTTPServer(options, httpPort) {
12+
const rippleAPI = new RippleAPI(options);
13+
14+
const methodNames = _.filter(_.keys(RippleAPI.prototype), k => {
15+
return typeof RippleAPI.prototype[k] === 'function'
16+
&& k !== 'connect'
17+
&& k !== 'disconnect'
18+
&& k !== 'constructor'
19+
&& k !== 'RippleAPI';
20+
});
21+
22+
function applyPromiseWithCallback(fnName, callback, args_) {
23+
try {
24+
let args = args_;
25+
if (!_.isArray(args_)) {
26+
const fnParameters = jayson.Utils.getParameterNames(rippleAPI[fnName]);
27+
args = fnParameters.map(name => args_[name]);
28+
const defaultArgs = _.omit(args_, fnParameters);
29+
assert(_.size(defaultArgs) <= 1,
30+
'Function must have no more than one default argument');
31+
if (_.size(defaultArgs) > 0) {
32+
args.push(defaultArgs[_.keys(defaultArgs)[0]]);
33+
}
34+
}
35+
Promise.resolve(rippleAPI[fnName].apply(rippleAPI, args))
36+
.then(res => callback(null, res))
37+
.catch(err => {
38+
callback({code: 99, message: err.message, data: {name: err.name}});
39+
});
40+
} catch (err) {
41+
callback({code: 99, message: err.message, data: {name: err.name}});
42+
}
43+
}
44+
45+
const methods = {};
46+
_.forEach(methodNames, fn => {
47+
methods[fn] = jayson.Method((args, cb) => {
48+
applyPromiseWithCallback(fn, cb, args);
49+
}, {collect: true});
50+
});
51+
52+
const server = jayson.server(methods);
53+
let httpServer = null;
54+
55+
return {
56+
server: server,
57+
start: function() {
58+
if (httpServer !== null) {
59+
return Promise.reject('Already started');
60+
}
61+
return new Promise((resolve) => {
62+
rippleAPI.connect().then(() => {
63+
httpServer = server.http();
64+
httpServer.listen(httpPort, resolve);
65+
});
66+
});
67+
},
68+
stop: function() {
69+
if (httpServer === null) {
70+
return Promise.reject('Not started');
71+
}
72+
return new Promise((resolve) => {
73+
rippleAPI.disconnect();
74+
httpServer.close(() => {
75+
httpServer = null;
76+
resolve();
77+
});
78+
});
79+
}
80+
};
81+
}
82+
83+
module.exports = {
84+
createHTTPServer
85+
};

0 commit comments

Comments
 (0)