UNPKG

mwoffliner

Version:
153 lines (152 loc) 4.54 kB
import { Gadget } from './Gadgets.js'; import BaseURLDirector from './util/builders/url/base.director.js'; import WikimediaDesktopURLDirector from './util/builders/url/desktop.director.js'; import WikimediaMobileURLDirector from './util/builders/url/mobile.director.js'; import VisualEditorURLDirector from './util/builders/url/visual-editor.director.js'; import RestApiURLDirector from './util/builders/url/rest-api.director.js'; import ActionParseURLDirector from './util/builders/url/action-parse.director.js'; export interface QueryOpts { action: string; format: string; prop: string; rdlimit: string; rdnamespace: string | number; rdprop: string; redirects?: boolean; formatversion: string; maxlag: string; } export interface SiteInfoResponse { batchcomplete: boolean; query: SiteInfoQueryResponse; warnings?: { [key: string]: { [key: string]: string; }; }; } export interface SiteInfoQueryResponse { general: SiteInfoGeneral; skins: SiteInfoSkin[]; rightsinfo: { url: string; text: string; }; namespaces: { [key: string]: { id: number; name: string; canonical: string; content: boolean; subpages: boolean; }; }; namespacealiases: { id: number; alias: string; }[]; allmessages: { name: string; content: string; }[]; gadgets?: Gadget[]; } export interface SiteInfoGeneral { generator: string; mainpage: string; mainpageisdomainroot: boolean; sitename: string; logo: string; lang: string; rtl: boolean; articlepath: string; script: string; scriptpath: string; fallback: { code: string; }[]; variants?: { code: string; }[]; } export interface SiteInfoSkin { code: string; name: string; default?: boolean; unusable?: boolean; } declare class MediaWiki { #private; private static instance; static getInstance(): MediaWiki; metaData: MWMetaData; baseUrl: URL; getCategories: boolean; namespaces: MWNamespaces; namespacesToMirror: string[]; apiCheckArticleId: string; queryOpts: QueryOpts; urlDirector: BaseURLDirector; skin: string; wikimediaDesktopUrlDirector: WikimediaDesktopURLDirector; wikimediaMobileUrlDirector: WikimediaMobileURLDirector; visualEditorUrlDirector: VisualEditorURLDirector; restApiUrlDirector: RestApiURLDirector; actionParseUrlDirector: ActionParseURLDirector; visualEditorApiUrl: URL; actionApiUrl: URL; restApiUrl: URL; webUrl: URL; wikimediaDesktopApiUrl: URL; wikimediaMobileApiUrl: URL; modulePath: string; mobileModulePath: string; set username(value: string); set password(value: string); get actionApiPath(): string; set actionApiPath(value: string); set restApiPath(value: string); set domain(value: string); set wikiPath(value: string); set indexPhpPath(value: string); set base(value: string); set modulePathOpt(value: string); private initializeMediaWikiDefaults; private constructor(); hasWikimediaDesktopApi(): Promise<boolean>; hasWikimediaMobileApi(): Promise<boolean>; hasVisualEditorApi(): Promise<boolean>; hasRestApi(): Promise<boolean>; hasActionParseApi(): Promise<boolean>; hasCoordinates(): Promise<boolean>; hasModuleApi(): Promise<boolean>; private setWikimediaDesktopApiUrl; private setWikimediaMobileApiUrl; private setRestApiURL; private setVisualEditorURL; private setModuleURL; private setMobileModuleUrl; login(): Promise<void>; setNamespaces(json: SiteInfoQueryResponse, addNamespaces: number[]): void; extractPageTitleFromHref(href: any): any; getCreatorName(): string; getDefaultSkin(skins: SiteInfoSkin[]): string; getSiteInfo({ mwWikiPath, mwIndexPhpPath, addNamespaces, mwRestApiPath, mwModulePath, forceSkin, langVariant }?: SiteInfoArgv): Promise<{ mainPage: string; mainPageIsDomainRoot: boolean; siteName: string; textDir: string; langMw: string; langVar: string; langIso2: any; langIso3: any; logo: string; licenseName: string; licenseUrl: string; subTitle: string; }>; getMwMetaData(argvOpts?: SiteInfoArgv): Promise<MWMetaData>; reset(): void; } declare const _default: MediaWiki; export default _default;