diff --git a/lib/core/traverse.js b/lib/core/traverse.js index 379910ec781847cd02fc9f6f035c95bd558a5a3d..ee263e57516aca4dde6bc4ec78f65b79db6c021f 100644 Binary files a/lib/core/traverse.js and b/lib/core/traverse.js differ diff --git a/ts/core/clean.ts b/ts/core/clean.ts deleted file mode 100644 index 4e8e8acf620ffdf7dfae6c69e7f1d055ea4e10cb..0000000000000000000000000000000000000000 --- 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 4883f0f9496a2b01e4a64c62ab8230664843edc5..8ceb630badb785f9b4851f391a6c1e3107449867 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;