wikibase-sdk
Version:
utils functions to query a Wikibase instance and simplify its results
42 lines • 2.09 kB
JavaScript
import { buildClient } from './client.js';
import { pagesTitles } from './helpers/parse_responses.js';
import { simplifyEntities } from './helpers/simplify_entity.js';
import { simplifySparqlResults } from './helpers/simplify_sparql_results.js';
export function buildSimpleClient(urlBuilders, clientOptions, simplifyEntityOptions) {
const client = buildClient(urlBuilders, clientOptions);
return {
async searchEntities(options) {
const { search } = await client.searchEntities(options);
return search;
},
async cirrusSearchPages(options) {
const results = await client.cirrusSearchPages(options);
return pagesTitles(results);
},
async getEntities(options, customSimplifyEntityOptions = {}) {
const { entities } = await client.getManyEntities(options);
return simplifyEntities(entities, { ...simplifyEntityOptions, ...customSimplifyEntityOptions });
},
async getRevisions(options) {
const results = await client.getRevisions(options);
return results.query.pages;
},
async getEntityRevision(options, customSimplifyEntityOptions = {}) {
const { entities } = await client.getEntityRevision(options);
return Object.values(simplifyEntities(entities, { ...simplifyEntityOptions, ...customSimplifyEntityOptions }))[0];
},
async getEntitiesFromSitelinks(options, customSimplifyEntityOptions = {}) {
const { entities } = await client.getEntitiesFromSitelinks(options);
return simplifyEntities(entities, { ...simplifyEntityOptions, ...customSimplifyEntityOptions });
},
async sparqlQuery(sparql) {
const results = await client.sparqlQuery(sparql);
return simplifySparqlResults(results);
},
async getReverseClaims(options) {
const results = await client.getReverseClaims(options);
return simplifySparqlResults(results);
},
};
}
//# sourceMappingURL=simple_client.js.map