From 17e4efc7eeb88d7764582bea124c71989fe1f1cb Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Sat, 21 Apr 2018 03:11:47 -0500 Subject: Yields nodeCollection instead of nodes array --- lib/serpentity.js | 2 +- lib/serpentity/node_collection.js | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/serpentity.js b/lib/serpentity.js index 0d932ac..60fb23c 100644 --- a/lib/serpentity.js +++ b/lib/serpentity.js @@ -223,7 +223,7 @@ const Serpentity = class Serpentity { nodeCollection.add(entity); } - return nodeCollection.nodes; + return nodeCollection; } /* diff --git a/lib/serpentity/node_collection.js b/lib/serpentity/node_collection.js index 73998b1..7c2c627 100644 --- a/lib/serpentity/node_collection.js +++ b/lib/serpentity/node_collection.js @@ -93,4 +93,13 @@ const NodeCollection = class NodeCollection extends Events { } }; + +/* + * Make the node collection iterable without returning the array directly + */ +NodeCollection.prototype[Symbol.iterator] = function * () { + + yield* this.nodes; +}; + module.exports = NodeCollection; -- cgit