From 1f8d219595cc9ae802a42a21ef66a7a3ee545738 Mon Sep 17 00:00:00 2001
From: Alvaro Cabrera <pateketrueke@gmail.com>
Date: Fri, 25 Nov 2016 02:54:09 -0600
Subject: [PATCH] Remove clean(); fixes #163

---
 lib/core/traverse.js | Bin 2622 -> 2583 bytes
 ts/core/clean.ts     |  67 -------------------------------------------
 ts/core/traverse.ts  |   3 +-
 3 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 ts/core/clean.ts

diff --git a/lib/core/traverse.js b/lib/core/traverse.js
index 379910ec781847cd02fc9f6f035c95bd558a5a3d..ee263e57516aca4dde6bc4ec78f65b79db6c021f 100644
GIT binary patch
delta 29
kcmdldGF^m6skAs%p}3?dGr2@*qs~iC=KO-n$?{zC0GOEx*#H0l

delta 68
zcmbO(vQI=uskAs%p}3?dGr2^`nyW0aNFg~VH8D@YR-q`hur#wMRYOTnA1tJ#xsm53
SCl^RoBRRjIQgiYTPI&+o&KE2I

diff --git a/ts/core/clean.ts b/ts/core/clean.ts
deleted file mode 100644
index 4e8e8acf..00000000
--- a/ts/core/clean.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-// TODO: tsify
-
-function isArray(obj) {
-  return obj && Array.isArray(obj);
-}
-
-function isObject(obj) {
-  return obj && obj !== null && typeof obj === 'object';
-}
-
-function hasNothing(obj) {
-  if (isArray(obj)) {
-    return obj.length === 0;
-  }
-
-  if (isObject(obj)) {
-    return Object.keys(obj).length === 0;
-  }
-
-  return typeof obj === 'undefined' || obj === null;
-}
-
-function removeProps(obj, key?, parent?) {
-  var i,
-      value,
-      isFullyEmpty = true;
-
-  if (isArray(obj)) {
-    for (i = 0; i < obj.length; ++i) {
-      value = obj[i];
-
-      if (isObject(value)) {
-        removeProps(value, i, obj);
-      }
-
-      if (hasNothing(value)) {
-        obj.splice(i--, 1);
-      } else {
-        isFullyEmpty = false;
-      }
-    }
-  } else {
-    for (i in obj) {
-      value = obj[i];
-
-      if (isObject(value)) {
-        removeProps(value, i, obj);
-      }
-
-      if (hasNothing(value)) {
-        delete obj[i];
-      } else {
-        isFullyEmpty = false;
-      }
-    }
-  }
-
-  if (typeof key !== 'undefined' && isFullyEmpty) {
-    delete parent[key];
-    removeProps(obj);
-  }
-}
-
-export = function(obj: any) {
-  removeProps(obj);
-  return obj;
-};
diff --git a/ts/core/traverse.ts b/ts/core/traverse.ts
index 4883f0f9..8ceb630b 100644
--- a/ts/core/traverse.ts
+++ b/ts/core/traverse.ts
@@ -1,4 +1,3 @@
-import clean = require('./clean');
 import random = require('./random');
 import ParseError = require('./error');
 import inferType = require('./infer');
@@ -92,7 +91,7 @@ function traverse(schema: JsonSchema, path: SchemaPath, resolve: Function) {
     }
   }
 
-  return clean(copy);
+  return copy;
 }
 
 export = traverse;
-- 
GitLab