wiki-saikou
Version:
The library provides the out of box accessing to MediaWiki API in both browsers & Node.js, and the syntax is very similar to vanilla `new mw.Api()`. TypeScript definition included~
52 lines (51 loc) • 1.77 kB
TypeScript
import { FexiosConfigs } from 'fexios';
import { WikiSaikouCore, WikiSaikouInitConfig } from './WikiSaikou.js';
import { CookieJar, CookieJarItem } from 'fexios/plugins';
import { MwApiParams } from './types.js';
export * from './WikiSaikou.js';
export { CookieJar, CookieJarItem };
/**
* WikiSaikou
* @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments
* @author Dragon-Fish <dragon-fish@qq.com>
* @license MIT
*/
export declare class MediaWikiApi extends WikiSaikouCore {
private autoReloginEnabled;
private loginCredentials?;
constructor(config?: WikiSaikouInitConfig);
/** @deprecated Use `new MediaWikiApi(config)` instead */
constructor(baseURL: string, options?: Partial<FexiosConfigs>, defaultParams?: MwApiParams);
private canAutoRelogin;
private getAssertUser;
private getAutoReloginRetries;
private getParam;
private hasParam;
private setParam;
private getAction;
private toStringArray;
private isLoginTokenRequest;
private shouldSkipAutoRelogin;
private isAssertUserFailed;
private reloginIfNeeded;
get cookieJar(): CookieJar;
private handleBeforeRequest;
private handleAfterResponse;
login(lgname: string, lgpassword: string, params?: MwApiParams, postOptions?: {
retry?: number;
noCache?: boolean;
autoRelogin?: boolean;
autoReloginRetries?: number;
}): Promise<{
result: 'Success' | 'NeedToken' | 'WrongToken' | 'Failed';
token?: string;
reason?: {
code: string;
text: string;
};
lguserid: number;
lgusername: string;
}>;
logout(): Promise<void>;
}
export { MediaWikiApi as MwApi, MediaWikiApi as MediaWikiNodeClient };