@tpluscode/sparql-builder
Version:
Simple JS library to build SPARQL queries
25 lines • 924 B
TypeScript
import { Variable } from '@rdfjs/types';
import { SparqlTemplateResult, SparqlValue } from '@tpluscode/rdf-string';
import { SparqlQuery } from '../index.js';
interface Grouping {
by: SparqlTemplateResult;
as?: Variable;
}
interface ThenGroupByBuilder<T> {
THEN: GroupByBuilder<T>;
}
interface BoundGroupBuilder<T> extends ThenGroupByBuilder<T> {
AS(variable: Variable | string): T & ThenGroupByBuilder<T>;
}
interface GroupByBuilder<T> {
BY(strings: TemplateStringsArray, ...values: SparqlValue[]): T & BoundGroupBuilder<T>;
BY(variable: string | Variable, ...values: SparqlValue[]): T & BoundGroupBuilder<T>;
}
export interface GroupBuilder<T> {
groupings: Grouping[];
groupByClause(): SparqlTemplateResult;
GROUP(): GroupByBuilder<T>;
}
declare const _default: <T extends SparqlQuery & GroupBuilder<T>>() => GroupBuilder<T>;
export default _default;
//# sourceMappingURL=GROUP.d.ts.map