UNPKG

977 BJavaScriptView Raw
1exports.connectAll = connectAll
2exports.ackAll = ackAll
3exports.pubAll = pubAll
4
5var parallel = require('run-parallel')
6
7function connectAll(clients, urls, done) {
8 if (typeof urls === 'string') {
9 urls = [urls]
10 }
11 parallel(clients.map(function(client, i) {
12 return function (cb) {
13 client.on('open', function() {
14 client.send('sub ' + (urls[i] || urls[0]))
15 cb()
16 })
17 }
18 }), done)
19}
20
21function ackAll(clients, done) {
22 parallel(clients.map(function(client) {
23 return function (cb) {
24 client.on('message', function (msg) {
25 if (msg.split(' ')[0] === 'ack') {
26 cb()
27 return;
28 }
29 })
30 }
31 }), done)
32}
33
34function pubAll(clients, pubs, done) {
35 parallel(clients.map(function(client) {
36 return function (cb) {
37 client.on('message', function (msg) {
38 if (msg.split(' ')[0] === 'pub') {
39 pubs.push(msg)
40 cb()
41 return;
42 }
43 })
44 }
45 }), done)
46}