Chain queries onto POJOs to return precise results.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.eslintrc.js
.gitignore
.travis.yml
README.md
coverage.svg
index.js
index.test.js
package.json
testdata.json

README.md

json-query-chain

Build Status npm version Code Coverage Maintainability

Chain queries onto POJOs to return precise results.

Usage

import Query from 'json-query-chain';

let myQ = new Query(someJsonData)
.search('isActiveUser', true)
.results;

Chainable Methods

Search

Currently supports booleans and strings. (See #1 for Integer Support)

By Boolean
.search('isActiveUser', true)
By String
.search('name', 'steele')

Filter

Simpler version of search using a custom function in the chain.

.filter(a => a.age >= 21)
By Key
.filterBy('age', x => x >= 21)

Sort

By Boolean
.sort('isActiveUser', true)
By String
.sort('name')
By Number
.sort('netWorth')

Pagination

Page 1 with 5 results per page.

.paginate(1, 5)

Page 2 wtih default of 10 results per page.

.paginate(2)

Tests

npm test runs tests through Jest