UNPKG

@tpluscode/sparql-builder

Version:

Simple JS library to build SPARQL queries

32 lines (31 loc) 947 B
import { QueryError } from './QueryError.js'; function buildAndRun(builder, clientExecute, { logQuery, ...requestInit } = {}) { const query = builder.build(requestInit); logQuery?.(query); try { return clientExecute(query, requestInit); } catch (e) { throw new QueryError(query, e); } } export const update = { execute(client, requestInit) { return buildAndRun(this, client.query.update.bind(client.query), requestInit); }, }; export const ask = { execute(client, requestInit) { return buildAndRun(this, client.query.ask.bind(client.query), requestInit); }, }; export const select = { execute(client, requestInit) { return buildAndRun(this, client.query.select.bind(client.query), requestInit); }, }; export const graph = { execute(client, requestInit) { return buildAndRun(this, client.query.construct.bind(client.query), requestInit); }, };