diff --git a/main.js b/main.js index e8bf96d..8c29edc 100644 --- a/main.js +++ b/main.js @@ -82,22 +82,28 @@ // Case 2: The item is Object if (type === 'object') { - // Create a new sub-AST of type Object ($) - var ast = ['$']; - - // Add each items - for (var key in item) { - - if (!item.hasOwnProperty(key)) - continue; + // If the item is instance of date object, convert it into timestamp and pass to case 5 for processing + if (item instanceof Date && item.getTime) { + item = item.getTime(); + type = 'number'; + } else { + // Create a new sub-AST of type Object ($) + var ast = ['$']; + + // Add each items + for (var key in item) { + + if (!item.hasOwnProperty(key)) + continue; + + ast.push(recursiveAstBuilder(key)); + ast.push(recursiveAstBuilder(item[key])); + } - ast.push(recursiveAstBuilder(key)); - ast.push(recursiveAstBuilder(item[key])); + // And return + return ast; } - - // And return - return ast; - + } // Case 3: The item empty string