UNPKG

mwoffliner

Version:
65 lines 2.37 kB
import { config } from '../../../config.js'; 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, maxlag: config.defaults.maxlag, }) .build(); } buildQueryURL(queryParams) { return urlBuilder.setDomain(this.baseDomain).setQueryParams(queryParams, '?', true).build(); } buildSiteInfoURL() { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'query', meta: 'siteinfo|allmessages', siprop: 'general|skins|rightsinfo|namespaces|namespacealiases', ammessages: 'tagline', amenableparser: '1', list: 'gadgets', gaprop: 'id|metadata', gaallowedonly: '1', gaenabledonly: '1', format: 'json', formatversion: '2', maxlag: config.defaults.maxlag, }) .build(); } buildVisualEditorURL() { return urlBuilder.setDomain(this.baseDomain).setQueryParams({ action: 'visualeditor', mobileformat: 'html', format: 'json', paction: 'parse', formatversion: '2' }).build(true); } buildLogEventsQuery(letype, articleId) { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'query', list: 'logevents', letype: letype, letitle: articleId, format: 'json', maxlag: config.defaults.maxlag }) .build(); } buildArticleApiURL(articleId) { return urlBuilder .setDomain(this.baseDomain) .setQueryParams({ action: 'parse', format: 'json', prop: 'modules|jsconfigvars|headhtml', formatversion: '2', page: articleId, maxlag: config.defaults.maxlag }) .build(); } } //# sourceMappingURL=api.director.js.map