ipc.js 963 B

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