@sugo/mongodb-queryparams
Version:
Unique Queryparams sintax (Inspired in Elastic Search) that creates queries for MongoDB
35 lines (34 loc) • 895 B
TypeScript
export interface ISelect {
[key: string]: 0 | 1;
}
export interface ISort {
[key: string]: -1 | 1;
}
export interface IFilter {
[key: string]: any;
}
export interface IRawQuery {
limit?: string | number;
skip?: string | number;
filter?: string;
select?: string;
sort?: string;
}
export interface IQueryParams {
limit: number;
skip: number;
filter: IFilter;
select: ISelect;
sort: ISort;
}
export declare class MongoDbQueryParams {
static get defaultLimit(): number;
static parseSkip(rawSkip: string | number): number;
static parseLimit(rawLimit: string | number): number;
static parseSelect(rawSelect: any): ISelect;
static parseSort(rawSort: any): ISort;
static parseFilter(rawFilter: string): IFilter;
static parseQueryParams(raw: IRawQuery): IQueryParams;
constructor();
}
export default MongoDbQueryParams;