@tpluscode/sparql-builder
Version:
Simple JS library to build SPARQL queries
32 lines (31 loc) • 947 B
JavaScript
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);
},
};