@ukwhatn/wikidot 1.0.10 → 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 (97) 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 -40
  15. package/.eslintrc.js +0 -23
  16. package/.github/dependabot.yml +0 -12
  17. package/.prettierrc +0 -6
  18. package/Makefile +0 -24
  19. package/dist/common/exceptions.d.ts +0 -95
  20. package/dist/common/exceptions.js +0 -146
  21. package/dist/common/exceptions.js.map +0 -1
  22. package/dist/common/index.d.ts +0 -1
  23. package/dist/common/index.js +0 -6
  24. package/dist/common/index.js.map +0 -1
  25. package/dist/common/logger.d.ts +0 -2
  26. package/dist/common/logger.js +0 -19
  27. package/dist/common/logger.js.map +0 -1
  28. package/dist/connector/ajax.d.ts +0 -142
  29. package/dist/connector/ajax.js +0 -260
  30. package/dist/connector/ajax.js.map +0 -1
  31. package/dist/connector/api.d.ts +0 -11
  32. package/dist/connector/api.js +0 -17
  33. package/dist/connector/api.js.map +0 -1
  34. package/dist/connector/index.d.ts +0 -0
  35. package/dist/connector/index.js +0 -2
  36. package/dist/connector/index.js.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/module/auth.d.ts +0 -8
  39. package/dist/module/auth.js +0 -80
  40. package/dist/module/auth.js.map +0 -1
  41. package/dist/module/client.d.ts +0 -39
  42. package/dist/module/client.js +0 -96
  43. package/dist/module/client.js.map +0 -1
  44. package/dist/module/index.d.ts +0 -0
  45. package/dist/module/index.js +0 -2
  46. package/dist/module/index.js.map +0 -1
  47. package/dist/module/page.d.ts +0 -102
  48. package/dist/module/page.js +0 -402
  49. package/dist/module/page.js.map +0 -1
  50. package/dist/module/pageRevision.d.ts +0 -29
  51. package/dist/module/pageRevision.js +0 -114
  52. package/dist/module/pageRevision.js.map +0 -1
  53. package/dist/module/pageSource.d.ts +0 -7
  54. package/dist/module/pageSource.js +0 -11
  55. package/dist/module/pageSource.js.map +0 -1
  56. package/dist/module/pageVote.d.ts +0 -14
  57. package/dist/module/pageVote.js +0 -20
  58. package/dist/module/pageVote.js.map +0 -1
  59. package/dist/module/privateMessage.d.ts +0 -29
  60. package/dist/module/privateMessage.js +0 -132
  61. package/dist/module/privateMessage.js.map +0 -1
  62. package/dist/module/site.d.ts +0 -32
  63. package/dist/module/site.js +0 -117
  64. package/dist/module/site.js.map +0 -1
  65. package/dist/module/siteApplication.d.ts +0 -14
  66. package/dist/module/siteApplication.js +0 -100
  67. package/dist/module/siteApplication.js.map +0 -1
  68. package/dist/module/user.d.ts +0 -56
  69. package/dist/module/user.js +0 -115
  70. package/dist/module/user.js.map +0 -1
  71. package/dist/util/index.d.ts +0 -3
  72. package/dist/util/index.js +0 -10
  73. package/dist/util/index.js.map +0 -1
  74. package/dist/util/parser/index.d.ts +0 -1
  75. package/dist/util/parser/index.js +0 -18
  76. package/dist/util/parser/index.js.map +0 -1
  77. package/dist/util/parser/odate.d.ts +0 -12
  78. package/dist/util/parser/odate.js +0 -25
  79. package/dist/util/parser/odate.js.map +0 -1
  80. package/dist/util/parser/user.d.ts +0 -16
  81. package/dist/util/parser/user.js +0 -36
  82. package/dist/util/parser/user.js.map +0 -1
  83. package/dist/util/quickModule.d.ts +0 -96
  84. package/dist/util/quickModule.js +0 -137
  85. package/dist/util/quickModule.js.map +0 -1
  86. package/dist/util/requestUtil.d.ts +0 -26
  87. package/dist/util/requestUtil.js +0 -69
  88. package/dist/util/requestUtil.js.map +0 -1
  89. package/dist/util/stringUtil.d.ts +0 -21
  90. package/dist/util/stringUtil.js +0 -64
  91. package/dist/util/stringUtil.js.map +0 -1
  92. package/dist/util/table/charTable.d.ts +0 -3
  93. package/dist/util/table/charTable.js +0 -472
  94. package/dist/util/table/charTable.js.map +0 -1
  95. package/dist/util/table/index.d.ts +0 -1
  96. package/dist/util/table/index.js +0 -18
  97. package/dist/util/table/index.js.map +0 -1
@@ -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,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA"}
@@ -1 +0,0 @@
1
- export * from './odate';
@@ -1,18 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./odate"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB"}
@@ -1,12 +0,0 @@
1
- import { Cheerio } from 'cheerio';
2
- /**
3
- * @method odateParse
4
- * @description odate要素を解析し、unix時間を返す
5
- * @param odateElement
6
- * @returns unix時間
7
- * @version 1.0.0
8
- * @since 1.0.0
9
- * @public
10
- * @exports
11
- */
12
- export declare const odateParse: (odateElement: Cheerio<any>) => Date;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.odateParse = void 0;
4
- /**
5
- * @method odateParse
6
- * @description odate要素を解析し、unix時間を返す
7
- * @param odateElement
8
- * @returns unix時間
9
- * @version 1.0.0
10
- * @since 1.0.0
11
- * @public
12
- * @exports
13
- */
14
- const odateParse = (odateElement) => {
15
- const odateClasses = odateElement.attr('class')?.split(' ') || [];
16
- for (const odateClass of odateClasses) {
17
- if (odateClass.startsWith('time_')) {
18
- const unixTime = parseInt(odateClass.replace('time_', ''), 10);
19
- return new Date(unixTime * 1000);
20
- }
21
- }
22
- throw new Error('odate element does not contain a valid unix time');
23
- };
24
- exports.odateParse = odateParse;
25
- //# sourceMappingURL=odate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"odate.js","sourceRoot":"","sources":["../../../src/util/parser/odate.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;GASG;AACI,MAAM,UAAU,GAAG,CAAC,YAA0B,EAAQ,EAAE;IAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACjE,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9D,OAAO,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;AACvE,CAAC,CAAA;AAVY,QAAA,UAAU,cAUtB"}
@@ -1,16 +0,0 @@
1
- import { Client } from '../../module/client';
2
- import { AbstractUser } from '../../module/user';
3
- import * as cheerio from 'cheerio';
4
- /**
5
- * @method userParse
6
- * @description ユーザー要素を解析し、ユーザーオブジェクトを返す
7
- * @param client
8
- * @param elem
9
- * @returns ユーザーオブジェクト
10
- * @version 1.0.0
11
- * @since 1.0.0
12
- * @public
13
- * @exports
14
- */
15
- declare const userParse: (client: Client, elem: cheerio.Cheerio<any>) => AbstractUser;
16
- export { userParse };
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.userParse = void 0;
4
- const user_1 = require("../../module/user");
5
- /**
6
- * @method userParse
7
- * @description ユーザー要素を解析し、ユーザーオブジェクトを返す
8
- * @param client
9
- * @param elem
10
- * @returns ユーザーオブジェクト
11
- * @version 1.0.0
12
- * @since 1.0.0
13
- * @public
14
- * @exports
15
- */
16
- const userParse = (client, elem) => {
17
- if (elem.hasClass('deleted')) {
18
- return new user_1.DeletedUser(client, Number(elem.attr('data-id')));
19
- }
20
- else if (elem.hasClass('anonymous')) {
21
- const ip = elem.find('span.ip').text().replace('(', '').replace(')', '').trim();
22
- return new user_1.AnonymousUser(client, undefined, undefined, undefined, undefined, ip);
23
- }
24
- else if (elem.text() === 'Wikidot') {
25
- return new user_1.WikidotUser(client);
26
- }
27
- else {
28
- const userElem = elem.find('a').last();
29
- const userName = userElem.text();
30
- const userUnix = userElem.attr('href')?.replace('http://www.wikidot.com/user:info/', '') || '';
31
- const userId = Number(userElem.attr('onclick')?.replace('WIKIDOT.page.listeners.userInfo(', '').replace('); return false;', ''));
32
- return new user_1.User(client, userId, userName, userUnix, `http://www.wikidot.com/avatar.php?userid=${userId}`);
33
- }
34
- };
35
- exports.userParse = userParse;
36
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/util/parser/user.ts"],"names":[],"mappings":";;;AACA,4CAA+F;AAG/F;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAA0B,EAAgB,EAAE;IAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,kBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/E,OAAO,IAAI,oBAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,kBAAW,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;QAC9F,MAAM,MAAM,GAAG,MAAM,CACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAC5G,CAAA;QAED,OAAO,IAAI,WAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,4CAA4C,MAAM,EAAE,CAAC,CAAA;IAC7G,CAAC;AACL,CAAC,CAAA;AAEQ,8BAAS"}
@@ -1,96 +0,0 @@
1
- /**
2
- * @class QMCUser
3
- * @description QuickModuleで得られるユーザー情報
4
- * @version 1.0.0
5
- * @since 1.0.0
6
- * @public
7
- */
8
- declare class QMCUser {
9
- id: number;
10
- name: string;
11
- constructor(id: number, name: string);
12
- }
13
- /**
14
- * @class QMCPage
15
- * @description QuickModuleで得られるページ情報
16
- * @version 1.0.0
17
- * @since 1.0.0
18
- * @public
19
- */
20
- declare class QMCPage {
21
- title: string;
22
- unixName: string;
23
- constructor(title: string, unixName: string);
24
- }
25
- /**
26
- * @class QuickModule
27
- * @description QuickModuleを利用するためのユーティリティクラス
28
- * @version 1.0.0
29
- * @since 1.0.0
30
- * @public
31
- * @exports
32
- */
33
- declare class QuickModule {
34
- /**
35
- * @method _request
36
- * @description QuickModuleにリクエストを送信する
37
- * @param moduleName モジュール名
38
- * @param siteId サイトID
39
- * @param query クエリ
40
- * @returns レスポンスボディ
41
- * @version 1.0.0
42
- * @since 1.0.0
43
- * @private
44
- * @static
45
- * @async
46
- * @throws {NotFoundException} サイトが見つからない場合
47
- * @throws {Error} その他のエラー
48
- */
49
- private static _request;
50
- /**
51
- * @method memberLookup
52
- * @description メンバーを検索する
53
- * @param siteId サイトID
54
- * @param query クエリ(ユーザ名の一部)
55
- * @returns ヒットしたユーザ情報のリスト
56
- * @version 1.0.0
57
- * @since 1.0.0
58
- * @public
59
- * @static
60
- * @async
61
- * @throws {NotFoundException} サイトが見つからない場合
62
- * @throws {Error} その他のエラー
63
- */
64
- static memberLookup: (siteId: number, query: string) => Promise<QMCUser[]>;
65
- /**
66
- * @method userLookup
67
- * @description ユーザーを検索する
68
- * @param siteId サイトID
69
- * @param query クエリ(ユーザ名の一部)
70
- * @returns ヒットしたユーザ情報のリスト
71
- * @version 1.0.0
72
- * @since 1.0.0
73
- * @public
74
- * @static
75
- * @async
76
- * @throws {NotFoundException} サイトが見つからない場合
77
- * @throws {Error} その他のエラー
78
- */
79
- static userLookup: (siteId: number, query: string) => Promise<QMCUser[]>;
80
- /**
81
- * @method pageLookup
82
- * @description ページを検索する
83
- * @param siteId サイトID
84
- * @param query クエリ(ページ名の一部)
85
- * @returns ヒットしたページ情報のリスト
86
- * @version 1.0.0
87
- * @since 1.0.0
88
- * @public
89
- * @static
90
- * @async
91
- * @throws {NotFoundException} サイトが見つからない場合
92
- * @throws {Error} その他のエラー
93
- */
94
- static pageLookup: (siteId: number, query: string) => Promise<QMCPage[]>;
95
- }
96
- export { QuickModule };
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- var _a;
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.QuickModule = void 0;
8
- const axios_1 = __importDefault(require("axios"));
9
- const exceptions_1 = require("../common/exceptions");
10
- /**
11
- * @class QMCUser
12
- * @description QuickModuleで得られるユーザー情報
13
- * @version 1.0.0
14
- * @since 1.0.0
15
- * @public
16
- */
17
- class QMCUser {
18
- constructor(id, name) {
19
- this.id = id;
20
- this.name = name;
21
- this.id = id;
22
- this.name = name;
23
- }
24
- }
25
- /**
26
- * @class QMCPage
27
- * @description QuickModuleで得られるページ情報
28
- * @version 1.0.0
29
- * @since 1.0.0
30
- * @public
31
- */
32
- class QMCPage {
33
- constructor(title, unixName) {
34
- this.title = title;
35
- this.unixName = unixName;
36
- this.title = title;
37
- this.unixName = unixName;
38
- }
39
- }
40
- /**
41
- * @class QuickModule
42
- * @description QuickModuleを利用するためのユーティリティクラス
43
- * @version 1.0.0
44
- * @since 1.0.0
45
- * @public
46
- * @exports
47
- */
48
- class QuickModule {
49
- }
50
- exports.QuickModule = QuickModule;
51
- _a = QuickModule;
52
- /**
53
- * @method _request
54
- * @description QuickModuleにリクエストを送信する
55
- * @param moduleName モジュール名
56
- * @param siteId サイトID
57
- * @param query クエリ
58
- * @returns レスポンスボディ
59
- * @version 1.0.0
60
- * @since 1.0.0
61
- * @private
62
- * @static
63
- * @async
64
- * @throws {NotFoundException} サイトが見つからない場合
65
- * @throws {Error} その他のエラー
66
- */
67
- QuickModule._request = async (moduleName, siteId, query) => {
68
- if (!['MemberLookupQModule', 'UserLookupQModule', 'PageLookupQModule'].includes(moduleName)) {
69
- throw new Error('Invalid module name');
70
- }
71
- const url = `https://www.wikidot.com/quickmodule.php?module=${moduleName}&s=${siteId}&q=${query}`;
72
- try {
73
- const response = await axios_1.default.get(url, { timeout: 300 * 1000 });
74
- return response.data;
75
- }
76
- catch (error) {
77
- if (axios_1.default.isAxiosError(error) && error.response?.status === 500) {
78
- throw new exceptions_1.NotFoundException('Site is not found');
79
- }
80
- throw error;
81
- }
82
- };
83
- /**
84
- * @method memberLookup
85
- * @description メンバーを検索する
86
- * @param siteId サイトID
87
- * @param query クエリ(ユーザ名の一部)
88
- * @returns ヒットしたユーザ情報のリスト
89
- * @version 1.0.0
90
- * @since 1.0.0
91
- * @public
92
- * @static
93
- * @async
94
- * @throws {NotFoundException} サイトが見つからない場合
95
- * @throws {Error} その他のエラー
96
- */
97
- QuickModule.memberLookup = async (siteId, query) => {
98
- const data = await _a._request('MemberLookupQModule', siteId, query);
99
- return data.users.map((user) => new QMCUser(parseInt(user.user_id, 10), user.name));
100
- };
101
- /**
102
- * @method userLookup
103
- * @description ユーザーを検索する
104
- * @param siteId サイトID
105
- * @param query クエリ(ユーザ名の一部)
106
- * @returns ヒットしたユーザ情報のリスト
107
- * @version 1.0.0
108
- * @since 1.0.0
109
- * @public
110
- * @static
111
- * @async
112
- * @throws {NotFoundException} サイトが見つからない場合
113
- * @throws {Error} その他のエラー
114
- */
115
- QuickModule.userLookup = async (siteId, query) => {
116
- const data = await _a._request('UserLookupQModule', siteId, query);
117
- return data.users.map((user) => new QMCUser(parseInt(user.user_id, 10), user.name));
118
- };
119
- /**
120
- * @method pageLookup
121
- * @description ページを検索する
122
- * @param siteId サイトID
123
- * @param query クエリ(ページ名の一部)
124
- * @returns ヒットしたページ情報のリスト
125
- * @version 1.0.0
126
- * @since 1.0.0
127
- * @public
128
- * @static
129
- * @async
130
- * @throws {NotFoundException} サイトが見つからない場合
131
- * @throws {Error} その他のエラー
132
- */
133
- QuickModule.pageLookup = async (siteId, query) => {
134
- const data = await _a._request('PageLookupQModule', siteId, query);
135
- return data.pages.map((page) => new QMCPage(page.title, page.unix_name));
136
- };
137
- //# sourceMappingURL=quickModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quickModule.js","sourceRoot":"","sources":["../../src/util/quickModule.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- import { Client } from '../module/client';
3
- /**
4
- * @class RequestUtil
5
- * @description ajax以外のリクエストに関するユーティリティクラス
6
- * @version 1.0.0
7
- * @since 1.0.0
8
- * @public
9
- * @exports
10
- */
11
- declare class RequestUtil {
12
- /**
13
- * @method request
14
- * @description リクエストを送信する
15
- * @param client - クライアント
16
- * @param method - メソッド(GET/POST)
17
- * @param urls - URLリスト
18
- * @param returnExceptions - 例外を返すか(デフォルトはfalse)
19
- * @returns レスポンス・例外のリスト
20
- * @version 1.0.0
21
- * @since 1.0.0
22
- * @public
23
- */
24
- static request: (client: Client, method: 'GET' | 'POST', urls: string[], returnExceptions?: boolean) => Promise<(AxiosResponse | Error)[]>;
25
- }
26
- export { RequestUtil };
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- var _a;
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.RequestUtil = void 0;
8
- const axios_1 = __importDefault(require("axios"));
9
- const async_mutex_1 = require("async-mutex");
10
- // TODO: パラメータセット用のclassを作成し、POSTのbodyを設定できるようにする
11
- /**
12
- * @class RequestUtil
13
- * @description ajax以外のリクエストに関するユーティリティクラス
14
- * @version 1.0.0
15
- * @since 1.0.0
16
- * @public
17
- * @exports
18
- */
19
- class RequestUtil {
20
- }
21
- exports.RequestUtil = RequestUtil;
22
- _a = RequestUtil;
23
- /**
24
- * @method request
25
- * @description リクエストを送信する
26
- * @param client - クライアント
27
- * @param method - メソッド(GET/POST)
28
- * @param urls - URLリスト
29
- * @param returnExceptions - 例外を返すか(デフォルトはfalse)
30
- * @returns レスポンス・例外のリスト
31
- * @version 1.0.0
32
- * @since 1.0.0
33
- * @public
34
- */
35
- RequestUtil.request = async (client, method, urls, returnExceptions = false) => {
36
- const config = client.amcClient.config;
37
- const semaphore = new async_mutex_1.Semaphore(config.semaphoreLimit);
38
- const _get = async (url) => {
39
- await semaphore.acquire();
40
- try {
41
- return await axios_1.default.get(url);
42
- }
43
- finally {
44
- semaphore.release();
45
- }
46
- };
47
- const _post = async (url) => {
48
- await semaphore.acquire();
49
- try {
50
- return await axios_1.default.post(url);
51
- }
52
- finally {
53
- semaphore.release();
54
- }
55
- };
56
- const _execute = async () => {
57
- if (method === 'GET') {
58
- return Promise.all(urls.map((url) => _get(url).catch((error) => (returnExceptions ? error : Promise.reject(error)))));
59
- }
60
- else if (method === 'POST') {
61
- return Promise.all(urls.map((url) => _post(url).catch((error) => (returnExceptions ? error : Promise.reject(error)))));
62
- }
63
- else {
64
- throw new Error('Invalid method');
65
- }
66
- };
67
- return _execute();
68
- };
69
- //# sourceMappingURL=requestUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestUtil.js","sourceRoot":"","sources":["../../src/util/requestUtil.ts"],"names":[],"mappings":";;;;;;;AAAA,kDAA4C;AAC5C,6CAAuC;AAGvC,iDAAiD;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW;;AA0DR,kCAAW;;AAzDhB;;;;;;;;;;;GAWG;AACI,mBAAO,GAAG,KAAK,EAClB,MAAc,EACd,MAAsB,EACtB,IAAc,EACd,mBAA4B,KAAK,EACC,EAAE;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAA;IACtC,MAAM,SAAS,GAAG,IAAI,uBAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;QACvD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,CAAC;YACD,OAAO,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;gBAAS,CAAC;YACP,SAAS,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;IACL,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;QACxD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,CAAC;YACD,OAAO,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,CAAC;gBAAS,CAAC;YACP,SAAS,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;IACL,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,IAAwC,EAAE;QAC5D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACpG,CAAA;QACL,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrG,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACrC,CAAC;IACL,CAAC,CAAA;IAED,OAAO,QAAQ,EAAE,CAAA;AACrB,CAAC,AA1Ca,CA0Cb"}
@@ -1,21 +0,0 @@
1
- /**
2
- * @class StringUtil
3
- * @description 文字列操作に関するユーティリティクラス
4
- * @version 1.0.0
5
- * @since 1.0.0
6
- * @public
7
- * @exports
8
- */
9
- declare class StringUtil {
10
- /**
11
- * @method toUnix
12
- * @description 文字列をUnix形式に変換する
13
- * @param targetStr 対象の文字列
14
- * @returns Unix形式に変換された文字列
15
- * @version 1.0.0
16
- * @since 1.0.0
17
- */
18
- static toUnix: (targetStr: string) => string;
19
- static split: (targetStr: string, separator: string, maxSplit: number) => string[];
20
- }
21
- export { StringUtil };