UNPKG

743 BJavaScriptView Raw
1/**
2 * Checks if the given message is an internal node-dev message.
3 */
4function isNodeDevMessage(m) {
5 return m.cmd === 'NODE_DEV';
6}
7
8/**
9 * Sends a message to the given process.
10 */
11exports.send = function (m, dest) {
12 m.cmd = 'NODE_DEV';
13 if (!dest) dest = process;
14 if (dest.send) dest.send(m);
15};
16
17exports.on = function (proc, type, cb) {
18 function handleMessage(m) {
19 if (isNodeDevMessage(m) && type in m) cb(m);
20 }
21 proc.on('internalMessage', handleMessage);
22 proc.on('message', handleMessage);
23};
24
25exports.relay = function (src, dest) {
26 if (!dest) dest = process;
27 function relayMessage(m) {
28 if (isNodeDevMessage(m)) dest.send(m);
29 }
30 src.on('internalMessage', relayMessage);
31 src.on('message', relayMessage);
32};