diff --git a/lib/collections.js b/lib/collections.js index 901a0d7..477e527 100644 --- a/lib/collections.js +++ b/lib/collections.js @@ -72,7 +72,7 @@ Iterable.prototype.walk = function(iter) { return this.map(function(i) { - if ((i.walk != null) && type(i.walk) === "function") { + if (type(i != null ? i.walk : void 0) === "function") { return i.walk(iter); } else { return iter(i); @@ -339,7 +339,7 @@ Map.prototype.walk = function(iter) { return this.map(function(v, k) { - if (type(v.walk) === "function") { + if (type(v != null ? v.walk : void 0) === "function") { return iter(v.walk(iter), k); } else { return iter(v, k); diff --git a/src/collections.coffee b/src/collections.coffee index bff2770..4b43166 100644 --- a/src/collections.coffee +++ b/src/collections.coffee @@ -27,7 +27,7 @@ class Iterable extends Prim walk: (iter) -> @map (i) -> - if i.walk? and type(i.walk) is "function" + if type(i?.walk) is "function" i.walk iter else iter i @@ -158,7 +158,7 @@ class Map walk: (iter) -> @map (v, k) -> - if type(v.walk) is "function" + if type(v?.walk) is "function" iter (v.walk iter), k else iter v, k