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~
53 lines (50 loc) • 2.01 kB
text/typescript
import { FexiosConfigs } from 'fexios';
export * from 'fexios';
import { MwApiBase as WikiSaikouCore, WikiSaikouInitConfig, MwApiParams } from './WikiSaikou.mjs';
export { FexiosSaikou, MediaWikiApiError, MwApiResponse, MwApiResponseError, MwParamNormalizer, MwTokenName, WikiSaikouConfig, WikiSaikouError, WikiSaikouErrorCode, createFexiosSaikou } from './WikiSaikou.mjs';
export { CookieJar, CookieJarItem } from 'fexios/plugins';
/**
* WikiSaikou
* @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments
* @author Dragon-Fish <dragon-fish@qq.com>
* @license MIT
*/
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(): any;
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, MediaWikiApi as MediaWikiNodeClient, MediaWikiApi as MwApi, WikiSaikouCore as MwApiBase, MwApiParams, WikiSaikouCore, WikiSaikouInitConfig };