UNPKG

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~

66 lines (63 loc) 1.94 kB
import { W as WikiSaikouCore, a as WikiSaikouError, b as WikiSaikouErrorCode, r as resolveLegacyCtor } from './shared/wiki-saikou.C-xohPiI.mjs'; export { M as MediaWikiApiError, d as MwParamNormalizer, c as createFexiosSaikou } from './shared/wiki-saikou.C-xohPiI.mjs'; export * from 'fexios'; /** * WikiSaikou * @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments * @author Dragon-Fish <dragon-fish@qq.com> * @license MIT */ class MediaWikiApi extends WikiSaikouCore { async clientLogin(username, password, params) { params ||= {}; if (!params.logincontinue && !params.loginreturnurl) { params.loginreturnurl = location?.origin; } const res = await this.postWithToken( "login", { action: "clientlogin", username, password, ...params }, { tokenName: "logintoken" } ); if (res?.data?.clientlogin?.status === "PASS") { return res.data.clientlogin; } else { throw new WikiSaikouError( WikiSaikouErrorCode.LOGIN_FAILED, res.data.clientlogin.message, res ); } } } /** * 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 */ class MediaWikiForeignApi extends MediaWikiApi { constructor(configOrBaseURL, defaultOptions, defaultParams) { const config = resolveLegacyCtor( configOrBaseURL, { credentials: "include", mode: "cors", ...defaultOptions }, { origin: location.origin, ...defaultParams } ); super(config); } } export { MediaWikiForeignApi as ForeignApi, MediaWikiApi, MediaWikiForeignApi, MediaWikiApi as MwApi, WikiSaikouCore as MwApiBase, WikiSaikouCore, WikiSaikouError, WikiSaikouErrorCode }; //# sourceMappingURL=browser.mjs.map