ngx-airbrush
Version:
Angular client for jsonapi/Graphiti backends
35 lines (34 loc) • 1.14 kB
TypeScript
import { Observable } from 'rxjs';
import { JsonapiBaseService } from './jsonapi-base.service';
import { ResourceBase } from './resource-base.model';
import { SortScope, FieldScope, FilterScope, StatsScope, IncludeScope } from './interfaces/query.interface';
export declare class Scope<T extends ResourceBase> {
private service;
private _pagination;
private _filter;
private _sort;
private _fields;
private _include;
private _stats;
private static clone;
constructor(service: JsonapiBaseService<T>);
all(): Observable<T[]>;
all(options: {
metadata: true;
}): Observable<{
data: T[];
meta: any;
}>;
find(id: string): Observable<T>;
page(pageNumber: number): Scope<T>;
per(size: number): Scope<T>;
where(clause: FilterScope): Scope<T>;
stats(clause: StatsScope): Scope<T>;
order(clause: SortScope | string): Scope<T>;
select(clause: FieldScope | string | string[]): Scope<T>;
includes(clause: IncludeScope): Scope<T>;
private buildParams;
private stringifySorts;
private stringifyIncludes;
private serializeParams;
}