@herlinus/coloquent
Version:
Library for retrieving model objects from a JSON-API, with a fluent syntax inspired by Laravel Eloquent.
31 lines (30 loc) • 1.39 kB
TypeScript
import { Model } from "./Model";
import { SingularResponse } from "./response/SingularResponse";
import { Query } from "./Query";
import { QueryMethods } from "./QueryMethods";
import { Response } from "./response/Response";
import { SortDirection } from "./SortDirection";
export declare class Builder implements QueryMethods {
protected modelType: any;
private httpClient;
private query;
/**
* If true, then this function will in all cases return a SingularResponse. This is used by ToOneRelations, which
* when queried spawn a Builder with this property set to true.
*/
private forceSingular;
constructor(modelType: typeof Model, queriedRelationName?: string | undefined, baseModelJsonApiType?: string | undefined, baseModelJsonApiId?: string | undefined, forceSingular?: boolean);
get(page?: number): Promise<Response>;
first(): Promise<SingularResponse>;
limit(limit: number): Builder;
find(id: string | number): Promise<SingularResponse>;
where(attribute: string, value: string): Builder;
with(value: any): Builder;
orderBy(attribute: string, direction?: SortDirection | string): Builder;
option(queryParameter: string, value: string): Builder;
private clone;
getQuery(): Query;
setQuery(query: Query): void;
private initPaginationSpec;
private getHttpClient;
}