soda-angular
Version:
Socrata SODA client for Angular
34 lines (33 loc) • 2.07 kB
TypeScript
import { Geometry } from 'geojson';
import { Observable } from 'rxjs';
import { ISodaResource } from '../client/isodaresource';
import { Location } from '../datatypes/location';
import { ColumnType } from '../soql-query/clauses/column-types';
import { WhereFilterType } from '../soql-query/clauses/where/where-filters-type';
import { SoqlQueryBuilder } from '../soql-query/soql-query-builder';
import { DataSetColumn } from './dataset-column';
import { IGeometryFilter } from './filters/igeometryfilter';
import { ILocationFilter } from './filters/ilocationfilter';
import { IWhereFilter } from './filters/iwherefilter';
import { IFilteredQueryable } from './ifilteredqueryable';
import { IInternalQuery } from './iinternalquery';
import { IQueryable } from './iqueryable';
export declare class FluentQuery<TEntity> implements IQueryable<TEntity>, IInternalQuery<TEntity> {
readonly sodaResource: ISodaResource<TEntity>;
private readonly queryBuilder?;
constructor(sodaResource: ISodaResource<TEntity>, queryBuilder?: SoqlQueryBuilder);
select<TValue extends ColumnType>(column: DataSetColumn<TEntity, TValue>): IQueryable<TEntity>;
where<TValue extends ColumnType>(column: DataSetColumn<TEntity, TValue>): IWhereFilter<TEntity, TValue>;
location(column: (type: TEntity) => Location): ILocationFilter<TEntity>;
geometry(column: (type: TEntity) => Geometry): IGeometryFilter<TEntity>;
limit(records: number): IQueryable<TEntity>;
offset(records: number): IQueryable<TEntity>;
orderBy<TValue extends ColumnType>(column: DataSetColumn<TEntity, TValue>, descending?: boolean): IQueryable<TEntity>;
observable(): Observable<TEntity[]>;
toString(): string;
and<TValue extends ColumnType>(column: DataSetColumn<TEntity, TValue>): IWhereFilter<TEntity, TValue>;
or<TValue extends ColumnType>(column: DataSetColumn<TEntity, TValue>): IWhereFilter<TEntity, TValue>;
addFilter(...filters: WhereFilterType[]): IFilteredQueryable<TEntity>;
private updateQuery;
private cloneBuilder;
}