aboutsummaryrefslogtreecommitdiff
path: root/node_modules/nodemon/lib/utils/bus.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
commit383285ecd5292bf9a825e05904955b937de84cc9 (patch)
tree0a53b6f02c1604b078044567c03dc1b6c944c8c2 /node_modules/nodemon/lib/utils/bus.js
downloadequestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip
Initial commit
Diffstat (limited to 'node_modules/nodemon/lib/utils/bus.js')
-rw-r--r--node_modules/nodemon/lib/utils/bus.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/nodemon/lib/utils/bus.js b/node_modules/nodemon/lib/utils/bus.js
new file mode 100644
index 0000000..4e120c5
--- /dev/null
+++ b/node_modules/nodemon/lib/utils/bus.js
@@ -0,0 +1,44 @@
+var events = require('events');
+var debug = require('debug')('nodemon');
+var util = require('util');
+
+var Bus = function () {
+ events.EventEmitter.call(this);
+};
+
+util.inherits(Bus, events.EventEmitter);
+
+var bus = new Bus();
+
+// /*
+var collected = {};
+bus.on('newListener', function (event) {
+ debug('bus new listener: %s (%s)', event, bus.listeners(event).length);
+ if (!collected[event]) {
+ collected[event] = true;
+ bus.on(event, function () {
+ debug('bus emit: %s', event);
+ });
+ }
+});
+
+// */
+
+// proxy process messages (if forked) to the bus
+process.on('message', function (event) {
+ debug('process.message(%s)', event);
+ bus.emit(event);
+});
+
+var emit = bus.emit;
+
+// if nodemon was spawned via a fork, allow upstream communication
+// via process.send
+if (process.send) {
+ bus.emit = function (event, data) {
+ process.send({ type: event, data: data });
+ emit.apply(bus, arguments);
+ };
+}
+
+module.exports = bus;