]> git.r.bdr.sh - rbdr/serpentity/commitdiff
Emit events
authorBen Beltran <redacted>
Sat, 21 Apr 2018 07:49:42 +0000 (02:49 -0500)
committerBen Beltran <redacted>
Sat, 21 Apr 2018 07:49:42 +0000 (02:49 -0500)
lib/serpentity/node_collection.js

index 8da41da0360e43085596c10ac93633ffe831662f..bb66a8db67c7f1e06720faeab77bec7328c8c490 100644 (file)
@@ -1,5 +1,7 @@
 'use strict';
 
+const Events = require('events');
+
 /*
  * Node Collections contain nodes, in order to keep the lists of nodes
  * that belong to each type.
@@ -8,7 +10,7 @@
  * instances of that class.
  */
 
-const NodeCollection = class NodeCollection {
+const NodeCollection = class NodeCollection extends Events {
 
   constructor(config) {
 
@@ -39,6 +41,7 @@ const NodeCollection = class NodeCollection {
       }
 
       this.nodes.push(node);
+      this.emit('nodeAdded', { node });
 
       return true;
     }
@@ -65,6 +68,7 @@ const NodeCollection = class NodeCollection {
 
     if (found) {
       this.nodes.splice(foundIndex, 1);
+      this.emit('nodeRemoved', { node });
     }
 
     return found;