UNPKG

mwn

Version:

JavaScript & TypeScript MediaWiki bot framework for Node.js

49 lines (48 loc) 2.02 kB
import type { Mwn } from './bot'; import type { MwnTitle } from './title'; import type { MwnPage } from './page'; import type { ApiQueryCategoryMembersParams } from 'types-mediawiki-api'; type ApiPageInfo = { pageid: number; ns: number; title: string; }; export interface MwnCategoryStatic { /** * @param {string} name - name of the category */ new (name: MwnTitle | string): MwnCategory; } export interface MwnCategory extends MwnPage { /** * Get all members in the category - this includes subcategories, pages and files * @param {Object} options - additional API parameters * @returns {Promise<Object[]>} - Resolved with array of objects of form * { pageid: 324234, ns: 0, title: 'Main Page' } */ members(options?: ApiQueryCategoryMembersParams): Promise<ApiPageInfo[]>; membersGen(options?: ApiQueryCategoryMembersParams): AsyncGenerator<ApiPageInfo>; /** * Get all pages in the category - does not include subcategories or files * @param {Object} options - additional API parameters * @returns {Promise<Object[]>} - Resolved with array of objects of form * { pageid: 324234, ns: 0, title: 'Main Page' } */ pages(options?: ApiQueryCategoryMembersParams): Promise<ApiPageInfo[]>; /** * Get all subcategories of the category * @param {Object} options - additional API parameters * @returns {Promise<Object[]>} - Resolved with array of objects of form * { pageid: 324234, ns: 14, title: 'Category:Living people' } */ subcats(options?: ApiQueryCategoryMembersParams): Promise<ApiPageInfo[]>; /** * Get all files in the category * @param {Object} options - additional API parameters * @returns {Promise<Object[]>} - Resolved with array of objects of form * { pageid: 324234, ns: 6, title: 'File:Image.jpg' } */ files(options?: ApiQueryCategoryMembersParams): Promise<ApiPageInfo[]>; } export default function (bot: Mwn): MwnCategoryStatic; export {};