@ukwhatn/wikidot 1.0.9 → 4.0.2

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.
Files changed (94) hide show
  1. package/README.md +227 -79
  2. package/dist/errors.cjs +114 -0
  3. package/dist/errors.d.cts +94 -0
  4. package/dist/errors.d.ts +94 -0
  5. package/dist/errors.js +81 -0
  6. package/dist/index.cjs +4624 -0
  7. package/dist/index.d.cts +2106 -0
  8. package/dist/index.d.ts +2106 -1
  9. package/dist/index.js +2651 -6
  10. package/dist/shared/index-7dqqxq7x.js +105 -0
  11. package/dist/shared/index-f2eh3ykk.js +172 -0
  12. package/dist/shared/index-kka6e8cb.js +627 -0
  13. package/dist/shared/index-ytknx2hn.js +980 -0
  14. package/package.json +64 -26
  15. package/Makefile +0 -13
  16. package/dist/common/exceptions.d.ts +0 -95
  17. package/dist/common/exceptions.js +0 -146
  18. package/dist/common/exceptions.js.map +0 -1
  19. package/dist/common/index.d.ts +0 -1
  20. package/dist/common/index.js +0 -6
  21. package/dist/common/index.js.map +0 -1
  22. package/dist/common/logger.d.ts +0 -2
  23. package/dist/common/logger.js +0 -19
  24. package/dist/common/logger.js.map +0 -1
  25. package/dist/connector/ajax.d.ts +0 -142
  26. package/dist/connector/ajax.js +0 -259
  27. package/dist/connector/ajax.js.map +0 -1
  28. package/dist/connector/api.d.ts +0 -11
  29. package/dist/connector/api.js +0 -17
  30. package/dist/connector/api.js.map +0 -1
  31. package/dist/connector/index.d.ts +0 -0
  32. package/dist/connector/index.js +0 -2
  33. package/dist/connector/index.js.map +0 -1
  34. package/dist/index.js.map +0 -1
  35. package/dist/module/auth.d.ts +0 -8
  36. package/dist/module/auth.js +0 -77
  37. package/dist/module/auth.js.map +0 -1
  38. package/dist/module/client.d.ts +0 -39
  39. package/dist/module/client.js +0 -97
  40. package/dist/module/client.js.map +0 -1
  41. package/dist/module/index.d.ts +0 -0
  42. package/dist/module/index.js +0 -2
  43. package/dist/module/index.js.map +0 -1
  44. package/dist/module/page.d.ts +0 -102
  45. package/dist/module/page.js +0 -395
  46. package/dist/module/page.js.map +0 -1
  47. package/dist/module/pageRevision.d.ts +0 -29
  48. package/dist/module/pageRevision.js +0 -114
  49. package/dist/module/pageRevision.js.map +0 -1
  50. package/dist/module/pageSource.d.ts +0 -7
  51. package/dist/module/pageSource.js +0 -11
  52. package/dist/module/pageSource.js.map +0 -1
  53. package/dist/module/pageVote.d.ts +0 -14
  54. package/dist/module/pageVote.js +0 -20
  55. package/dist/module/pageVote.js.map +0 -1
  56. package/dist/module/privateMessage.d.ts +0 -29
  57. package/dist/module/privateMessage.js +0 -128
  58. package/dist/module/privateMessage.js.map +0 -1
  59. package/dist/module/site.d.ts +0 -32
  60. package/dist/module/site.js +0 -115
  61. package/dist/module/site.js.map +0 -1
  62. package/dist/module/siteApplication.d.ts +0 -14
  63. package/dist/module/siteApplication.js +0 -96
  64. package/dist/module/siteApplication.js.map +0 -1
  65. package/dist/module/user.d.ts +0 -56
  66. package/dist/module/user.js +0 -115
  67. package/dist/module/user.js.map +0 -1
  68. package/dist/util/index.d.ts +0 -3
  69. package/dist/util/index.js +0 -10
  70. package/dist/util/index.js.map +0 -1
  71. package/dist/util/parser/index.d.ts +0 -1
  72. package/dist/util/parser/index.js +0 -18
  73. package/dist/util/parser/index.js.map +0 -1
  74. package/dist/util/parser/odate.d.ts +0 -12
  75. package/dist/util/parser/odate.js +0 -25
  76. package/dist/util/parser/odate.js.map +0 -1
  77. package/dist/util/parser/user.d.ts +0 -16
  78. package/dist/util/parser/user.js +0 -36
  79. package/dist/util/parser/user.js.map +0 -1
  80. package/dist/util/quickModule.d.ts +0 -96
  81. package/dist/util/quickModule.js +0 -137
  82. package/dist/util/quickModule.js.map +0 -1
  83. package/dist/util/requestUtil.d.ts +0 -26
  84. package/dist/util/requestUtil.js +0 -69
  85. package/dist/util/requestUtil.js.map +0 -1
  86. package/dist/util/stringUtil.d.ts +0 -21
  87. package/dist/util/stringUtil.js +0 -64
  88. package/dist/util/stringUtil.js.map +0 -1
  89. package/dist/util/table/charTable.d.ts +0 -3
  90. package/dist/util/table/charTable.js +0 -472
  91. package/dist/util/table/charTable.js.map +0 -1
  92. package/dist/util/table/index.d.ts +0 -1
  93. package/dist/util/table/index.js +0 -18
  94. package/dist/util/table/index.js.map +0 -1
@@ -1,29 +0,0 @@
1
- import { Client } from './client';
2
- import { AbstractUser, User } from './user';
3
- declare class PrivateMessageCollection extends Array<PrivateMessage> {
4
- toString(): string;
5
- static fromIds(client: Client, messageIds: number[]): Promise<PrivateMessageCollection>;
6
- protected static _acquire(client: Client, moduleName: string): Promise<PrivateMessageCollection>;
7
- }
8
- declare class PrivateMessageInbox extends PrivateMessageCollection {
9
- static fromIds(client: Client, messageIds: number[]): Promise<PrivateMessageInbox>;
10
- static acquire(client: Client): Promise<PrivateMessageInbox>;
11
- }
12
- declare class PrivateMessageSentBox extends PrivateMessageCollection {
13
- static fromIds(client: Client, messageIds: number[]): Promise<PrivateMessageSentBox>;
14
- static acquire(client: Client): Promise<PrivateMessageSentBox>;
15
- }
16
- declare class PrivateMessage {
17
- client: Client;
18
- id: number;
19
- sender: AbstractUser;
20
- recipient: AbstractUser;
21
- subject: string;
22
- body: string;
23
- createdAt: Date;
24
- constructor(client: Client, id: number, sender: AbstractUser, recipient: AbstractUser, subject: string, body: string, createdAt: Date);
25
- toString(): string;
26
- static fromId(client: Client, messageId: number): Promise<PrivateMessage>;
27
- static send(client: Client, recipient: User, subject: string, body: string): Promise<void>;
28
- }
29
- export { PrivateMessageCollection, PrivateMessageInbox, PrivateMessageSentBox, PrivateMessage };
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.PrivateMessage = exports.PrivateMessageSentBox = exports.PrivateMessageInbox = exports.PrivateMessageCollection = void 0;
27
- const exceptions_1 = require("../common/exceptions");
28
- const cheerio = __importStar(require("cheerio"));
29
- const parser_1 = require("../util/parser");
30
- const user_1 = require("../util/parser/user");
31
- class PrivateMessageCollection extends Array {
32
- toString() {
33
- return `${this.constructor.name}(${this.length} messages)`;
34
- }
35
- static async fromIds(client, messageIds) {
36
- const bodies = messageIds.map(messageId => ({
37
- item: messageId,
38
- moduleName: 'dashboard/messages/DMViewMessageModule'
39
- }));
40
- client.loginCheck();
41
- const responses = await client.amcClient.request(bodies, true);
42
- const messages = [];
43
- for (const [index, response] of responses.entries()) {
44
- if (response instanceof exceptions_1.WikidotStatusCodeException) {
45
- if (response.statusCode === 'no_message') {
46
- throw new exceptions_1.ForbiddenException(`Failed to get message: ${messageIds[index]}`);
47
- }
48
- }
49
- if (response instanceof Error) {
50
- throw response;
51
- }
52
- const html = cheerio.load(response.data.body);
53
- const [sender, recipient] = html('div.pmessage div.header span.printuser').get();
54
- messages.push(new PrivateMessage(client, messageIds[index], (0, user_1.userParse)(client, html(sender)), (0, user_1.userParse)(client, html(recipient)), html('div.pmessage div.header span.subject').text(), html('div.pmessage div.body').text(), (0, parser_1.odateParse)(html('div.header span.odate'))));
55
- }
56
- return new PrivateMessageCollection(...messages);
57
- }
58
- static async _acquire(client, moduleName) {
59
- client.loginCheck();
60
- const response = (await client.amcClient.request([{ moduleName }]))[0];
61
- if (response instanceof Error)
62
- throw response;
63
- const html = cheerio.load(response.data.body);
64
- const pager = html('div.pager span.target');
65
- const maxPage = pager.length > 2 ? Number(pager.eq(-2).text()) : 1;
66
- const responses = maxPage > 1
67
- ? await client.amcClient.request(Array.from({ length: maxPage }, (_, i) => ({ page: i + 1, moduleName })), false)
68
- : [response];
69
- const messageIds = [];
70
- for (const response of responses) {
71
- if (response instanceof Error)
72
- throw response;
73
- const html = cheerio.load(response.data.body);
74
- // @ts-ignore
75
- messageIds.push(...html('tr.message').map((_, tr) => Number(html(tr).data('href').split('/').pop())).get());
76
- }
77
- return PrivateMessageCollection.fromIds(client, messageIds);
78
- }
79
- }
80
- exports.PrivateMessageCollection = PrivateMessageCollection;
81
- class PrivateMessageInbox extends PrivateMessageCollection {
82
- static async fromIds(client, messageIds) {
83
- return new PrivateMessageInbox(...await PrivateMessageCollection.fromIds(client, messageIds));
84
- }
85
- static async acquire(client) {
86
- return new PrivateMessageInbox(...await PrivateMessageCollection._acquire(client, 'dashboard/messages/DMInboxModule'));
87
- }
88
- }
89
- exports.PrivateMessageInbox = PrivateMessageInbox;
90
- class PrivateMessageSentBox extends PrivateMessageCollection {
91
- static async fromIds(client, messageIds) {
92
- return new PrivateMessageSentBox(...await PrivateMessageCollection.fromIds(client, messageIds));
93
- }
94
- static async acquire(client) {
95
- return new PrivateMessageSentBox(...await PrivateMessageCollection._acquire(client, 'dashboard/messages/DMSentModule'));
96
- }
97
- }
98
- exports.PrivateMessageSentBox = PrivateMessageSentBox;
99
- class PrivateMessage {
100
- constructor(client, id, sender, recipient, subject, body, createdAt) {
101
- this.client = client;
102
- this.id = id;
103
- this.sender = sender;
104
- this.recipient = recipient;
105
- this.subject = subject;
106
- this.body = body;
107
- this.createdAt = createdAt;
108
- }
109
- toString() {
110
- return `PrivateMessage(id=${this.id}, sender=${this.sender}, recipient=${this.recipient}, subject=${this.subject})`;
111
- }
112
- static async fromId(client, messageId) {
113
- return (await PrivateMessageCollection.fromIds(client, [messageId]))[0];
114
- }
115
- static async send(client, recipient, subject, body) {
116
- client.loginCheck();
117
- await client.amcClient.request([{
118
- source: body,
119
- subject: subject,
120
- to_user_id: recipient.id,
121
- action: 'DashboardMessageAction',
122
- event: 'send',
123
- moduleName: 'Empty'
124
- }]);
125
- }
126
- }
127
- exports.PrivateMessage = PrivateMessage;
128
- //# sourceMappingURL=privateMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"privateMessage.js","sourceRoot":"","sources":["../../src/module/privateMessage.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { Client } from './client';
2
- import { User } from './user';
3
- import { Page, SearchPagesQuery, PageCollection } from './page';
4
- import { SiteApplication } from './siteApplication';
5
- declare class SitePagesMethods {
6
- private site;
7
- constructor(site: Site);
8
- search(query: Partial<SearchPagesQuery>): Promise<PageCollection>;
9
- }
10
- declare class SitePageMethods {
11
- private site;
12
- constructor(site: Site);
13
- get(fullname: string, raiseWhenNotFound?: boolean): Promise<Page | null>;
14
- }
15
- declare class Site {
16
- client: Client;
17
- id: number;
18
- title: string;
19
- unixName: string;
20
- domain: string;
21
- sslSupported: boolean;
22
- pages: SitePagesMethods;
23
- page: SitePageMethods;
24
- constructor(client: Client, id: number, title: string, unixName: string, domain: string, sslSupported: boolean);
25
- toString(): string;
26
- static fromUnixName(client: Client, unixName: string): Promise<Site>;
27
- amcRequest(bodies: object[], returnExceptions?: boolean): Promise<any[]>;
28
- getApplications(): Promise<SiteApplication[]>;
29
- inviteUser(user: User, text: string): Promise<void>;
30
- getUrl(): string;
31
- }
32
- export { Site };
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Site = void 0;
7
- const page_1 = require("./page");
8
- const siteApplication_1 = require("./siteApplication");
9
- const axios_1 = __importDefault(require("axios"));
10
- const exceptions_1 = require("../common/exceptions");
11
- class SitePagesMethods {
12
- constructor(site) {
13
- this.site = site;
14
- }
15
- async search(query) {
16
- const _query = new page_1.SearchPagesQuery(query);
17
- return await page_1.PageCollection.searchPages(this.site, _query);
18
- }
19
- }
20
- class SitePageMethods {
21
- constructor(site) {
22
- this.site = site;
23
- }
24
- async get(fullname, raiseWhenNotFound = true) {
25
- const res = await page_1.PageCollection.searchPages(this.site, new page_1.SearchPagesQuery({ fullname }));
26
- if (res.length === 0) {
27
- if (raiseWhenNotFound) {
28
- throw new exceptions_1.NotFoundException(`Page is not found: ${fullname}`);
29
- }
30
- return null;
31
- }
32
- return res[0];
33
- }
34
- }
35
- class Site {
36
- constructor(client, id, title, unixName, domain, sslSupported) {
37
- this.client = client;
38
- this.id = id;
39
- this.title = title;
40
- this.unixName = unixName;
41
- this.domain = domain;
42
- this.sslSupported = sslSupported;
43
- this.pages = new SitePagesMethods(this);
44
- this.page = new SitePageMethods(this);
45
- }
46
- toString() {
47
- return `Site(id=${this.id}, title=${this.title}, unixName=${this.unixName})`;
48
- }
49
- static async fromUnixName(client, unixName) {
50
- const response = await axios_1.default.get(`http://${unixName}.wikidot.com`, {
51
- maxRedirects: 5,
52
- timeout: client.amcClient.config.requestTimeout * 1000
53
- });
54
- if (response.status === 404) {
55
- throw new exceptions_1.NotFoundException(`Site is not found: ${unixName}.wikidot.com`);
56
- }
57
- const source = response.data;
58
- const idMatch = source.match(/WIKIREQUEST\.info\.siteId = (\d+);/);
59
- if (!idMatch) {
60
- throw new exceptions_1.UnexpectedException(`Cannot find site id: ${unixName}.wikidot.com`);
61
- }
62
- const siteId = Number(idMatch[1]);
63
- const titleMatch = source.match(/<title>(.*?)<\/title>/);
64
- if (!titleMatch) {
65
- throw new exceptions_1.UnexpectedException(`Cannot find site title: ${unixName}.wikidot.com`);
66
- }
67
- const title = titleMatch[1];
68
- const unixNameMatch = source.match(/WIKIREQUEST\.info\.siteUnixName = "(.*?)";/);
69
- if (!unixNameMatch) {
70
- throw new exceptions_1.UnexpectedException(`Cannot find site unixName: ${unixName}.wikidot.com`);
71
- }
72
- unixName = unixNameMatch[1];
73
- const domainMatch = source.match(/WIKIREQUEST\.info\.domain = "(.*?)";/);
74
- if (!domainMatch) {
75
- throw new exceptions_1.UnexpectedException(`Cannot find site domain: ${unixName}.wikidot.com`);
76
- }
77
- const domain = domainMatch[1];
78
- const sslSupported = response.request.protocol === 'https:';
79
- return new Site(client, siteId, title, unixName, domain, sslSupported);
80
- }
81
- amcRequest(bodies, returnExceptions = false) {
82
- return this.client.amcClient.request(bodies, returnExceptions, this.unixName, this.sslSupported);
83
- }
84
- async getApplications() {
85
- return await siteApplication_1.SiteApplication.acquireAll(this);
86
- }
87
- async inviteUser(user, text) {
88
- user.client.loginCheck();
89
- try {
90
- await this.amcRequest([{
91
- action: 'ManageSiteMembershipAction',
92
- event: 'inviteMember',
93
- user_id: user.id,
94
- text: text,
95
- moduleName: 'Empty'
96
- }]);
97
- }
98
- catch (error) {
99
- if (error instanceof exceptions_1.WikidotStatusCodeException) {
100
- if (error.statusCode === 'already_invited') {
101
- throw new exceptions_1.TargetErrorException(`User is already invited to ${this.unixName}: ${user.name}`);
102
- }
103
- else if (error.statusCode === 'already_member') {
104
- throw new exceptions_1.TargetErrorException(`User is already a member of ${this.unixName}: ${user.name}`);
105
- }
106
- }
107
- throw error;
108
- }
109
- }
110
- getUrl() {
111
- return `http${this.sslSupported ? 's' : ''}://${this.domain}`;
112
- }
113
- }
114
- exports.Site = Site;
115
- //# sourceMappingURL=site.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/module/site.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Site } from './site';
2
- import { AbstractUser } from './user';
3
- declare class SiteApplication {
4
- site: Site;
5
- user: AbstractUser;
6
- text: string;
7
- constructor(site: Site, user: AbstractUser, text: string);
8
- toString(): string;
9
- static acquireAll(site: Site): Promise<SiteApplication[]>;
10
- private _process;
11
- accept(): Promise<void>;
12
- decline(): Promise<void>;
13
- }
14
- export { SiteApplication };
@@ -1,96 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.SiteApplication = void 0;
27
- const exceptions_1 = require("../common/exceptions");
28
- const user_1 = require("../util/parser/user");
29
- const cheerio = __importStar(require("cheerio"));
30
- class SiteApplication {
31
- constructor(site, user, text) {
32
- this.site = site;
33
- this.user = user;
34
- this.text = text;
35
- }
36
- toString() {
37
- return `SiteApplication(user=${this.user}, site=${this.site}, text=${this.text})`;
38
- }
39
- static async acquireAll(site) {
40
- site.client.loginCheck();
41
- const response = (await site.amcRequest([{
42
- moduleName: 'managesite/ManageSiteMembersApplicationsModule'
43
- }]))[0];
44
- const body = response.data.body;
45
- if (body.includes('WIKIDOT.page.listeners.loginClick(event)')) {
46
- throw new exceptions_1.ForbiddenException('You are not allowed to access this page');
47
- }
48
- const html = cheerio.load(body);
49
- const applications = [];
50
- const userElements = html('h3 span.printuser');
51
- const textWrapperElements = html('table');
52
- if (userElements.length !== textWrapperElements.length) {
53
- throw new exceptions_1.UnexpectedException('Length of userElements and textWrapperElements are different');
54
- }
55
- for (let i = 0; i < userElements.length; i++) {
56
- const userElement = userElements.eq(i);
57
- const textWrapperElement = textWrapperElements.eq(i);
58
- const user = (0, user_1.userParse)(site.client, userElement);
59
- const text = textWrapperElement.find('td').eq(1).text().trim();
60
- applications.push(new SiteApplication(site, user, text));
61
- }
62
- return applications;
63
- }
64
- async _process(action) {
65
- this.site.client.loginCheck();
66
- if (action !== 'accept' && action !== 'decline') {
67
- throw new Error(`Invalid action: ${action}`);
68
- }
69
- try {
70
- await this.site.amcRequest([{
71
- action: 'ManageSiteMembershipAction',
72
- event: 'acceptApplication',
73
- user_id: this.user.id,
74
- text: `your application has been ${action}ed`,
75
- type: action,
76
- moduleName: 'Empty'
77
- }]);
78
- }
79
- catch (error) {
80
- if (error instanceof exceptions_1.WikidotStatusCodeException && error.statusCode === 'no_application') {
81
- throw new exceptions_1.NotFoundException(`Application not found: ${this.user}`);
82
- }
83
- else {
84
- throw error;
85
- }
86
- }
87
- }
88
- async accept() {
89
- await this._process('accept');
90
- }
91
- async decline() {
92
- await this._process('decline');
93
- }
94
- }
95
- exports.SiteApplication = SiteApplication;
96
- //# sourceMappingURL=siteApplication.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"siteApplication.js","sourceRoot":"","sources":["../../src/module/siteApplication.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import { Client } from './client';
2
- /**
3
- * @class UserCollection
4
- * @extends Array
5
- * @description ユーザーオブジェクトのリスト
6
- */
7
- declare class UserCollection extends Array<User | null> {
8
- /**
9
- * @method fromNames
10
- * @description ユーザー名のリストからユーザーオブジェクトのリストを取得
11
- * @param client - クライアント
12
- * @param names - ユーザー名のリスト
13
- * @param raiseWhenNotFound - ユーザーが見つからなかった場合に例外を発生させるかどうか(デフォルトは false)
14
- */
15
- static fromNames(client: Client, names: string[], raiseWhenNotFound?: boolean): Promise<UserCollection>;
16
- }
17
- declare abstract class AbstractUser {
18
- client: Client;
19
- id: number | null;
20
- name: string | null;
21
- unixName: string | null;
22
- avatarUrl: string | null;
23
- ip: string | null;
24
- constructor(client: Client, id?: number | null, name?: string | null, unixName?: string | null, avatarUrl?: string | null, ip?: string | null);
25
- toString(): string;
26
- }
27
- declare class User extends AbstractUser {
28
- ip: null;
29
- static fromName(client: Client, name: string, raiseWhenNotFound?: boolean): Promise<User | null>;
30
- }
31
- declare class DeletedUser extends AbstractUser {
32
- name: string;
33
- unixName: string;
34
- avatarUrl: null;
35
- ip: null;
36
- }
37
- declare class AnonymousUser extends AbstractUser {
38
- id: null;
39
- name: string;
40
- unixName: string;
41
- avatarUrl: null;
42
- }
43
- declare class GuestUser extends AbstractUser {
44
- id: null;
45
- unixName: null;
46
- avatarUrl: null;
47
- ip: null;
48
- }
49
- declare class WikidotUser extends AbstractUser {
50
- id: null;
51
- name: string;
52
- unixName: string;
53
- avatarUrl: null;
54
- ip: null;
55
- }
56
- export { UserCollection, AbstractUser, User, DeletedUser, AnonymousUser, GuestUser, WikidotUser };
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WikidotUser = exports.GuestUser = exports.AnonymousUser = exports.DeletedUser = exports.User = exports.AbstractUser = exports.UserCollection = void 0;
4
- const exceptions_1 = require("../common/exceptions");
5
- const util_1 = require("../util");
6
- const cheerio_1 = require("cheerio");
7
- /**
8
- * @class UserCollection
9
- * @extends Array
10
- * @description ユーザーオブジェクトのリスト
11
- */
12
- class UserCollection extends Array {
13
- /**
14
- * @method fromNames
15
- * @description ユーザー名のリストからユーザーオブジェクトのリストを取得
16
- * @param client - クライアント
17
- * @param names - ユーザー名のリスト
18
- * @param raiseWhenNotFound - ユーザーが見つからなかった場合に例外を発生させるかどうか(デフォルトは false)
19
- */
20
- static async fromNames(client, names, raiseWhenNotFound = false) {
21
- const responses = await util_1.RequestUtil.request(client, 'GET', names.map(name => `https://www.wikidot.com/user:info/${util_1.StringUtil.toUnix(name)}`));
22
- const users = [];
23
- for (const response of responses) {
24
- if (response instanceof Error) {
25
- throw response;
26
- }
27
- const html = (0, cheerio_1.load)(response.data);
28
- // Check if user exists
29
- if (html('div.error-block').length > 0) {
30
- if (raiseWhenNotFound) {
31
- throw new exceptions_1.NotFoundException(`User not found: ${response.config.url}`);
32
- }
33
- else {
34
- users.push(null);
35
- continue;
36
- }
37
- }
38
- // Get user ID
39
- const userId = Number(html('a.btn.btn-default.btn-xs').attr('href')?.split('/')?.pop());
40
- // Get user name
41
- const name = html('h1.profile-title').text().trim();
42
- // Get avatar URL
43
- const avatarUrl = `https://www.wikidot.com/avatar.php?userid=${userId}`;
44
- users.push(new User(client, userId, name, util_1.StringUtil.toUnix(name), avatarUrl));
45
- }
46
- return new UserCollection(...users);
47
- }
48
- }
49
- exports.UserCollection = UserCollection;
50
- class AbstractUser {
51
- constructor(client, id = null, name = null, unixName = null, avatarUrl = null, ip = null) {
52
- this.client = client;
53
- this.id = id;
54
- this.name = name;
55
- this.unixName = unixName;
56
- this.avatarUrl = avatarUrl;
57
- this.ip = ip;
58
- }
59
- toString() {
60
- return `${this.constructor.name}(id=${this.id}, name=${this.name}, unixName=${this.unixName})`;
61
- }
62
- }
63
- exports.AbstractUser = AbstractUser;
64
- class User extends AbstractUser {
65
- constructor() {
66
- super(...arguments);
67
- this.ip = null;
68
- }
69
- static async fromName(client, name, raiseWhenNotFound = false) {
70
- return (await UserCollection.fromNames(client, [name], raiseWhenNotFound))[0];
71
- }
72
- }
73
- exports.User = User;
74
- class DeletedUser extends AbstractUser {
75
- constructor() {
76
- super(...arguments);
77
- this.name = "account deleted";
78
- this.unixName = "account_deleted";
79
- this.avatarUrl = null;
80
- this.ip = null;
81
- }
82
- }
83
- exports.DeletedUser = DeletedUser;
84
- class AnonymousUser extends AbstractUser {
85
- constructor() {
86
- super(...arguments);
87
- this.id = null;
88
- this.name = "Anonymous";
89
- this.unixName = "anonymous";
90
- this.avatarUrl = null;
91
- }
92
- }
93
- exports.AnonymousUser = AnonymousUser;
94
- class GuestUser extends AbstractUser {
95
- constructor() {
96
- super(...arguments);
97
- this.id = null;
98
- this.unixName = null;
99
- this.avatarUrl = null;
100
- this.ip = null;
101
- }
102
- }
103
- exports.GuestUser = GuestUser;
104
- class WikidotUser extends AbstractUser {
105
- constructor() {
106
- super(...arguments);
107
- this.id = null;
108
- this.name = "Wikidot";
109
- this.unixName = "wikidot";
110
- this.avatarUrl = null;
111
- this.ip = null;
112
- }
113
- }
114
- exports.WikidotUser = WikidotUser;
115
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/module/user.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { StringUtil } from './stringUtil';
2
- export { RequestUtil } from './requestUtil';
3
- export { QuickModule } from './quickModule';
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QuickModule = exports.RequestUtil = exports.StringUtil = void 0;
4
- var stringUtil_1 = require("./stringUtil");
5
- Object.defineProperty(exports, "StringUtil", { enumerable: true, get: function () { return stringUtil_1.StringUtil; } });
6
- var requestUtil_1 = require("./requestUtil");
7
- Object.defineProperty(exports, "RequestUtil", { enumerable: true, get: function () { return requestUtil_1.RequestUtil; } });
8
- var quickModule_1 = require("./quickModule");
9
- Object.defineProperty(exports, "QuickModule", { enumerable: true, get: function () { return quickModule_1.QuickModule; } });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AACnB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA"}
@@ -1 +0,0 @@
1
- export * from "./odate";