mwn
Version:
JavaScript & TypeScript MediaWiki bot framework for Node.js
49 lines (48 loc) • 2.02 kB
TypeScript
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 {};