zetabasejs
Version:
A NoSQL database for quick deployment.
12 lines (11 loc) • 528 B
JavaScript
const DataNode = require("../libs/dataStructures/DataNode");
const KEY_PREFIX = DataNode.keyPrefix()
class Query {
static reduce(obj) {
let keys = Object.keys(obj)
if (!keys.length) return null
if (keys.length === 1 && keys[0].substring(keys[0].length - KEY_PREFIX.length, keys[0].length) !== KEY_PREFIX) return Query.reduce(obj[keys[0]])
return keys.filter(key => key.substring(key.length - KEY_PREFIX.length, key.length) === KEY_PREFIX).map(key => obj[key])
}
}
module.exports = Query;