mwn
Version:
JavaScript & TypeScript MediaWiki bot framework for Node.js
54 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
function default_1(bot) {
class Category extends bot.Page {
/** @inheritDoc */
constructor(name) {
super(name, 14);
if (this.namespace !== 14) {
throw new Error('not a category page');
}
}
// TODO: Add recursive modes
/** @inheritDoc */
members(options) {
return bot
.query({
list: 'categorymembers',
cmtitle: 'Category:' + this.title,
cmlimit: 'max',
...options,
})
.then((data) => data.query.categorymembers);
}
async *membersGen(options) {
let continuedQuery = bot.continuedQueryGen({
action: 'query',
list: 'categorymembers',
cmtitle: 'Category:' + this.title,
cmlimit: 'max',
...options,
});
for await (let json of continuedQuery) {
for (let result of json.query.categorymembers) {
yield result;
}
}
}
/** @inheritDoc */
pages(options) {
return this.members({ cmtype: ['page'], ...options });
}
/** @inheritDoc */
subcats(options) {
return this.members({ cmtype: ['subcat'], ...options });
}
/** @inheritDoc */
files(options) {
return this.members({ cmtype: ['file'], ...options });
}
}
return Category;
}
//# sourceMappingURL=category.js.map