payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
31 lines (30 loc) • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
// Take a where query and flatten it to all top-level operators
const flattenWhereToOperators = (query)=>Object.entries(query).reduce((flattenedConstraints, [key, val])=>{
if ((key === 'and' || key === 'or') && Array.isArray(val)) {
return [
...flattenedConstraints,
...val.reduce((subVals, subVal)=>{
return [
...subVals,
...flattenWhereToOperators(subVal)
];
}, [])
];
}
return [
...flattenedConstraints,
val
];
}, []);
const _default = flattenWhereToOperators;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9mbGF0dGVuV2hlcmVUb09wZXJhdG9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlLCBXaGVyZUZpZWxkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vIFRha2UgYSB3aGVyZSBxdWVyeSBhbmQgZmxhdHRlbiBpdCB0byBhbGwgdG9wLWxldmVsIG9wZXJhdG9yc1xuY29uc3QgZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMgPSAocXVlcnk6IFdoZXJlKTogV2hlcmVGaWVsZFtdID0+XG4gIE9iamVjdC5lbnRyaWVzKHF1ZXJ5KS5yZWR1Y2UoKGZsYXR0ZW5lZENvbnN0cmFpbnRzLCBba2V5LCB2YWxdKSA9PiB7XG4gICAgaWYgKChrZXkgPT09ICdhbmQnIHx8IGtleSA9PT0gJ29yJykgJiYgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5mbGF0dGVuZWRDb25zdHJhaW50cyxcbiAgICAgICAgLi4udmFsLnJlZHVjZSgoc3ViVmFscywgc3ViVmFsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5zdWJWYWxzLCAuLi5mbGF0dGVuV2hlcmVUb09wZXJhdG9ycyhzdWJWYWwpXVxuICAgICAgICB9LCBbXSksXG4gICAgICBdXG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5mbGF0dGVuZWRDb25zdHJhaW50cywgdmFsXVxuICB9LCBbXSlcblxuZXhwb3J0IGRlZmF1bHQgZmxhdHRlbldoZXJlVG9PcGVyYXRvcnNcbiJdLCJuYW1lcyI6WyJmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyIsInF1ZXJ5IiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsImZsYXR0ZW5lZENvbnN0cmFpbnRzIiwia2V5IiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwic3ViVmFscyIsInN1YlZhbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpQkE7OztlQUFBOzs7QUFmQSwrREFBK0Q7QUFDL0QsTUFBTUEsMEJBQTBCLENBQUNDLFFBQy9CQyxPQUFPQyxPQUFPLENBQUNGLE9BQU9HLE1BQU0sQ0FBQyxDQUFDQyxzQkFBc0IsQ0FBQ0MsS0FBS0MsSUFBSTtRQUM1RCxJQUFJLEFBQUNELENBQUFBLFFBQVEsU0FBU0EsUUFBUSxJQUFHLEtBQU1FLE1BQU1DLE9BQU8sQ0FBQ0YsTUFBTTtZQUN6RCxPQUFPO21CQUNGRjttQkFDQUUsSUFBSUgsTUFBTSxDQUFDLENBQUNNLFNBQVNDO29CQUN0QixPQUFPOzJCQUFJRDsyQkFBWVYsd0JBQXdCVztxQkFBUTtnQkFDekQsR0FBRyxFQUFFO2FBQ047UUFDSDtRQUVBLE9BQU87ZUFBSU47WUFBc0JFO1NBQUk7SUFDdkMsR0FBRyxFQUFFO01BRVAsV0FBZVAifQ==