UNPKG

assetgraph

Version:

An auto discovery dependency graph based optimization framework for web pages and applications

31 lines (28 loc) 780 B
const sift = require('sift').default; function preprocessQueryObj(queryObj) { if (typeof queryObj === 'object' && queryObj) { if (queryObj.constructor === Object) { const result = {}; for (const key of Object.keys(queryObj)) { result[key] = preprocessQueryObj(queryObj[key]); } return result; } else { if (queryObj.id) { // Assume Asset or Relation instance return { id: queryObj.id }; } else { // Maybe RegExp return queryObj; } } } else if (Array.isArray(queryObj)) { return queryObj.map(preprocessQueryObj); } else { // Primitive value return queryObj; } } module.exports = function compileQuery(queryObj = {}) { return sift(preprocessQueryObj(queryObj)); };