UNPKG

mwoffliner

Version:
53 lines 2.09 kB
import urlBuilder from './url.builder.js'; /** * Interface to build URLs based on MediaWiki API URL */ export default class ApiURLDirector { baseDomain; constructor(baseDomain) { this.baseDomain = baseDomain; } buildSubCategoriesURL(articleId, continueStr = '') { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'query', list: 'categorymembers', cmtype: 'subcat', cmlimit: 'max', format: 'json', formatversion: '2', cmtitle: articleId, cmcontinue: continueStr, }) .build(); } buildSiteInfoQueryURL() { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'query', meta: 'siteinfo', format: 'json', formatversion: '2', siprop: 'general|namespaces|statistics|variables|category|wikidesc' }) .build(); } buildQueryURL(queryParams) { return urlBuilder.setDomain(this.baseDomain).setQueryParams(queryParams, '?', true).build(); } buildNamespacesURL() { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'query', meta: 'siteinfo', siprop: 'namespaces|namespacealiases', format: 'json', formatversion: '2' }) .build(); } buildSiteInfoURL() { return urlBuilder.setDomain(this.baseDomain).setQueryParams({ action: 'query', meta: 'siteinfo', format: 'json', formatversion: '2' }).build(); } buildVisualEditorURL() { return urlBuilder.setDomain(this.baseDomain).setQueryParams({ action: 'visualeditor', mobileformat: 'html', format: 'json', paction: 'parse', formatversion: '2' }).build(true); } buildArticleApiURL(articleId) { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'parse', format: 'json', prop: 'modules|jsconfigvars|headhtml', formatversion: '2', page: articleId }) .build(); } } //# sourceMappingURL=api.director.js.map