e621 2.0.0-dev.9 → 2.0.0

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 (35) hide show
  1. package/.node-version +1 -0
  2. package/README.md +53 -42
  3. package/build/package.json +1 -1
  4. package/build/src/index.d.ts +2 -0
  5. package/build/src/index.js +3 -1
  6. package/build/src/modules/Pools.d.ts +2 -2
  7. package/build/src/modules/Pools.js +4 -4
  8. package/build/src/modules/PostSets.d.ts +1 -1
  9. package/build/src/modules/PostSets.js +3 -3
  10. package/build/src/modules/Posts.d.ts +38 -2
  11. package/build/src/modules/Posts.js +85 -3
  12. package/build/src/modules/UserFeedback.d.ts +1 -0
  13. package/build/src/modules/UserFeedback.js +3 -2
  14. package/build/src/modules/Users.d.ts +1 -0
  15. package/build/src/modules/Users.js +3 -2
  16. package/build/src/modules/WikiPages.d.ts +99 -0
  17. package/build/src/modules/WikiPages.js +208 -0
  18. package/build/src/structures/PoolHistory.d.ts +1 -8
  19. package/build/src/structures/PoolHistory.js +2 -8
  20. package/build/src/structures/Post.d.ts +6 -0
  21. package/build/src/structures/Post.js +10 -1
  22. package/build/src/structures/PostHistory.d.ts +52 -0
  23. package/build/src/structures/PostHistory.js +93 -0
  24. package/build/src/structures/WikiPage.d.ts +16 -0
  25. package/build/src/structures/WikiPage.js +26 -0
  26. package/build/src/structures/WikiPageHistory.d.ts +37 -0
  27. package/build/src/structures/WikiPageHistory.js +49 -0
  28. package/build/src/types/index.d.ts +2 -1
  29. package/build/src/types/pools.d.ts +0 -0
  30. package/build/src/types/post_sets.d.ts +0 -0
  31. package/build/src/types/posts.d.ts +46 -1
  32. package/build/src/types/user_feedback.d.ts +0 -0
  33. package/build/src/types/users.d.ts +0 -0
  34. package/build/src/types/wiki_pages.d.ts +65 -0
  35. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class PostHistory {
4
+ main;
5
+ id;
6
+ post_id;
7
+ tags;
8
+ updater_id;
9
+ updater_name;
10
+ updated_at;
11
+ rating;
12
+ parent_id;
13
+ source;
14
+ description;
15
+ reason;
16
+ locked_tags;
17
+ added_tags;
18
+ removed_tags;
19
+ added_locked_tags;
20
+ removed_locked_tags;
21
+ rating_changed;
22
+ parent_changed;
23
+ source_changed;
24
+ description_changed;
25
+ version;
26
+ obsolete_added_tags;
27
+ obsolete_removed_tags;
28
+ unchanged_tags;
29
+ extra;
30
+ constructor(main, info) {
31
+ Object.assign(this, info);
32
+ Object.defineProperty(this, "main", {
33
+ value: main,
34
+ configurable: false,
35
+ enumerable: false,
36
+ writable: false
37
+ });
38
+ this.extra = {
39
+ get tags() { return info.tags.split(" "); },
40
+ get lockedTags() { return (info.locked_tags || "").split(" "); },
41
+ get addedTags() { return info.added_tags; },
42
+ get removedTags() { return info.removed_tags; },
43
+ get addedLockedTags() { return info.added_locked_tags; },
44
+ get removedLockedTags() { return info.added_locked_tags; },
45
+ get obsoleteAddedTags() { return info.obsolete_added_tags.split(" "); },
46
+ get obsoleteRemovedTags() { return info.obsolete_removed_tags.split(" "); },
47
+ get unchangedTags() { return info.unchanged_tags.split(" "); },
48
+ get sources() { return info.source.split("\n").filter(Boolean); },
49
+ // convinence method
50
+ get oldRating() {
51
+ if (!info.rating_changed)
52
+ return null;
53
+ const r = this.removedTags.find(t => t.startsWith("rating:"));
54
+ return !r ? null : r.replace(/rating:/, "");
55
+ },
56
+ // convinence method
57
+ get newRating() {
58
+ if (!info.rating_changed)
59
+ return null;
60
+ const r = this.addedTags.find(t => t.startsWith("rating:"));
61
+ return !r ? null : r.replace(/rating:/, "");
62
+ },
63
+ // convinence method
64
+ get addedSources() { return (this.addedTags.find(t => t.startsWith("source:"))?.replace(/source:/, "") ?? "").split("\n"); },
65
+ // convinence method
66
+ get removedSources() { return (this.removedTags.find(t => t.startsWith("source:"))?.replace(/source:/, "") ?? "").split("\n"); }
67
+ };
68
+ }
69
+ /**
70
+ * Get the updater for this history
71
+ *
72
+ * @returns {Promise<User | null>}
73
+ */
74
+ async getUpdater() { return this.main.users.get(this.updater_id); }
75
+ /**
76
+ * Get the post object for this history
77
+ *
78
+ * @returns {Promise<Post | null>}
79
+ */
80
+ async getPost() { return this.main.posts.get(this.post_id); }
81
+ /**
82
+ * Revert the post to this version
83
+ *
84
+ * * Requires Authentication
85
+ *
86
+ */
87
+ async revertTo() {
88
+ this.main.request.authCheck("PostHistory#revertTo");
89
+ return this.main.posts.revert(this.post_id, this.id);
90
+ }
91
+ }
92
+ exports.default = PostHistory;
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdEhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9Qb3N0SGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE1BQXFCLFdBQVc7SUFDdkIsSUFBSSxDQUFPO0lBQ25CLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUNoQixJQUFJLENBQVM7SUFDYixVQUFVLENBQVM7SUFDbkIsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixNQUFNLENBQVU7SUFDaEIsU0FBUyxDQUFnQjtJQUN6QixNQUFNLENBQVM7SUFDZixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFTO0lBQ2YsV0FBVyxDQUFnQjtJQUMzQixVQUFVLENBQWdCO0lBQzFCLFlBQVksQ0FBZ0I7SUFDNUIsaUJBQWlCLENBQWdCO0lBQ2pDLG1CQUFtQixDQUFnQjtJQUNuQyxjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixtQkFBbUIsQ0FBVTtJQUM3QixPQUFPLENBQVM7SUFDaEIsbUJBQW1CLENBQVM7SUFDNUIscUJBQXFCLENBQVM7SUFDOUIsY0FBYyxDQUFTO0lBQ3ZCLEtBQUssQ0FLK0Q7SUFDcEUsWUFBWSxJQUFVLEVBQUUsSUFBMkI7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxJQUFJO1lBQ1gsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1osSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENB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
@@ -0,0 +1,16 @@
1
+ import type { WikiPageProperties } from "../types";
2
+ import type E621 from "..";
3
+ export default class Pool implements WikiPageProperties {
4
+ id: number;
5
+ creator_id: number;
6
+ creator_name: string;
7
+ category_name: number;
8
+ body: string;
9
+ is_locked: boolean;
10
+ created_at: string;
11
+ updated_at: string;
12
+ updater_id: number;
13
+ other_names: Array<string>;
14
+ is_deleted: boolean;
15
+ constructor(main: E621, info: WikiPageProperties);
16
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Pool {
4
+ id;
5
+ creator_id;
6
+ creator_name;
7
+ category_name;
8
+ body;
9
+ is_locked;
10
+ created_at;
11
+ updated_at;
12
+ updater_id;
13
+ other_names;
14
+ is_deleted;
15
+ constructor(main, info) {
16
+ Object.assign(this, info);
17
+ Object.defineProperty(this, "main", {
18
+ value: main,
19
+ configurable: false,
20
+ enumerable: false,
21
+ writable: false
22
+ });
23
+ }
24
+ }
25
+ exports.default = Pool;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraVBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9XaWtpUGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXFCLElBQUk7SUFDeEIsRUFBRSxDQUFTO0lBQ1gsVUFBVSxDQUFTO0lBQ25CLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFVO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFVO0lBQ3BCLFlBQVksSUFBVSxFQUFFLElBQXdCO1FBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNEO0FBckJELHVCQXFCQyJ9
@@ -0,0 +1,37 @@
1
+ import type User from "./User";
2
+ import type { WikiPageHistoryProperties } from "../types";
3
+ import type E621 from "..";
4
+ export default class WikiPageHistory implements WikiPageHistoryProperties {
5
+ private main;
6
+ id: number;
7
+ wiki_page_id: number;
8
+ updater_id: number;
9
+ title: string;
10
+ body: string;
11
+ is_locked: boolean;
12
+ created_at: string;
13
+ updated_at: string;
14
+ other_names: Array<string>;
15
+ is_deleted: boolean;
16
+ reason: string;
17
+ constructor(main: E621, info: WikiPageHistoryProperties);
18
+ /**
19
+ * Get the updater for this history
20
+ *
21
+ * @returns {Promise<User | null>}
22
+ */
23
+ getUpdater(): Promise<User | null>;
24
+ /**
25
+ * Get the wiki page object for this history
26
+ *
27
+ * @returns {Promise<WikiPage | null>}
28
+ */
29
+ getWikiPage(): Promise<import("./Pool").default | null>;
30
+ /**
31
+ * Revert the wiki page to this version
32
+ *
33
+ * * Requires Authentication
34
+ *
35
+ */
36
+ revertTo(): Promise<null>;
37
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class WikiPageHistory {
4
+ main;
5
+ id;
6
+ wiki_page_id;
7
+ updater_id;
8
+ title;
9
+ body;
10
+ is_locked;
11
+ created_at;
12
+ updated_at;
13
+ other_names;
14
+ is_deleted;
15
+ reason;
16
+ constructor(main, info) {
17
+ Object.assign(this, info);
18
+ Object.defineProperty(this, "main", {
19
+ value: main,
20
+ configurable: false,
21
+ enumerable: false,
22
+ writable: false
23
+ });
24
+ }
25
+ /**
26
+ * Get the updater for this history
27
+ *
28
+ * @returns {Promise<User | null>}
29
+ */
30
+ async getUpdater() { return this.main.users.get(this.updater_id); }
31
+ /**
32
+ * Get the wiki page object for this history
33
+ *
34
+ * @returns {Promise<WikiPage | null>}
35
+ */
36
+ async getWikiPage() { return this.main.pools.get(this.wiki_page_id); }
37
+ /**
38
+ * Revert the wiki page to this version
39
+ *
40
+ * * Requires Authentication
41
+ *
42
+ */
43
+ async revertTo() {
44
+ this.main.request.authCheck("WikiPageHistory#revertTo");
45
+ return this.main.pools.revert(this.wiki_page_id, this.id);
46
+ }
47
+ }
48
+ exports.default = WikiPageHistory;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraVBhZ2VIaXN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0cnVjdHVyZXMvV2lraVBhZ2VIaXN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0EsTUFBcUIsZUFBZTtJQUMzQixJQUFJLENBQU87SUFDbkIsRUFBRSxDQUFTO0lBQ1gsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixLQUFLLENBQVM7SUFDZCxJQUFJLENBQVM7SUFDYixTQUFTLENBQVU7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixXQUFXLENBQWdCO0lBQzNCLFVBQVUsQ0FBVTtJQUNwQixNQUFNLENBQVM7SUFDZixZQUFZLElBQVUsRUFBRSxJQUErQjtRQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbkMsS0FBSyxFQUFFLElBQUk7WUFDWCxZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixRQUFRLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5FOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFHdEU7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRDtBQWhERCxrQ0FnREMifQ==
@@ -81,7 +81,7 @@ export interface InstanceOptions {
81
81
 
82
82
  export interface GenericSearchOptions {
83
83
  limit?: number;
84
- page?: number;
84
+ page?: number | `${"a" | "b" | ""}${number}`;
85
85
  }
86
86
 
87
87
  export * from "./pools";
@@ -89,3 +89,4 @@ export * from "./post_sets";
89
89
  export * from "./posts";
90
90
  export * from "./user_feedback";
91
91
  export * from "./users";
92
+ export * from "./wiki_pages";
File without changes
File without changes
@@ -57,7 +57,6 @@ export interface PostProperties {
57
57
 
58
58
  export interface SearchPostsOptions extends GenericSearchOptions {
59
59
  tags?: string | Array<string>;
60
- page?: number | `${number}` | `${"a" | "b"}${number}`;
61
60
  }
62
61
 
63
62
  export type CreatePostOptions = {
@@ -118,3 +117,49 @@ export interface PostVoteResult {
118
117
  down: number;
119
118
  our_score: number;
120
119
  }
120
+
121
+ export interface SearchPostHistoryOptions extends GenericSearchOptions {
122
+ user?: string;
123
+ userID?: number;
124
+ post?: number;
125
+ reason?: string;
126
+ description?: string;
127
+ ratingChangedTo?: Ratings;
128
+ finalRating?: Ratings;
129
+ parent?: number;
130
+ parentChangedTo?: number;
131
+ finalTags?: Array<string> |string;
132
+ addedTags?: Array<string> | string;
133
+ removedTags?: Array<string> | string;
134
+ finalLockedTags?: Array<string> | string;
135
+ addedLockedTags?: Array<string> | string;
136
+ removedLockedTags?: Array<string> | string;
137
+ source?: string;
138
+ }
139
+
140
+ export interface PostHistoryProperties {
141
+ id: number;
142
+ post_id: number;
143
+ tags: string;
144
+ updater_id: number;
145
+ updater_name: string;
146
+ updated_at: string;
147
+ rating: Ratings;
148
+ parent_id: number | null;
149
+ source: string;
150
+ description: string;
151
+ reason: string;
152
+ locked_tags: string | null;
153
+ added_tags: Array<string>;
154
+ removed_tags: Array<string>;
155
+ added_locked_tags: Array<string>;
156
+ removed_locked_tags: Array<string>;
157
+ rating_changed: boolean;
158
+ parent_changed: boolean;
159
+ source_changed: boolean;
160
+ description_changed: boolean;
161
+ version: number;
162
+ obsolete_added_tags: string;
163
+ obsolete_removed_tags: string;
164
+ unchanged_tags: string;
165
+ }
File without changes
File without changes
@@ -0,0 +1,65 @@
1
+ import type { GenericSearchOptions } from ".";
2
+
3
+ export interface WikiPageProperties {
4
+ id: number;
5
+ creator_id: number;
6
+ creator_name: string;
7
+ category_name: number;
8
+ body: string;
9
+ is_locked: boolean;
10
+ created_at: string;
11
+ updated_at: string;
12
+ updater_id: number;
13
+ other_names: Array<string>;
14
+ is_deleted: boolean;
15
+ }
16
+
17
+ export type WikiPageOrder = "title" | "time" | "post_count";
18
+ export interface SearchWikiPagesOptions extends GenericSearchOptions {
19
+ title?: string;
20
+ creator?: string;
21
+ body?: string;
22
+ otherNames?: string;
23
+ hasOtherNames?: boolean;
24
+ hideDeleted?: boolean;
25
+ order?: WikiPageOrder;
26
+ }
27
+
28
+ export interface CreateWikiPageOptions {
29
+ title: string;
30
+ body: string;
31
+ /** requires janitor */
32
+ locked?: boolean;
33
+ /** requires janitor */
34
+ forceOverwrite?: boolean;
35
+ reason?: string;
36
+ }
37
+
38
+ export interface ModifyWikiPageOptions {
39
+ /** requires janitor */
40
+ title?: string;
41
+ body?: string;
42
+ /** requires janitor */
43
+ locked?: boolean;
44
+ /** requires janitor */
45
+ forceOverwrite?: boolean;
46
+ reason?: string;
47
+ }
48
+
49
+ export interface WikiPageHistoryProperties {
50
+ id: number;
51
+ wiki_page_id: number;
52
+ updater_id: number;
53
+ title: string;
54
+ body: string;
55
+ is_locked: boolean;
56
+ created_at: string;
57
+ updated_at: string;
58
+ other_names: Array<string>;
59
+ is_deleted: boolean;
60
+ reason: string;
61
+ }
62
+
63
+ export interface SearchWikiPageHistoryOptions extends GenericSearchOptions {
64
+ wikiPage?: number;
65
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "e621",
3
- "version": "2.0.0-dev.9",
3
+ "version": "2.0.0",
4
4
  "description": "A module for interfacing with e621.",
5
5
  "main": "build/src/index.js",
6
6
  "scripts": {