query-search

0.0.4 • Public • Published

query-search

Searches in array by query and returns array of matches

Usage

npm install query-search

var querySearch = require('query-search');
 
var query = {
    someProp: 10 // Will search for a objects with 'someProp' equal to 10
};
 
var schema = {
    someProp: true // Will say querySearch to ignore all props except 'someProp'
};
 
var collection = [
    {
        someProp: 3 // Doesn't match
    },
 
    {
        someOtherProp: 10 // Doesn't match
    },
    
    {
        someProp: 10 // Match!
    }
];
 
querySearch(query, schema, collection) // returns new array [{someProp: 10}]

Deep search

var querySearch = require('query-search');
 
var query = {
    some: {
        nested: {
            property: { // Deeeeeep
                a: 5,
                b: 3
            }
        }
    }
};
 
var schema = {
    some: {
        nested: {
            property: true // Saying to compare objects (uses lodash.isEqual)
        }
    }
};
 
var collection = [
    {some: {nested: {property: { // property - is object, so we need to compare it's values and not the refs
        a: 2,
        b: 3
    }}}},
 
    {some: {nested: {property: {
        a: 5,
        b: 2
    }}}},
 
    {some: {nested: {property: { // Props order doesn't metter
        b: 3,
        a: 5
    }}}},
 
    {some: {nested: {property: {
        a: 5,
        b: 3
    }}}}
];
 
querySearch(query, schema, collection) // returns new array [{some: {nested: {property: {b: 3, a: 5}}}}, {some: {nested: {property: {a: 5, b: 3}}}}]

Dependencies (2)

Dev Dependencies (1)

Package Sidebar

Install

npm i query-search

Weekly Downloads

8

Version

0.0.4

License

Apache-2.0

Last publish

Collaborators

  • lesha-spr