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~
45 lines (42 loc) • 1.77 kB
text/typescript
import { FexiosConfigs } from 'fexios';
export * from 'fexios';
import { MwApiBase as WikiSaikouCore, MwApiParams, WikiSaikouInitConfig } from './WikiSaikou.cjs';
export { FexiosSaikou, MediaWikiApiError, MwApiResponse, MwApiResponseError, MwParamNormalizer, MwTokenName, WikiSaikouConfig, WikiSaikouError, WikiSaikouErrorCode, createFexiosSaikou } from './WikiSaikou.cjs';
interface ClientLoginOptions extends MwApiParams {
rememberMe?: boolean;
loginmessageformat?: string;
loginreturnurl?: string;
logincontinue?: boolean;
}
type ClientLoginResult = {
status: 'PASS';
username: string;
} | {
status: 'FAIL';
username: never;
message: string;
messagecode: string;
canpreservestate: boolean;
};
/**
* 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 {
clientLogin(username: string, password: string, params?: ClientLoginOptions): Promise<any>;
}
/**
* WikiSaikou for foreign wiki
* @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments
* @author Dragon-Fish <dragon-fish@qq.com>
* @license MIT
*/
declare class MediaWikiForeignApi extends MediaWikiApi {
/** @deprecated Use `new MediaWikiForeignApi(config)` instead */
constructor(baseURL?: string, defaultOptions?: Partial<FexiosConfigs>, defaultParams?: MwApiParams);
constructor(config?: WikiSaikouInitConfig);
}
export { MediaWikiForeignApi as ForeignApi, MediaWikiApi, MediaWikiForeignApi, MediaWikiApi as MwApi, WikiSaikouCore as MwApiBase, MwApiParams, WikiSaikouCore, WikiSaikouInitConfig };
export type { ClientLoginOptions, ClientLoginResult };