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