UNPKG

nodemw

Version:

MediaWiki API and WikiData client written in Node.js

192 lines (183 loc) 5.94 kB
/** * This file brings type hinting for bot.js file. * While this package is not written in TypeScript, this file will allow your IDE to provide you with auto-completion. * * @see https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html */ import { // code API types BotOptions, NodeJSCallback, NodeJSCallbackDouble, // responses typing ArticleInfo, ArticleProperties, PageEditedResult, PageInCategory, RedirectInfo, SearchResult, SiteInfo, SiteStatistics, UserContribution, UserInfo, WikiaUserInfo, WikiaWikiVariables, } from "./types"; declare interface Wikia { // TODO: add proper types call(path: any, params: any, callback: NodeJSCallback<any>): void; getWikiVariables(callback: NodeJSCallback<WikiaWikiVariables>): void; getUser(ids: any, callback: NodeJSCallback<WikiaUserInfo>): void; getUsers(ids: any, callback: NodeJSCallback<WikiaUserInfo[]>): void; } declare class Bot { constructor(params: string | BotOptions); getConfig(key: any, def: any): void; log(...args: any[]): void; error(): void; append( title: string, content: string, summary: string, callback: NodeJSCallback<PageEditedResult>, ): void; doEdit( action: string, title: string, summary: string, params: Object, callback: NodeJSCallback<PageEditedResult>, ): void; edit( title: string, content: string, summary: string, callback: NodeJSCallback<PageEditedResult>, ): void; edit( title: string, content: string, summary: string, minor: boolean, callback: NodeJSCallback<PageEditedResult>, ): void; getArticle(article: string, callback: NodeJSCallback<string>): void; getArticle( article: string, followRedirect: boolean, callback: NodeJSCallbackDouble<string, RedirectInfo>, ): void; getArticleInfo( title: any, options: any, callback: NodeJSCallback<ArticleInfo[]>, ): void; getArticleProperties( title: string, callback: NodeJSCallback<ArticleProperties>, ): void; getMediaWikiVersion(callback: NodeJSCallback<string>): void; getPagesInCategory( category: string, callback: NodeJSCallback<PageInCategory[]>, ): void; getSiteInfo(props: string[], callback: NodeJSCallback<SiteInfo>): void; getSiteStats(callback: NodeJSCallback<SiteStatistics>): void; getUserContribs( options: { user: string }, callback: NodeJSCallback<UserContribution[]>, ): void; logIn(callback: NodeJSCallback<any>): void; logIn( username: string, password: string, callback: NodeJSCallback<any>, ): void; prepend( title: string, content: string, summary: string, callback: NodeJSCallback<PageEditedResult>, ): void; search(keyword: string, callback: NodeJSCallback<SearchResult[]>): void; whois(username: string, callback: NodeJSCallback<UserInfo>): void; // TODO: add proper types for the rest of the methods // egrep '^\t[a-z]' bot.js | sed 's/{/: void;/g' | sed 's/,/: any,/g' | sed 's/ )/: any )/g' addFlowTopic( title: any, subject: any, content: any, callback: NodeJSCallback<any>, ): void; createAccount( username: any, password: any, callback: NodeJSCallback<any>, ): void; diff(prev: any, current: any): void; expandTemplates(text: any, title: any, callback: NodeJSCallback<any>): void; fetchUrl(url: any, callback: NodeJSCallback<any>, encoding: any): void; getAll(params: any, key: any, callback: NodeJSCallback<any>): void; getAllPages(callback: NodeJSCallback<any>): void; getArticleCategories(title: any, callback: NodeJSCallback<any>): void; getArticleRevisions(title: any, callback: NodeJSCallback<any>): void; getBacklinks(title: any, callback: NodeJSCallback<any>): void; getCategories(prefix: any, callback: NodeJSCallback<any>): void; getExternalLinks(title: any, callback: NodeJSCallback<any>): void; getImageInfo(filename: any, callback: NodeJSCallback<any>): void; getImageUsage(filename: any, callback: NodeJSCallback<any>): void; getImages(start: any, callback: NodeJSCallback<any>): void; getImagesFromArticle(title: any, callback: NodeJSCallback<any>): void; getImagesFromArticleWithOptions( title: any, options: any, callback: NodeJSCallback<any>, ): void; getLog(type: any, start: any, callback: NodeJSCallback<any>): void; getPagesByPrefix(prefix: any, callback: NodeJSCallback<any>): void; getPagesInNamespace(namespace: any, callback: NodeJSCallback<any>): void; getPagesTranscluding(template: any, callback: NodeJSCallback<any>): void; getQueryPage(queryPage: any, callback: NodeJSCallback<any>): void; getRand(): void; getRecentChanges(start: any, callback: NodeJSCallback<any>): void; getTemplateParamFromXml( tmplXml: string, paramName: string, ): string | undefined; getToken(title: any, action: any, callback: NodeJSCallback<any>): void; getUsers(data: any, callback: NodeJSCallback<any>): void; move(from: any, to: any, summary: any, callback: NodeJSCallback<any>): void; parse(text: any, title: any, callback: NodeJSCallback<any>): void; protect( title: any, protections: any, options: any, callback: NodeJSCallback<any>, ): void; purge(titles: any, callback: NodeJSCallback<any>): void; sendEmail( username: any, subject: any, text: any, callback: NodeJSCallback<any>, ): void; setConfig(key: any, val: any): void; upload( filename: any, content: any, extraParams: any, callback: NodeJSCallback<any>, ): void; uploadByUrl( filename: any, url: any, summary: any, callback: NodeJSCallback<any>, ): void; uploadVideo(fileName: any, url: any, callback: NodeJSCallback<any>): void; whoami(callback: NodeJSCallback<any>): void; whoare(usernames: any, callback: NodeJSCallback<any>): void; logData(obj: any): void; wikia: Wikia; } export = Bot;