wikiscript 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/README.md +59 -0
- package/dist/main.cjs +601 -0
- package/dist/main.cjs.map +1 -0
- package/dist/main.d.cts +365 -0
- package/dist/main.d.ts +365 -0
- package/dist/main.js +599 -0
- package/dist/main.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.cjs","names":["body: RequestInit['body']","defaults: Record<string, unknown>","type: string"],"sources":["../src/lib/client.ts","../src/lib/wiki.ts"],"sourcesContent":["export class Client {\n public readonly api: URL;\n public cookies: string[] = [];\n public readonly options: ClientOptions;\n\n public constructor(api: URL | string, options?: ClientOptions) {\n if (typeof api === 'string') {\n this.api = new URL(api);\n } else {\n this.api = api;\n }\n this.options = options || {};\n }\n\n public static formData(params: Record<string, unknown>): FormData {\n return Object.entries(params).reduce((form, [key, value]) => {\n form.set(key, value);\n return form;\n }, new FormData);\n }\n\n public static searchParams(params: Record<string, unknown>): URLSearchParams {\n return Object.entries(params).reduce((result, [key, value]) => {\n if (Array.isArray(value)) value = value.join('|');\n\n switch (typeof value) {\n case 'string':\n result.set(key, value);\n break;\n\n case 'boolean':\n result.set(key, value ? '1' : '0');\n break;\n\n default:\n result.set(key, `${value}`);\n }\n return result;\n }, new URLSearchParams());\n }\n\n public async get<T = unknown>(params: Record<string, unknown>, options?: RequestInit): Promise<T> {\n const searchParams = Client.searchParams(params);\n const req = await this.request(`${this.api}?${searchParams}`, options);\n return req.json() as T;\n }\n\n public async post<T = unknown>(params: Record<string, unknown>, options: RequestInit = {}): Promise<T> {\n let body: RequestInit['body'];\n\n // @ts-expect-error content-type exists in headers\n switch (options.headers['content-type']) {\n case 'application/x-www-form-urlencoded':\n body = Client.searchParams(params);\n break;\n\n case 'multipart/form-data':\n body = Client.formData(params);\n break;\n\n default:\n body = JSON.stringify(params);\n break;\n }\n options = Object.assign({}, options, {\n body,\n method: 'post',\n });\n\n const req = await this.request(this.api, options);\n return req.json() as T;\n }\n\n public async request(url: string | URL, options: RequestInit = {}) {\n const headers = Object.assign(\n {},\n this.options.headers || {},\n options.headers || {},\n { cookie: this.cookies.join(',') },\n );\n\n options = Object.assign({}, options, { headers });\n\n const req = await fetch(url, options);\n this.cookies = this.cookies.concat(req.headers.getSetCookie());\n\n return req;\n }\n}\n\nexport interface ClientOptions {\n headers?: RequestInit['headers'];\n}\n","import { Client, type ClientOptions } from './client';\n\nexport class Wiki {\n public readonly client: Client;\n protected readonly cachedTokens: Record<string, string> = {};\n\n public constructor (url: string | URL, options?: ClientOptions) {\n this.client = new Client(url, options);\n }\n\n public async action<T = unknown>(params: Record<string, unknown>, options: Record<string, unknown> = {}): Promise<T> {\n const defaults: Record<string, unknown> = {\n format: 'json',\n formatversion: 2,\n };\n if (!options.token) {\n defaults.token = await this.csrfToken();\n }\n\n params = Object.assign(options, defaults, params);\n return await this.client.post<T>(params);\n }\n\n /**\n * Enumerate all categories.\n * @see https://www.mediawiki.org/wiki/API:Allcategories\n */\n public allcategories(params: AllCategoriesRequest) {\n return this.query<AllCategories>(params, { list: 'allcategories' });\n }\n\n /**\n * List all deleted revisions by a user or in a namespace.\n * @see https://www.mediawiki.org/wiki/API:Alldeletedrevisions\n */\n public alldeletedrevisions(params: AllDeletedRevisionsRequest) {\n return this.query<AllDeletedRevisions>(params, { list: 'alldeletedrevisions' });\n }\n\n /**\n * List all file usages, including non-existing.\n * @see https://www.mediawiki.org/wiki/API:Allfileusages\n */\n public allfileusages(params: AllFileUsagesRequest) {\n return this.query<AllFileUsages>(params, { list: 'allfileusages' });\n }\n\n /**\n * Enumerate all images sequentially.\n * @see https://www.mediawiki.org/wiki/API:Allimages\n */\n public allimages(params: AllImagesRequest) {\n return this.query<AllImages>(params, { list: 'allimages' });\n }\n\n /**\n * Enumerate all links that point to a given namespace.\n * @see https://www.mediawiki.org/wiki/API:Alllinks\n */\n public alllinks(params: AllLinksRequest) {\n return this.query<AllLinks>(params, { list: 'alllinks' });\n }\n\n /**\n * Returns messages from the site.\n * @see https://www.mediawiki.org/wiki/API:Allmessages\n */\n public async allmessages(params: AllMessagesRequest) {\n const result = await this.query<AllMessages>(params, { meta: 'allmessages' });\n\n return result.query.allmessages;\n }\n\n /**\n * Enumerate all pages sequentially in a given namespace.\n * @see https://www.mediawiki.org/wiki/API:Allpages\n */\n public allpages(params: AllPagesRequest) {\n return this.query<AllPages>(params, { list: 'allpages' });\n }\n\n /**\n * List all redirects to a namespace.\n * @see https://www.mediawiki.org/wiki/API:Allredirects\n */\n public allredirects(params: AllRedirectsRequest) {\n return this.query<AllRedirects>(params, { list: 'allredirects' });\n }\n\n /**\n * List all revisions.\n * @see https://www.mediawiki.org/wiki/API:Allrevisions\n */\n public allrevisions(params: AllRevisionsRequest) {\n return this.query<AllRevisions>(params, { list: 'allrevisions' });\n }\n\n /**\n * List all transclusions (pages embedded using `{{x}}`), including non-existing.\n * @see https://www.mediawiki.org/wiki/API:Alltransclusions\n */\n public alltransclusions(params: AllTransclusionsRequest) {\n return this.query<AllTransclusions>(params, { list: 'alltransclusions' });\n }\n\n /**\n * Enumerate all registered users.\n * @see https://www.mediawiki.org/wiki/API:Allusers\n */\n public allusers(params: AllUsersRequest) {\n return this.query<AllUsers>(params, { list: 'allusers' });\n }\n\n /**\n * Find all pages that link to the given page.\n * @see https://www.mediawiki.org/wiki/API:Backlinks\n */\n public backlinks(params: BacklinksRequest) {\n return this.query<Backlinks>(params, { list: 'backlinks' });\n }\n\n /**\n * Block a user.\n */\n public async block(params: BlockRequest) {\n const request = await this.action<Block>(params, { action: 'block' });\n return request.block;\n }\n\n /**\n * List all blocked users and IP addresses.\n * @see https://www.mediawiki.org/wiki/API:Blocks\n */\n public blocks(params: BlocksRequest) {\n return this.query<Blocks>(params, { list: 'blocks' });\n }\n\n /**\n * List all categories the pages belong to.\n * @see https://www.mediawiki.org/wiki/API:Categories\n */\n public categories(params: CategoriesRequest) {\n return this.query<Categories>(params, { prop: 'categories' });\n }\n\n /**\n * Returns information about the given categories.\n * @see https://www.mediawiki.org/wiki/API:Categoryinfo\n */\n public categoryinfo(params: CategoryInfoRequest) {\n return this.query<CategoryInfo>(params, { prop: 'categoryinfo' });\n }\n\n /**\n * List all pages in a given category.\n * @see https://www.mediawiki.org/wiki/API:Categorymembers\n */\n public categorymembers(params: CategoryMembersRequest) {\n return this.query<CategoryMembers>(params, { list: 'categorymembers' });\n }\n\n /**\n * Get the list of logged-in contributors (including temporary users) and the count of\n * logged-out contributors to a page.\n * @see https://www.mediawiki.org/wiki/API:Contributors\n */\n public contributors(params: ContributorsRequest) {\n return this.query<Contributors>(params, { prop: 'contributors' });\n }\n\n public async csrfToken(force = false): Promise<string> {\n const tokens = await this.tokens('csrf', force);\n return tokens.csrftoken!;\n }\n\n /**\n * Get deleted revision information.\n * @see https://www.mediawiki.org/wiki/API:Deletedrevisions\n */\n public deletedrevisions(params: DeletedRevisionsRequest) {\n return this.query<DeletedRevisions>(params, { prop: 'deletedrevisions' });\n }\n\n /**\n * List all files that are duplicates of the given files based on hash values.\n * @see https://www.mediawiki.org/wiki/API:Duplicatefiles\n */\n public duplicatefiles(params: DuplicateFilesRequest) {\n return this.query<DuplicateFiles>(params, { prop: 'duplicatefiles' });\n }\n\n /**\n * Create and edit pages.\n */\n public async edit(params: EditRequest) {\n const request = await this.action<Edit>(params, {\n action: 'edit',\n assert: params.bot ? 'bot' : 'user',\n });\n return request.edit;\n }\n\n /**\n * Find all pages that embed (transclude) the given title.\n * @see https://www.mediawiki.org/wiki/API:Embeddedin\n */\n public embeddedin(params: EmbeddedInRequest) {\n return this.query<EmbeddedIn>(params, { list: 'embeddedin' });\n }\n\n /**\n * Returns all external URLs (not interwikis) from the given pages.\n * @see https://www.mediawiki.org/wiki/API:Extlinks\n */\n public extlinks(params: ExtLinksRequest) {\n return this.query<ExtLinks>(params, { prop: 'extlinks' });\n }\n\n /**\n * Enumerate pages that contain a given URL.\n * @see https://www.mediawiki.org/wiki/API:Exturlusage\n */\n public exturlusage(params: ExtUrlUsageRequest) {\n return this.query<ExtUrlUsage>(params, { list: 'exturlusage' });\n }\n\n /**\n * Enumerate all deleted files sequentially.\n * @see https://www.mediawiki.org/wiki/API:Filearchive\n */\n public filearchive(params: FileArchiveRequest) {\n return this.query<FileArchive>(params, { list: 'filearchive' });\n }\n\n /**\n * Return meta information about image repositories configured on the wiki.\n * @see https://www.mediawiki.org/wiki/API:Filerepoinfo\n */\n public async filerepoinfo(params: FileRepoInfoRequest) {\n const result = await this.query<FileRepoInfo>(params, { meta: 'filerepoinfo' });\n\n return result.query.repos;\n }\n\n /**\n * Find all pages that use the given files.\n * @see https://www.mediawiki.org/wiki/API:Fileusage\n */\n public fileusage(params: FileUsageRequest) {\n return this.query<FileUsage>(params, { prop: 'fileusage' });\n }\n\n /**\n * Get the list of pages to work on by executing the specified query module.\n * @see https://www.mediawiki.org/wiki/API:Query#Generators\n */\n public generate<T extends AllQueries, P extends AllProps>(params: GeneratorRequest<T, P>) {\n return this.query<GeneratorResult<P>>(params);\n }\n\n /**\n * Returns global image usage for a certain image.\n * @see https://www.mediawiki.org/wiki/API:Globalusage\n */\n public globalusage(params: GlobalUsageRequest) {\n return this.query<GlobalUsageRequest>(params, { prop: 'globalusage' });\n }\n\n /**\n * Returns file information and upload history.\n * @see https://www.mediawiki.org/wiki/API:Imageinfo\n */\n public imageinfo(params: ImageInfoRequest) {\n return this.query<ImageInfo>(params, { prop: 'imageinfo' });\n }\n\n /**\n * Return all files contained on the given pages.\n * @see https://www.mediawiki.org/wiki/API:Images\n */\n public images(params: ImagesRequest) {\n return this.query<Images>(params, { prop: 'images' });\n }\n\n /**\n * Find all pages that use the given image title.\n * @see https://www.mediawiki.org/wiki/API:Imageusage\n */\n public imageusage(params: ImageUsageRequest) {\n return this.query<ImageUsage>(params, { list: 'imageusage' });\n }\n\n /**\n * Get basic page information.\n * @see https://www.mediawiki.org/wiki/API:Info\n */\n public info(params: InfoRequest) {\n return this.query<Info>(params, { prop: 'info' });\n }\n\n /**\n * Find all pages that link to the given interwiki link.\n * Can be used to find all links with a prefix, or all links to a title (with a given prefix).\n * Using neither parameter is effectively \"all interwiki links\".\n * @see https://www.mediawiki.org/wiki/API:Iwbacklinks\n */\n public iwbacklinks(params: IwBacklinksRequest) {\n return this.query<IwBacklinks>(params, { list: 'iwbacklinks' });\n }\n\n /**\n * Returns all interwiki links from the given pages.\n * @see https://www.mediawiki.org/wiki/API:Iwlinks\n */\n public iwlinks(params: IwLinksRequest) {\n return this.query<IwLinks>(params, { prop: 'iwlinks' });\n }\n\n /**\n * Find all pages thast link to the given language link.\n * Can be used to find all links with a language code, or all links to a title (with a given language).\n * Using neither parameter is effectively \"all language links\".\n * @see https://www.mediawiki.org/wiki/API:Langbacklinks\n */\n public langbacklinks(params: LangBacklinksRequest) {\n return this.query<LangBacklinks>(params, { list: 'langbacklinks' });\n }\n\n /**\n * Returns all interlanguage links from the given pages.\n * @see https://www.mediawiki.org/wiki/API:Langlinks\n */\n public langlinks(params: LangLinksRequest) {\n return this.query<LangLinks>(params, { prop: 'langlinks' });\n }\n\n /**\n * Returns all links from the given pages.\n * @see https://www.mediawiki.org/wiki/API:Links\n */\n public links(params: LinksRequest) {\n return this.query<Links>(params, { prop: 'links' });\n }\n\n /**\n * Find all pages that link to the given pages.\n * @see https://www.mediawiki.org/wiki/API:Linkshere\n */\n public linkshere(params: LinksHereRequest) {\n return this.query<LinksHere>(params, { prop: 'linkshere' });\n }\n\n /**\n * Get events from logs.\n * @see https://www.mediawiki.org/wiki/API:Logevents\n */\n public logevents(params: LogEventsRequest) {\n return this.query<LogEvents>(params, { list: 'logevents' });\n }\n\n /**\n * Log in and get authentication tokens.\n *\n * This action should only be used in combination with Special:BotPasswords.\n *\n * This will modify your \"Wiki\" instance, and all next requests will be authenticated.\n * @see https://www.mediawiki.org/wiki/API:Login\n */\n public async login(username: string, password: string) {\n const tokens = await this.tokens('login');\n const params = {\n action: 'login',\n format: 'json',\n formatversion: '2',\n lgname: username,\n lgpassword: password,\n lgtoken: tokens.logintoken!,\n };\n\n const result = await this.client.post<{\n login: {\n lguserid: number;\n lgusername: string;\n result: string;\n };\n }>(params, {\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n return result.login;\n }\n\n /**\n * Log out and clear session data.\n */\n public async logout(): Promise<void> {\n const token = await this.csrfToken();\n const params = {\n action: 'logout',\n token: token,\n };\n\n await this.client.post(params, {\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n }\n\n /**\n * List all page property names in use on the wiki.\n * @see https://www.mediawiki.org/wiki/API:Pagepropnames\n */\n public pagepropnames(params: PagePropNamesRequest) {\n return this.query<PagePropNames>(params, { list: 'pagepropnames' });\n }\n\n /**\n * Get various page properties defined in the page content.\n * @see https://www.mediawiki.org/wiki/API:Pageprops\n */\n public pageprops(params: PagePropsRequest) {\n return this.query<PageProps>(params, { prop: 'pageprops' });\n }\n\n /**\n * List all pages using a given page property.\n * @see https://www.mediawiki.org/wiki/API:Pageswithprop\n */\n public pageswithprop(params: PagesWithPropRequest) {\n return this.query<PagesWithProp>(params, { list: 'pageswithprop' });\n }\n\n /**\n * Perform a prefix search for page titles.\n * @see https://www.mediawiki.org/wiki/API:Prefixsearch\n */\n public prefixsearch(params: PrefixSearchRequest) {\n return this.query<PrefixSearch>(params, { list: 'prefixsearch' });\n }\n\n /**\n * List all titles protected from creation.\n * @see https://www.mediawiki.org/wiki/API:Protectedtitles\n */\n public protectedtitles(params: ProtectedTitlesRequest) {\n return this.query<ProtectedTitles>(params, { list: 'protectedtitles' });\n }\n\n public async query<T = unknown>(params: Record<string, unknown>, options: Record<string, unknown> = {}): Promise<T> {\n options = Object.assign(options, {\n action: 'query',\n format: 'json',\n formatversion: 2,\n });\n\n params = Object.assign(options, params);\n return await this.client.get<T>(params);\n }\n\n /**\n * Get a list provided by a QueryPage-based special page.\n * @see https://www.mediawiki.org/wiki/API:Querypage\n */\n public querypage(params: QueryPageRequest) {\n return this.query<QueryPage>(params, { list: 'querypage' });\n }\n\n /**\n * Get a set of random pages.\n * @see https://www.mediawiki.org/wiki/API:Random\n */\n public random(params: RandomRequest) {\n return this.query<Random>(params, { list: 'random' });\n }\n\n /**\n * Enumerate recent changes.\n * @see https://www.mediawiki.org/wiki/API:Recentchanges\n */\n public recentchanges(params: RecentChangesRequest) {\n return this.query<RecentChanges>(params, { list: 'recentchanges' });\n }\n\n /**\n * Returns all redirects to the given pages.\n * @see https://www.mediawiki.org/wiki/API:Redirects\n */\n public redirects(params: RedirectsRequest) {\n return this.query<Redirects>(params, { prop: 'redirects' });\n }\n\n /**\n * Get revision information.\n * @see https://www.mediawiki.org/wiki/API:Revisions\n */\n public revisions(params: RevisionsRequest) {\n return this.query<Revisions>(params, { prop: 'revisions' });\n }\n\n /**\n * Perform a full text search.\n * @see https://www.mediawiki.org/wiki/API:Search\n */\n public search(params: SearchRequest) {\n return this.query<Search>(params, { list: 'search' });\n }\n\n /**\n * Return general information about the site.\n * @see https://www.mediawiki.org/wiki/API:Siteinfo\n */\n public async siteinfo(params: SiteInfoRequest) {\n const result = await this.query<SiteInfo>(params, { meta: 'siteinfo' });\n\n return result.query;\n }\n\n /**\n * List change tags.\n * @see https://www.mediawiki.org/wiki/API:Tags\n */\n public tags(params: TagsRequest) {\n return this.query<Tags>(params, { list: 'tags' });\n }\n\n /**\n * Returns all pages transcluded on the given pages.\n * @see https://www.mediawiki.org/wiki/API:Templates\n */\n public templates(params: TemplatesRequest) {\n return this.query<Templates>(params, { prop: 'templates' });\n }\n\n /**\n * Gets tokens for data-modifying actions.\n * @see https://www.mediawiki.org/wiki/API:Tokens\n */\n public async tokens(tokenType: '*' | Prop<TokenType>, force = false): Promise<{\n [k in `${TokenType}token`]?: string\n }> {\n if (!force && typeof tokenType === 'string' && this.cachedTokens[tokenType]) {\n return {\n [`${tokenType}token`]: this.cachedTokens[tokenType],\n };\n }\n\n let type: string;\n\n if (Array.isArray(tokenType)) type = tokenType.join('|');\n else type = tokenType;\n\n const tokens = await this.client.get<{\n query: {\n tokens: Record<`${TokenType}token`, string>;\n };\n }>({\n action: 'query',\n format: 'json',\n formatversion: '2',\n meta: 'tokens',\n type,\n });\n\n return tokens.query.tokens;\n }\n\n /**\n * Find all pages that transclude the given pages.\n * @see https://www.mediawiki.org/wiki/API:Transcludedin\n */\n public transcludedin(params: TranscludedInRequest) {\n return this.query<TranscludedIn>(params, { prop: 'transcludedin' });\n }\n\n /**\n * Unblock a user.\n */\n public async unblock(params: UnblockRequest) {\n const request = await this.action<Unblock>(params, { action: 'unblock' });\n return request.unblock;\n }\n\n /**\n * Upload a file, or get the status of pending uploads.\n */\n public async upload(params: UploadRequest) {\n const defaults: Record<string, unknown> = {\n action: 'upload',\n format: 'json',\n formatversion: 2,\n token: await this.csrfToken(),\n };\n\n params = Object.assign(defaults, params);\n\n return await this.client.post(params, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n });\n }\n\n /**\n * Get all edits by a user.\n * @see https://www.mediawiki.org/wiki/API:Usercontribs\n */\n public usercontribs(params: UserContribsRequest) {\n return this.query<UserContribs>(params, { list: 'usercontribs' });\n }\n\n /**\n * Get information about the current user.\n * @see https://www.mediawiki.org/wiki/API:Userinfo\n */\n public async userinfo(params: UserInfoRequest) {\n const result = await this.query<UserInfo>(params, { meta: 'userinfo' });\n\n return result.query.userinfo;\n }\n\n /**\n * Change a user's group membership.\n */\n public async userrights(params: UserRightsRequest) {\n const token = await this.tokens('userrights');\n const request = await this.action<UserRights>(params, { action: 'userrights', token: token.userrightstoken! });\n return request.userrights;\n }\n\n /**\n * Get information about a list of users.\n * @see https://www.mediawiki.org/wiki/API:Users\n */\n public users(params: UsersRequest) {\n return this.query<Users>(params, { list: 'users' });\n }\n\n /**\n * Get recent changes to pages in the current user's watchlist.\n * @see https://www.mediawiki.org/wiki/API:Watchlist\n */\n public watchlist(params: WatchlistRequest) {\n return this.query<Watchlist>(params, { list: 'watchlist' });\n }\n\n /**\n * Get all pages on the current user's watchlist.\n * @see https://www.mediawiki.org/wiki/API:Watchlistraw\n */\n public watchlistraw(params: WatchlistRawRequest) {\n return this.query<WatchlistRaw>(params, { list: 'watchlistraw' });\n }\n}\n"],"mappings":"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"}
|
package/dist/main.d.cts
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
//#region src/lib/client.d.ts
|
|
2
|
+
declare class Client {
|
|
3
|
+
readonly api: URL;
|
|
4
|
+
cookies: string[];
|
|
5
|
+
readonly options: ClientOptions;
|
|
6
|
+
constructor(api: URL | string, options?: ClientOptions);
|
|
7
|
+
static formData(params: Record<string, unknown>): FormData;
|
|
8
|
+
static searchParams(params: Record<string, unknown>): URLSearchParams;
|
|
9
|
+
get<T = unknown>(params: Record<string, unknown>, options?: RequestInit): Promise<T>;
|
|
10
|
+
post<T = unknown>(params: Record<string, unknown>, options?: RequestInit): Promise<T>;
|
|
11
|
+
request(url: string | URL, options?: RequestInit): Promise<Response>;
|
|
12
|
+
}
|
|
13
|
+
interface ClientOptions {
|
|
14
|
+
headers?: RequestInit['headers'];
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/lib/wiki.d.ts
|
|
18
|
+
declare class Wiki {
|
|
19
|
+
readonly client: Client;
|
|
20
|
+
protected readonly cachedTokens: Record<string, string>;
|
|
21
|
+
constructor(url: string | URL, options?: ClientOptions);
|
|
22
|
+
action<T = unknown>(params: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
|
|
23
|
+
/**
|
|
24
|
+
* Enumerate all categories.
|
|
25
|
+
* @see https://www.mediawiki.org/wiki/API:Allcategories
|
|
26
|
+
*/
|
|
27
|
+
allcategories(params: AllCategoriesRequest): Promise<AllCategories>;
|
|
28
|
+
/**
|
|
29
|
+
* List all deleted revisions by a user or in a namespace.
|
|
30
|
+
* @see https://www.mediawiki.org/wiki/API:Alldeletedrevisions
|
|
31
|
+
*/
|
|
32
|
+
alldeletedrevisions(params: AllDeletedRevisionsRequest): Promise<AllDeletedRevisions>;
|
|
33
|
+
/**
|
|
34
|
+
* List all file usages, including non-existing.
|
|
35
|
+
* @see https://www.mediawiki.org/wiki/API:Allfileusages
|
|
36
|
+
*/
|
|
37
|
+
allfileusages(params: AllFileUsagesRequest): Promise<AllFileUsages>;
|
|
38
|
+
/**
|
|
39
|
+
* Enumerate all images sequentially.
|
|
40
|
+
* @see https://www.mediawiki.org/wiki/API:Allimages
|
|
41
|
+
*/
|
|
42
|
+
allimages(params: AllImagesRequest): Promise<AllImages>;
|
|
43
|
+
/**
|
|
44
|
+
* Enumerate all links that point to a given namespace.
|
|
45
|
+
* @see https://www.mediawiki.org/wiki/API:Alllinks
|
|
46
|
+
*/
|
|
47
|
+
alllinks(params: AllLinksRequest): Promise<AllLinks>;
|
|
48
|
+
/**
|
|
49
|
+
* Returns messages from the site.
|
|
50
|
+
* @see https://www.mediawiki.org/wiki/API:Allmessages
|
|
51
|
+
*/
|
|
52
|
+
allmessages(params: AllMessagesRequest): Promise<any>;
|
|
53
|
+
/**
|
|
54
|
+
* Enumerate all pages sequentially in a given namespace.
|
|
55
|
+
* @see https://www.mediawiki.org/wiki/API:Allpages
|
|
56
|
+
*/
|
|
57
|
+
allpages(params: AllPagesRequest): Promise<AllPages>;
|
|
58
|
+
/**
|
|
59
|
+
* List all redirects to a namespace.
|
|
60
|
+
* @see https://www.mediawiki.org/wiki/API:Allredirects
|
|
61
|
+
*/
|
|
62
|
+
allredirects(params: AllRedirectsRequest): Promise<AllRedirects>;
|
|
63
|
+
/**
|
|
64
|
+
* List all revisions.
|
|
65
|
+
* @see https://www.mediawiki.org/wiki/API:Allrevisions
|
|
66
|
+
*/
|
|
67
|
+
allrevisions(params: AllRevisionsRequest): Promise<AllRevisions>;
|
|
68
|
+
/**
|
|
69
|
+
* List all transclusions (pages embedded using `{{x}}`), including non-existing.
|
|
70
|
+
* @see https://www.mediawiki.org/wiki/API:Alltransclusions
|
|
71
|
+
*/
|
|
72
|
+
alltransclusions(params: AllTransclusionsRequest): Promise<AllTransclusions>;
|
|
73
|
+
/**
|
|
74
|
+
* Enumerate all registered users.
|
|
75
|
+
* @see https://www.mediawiki.org/wiki/API:Allusers
|
|
76
|
+
*/
|
|
77
|
+
allusers(params: AllUsersRequest): Promise<AllUsers>;
|
|
78
|
+
/**
|
|
79
|
+
* Find all pages that link to the given page.
|
|
80
|
+
* @see https://www.mediawiki.org/wiki/API:Backlinks
|
|
81
|
+
*/
|
|
82
|
+
backlinks(params: BacklinksRequest): Promise<Backlinks>;
|
|
83
|
+
/**
|
|
84
|
+
* Block a user.
|
|
85
|
+
*/
|
|
86
|
+
block(params: BlockRequest): Promise<any>;
|
|
87
|
+
/**
|
|
88
|
+
* List all blocked users and IP addresses.
|
|
89
|
+
* @see https://www.mediawiki.org/wiki/API:Blocks
|
|
90
|
+
*/
|
|
91
|
+
blocks(params: BlocksRequest): Promise<Blocks>;
|
|
92
|
+
/**
|
|
93
|
+
* List all categories the pages belong to.
|
|
94
|
+
* @see https://www.mediawiki.org/wiki/API:Categories
|
|
95
|
+
*/
|
|
96
|
+
categories(params: CategoriesRequest): Promise<Categories>;
|
|
97
|
+
/**
|
|
98
|
+
* Returns information about the given categories.
|
|
99
|
+
* @see https://www.mediawiki.org/wiki/API:Categoryinfo
|
|
100
|
+
*/
|
|
101
|
+
categoryinfo(params: CategoryInfoRequest): Promise<CategoryInfo>;
|
|
102
|
+
/**
|
|
103
|
+
* List all pages in a given category.
|
|
104
|
+
* @see https://www.mediawiki.org/wiki/API:Categorymembers
|
|
105
|
+
*/
|
|
106
|
+
categorymembers(params: CategoryMembersRequest): Promise<CategoryMembers>;
|
|
107
|
+
/**
|
|
108
|
+
* Get the list of logged-in contributors (including temporary users) and the count of
|
|
109
|
+
* logged-out contributors to a page.
|
|
110
|
+
* @see https://www.mediawiki.org/wiki/API:Contributors
|
|
111
|
+
*/
|
|
112
|
+
contributors(params: ContributorsRequest): Promise<Contributors>;
|
|
113
|
+
csrfToken(force?: boolean): Promise<string>;
|
|
114
|
+
/**
|
|
115
|
+
* Get deleted revision information.
|
|
116
|
+
* @see https://www.mediawiki.org/wiki/API:Deletedrevisions
|
|
117
|
+
*/
|
|
118
|
+
deletedrevisions(params: DeletedRevisionsRequest): Promise<DeletedRevisions>;
|
|
119
|
+
/**
|
|
120
|
+
* List all files that are duplicates of the given files based on hash values.
|
|
121
|
+
* @see https://www.mediawiki.org/wiki/API:Duplicatefiles
|
|
122
|
+
*/
|
|
123
|
+
duplicatefiles(params: DuplicateFilesRequest): Promise<DuplicateFiles>;
|
|
124
|
+
/**
|
|
125
|
+
* Create and edit pages.
|
|
126
|
+
*/
|
|
127
|
+
edit(params: EditRequest): Promise<any>;
|
|
128
|
+
/**
|
|
129
|
+
* Find all pages that embed (transclude) the given title.
|
|
130
|
+
* @see https://www.mediawiki.org/wiki/API:Embeddedin
|
|
131
|
+
*/
|
|
132
|
+
embeddedin(params: EmbeddedInRequest): Promise<EmbeddedIn>;
|
|
133
|
+
/**
|
|
134
|
+
* Returns all external URLs (not interwikis) from the given pages.
|
|
135
|
+
* @see https://www.mediawiki.org/wiki/API:Extlinks
|
|
136
|
+
*/
|
|
137
|
+
extlinks(params: ExtLinksRequest): Promise<ExtLinks>;
|
|
138
|
+
/**
|
|
139
|
+
* Enumerate pages that contain a given URL.
|
|
140
|
+
* @see https://www.mediawiki.org/wiki/API:Exturlusage
|
|
141
|
+
*/
|
|
142
|
+
exturlusage(params: ExtUrlUsageRequest): Promise<ExtUrlUsage>;
|
|
143
|
+
/**
|
|
144
|
+
* Enumerate all deleted files sequentially.
|
|
145
|
+
* @see https://www.mediawiki.org/wiki/API:Filearchive
|
|
146
|
+
*/
|
|
147
|
+
filearchive(params: FileArchiveRequest): Promise<FileArchive>;
|
|
148
|
+
/**
|
|
149
|
+
* Return meta information about image repositories configured on the wiki.
|
|
150
|
+
* @see https://www.mediawiki.org/wiki/API:Filerepoinfo
|
|
151
|
+
*/
|
|
152
|
+
filerepoinfo(params: FileRepoInfoRequest): Promise<any>;
|
|
153
|
+
/**
|
|
154
|
+
* Find all pages that use the given files.
|
|
155
|
+
* @see https://www.mediawiki.org/wiki/API:Fileusage
|
|
156
|
+
*/
|
|
157
|
+
fileusage(params: FileUsageRequest): Promise<FileUsage>;
|
|
158
|
+
/**
|
|
159
|
+
* Get the list of pages to work on by executing the specified query module.
|
|
160
|
+
* @see https://www.mediawiki.org/wiki/API:Query#Generators
|
|
161
|
+
*/
|
|
162
|
+
generate<T extends AllQueries, P extends AllProps>(params: GeneratorRequest<T, P>): Promise<GeneratorResult<P>>;
|
|
163
|
+
/**
|
|
164
|
+
* Returns global image usage for a certain image.
|
|
165
|
+
* @see https://www.mediawiki.org/wiki/API:Globalusage
|
|
166
|
+
*/
|
|
167
|
+
globalusage(params: GlobalUsageRequest): Promise<GlobalUsageRequest>;
|
|
168
|
+
/**
|
|
169
|
+
* Returns file information and upload history.
|
|
170
|
+
* @see https://www.mediawiki.org/wiki/API:Imageinfo
|
|
171
|
+
*/
|
|
172
|
+
imageinfo(params: ImageInfoRequest): Promise<ImageInfo>;
|
|
173
|
+
/**
|
|
174
|
+
* Return all files contained on the given pages.
|
|
175
|
+
* @see https://www.mediawiki.org/wiki/API:Images
|
|
176
|
+
*/
|
|
177
|
+
images(params: ImagesRequest): Promise<Images>;
|
|
178
|
+
/**
|
|
179
|
+
* Find all pages that use the given image title.
|
|
180
|
+
* @see https://www.mediawiki.org/wiki/API:Imageusage
|
|
181
|
+
*/
|
|
182
|
+
imageusage(params: ImageUsageRequest): Promise<ImageUsage>;
|
|
183
|
+
/**
|
|
184
|
+
* Get basic page information.
|
|
185
|
+
* @see https://www.mediawiki.org/wiki/API:Info
|
|
186
|
+
*/
|
|
187
|
+
info(params: InfoRequest): Promise<Info>;
|
|
188
|
+
/**
|
|
189
|
+
* Find all pages that link to the given interwiki link.
|
|
190
|
+
* Can be used to find all links with a prefix, or all links to a title (with a given prefix).
|
|
191
|
+
* Using neither parameter is effectively "all interwiki links".
|
|
192
|
+
* @see https://www.mediawiki.org/wiki/API:Iwbacklinks
|
|
193
|
+
*/
|
|
194
|
+
iwbacklinks(params: IwBacklinksRequest): Promise<IwBacklinks>;
|
|
195
|
+
/**
|
|
196
|
+
* Returns all interwiki links from the given pages.
|
|
197
|
+
* @see https://www.mediawiki.org/wiki/API:Iwlinks
|
|
198
|
+
*/
|
|
199
|
+
iwlinks(params: IwLinksRequest): Promise<IwLinks>;
|
|
200
|
+
/**
|
|
201
|
+
* Find all pages thast link to the given language link.
|
|
202
|
+
* Can be used to find all links with a language code, or all links to a title (with a given language).
|
|
203
|
+
* Using neither parameter is effectively "all language links".
|
|
204
|
+
* @see https://www.mediawiki.org/wiki/API:Langbacklinks
|
|
205
|
+
*/
|
|
206
|
+
langbacklinks(params: LangBacklinksRequest): Promise<LangBacklinks>;
|
|
207
|
+
/**
|
|
208
|
+
* Returns all interlanguage links from the given pages.
|
|
209
|
+
* @see https://www.mediawiki.org/wiki/API:Langlinks
|
|
210
|
+
*/
|
|
211
|
+
langlinks(params: LangLinksRequest): Promise<LangLinks>;
|
|
212
|
+
/**
|
|
213
|
+
* Returns all links from the given pages.
|
|
214
|
+
* @see https://www.mediawiki.org/wiki/API:Links
|
|
215
|
+
*/
|
|
216
|
+
links(params: LinksRequest): Promise<Links>;
|
|
217
|
+
/**
|
|
218
|
+
* Find all pages that link to the given pages.
|
|
219
|
+
* @see https://www.mediawiki.org/wiki/API:Linkshere
|
|
220
|
+
*/
|
|
221
|
+
linkshere(params: LinksHereRequest): Promise<LinksHere>;
|
|
222
|
+
/**
|
|
223
|
+
* Get events from logs.
|
|
224
|
+
* @see https://www.mediawiki.org/wiki/API:Logevents
|
|
225
|
+
*/
|
|
226
|
+
logevents(params: LogEventsRequest): Promise<LogEvents>;
|
|
227
|
+
/**
|
|
228
|
+
* Log in and get authentication tokens.
|
|
229
|
+
*
|
|
230
|
+
* This action should only be used in combination with Special:BotPasswords.
|
|
231
|
+
*
|
|
232
|
+
* This will modify your "Wiki" instance, and all next requests will be authenticated.
|
|
233
|
+
* @see https://www.mediawiki.org/wiki/API:Login
|
|
234
|
+
*/
|
|
235
|
+
login(username: string, password: string): Promise<{
|
|
236
|
+
lguserid: number;
|
|
237
|
+
lgusername: string;
|
|
238
|
+
result: string;
|
|
239
|
+
}>;
|
|
240
|
+
/**
|
|
241
|
+
* Log out and clear session data.
|
|
242
|
+
*/
|
|
243
|
+
logout(): Promise<void>;
|
|
244
|
+
/**
|
|
245
|
+
* List all page property names in use on the wiki.
|
|
246
|
+
* @see https://www.mediawiki.org/wiki/API:Pagepropnames
|
|
247
|
+
*/
|
|
248
|
+
pagepropnames(params: PagePropNamesRequest): Promise<PagePropNames>;
|
|
249
|
+
/**
|
|
250
|
+
* Get various page properties defined in the page content.
|
|
251
|
+
* @see https://www.mediawiki.org/wiki/API:Pageprops
|
|
252
|
+
*/
|
|
253
|
+
pageprops(params: PagePropsRequest): Promise<PageProps>;
|
|
254
|
+
/**
|
|
255
|
+
* List all pages using a given page property.
|
|
256
|
+
* @see https://www.mediawiki.org/wiki/API:Pageswithprop
|
|
257
|
+
*/
|
|
258
|
+
pageswithprop(params: PagesWithPropRequest): Promise<PagesWithProp>;
|
|
259
|
+
/**
|
|
260
|
+
* Perform a prefix search for page titles.
|
|
261
|
+
* @see https://www.mediawiki.org/wiki/API:Prefixsearch
|
|
262
|
+
*/
|
|
263
|
+
prefixsearch(params: PrefixSearchRequest): Promise<PrefixSearch>;
|
|
264
|
+
/**
|
|
265
|
+
* List all titles protected from creation.
|
|
266
|
+
* @see https://www.mediawiki.org/wiki/API:Protectedtitles
|
|
267
|
+
*/
|
|
268
|
+
protectedtitles(params: ProtectedTitlesRequest): Promise<ProtectedTitles>;
|
|
269
|
+
query<T = unknown>(params: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
|
|
270
|
+
/**
|
|
271
|
+
* Get a list provided by a QueryPage-based special page.
|
|
272
|
+
* @see https://www.mediawiki.org/wiki/API:Querypage
|
|
273
|
+
*/
|
|
274
|
+
querypage(params: QueryPageRequest): Promise<QueryPage>;
|
|
275
|
+
/**
|
|
276
|
+
* Get a set of random pages.
|
|
277
|
+
* @see https://www.mediawiki.org/wiki/API:Random
|
|
278
|
+
*/
|
|
279
|
+
random(params: RandomRequest): Promise<Random>;
|
|
280
|
+
/**
|
|
281
|
+
* Enumerate recent changes.
|
|
282
|
+
* @see https://www.mediawiki.org/wiki/API:Recentchanges
|
|
283
|
+
*/
|
|
284
|
+
recentchanges(params: RecentChangesRequest): Promise<RecentChanges>;
|
|
285
|
+
/**
|
|
286
|
+
* Returns all redirects to the given pages.
|
|
287
|
+
* @see https://www.mediawiki.org/wiki/API:Redirects
|
|
288
|
+
*/
|
|
289
|
+
redirects(params: RedirectsRequest): Promise<Redirects>;
|
|
290
|
+
/**
|
|
291
|
+
* Get revision information.
|
|
292
|
+
* @see https://www.mediawiki.org/wiki/API:Revisions
|
|
293
|
+
*/
|
|
294
|
+
revisions(params: RevisionsRequest): Promise<Revisions>;
|
|
295
|
+
/**
|
|
296
|
+
* Perform a full text search.
|
|
297
|
+
* @see https://www.mediawiki.org/wiki/API:Search
|
|
298
|
+
*/
|
|
299
|
+
search(params: SearchRequest): Promise<Search>;
|
|
300
|
+
/**
|
|
301
|
+
* Return general information about the site.
|
|
302
|
+
* @see https://www.mediawiki.org/wiki/API:Siteinfo
|
|
303
|
+
*/
|
|
304
|
+
siteinfo(params: SiteInfoRequest): Promise<any>;
|
|
305
|
+
/**
|
|
306
|
+
* List change tags.
|
|
307
|
+
* @see https://www.mediawiki.org/wiki/API:Tags
|
|
308
|
+
*/
|
|
309
|
+
tags(params: TagsRequest): Promise<Tags>;
|
|
310
|
+
/**
|
|
311
|
+
* Returns all pages transcluded on the given pages.
|
|
312
|
+
* @see https://www.mediawiki.org/wiki/API:Templates
|
|
313
|
+
*/
|
|
314
|
+
templates(params: TemplatesRequest): Promise<Templates>;
|
|
315
|
+
/**
|
|
316
|
+
* Gets tokens for data-modifying actions.
|
|
317
|
+
* @see https://www.mediawiki.org/wiki/API:Tokens
|
|
318
|
+
*/
|
|
319
|
+
tokens(tokenType: '*' | Prop<TokenType>, force?: boolean): Promise<{ [k in `${TokenType}token`]?: string }>;
|
|
320
|
+
/**
|
|
321
|
+
* Find all pages that transclude the given pages.
|
|
322
|
+
* @see https://www.mediawiki.org/wiki/API:Transcludedin
|
|
323
|
+
*/
|
|
324
|
+
transcludedin(params: TranscludedInRequest): Promise<TranscludedIn>;
|
|
325
|
+
/**
|
|
326
|
+
* Unblock a user.
|
|
327
|
+
*/
|
|
328
|
+
unblock(params: UnblockRequest): Promise<any>;
|
|
329
|
+
/**
|
|
330
|
+
* Upload a file, or get the status of pending uploads.
|
|
331
|
+
*/
|
|
332
|
+
upload(params: UploadRequest): Promise<unknown>;
|
|
333
|
+
/**
|
|
334
|
+
* Get all edits by a user.
|
|
335
|
+
* @see https://www.mediawiki.org/wiki/API:Usercontribs
|
|
336
|
+
*/
|
|
337
|
+
usercontribs(params: UserContribsRequest): Promise<UserContribs>;
|
|
338
|
+
/**
|
|
339
|
+
* Get information about the current user.
|
|
340
|
+
* @see https://www.mediawiki.org/wiki/API:Userinfo
|
|
341
|
+
*/
|
|
342
|
+
userinfo(params: UserInfoRequest): Promise<any>;
|
|
343
|
+
/**
|
|
344
|
+
* Change a user's group membership.
|
|
345
|
+
*/
|
|
346
|
+
userrights(params: UserRightsRequest): Promise<any>;
|
|
347
|
+
/**
|
|
348
|
+
* Get information about a list of users.
|
|
349
|
+
* @see https://www.mediawiki.org/wiki/API:Users
|
|
350
|
+
*/
|
|
351
|
+
users(params: UsersRequest): Promise<Users>;
|
|
352
|
+
/**
|
|
353
|
+
* Get recent changes to pages in the current user's watchlist.
|
|
354
|
+
* @see https://www.mediawiki.org/wiki/API:Watchlist
|
|
355
|
+
*/
|
|
356
|
+
watchlist(params: WatchlistRequest): Promise<Watchlist>;
|
|
357
|
+
/**
|
|
358
|
+
* Get all pages on the current user's watchlist.
|
|
359
|
+
* @see https://www.mediawiki.org/wiki/API:Watchlistraw
|
|
360
|
+
*/
|
|
361
|
+
watchlistraw(params: WatchlistRawRequest): Promise<WatchlistRaw>;
|
|
362
|
+
}
|
|
363
|
+
//#endregion
|
|
364
|
+
export { Client, ClientOptions, Wiki };
|
|
365
|
+
//# sourceMappingURL=main.d.cts.map
|