Skip to content

Commit 7922d4e

Browse files
author
Ruben Bridgewater
committed
Small style changes
1 parent 2fc54ec commit 7922d4e

28 files changed

+385
-389
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,13 @@ once the connection has been established. Setting `enable_offline_queue` to
196196
with an error, or an error will be emitted if no callback is specified.
197197
* `retry_max_delay`: *null*; By default every time the client tries to connect and fails the reconnection delay almost doubles.
198198
This delay normally grows infinitely, but setting `retry_max_delay` limits it to the maximum value, provided in milliseconds.
199-
* `connect_timeout` *86400000*; Setting `connect_timeout` limits total time for client to reconnect.
199+
* `connect_timeout`: *86400000*; Setting `connect_timeout` limits total time for client to reconnect.
200200
The value is provided in milliseconds and is counted once the disconnect occurred. The last retry is going to happen exactly at the timeout time.
201201
That way the default is to try reconnecting until 24h passed.
202-
* `max_attempts` *0*; By default client will try reconnecting until connected. Setting `max_attempts`
202+
* `max_attempts`: *0*; By default client will try reconnecting until connected. Setting `max_attempts`
203203
limits total amount of connection tries. Setting this to 1 will prevent any reconnect tries.
204-
* `auth_pass` *null*; If set, client will run redis auth command on connect.
205-
* `family` *IPv4*; You can force using IPv6 if you set the family to 'IPv6'. See Node.js [net](https://nodejs.org/api/net.html) or [dns](https://nodejs.org/api/dns.html) modules how to use the family type.
204+
* `auth_pass`: *null*; If set, client will run redis auth command on connect.
205+
* `family`: *IPv4*; You can force using IPv6 if you set the family to 'IPv6'. See Node.js [net](https://nodejs.org/api/net.html) or [dns](https://nodejs.org/api/dns.html) modules how to use the family type.
206206
* `disable_resubscribing`: *false*; If set to `true`, a client won't resubscribe after disconnecting
207207

208208
```js

benchmarks/buffer_bench.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,56 +7,56 @@ for (i = 99 ; i >= 0 ; i--) {
77
source[i] = 120;
88
}
99

10-
var str = "This is a nice String.",
11-
buf = new Buffer("This is a lovely Buffer.");
10+
var str = 'This is a nice String.',
11+
buf = new Buffer('This is a lovely Buffer.');
1212

1313
var start = new Date();
1414
for (i = count * 100; i > 0 ; i--) {
1515
if (Buffer.isBuffer(str)) {}
1616
}
1717
var end = new Date();
18-
console.log("Buffer.isBuffer(str) " + (end - start) + " ms");
18+
console.log('Buffer.isBuffer(str) ' + (end - start) + ' ms');
1919

2020
var start = new Date();
2121
for (i = count * 100; i > 0 ; i--) {
2222
if (Buffer.isBuffer(buf)) {}
2323
}
2424
var end = new Date();
25-
console.log("Buffer.isBuffer(buf) " + (end - start) + " ms");
25+
console.log('Buffer.isBuffer(buf) ' + (end - start) + ' ms');
2626

2727
var start = new Date();
2828
for (i = count * 100; i > 0 ; i--) {
2929
if (str instanceof Buffer) {}
3030
}
3131
var end = new Date();
32-
console.log("str instanceof Buffer " + (end - start) + " ms");
32+
console.log('str instanceof Buffer ' + (end - start) + ' ms');
3333

3434
var start = new Date();
3535
for (i = count * 100; i > 0 ; i--) {
3636
if (buf instanceof Buffer) {}
3737
}
3838
var end = new Date();
39-
console.log("buf instanceof Buffer " + (end - start) + " ms");
39+
console.log('buf instanceof Buffer ' + (end - start) + ' ms');
4040

4141
for (i = bytes ; i > 0 ; i --) {
4242
var start = new Date();
4343
for (j = count ; j > 0; j--) {
44-
tmp = source.toString("ascii", 0, bytes);
44+
tmp = source.toString('ascii', 0, bytes);
4545
}
4646
var end = new Date();
47-
console.log("toString() " + i + " bytes " + (end - start) + " ms");
47+
console.log('toString() ' + i + ' bytes ' + (end - start) + ' ms');
4848
}
4949

5050
for (i = bytes ; i > 0 ; i --) {
5151
var start = new Date();
5252
for (j = count ; j > 0; j--) {
53-
tmp = "";
53+
tmp = '';
5454
for (k = 0; k <= i ; k++) {
5555
tmp += String.fromCharCode(source[k]);
5656
}
5757
}
5858
var end = new Date();
59-
console.log("manual string " + i + " bytes " + (end - start) + " ms");
59+
console.log('manual string ' + i + ' bytes ' + (end - start) + ' ms');
6060
}
6161

6262
for (i = bytes ; i > 0 ; i--) {
@@ -67,7 +67,7 @@ for (i = bytes ; i > 0 ; i--) {
6767
}
6868
}
6969
var end = new Date();
70-
console.log("Manual copy " + i + " bytes " + (end - start) + " ms");
70+
console.log('Manual copy ' + i + ' bytes ' + (end - start) + ' ms');
7171
}
7272

7373
for (i = bytes ; i > 0 ; i--) {
@@ -78,7 +78,7 @@ for (i = bytes ; i > 0 ; i--) {
7878
}
7979
}
8080
var end = new Date();
81-
console.log("Direct assignment " + i + " bytes " + (end - start) + " ms");
81+
console.log('Direct assignment ' + i + ' bytes ' + (end - start) + ' ms');
8282
}
8383

8484
for (i = bytes ; i > 0 ; i--) {
@@ -87,5 +87,5 @@ for (i = bytes ; i > 0 ; i--) {
8787
source.copy(dest, 0, 0, i);
8888
}
8989
var end = new Date();
90-
console.log("Buffer.copy() " + i + " bytes " + (end - start) + " ms");
90+
console.log('Buffer.copy() ' + i + ' bytes ' + (end - start) + ' ms');
9191
}

benchmarks/diff_multi_bench_output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function parseInt10(s) {
4040

4141
// green if greater than 0, red otherwise
4242
function humanize_diff(num, unit) {
43-
unit = unit || "";
43+
unit = unit || '';
4444
if (num > 0) {
4545
return ('+' + num + unit).green;
4646
}

benchmarks/multi_bench.js

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
'use strict';
22

33
var path = require('path');
4-
var RedisProcess = require("../test/lib/redis-process");
4+
var RedisProcess = require('../test/lib/redis-process');
55
var rp;
6-
var redis = require("../index");
6+
var redis = require('../index');
77
var totalTime = 0;
8-
var metrics = require("metrics");
8+
var metrics = require('metrics');
99
var num_clients = parseInt(process.argv[2], 10) || 5;
1010
var num_requests = 50000;
1111
var tests = [];
@@ -19,7 +19,7 @@ var small_str, large_str, small_buf, large_buf, very_large_str, very_large_buf;
1919

2020
function lpad(input, len, chr) {
2121
var str = input.toString();
22-
chr = chr || " ";
22+
chr = chr || ' ';
2323

2424
while (str.length < len) {
2525
str = chr + str;
@@ -30,7 +30,7 @@ function lpad(input, len, chr) {
3030
metrics.Histogram.prototype.print_line = function () {
3131
var obj = this.printObj();
3232

33-
return lpad(obj.min, 4) + "/" + lpad(obj.max, 4) + "/" + lpad(obj.mean.toFixed(2), 7) + "/" + lpad(obj.p95.toFixed(2), 7);
33+
return lpad(obj.min, 4) + '/' + lpad(obj.max, 4) + '/' + lpad(obj.mean.toFixed(2), 7) + '/' + lpad(obj.p95.toFixed(2), 7);
3434
};
3535

3636
function Test(args) {
@@ -66,14 +66,14 @@ Test.prototype.new_client = function (id) {
6666
new_client = redis.createClient(this.client_options);
6767
new_client.create_time = Date.now();
6868

69-
new_client.on("connect", function () {
69+
new_client.on('connect', function () {
7070
self.connect_latency.update(Date.now() - new_client.create_time);
7171
});
7272

73-
new_client.on("ready", function () {
73+
new_client.on('ready', function () {
7474
if (! versions_logged) {
75-
console.log("Client count: " + num_clients + ", node version: " + process.versions.node + ", server version: " +
76-
new_client.server_info.redis_version + ", parser: " + new_client.reply_parser.name);
75+
console.log('Client count: ' + num_clients + ', node version: ' + process.versions.node + ', server version: ' +
76+
new_client.server_info.redis_version + ', parser: ' + new_client.reply_parser.name);
7777
versions_logged = true;
7878
}
7979
self.ready_latency.update(Date.now() - new_client.create_time);
@@ -84,7 +84,7 @@ Test.prototype.new_client = function (id) {
8484
});
8585

8686
// If no redis server is running, start one
87-
new_client.on("error", function(err) {
87+
new_client.on('error', function(err) {
8888
if (err.code === 'CONNECTION_BROKEN') {
8989
throw err;
9090
}
@@ -105,7 +105,7 @@ Test.prototype.new_client = function (id) {
105105
};
106106

107107
Test.prototype.on_clients_ready = function () {
108-
process.stdout.write(lpad(this.args.descr, 13) + ", " + lpad(this.args.pipeline, 5) + "/" + this.clients_ready + " ");
108+
process.stdout.write(lpad(this.args.descr, 13) + ', ' + lpad(this.args.pipeline, 5) + '/' + this.clients_ready + ' ');
109109
this.test_start = Date.now();
110110

111111
this.fill_pipeline();
@@ -159,64 +159,64 @@ Test.prototype.print_stats = function () {
159159
var duration = Date.now() - this.test_start;
160160
totalTime += duration;
161161

162-
console.log("min/max/avg/p95: " + this.command_latency.print_line() + " " + lpad(duration, 6) + "ms total, " +
163-
lpad((this.num_requests / (duration / 1000)).toFixed(2), 8) + " ops/sec");
162+
console.log('min/max/avg/p95: ' + this.command_latency.print_line() + ' ' + lpad(duration, 6) + 'ms total, ' +
163+
lpad((this.num_requests / (duration / 1000)).toFixed(2), 8) + ' ops/sec');
164164
};
165165

166-
small_str = "1234";
166+
small_str = '1234';
167167
small_buf = new Buffer(small_str);
168-
large_str = (new Array(4096 + 1).join("-"));
168+
large_str = (new Array(4096 + 1).join('-'));
169169
large_buf = new Buffer(large_str);
170-
very_large_str = (new Array((4 * 1024 * 1024) + 1).join("-"));
170+
very_large_str = (new Array((4 * 1024 * 1024) + 1).join('-'));
171171
very_large_buf = new Buffer(very_large_str);
172172

173-
tests.push(new Test({descr: "PING", command: "ping", args: [], pipeline: 1}));
174-
tests.push(new Test({descr: "PING", command: "ping", args: [], pipeline: 50}));
173+
tests.push(new Test({descr: 'PING', command: 'ping', args: [], pipeline: 1}));
174+
tests.push(new Test({descr: 'PING', command: 'ping', args: [], pipeline: 50}));
175175

176-
tests.push(new Test({descr: "SET 4B str", command: "set", args: ["foo_rand000000000000", small_str], pipeline: 1}));
177-
tests.push(new Test({descr: "SET 4B str", command: "set", args: ["foo_rand000000000000", small_str], pipeline: 50}));
176+
tests.push(new Test({descr: 'SET 4B str', command: 'set', args: ['foo_rand000000000000', small_str], pipeline: 1}));
177+
tests.push(new Test({descr: 'SET 4B str', command: 'set', args: ['foo_rand000000000000', small_str], pipeline: 50}));
178178

179-
tests.push(new Test({descr: "SET 4B buf", command: "set", args: ["foo_rand000000000000", small_buf], pipeline: 1}));
180-
tests.push(new Test({descr: "SET 4B buf", command: "set", args: ["foo_rand000000000000", small_buf], pipeline: 50}));
179+
tests.push(new Test({descr: 'SET 4B buf', command: 'set', args: ['foo_rand000000000000', small_buf], pipeline: 1}));
180+
tests.push(new Test({descr: 'SET 4B buf', command: 'set', args: ['foo_rand000000000000', small_buf], pipeline: 50}));
181181

182-
tests.push(new Test({descr: "GET 4B str", command: "get", args: ["foo_rand000000000000"], pipeline: 1}));
183-
tests.push(new Test({descr: "GET 4B str", command: "get", args: ["foo_rand000000000000"], pipeline: 50}));
182+
tests.push(new Test({descr: 'GET 4B str', command: 'get', args: ['foo_rand000000000000'], pipeline: 1}));
183+
tests.push(new Test({descr: 'GET 4B str', command: 'get', args: ['foo_rand000000000000'], pipeline: 50}));
184184

185-
tests.push(new Test({descr: "GET 4B buf", command: "get", args: ["foo_rand000000000000"], pipeline: 1, client_opts: { return_buffers: true} }));
186-
tests.push(new Test({descr: "GET 4B buf", command: "get", args: ["foo_rand000000000000"], pipeline: 50, client_opts: { return_buffers: true} }));
185+
tests.push(new Test({descr: 'GET 4B buf', command: 'get', args: ['foo_rand000000000000'], pipeline: 1, client_opts: { return_buffers: true} }));
186+
tests.push(new Test({descr: 'GET 4B buf', command: 'get', args: ['foo_rand000000000000'], pipeline: 50, client_opts: { return_buffers: true} }));
187187

188-
tests.push(new Test({descr: "SET 4KiB str", command: "set", args: ["foo_rand000000000001", large_str], pipeline: 1}));
189-
tests.push(new Test({descr: "SET 4KiB str", command: "set", args: ["foo_rand000000000001", large_str], pipeline: 50}));
188+
tests.push(new Test({descr: 'SET 4KiB str', command: 'set', args: ['foo_rand000000000001', large_str], pipeline: 1}));
189+
tests.push(new Test({descr: 'SET 4KiB str', command: 'set', args: ['foo_rand000000000001', large_str], pipeline: 50}));
190190

191-
tests.push(new Test({descr: "SET 4KiB buf", command: "set", args: ["foo_rand000000000001", large_buf], pipeline: 1}));
192-
tests.push(new Test({descr: "SET 4KiB buf", command: "set", args: ["foo_rand000000000001", large_buf], pipeline: 50}));
191+
tests.push(new Test({descr: 'SET 4KiB buf', command: 'set', args: ['foo_rand000000000001', large_buf], pipeline: 1}));
192+
tests.push(new Test({descr: 'SET 4KiB buf', command: 'set', args: ['foo_rand000000000001', large_buf], pipeline: 50}));
193193

194-
tests.push(new Test({descr: "GET 4KiB str", command: "get", args: ["foo_rand000000000001"], pipeline: 1}));
195-
tests.push(new Test({descr: "GET 4KiB str", command: "get", args: ["foo_rand000000000001"], pipeline: 50}));
194+
tests.push(new Test({descr: 'GET 4KiB str', command: 'get', args: ['foo_rand000000000001'], pipeline: 1}));
195+
tests.push(new Test({descr: 'GET 4KiB str', command: 'get', args: ['foo_rand000000000001'], pipeline: 50}));
196196

197-
tests.push(new Test({descr: "GET 4KiB buf", command: "get", args: ["foo_rand000000000001"], pipeline: 1, client_opts: { return_buffers: true} }));
198-
tests.push(new Test({descr: "GET 4KiB buf", command: "get", args: ["foo_rand000000000001"], pipeline: 50, client_opts: { return_buffers: true} }));
197+
tests.push(new Test({descr: 'GET 4KiB buf', command: 'get', args: ['foo_rand000000000001'], pipeline: 1, client_opts: { return_buffers: true} }));
198+
tests.push(new Test({descr: 'GET 4KiB buf', command: 'get', args: ['foo_rand000000000001'], pipeline: 50, client_opts: { return_buffers: true} }));
199199

200-
tests.push(new Test({descr: "INCR", command: "incr", args: ["counter_rand000000000000"], pipeline: 1}));
201-
tests.push(new Test({descr: "INCR", command: "incr", args: ["counter_rand000000000000"], pipeline: 50}));
200+
tests.push(new Test({descr: 'INCR', command: 'incr', args: ['counter_rand000000000000'], pipeline: 1}));
201+
tests.push(new Test({descr: 'INCR', command: 'incr', args: ['counter_rand000000000000'], pipeline: 50}));
202202

203-
tests.push(new Test({descr: "LPUSH", command: "lpush", args: ["mylist", small_str], pipeline: 1}));
204-
tests.push(new Test({descr: "LPUSH", command: "lpush", args: ["mylist", small_str], pipeline: 50}));
203+
tests.push(new Test({descr: 'LPUSH', command: 'lpush', args: ['mylist', small_str], pipeline: 1}));
204+
tests.push(new Test({descr: 'LPUSH', command: 'lpush', args: ['mylist', small_str], pipeline: 50}));
205205

206-
tests.push(new Test({descr: "LRANGE 10", command: "lrange", args: ["mylist", "0", "9"], pipeline: 1}));
207-
tests.push(new Test({descr: "LRANGE 10", command: "lrange", args: ["mylist", "0", "9"], pipeline: 50}));
206+
tests.push(new Test({descr: 'LRANGE 10', command: 'lrange', args: ['mylist', '0', '9'], pipeline: 1}));
207+
tests.push(new Test({descr: 'LRANGE 10', command: 'lrange', args: ['mylist', '0', '9'], pipeline: 50}));
208208

209-
tests.push(new Test({descr: "LRANGE 100", command: "lrange", args: ["mylist", "0", "99"], pipeline: 1}));
210-
tests.push(new Test({descr: "LRANGE 100", command: "lrange", args: ["mylist", "0", "99"], pipeline: 50}));
209+
tests.push(new Test({descr: 'LRANGE 100', command: 'lrange', args: ['mylist', '0', '99'], pipeline: 1}));
210+
tests.push(new Test({descr: 'LRANGE 100', command: 'lrange', args: ['mylist', '0', '99'], pipeline: 50}));
211211

212-
tests.push(new Test({descr: "SET 4MiB buf", command: "set", args: ["foo_rand000000000002", very_large_buf], pipeline: 1, reqs: 500}));
213-
tests.push(new Test({descr: "SET 4MiB buf", command: "set", args: ["foo_rand000000000002", very_large_buf], pipeline: 50, reqs: 500}));
212+
tests.push(new Test({descr: 'SET 4MiB buf', command: 'set', args: ['foo_rand000000000002', very_large_buf], pipeline: 1, reqs: 500}));
213+
tests.push(new Test({descr: 'SET 4MiB buf', command: 'set', args: ['foo_rand000000000002', very_large_buf], pipeline: 50, reqs: 500}));
214214

215-
tests.push(new Test({descr: "GET 4MiB str", command: "get", args: ["foo_rand000000000002"], pipeline: 1, reqs: 100}));
216-
tests.push(new Test({descr: "GET 4MiB str", command: "get", args: ["foo_rand000000000002"], pipeline: 50, reqs: 100}));
215+
tests.push(new Test({descr: 'GET 4MiB str', command: 'get', args: ['foo_rand000000000002'], pipeline: 1, reqs: 100}));
216+
tests.push(new Test({descr: 'GET 4MiB str', command: 'get', args: ['foo_rand000000000002'], pipeline: 50, reqs: 100}));
217217

218-
tests.push(new Test({descr: "GET 4MiB buf", command: "get", args: ["foo_rand000000000002"], pipeline: 1, reqs: 100, client_opts: { return_buffers: true} }));
219-
tests.push(new Test({descr: "GET 4MiB buf", command: "get", args: ["foo_rand000000000002"], pipeline: 50, reqs: 100, client_opts: { return_buffers: true} }));
218+
tests.push(new Test({descr: 'GET 4MiB buf', command: 'get', args: ['foo_rand000000000002'], pipeline: 1, reqs: 100, client_opts: { return_buffers: true} }));
219+
tests.push(new Test({descr: 'GET 4MiB buf', command: 'get', args: ['foo_rand000000000002'], pipeline: 50, reqs: 100, client_opts: { return_buffers: true} }));
220220

221221
function next() {
222222
var test = tests.shift();
@@ -231,7 +231,7 @@ function next() {
231231
next();
232232
});
233233
} else {
234-
console.log("End of tests. Total time elapsed:", totalTime, 'ms');
234+
console.log('End of tests. Total time elapsed:', totalTime, 'ms');
235235
process.exit(0);
236236
}
237237
}

changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ This is the biggest release that node_redis had since it was released in 2010. A
8282
- Fix commands being inconsistent and behaving wrong (@BridgeAR)
8383
- Channel names with spaces are now properly resubscribed after a reconnection (@pbihler)
8484
- Do not try to reconnect after the connection timeout has been exceeded (@BridgeAR)
85-
- Removed bad .eval implementation (@BridgeAR)
85+
- Ensure the execution order is observed if using .eval (@BridgeAR)
8686
- Fix commands not being rejected after calling .quit (@BridgeAR)
8787
- Fix .auth calling the callback twice if already connected (@BridgeAR)
8888
- Fix detect_buffers not working in pub sub mode and while monitoring (@BridgeAR)

examples/auth.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

3-
var redis = require("redis"),
3+
var redis = require('redis'),
44
client = redis.createClient();
55

6-
// This command is magical. Client stashes the password and will issue on every connect.
7-
client.auth("somepass");
6+
// The client stashes the password and will reauthenticate on every connect.
7+
client.auth('somepass');

examples/backpressure_drain.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
var redis = require("../index"),
3+
var redis = require('../index'),
44
client = redis.createClient(null, null, {
55
command_queue_high_water: 5,
66
command_queue_low_water: 1
@@ -9,26 +9,26 @@ var redis = require("../index"),
99

1010
function op() {
1111
if (remaining_ops <= 0) {
12-
console.error("Finished.");
12+
console.error('Finished.');
1313
process.exit(0);
1414
}
1515

1616
remaining_ops--;
17-
if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) {
18-
console.log("Pausing at " + remaining_ops);
17+
if (client.hset('test hash', 'val ' + remaining_ops, remaining_ops) === false) {
18+
console.log('Pausing at ' + remaining_ops);
1919
paused = true;
2020
} else {
2121
process.nextTick(op);
2222
}
2323
}
2424

25-
client.on("drain", function () {
25+
client.on('drain', function () {
2626
if (paused) {
27-
console.log("Resuming at " + remaining_ops);
27+
console.log('Resuming at ' + remaining_ops);
2828
paused = false;
2929
process.nextTick(op);
3030
} else {
31-
console.log("Got drain while not paused at " + remaining_ops);
31+
console.log('Got drain while not paused at ' + remaining_ops);
3232
}
3333
});
3434

examples/eval.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
'use strict';
22

3-
var redis = require("../index"),
3+
var redis = require('../index'),
44
client = redis.createClient();
55

6-
client.eval("return 100.5", 0, function (err, res) {
6+
client.eval('return 100.5', 0, function (err, res) {
77
console.dir(err);
88
console.dir(res);
99
});
1010

11-
client.eval([ "return 100.5", 0 ], function (err, res) {
11+
client.eval([ 'return 100.5', 0 ], function (err, res) {
1212
console.dir(err);
1313
console.dir(res);
1414
});

examples/extend.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
'use strict';
22

3-
var redis = require("redis"),
3+
var redis = require('redis'),
44
client = redis.createClient();
55

66
// Extend the RedisClient prototype to add a custom method
7-
// This one converts the results from "INFO" into a JavaScript Object
7+
// This one converts the results from 'INFO' into a JavaScript Object
88

99
redis.RedisClient.prototype.parse_info = function (callback) {
1010
this.info(function (err, res) {
11-
var lines = res.toString().split("\r\n").sort();
11+
var lines = res.toString().split('\r\n').sort();
1212
var obj = {};
1313
lines.forEach(function (line) {
1414
var parts = line.split(':');

0 commit comments

Comments
 (0)