0.1.11 • Published 8 years ago

blow-query v0.1.11

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

blow-query

Codeship Status for mchmielarski/blow-query

Query object allows to to programmatically build queries which can be returned as JSON Object and used to fetch data from database, api endpoint etc.

import {Query} from 'blow-query';

const query = new Query();

query
  .greaterThanOrEqual('age', 21)
  .equal('countryCode', 'POL')
  .ascending('age')
  .limit(10);
  
console.log(query.toJSON()); // {where: {age: {$gte: 21}, countryCode: 'POL'}, sort: {age: 1}, limit: 10}  

Query class

class Query {
    equal(field: string, value: any): Query;
    notEqual(field: string, value: any): Query;
    lessThan(field: string, value: any): Query;
    lessThanOrEqual(field: string, value: any): Query;
    greaterThan(field: string, value: any): Query;
    greaterThanOrEqual(field: string, value: any): Query;
    containedIn(field: string, values: any[]): Query;
    notContainedIn(field: string, values: any[]): Query;
    regex(field: string, value: RegExp): Query;
    contains(field: string, value: string): Query;
    startsWith(field: string, value: string): Query;
    endsWith(field: string, value: string): Query;
    ascending(field: string): Query;
    descending(field: string): Query;
    skip(skip: number): Query;
    limit(limit: number): Query;
    select(fields: string[] | string): Query;
    or(query: Query): Query;
    toJSON(): QueryObject;
}

Interfaces

export interface QueryWhere {
    [key: string]: any;
}

export interface QuerySort {
    [key: string]: number;
}

export interface QueryObject {
    where?: QueryWhere;
    limit?: number;
    skip?: number;
    sort?: QuerySort;
    select?: string[];
}
0.1.11

8 years ago

0.1.9

8 years ago

0.1.8

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago