exports.is = function isOk(obj) {
  return !Object.keys(obj).some(function (key) {
    var value = obj[key]

    if (key[0] === '$' || key.match(/\./)) return true;
    if (Object(value) === value) return !isOk(value);

    return false
  })
}

exports.remove = function remove(obj) {
  var buf = {}

  Object.keys(obj).forEach(function (key) {
    var value = obj[key]

    if (key[0] !== '$' && !key.match(/\./))
      buf[key] = Object(value) === value ? remove(value) : value;
  })

  return buf
}
@@ -36,17 +36,16 @@
  return 
-!
 Object.k
@@ -57,12 +57,13 @@
 bj).
-some
+every
 (fun
@@ -156,11 +156,12 @@
 urn 
-tru
+fals
 e;%0A 
@@ -199,17 +199,16 @@
  return 
-!
 isOk(val
@@ -224,20 +224,19 @@
  return 
-fals
+tru
 e%0A  %7D)%0A%7D

use every instead of not some