# Site-O-Mat Query ## Installation Setup this registry in your project .npmrc file: ``` @site-o-mat:registry=https://gitea.node001.net/api/packages/site-o-mat/npm/ ``` Install with npm or yarn ``` npm i --save-dev @site-o-mat/query yarn add --dev @site-o-mat/query ``` ## Filter Basic Usage: ``` import { Filter } from '@site-o-mat/query' const filter = new Filter(options) const isValid = filter.validate(result) ``` Options: | Name | Type | Description | |-------------|-----------|-------------| | _eq | {Mixed} | is equal | | _neq | {Mixed} | is not equal | | _in | {Mixed} | in array | | _lt | {Mixed} | is lesser than | | _lte | {Mixed} | is lesser or equal than | | _gt | {Mixed} | is greater than | | _gte | {Mixed} | is greater or equal than | | _null | {Boolean} | is null | | _nnull | {Boolean} | is not null | ## Reduce Skip or Limit Elements from a an Array. Basic Usage: ``` import { reduce } from '@site-o-mat/query' results = reduce({ limit: 5 }, results) ``` Options: | Name | Type | Description | |-------------|-----------|-------------| | limit | {Number} | limit elements | | offset | {Number} | skip elements | ## OrderBy Order elements in Array by name of property, default is 'asc', a '-' of the name is 'desc'. Basic Usage: ``` import { orderBy } from '@site-o-mat/query' results = orderBy([ -published_at ], results) ```