e621 3.2.0 → 3.2.1
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.
- package/README.md +18 -2
- package/dist/browser/e621.js +168 -111
- package/dist/browser/e621.js.map +3 -3
- package/dist/lib/client.d.ts +11 -2
- package/dist/lib/client.js +1 -1
- package/dist/lib/generated/schemas.d.ts +7 -2
- package/dist/lib/generated/schemas.js +17 -10
- package/dist/lib/generated/types.d.ts +53 -57
- package/dist/lib/index.d.ts +4 -3
- package/dist/lib/index.js +2 -2
- package/dist/lib/models/Base.browser.d.ts +4 -3
- package/dist/lib/models/Base.browser.js +1 -1
- package/dist/lib/models/Base.d.ts +4 -3
- package/dist/lib/models/Base.js +1 -1
- package/dist/lib/models/BasicPost.d.ts +2 -1
- package/dist/lib/models/BasicPost.js +1 -1
- package/dist/lib/models/ExtendedPost.d.ts +2 -1
- package/dist/lib/models/ExtendedPost.js +1 -1
- package/dist/lib/models/Post.d.ts +2 -1
- package/dist/lib/models/Post.js +1 -1
- package/dist/lib/models/ThumbnailPost.d.ts +2 -1
- package/dist/lib/models/ThumbnailPost.js +1 -1
- package/dist/lib/models/posts/Actions.d.ts +11 -11
- package/dist/lib/models/posts/Actions.js +1 -1
- package/dist/lib/modules/Base.d.ts +4 -3
- package/dist/lib/modules/Base.js +6 -3
- package/dist/lib/modules/Favorites.d.ts +8 -3
- package/dist/lib/modules/Favorites.js +12 -4
- package/dist/lib/modules/IqdbQueries.d.ts +11 -6
- package/dist/lib/modules/IqdbQueries.js +12 -4
- package/dist/lib/modules/Popular.d.ts +8 -3
- package/dist/lib/modules/Popular.js +12 -4
- package/dist/lib/modules/Posts.d.ts +27 -18
- package/dist/lib/modules/Posts.js +46 -22
- package/dist/lib/modules/Uploads.d.ts +3 -3
- package/dist/lib/modules/Uploads.js +1 -1
- package/dist/lib/modules/index.d.ts +8 -7
- package/dist/lib/modules/index.js +72 -69
- package/dist/lib/modules/posts/Format.d.ts +15 -5
- package/dist/lib/modules/posts/Format.js +1 -1
- package/dist/lib/standalone.d.ts +8 -2
- package/dist/lib/standalone.js +10 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/package.json +11 -5
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import PostActions from "./posts/Actions.js";
|
|
2
2
|
import type { ThumbnailPost as PostData } from "../generated/types.js";
|
|
3
|
+
import type { NoV2Options, PostFormatOptions } from "../modules/posts/Format.js";
|
|
3
4
|
interface ThumbnailPost extends PostData {
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
@@ -9,6 +10,6 @@ interface ThumbnailPost extends PostData {
|
|
|
9
10
|
*
|
|
10
11
|
* @see {@link https://e621.wiki/#model-ThumbnailPost Documentation} for more details.
|
|
11
12
|
*/
|
|
12
|
-
declare class ThumbnailPost extends PostActions<PostData> {
|
|
13
|
+
declare class ThumbnailPost<PF extends PostFormatOptions = NoV2Options> extends PostActions<PostData, PF> {
|
|
13
14
|
}
|
|
14
15
|
export default ThumbnailPost;
|
|
@@ -14,4 +14,4 @@ ThumbnailPost = __decorate([
|
|
|
14
14
|
Schema("ThumbnailPost")
|
|
15
15
|
], ThumbnailPost);
|
|
16
16
|
export default ThumbnailPost;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGh1bWJuYWlsUG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tb2RlbHMvVGh1bWJuYWlsUG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwQyxPQUFPLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQztBQU03Qzs7Ozs7O0dBTUc7QUFFSCxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUEwRCxTQUFRLFdBQXlCO0NBQUcsQ0FBQTtBQUE5RixhQUFhO0lBRGxCLE1BQU0sQ0FBQyxlQUFlLENBQUM7R0FDbEIsYUFBYSxDQUFpRjtBQUVwRyxlQUFlLGFBQWEsQ0FBQyJ9
|
|
@@ -5,7 +5,7 @@ import type { PostVotesCreateData } from "../../generated/types.js";
|
|
|
5
5
|
import type { FavoritesCreateResponse, FavoritesDestroyResponse } from "../../modules/Favorites.js";
|
|
6
6
|
import type { DisapprovePostOptions } from "../../modules/PostDisapprovals.js";
|
|
7
7
|
import type { FlagPostOptions } from "../../modules/PostFlags.js";
|
|
8
|
-
import type { NoV2Options, PostFormat } from "../../modules/posts/Format.js";
|
|
8
|
+
import type { NoV2Options, PostFormat, PostFormatOptions } from "../../modules/posts/Format.js";
|
|
9
9
|
import type { DeletePostOptions, GetPostInSequenceOptions, ListPostFavoritesOptions, MarkPostAsTranslatedOptions, MovePostFavoritesOptions, PostPreviousOwner, RecommendedPostsOptions, RecommendedPostsResult, ReownPostOptions, UpdatePostIqdbOptions, UpdatePostOptions } from "../../modules/Posts.js";
|
|
10
10
|
import type MinimalUser from "../MinimalUser.js";
|
|
11
11
|
import type Post from "../Post.js";
|
|
@@ -14,7 +14,7 @@ import type PostFlag from "../PostFlag.js";
|
|
|
14
14
|
/** @category Models */
|
|
15
15
|
export default abstract class PostActions<T extends {
|
|
16
16
|
id: number;
|
|
17
|
-
}> extends Base<T> {
|
|
17
|
+
}, PF extends PostFormatOptions = NoV2Options> extends Base<T, PF> {
|
|
18
18
|
id: number;
|
|
19
19
|
/**
|
|
20
20
|
*
|
|
@@ -88,7 +88,7 @@ export default abstract class PostActions<T extends {
|
|
|
88
88
|
*
|
|
89
89
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#expunge Documentation} for more details.
|
|
90
90
|
*/
|
|
91
|
-
expunge(reason: string): Promise<Post
|
|
91
|
+
expunge(reason: string): Promise<Post<PF>>;
|
|
92
92
|
/**
|
|
93
93
|
*
|
|
94
94
|
* @requiresApiKeyAuth
|
|
@@ -128,7 +128,7 @@ export default abstract class PostActions<T extends {
|
|
|
128
128
|
*
|
|
129
129
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#mark_as_translated Documentation} for more details.
|
|
130
130
|
*/
|
|
131
|
-
markTranslated<const O extends MarkPostAsTranslatedOptions =
|
|
131
|
+
markTranslated<const O extends MarkPostAsTranslatedOptions = PF>(options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
132
132
|
/**
|
|
133
133
|
*
|
|
134
134
|
* You must have the "Approve Posts" permission. `commit=Submit`` must be set.
|
|
@@ -157,14 +157,14 @@ export default abstract class PostActions<T extends {
|
|
|
157
157
|
*
|
|
158
158
|
* @see {@link https://e621.wiki/#operations-Posts-post_recommendations\#artist Documentation} for more details.
|
|
159
159
|
*/
|
|
160
|
-
recommendedByArtist(options?: RecommendedPostsOptions): Promise<RecommendedPostsResult
|
|
160
|
+
recommendedByArtist(options?: RecommendedPostsOptions): Promise<RecommendedPostsResult<PF>>;
|
|
161
161
|
/**
|
|
162
162
|
*
|
|
163
163
|
* @operationId {@link https://e621.wiki/#operations-Posts-post_recommendations\#tags post_recommendations#tags}
|
|
164
164
|
*
|
|
165
165
|
* @see {@link https://e621.wiki/#operations-Posts-post_recommendations\#tags Documentation} for more details.
|
|
166
166
|
*/
|
|
167
|
-
recommendedByTags(options?: RecommendedPostsOptions): Promise<RecommendedPostsResult
|
|
167
|
+
recommendedByTags(options?: RecommendedPostsOptions): Promise<RecommendedPostsResult<PF>>;
|
|
168
168
|
/**
|
|
169
169
|
*
|
|
170
170
|
* You must be Janitor+.
|
|
@@ -175,7 +175,7 @@ export default abstract class PostActions<T extends {
|
|
|
175
175
|
*
|
|
176
176
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#regenerate_thumbnails Documentation} for more details.
|
|
177
177
|
*/
|
|
178
|
-
regenerateThumbnails(): Promise<Post
|
|
178
|
+
regenerateThumbnails(): Promise<Post<PF>>;
|
|
179
179
|
/**
|
|
180
180
|
*
|
|
181
181
|
* You must be Janitor+.
|
|
@@ -213,7 +213,7 @@ export default abstract class PostActions<T extends {
|
|
|
213
213
|
*
|
|
214
214
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#show_seq Documentation} for more details.
|
|
215
215
|
*/
|
|
216
|
-
sequence<const O extends GetPostInSequenceOptions =
|
|
216
|
+
sequence<const O extends GetPostInSequenceOptions = PF>(options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
217
217
|
/**
|
|
218
218
|
*
|
|
219
219
|
* You must have the "Approve Posts" permission. The response does not differ for success or failure.
|
|
@@ -235,7 +235,7 @@ export default abstract class PostActions<T extends {
|
|
|
235
235
|
*
|
|
236
236
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#undelete Documentation} for more details.
|
|
237
237
|
*/
|
|
238
|
-
undelete(): Promise<Post
|
|
238
|
+
undelete(): Promise<Post<PF>>;
|
|
239
239
|
/**
|
|
240
240
|
*
|
|
241
241
|
* @requiresApiKeyAuth
|
|
@@ -264,7 +264,7 @@ export default abstract class PostActions<T extends {
|
|
|
264
264
|
*
|
|
265
265
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#update Documentation} for more details.
|
|
266
266
|
*/
|
|
267
|
-
update<const O extends UpdatePostOptions =
|
|
267
|
+
update<const O extends UpdatePostOptions = PF>(options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
268
268
|
/**
|
|
269
269
|
*
|
|
270
270
|
* You must be Admin+.
|
|
@@ -275,5 +275,5 @@ export default abstract class PostActions<T extends {
|
|
|
275
275
|
*
|
|
276
276
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#update_iqdb Documentation} for more details.
|
|
277
277
|
*/
|
|
278
|
-
updateIqdb<const O extends UpdatePostIqdbOptions =
|
|
278
|
+
updateIqdb<const O extends UpdatePostIqdbOptions = PF>(options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
279
279
|
}
|
|
@@ -473,4 +473,4 @@ __decorate([
|
|
|
473
473
|
__metadata("design:paramtypes", [typeof (_d = typeof O !== "undefined" && O) === "function" ? _d : Object]),
|
|
474
474
|
__metadata("design:returntype", Promise)
|
|
475
475
|
], PostActions.prototype, "updateIqdb", null);
|
|
476
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9tb2RlbHMvcG9zdHMvQWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sSUFBSSxNQUFNLFlBQVksQ0FBQztBQXlCOUIsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxPQUFPLE9BQWdCLFdBQWtGLFNBQVEsSUFBVztJQUcvSDs7Ozs7Ozs7O09BU0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7OztPQU9BO0lBRU0sQUFBTixLQUFLLENBQUMsU0FBUyxDQUFDLGFBQXFCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7Ozs7O09BT0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBaUQsRUFBRSxTQUFtQjtRQUNuRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNBO0lBRU0sQUFBTixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQTBCO1FBQ25DLE9BQU8s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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Client } from "../generated/client/types.js";
|
|
2
2
|
import type E621 from "../index.js";
|
|
3
|
+
import type { NoV2Options, PostFormatOptions } from "./posts/Format.js";
|
|
3
4
|
interface AnyResponse<D = unknown> {
|
|
4
5
|
data?: D;
|
|
5
6
|
error: unknown;
|
|
@@ -16,15 +17,15 @@ type UnwrapData<R extends AnyResponse> = DataType<R> extends Array<infer U> ? U
|
|
|
16
17
|
* under on {@link E621} (e.g. `"posts"`) - used by `createStandalone`. TypeScript can't enforce abstract
|
|
17
18
|
* static members, so this is a convention rather than a compiler-checked contract.
|
|
18
19
|
*/
|
|
19
|
-
export default abstract class Base {
|
|
20
|
+
export default abstract class Base<PF extends PostFormatOptions = NoV2Options> {
|
|
20
21
|
protected client: Client;
|
|
21
|
-
protected e621: E621
|
|
22
|
+
protected e621: E621<PF>;
|
|
22
23
|
/**
|
|
23
24
|
* `e621` may be omitted (pass `undefined`) when constructing a module standalone, without the main
|
|
24
25
|
* {@link E621} client, to keep bundles tree-shakable. Convenience methods on models returned by this
|
|
25
26
|
* module that call back into other modules via `this.e621` will throw in that case.
|
|
26
27
|
*/
|
|
27
|
-
constructor(e621: E621 | undefined, client: Client);
|
|
28
|
+
constructor(e621: E621<PF> | undefined, client: Client);
|
|
28
29
|
/** @internal */
|
|
29
30
|
protected _handleResponse<R extends AnyResponse, S extends number = number, T extends boolean = boolean, C extends AnyDataClass<UnwrapData<R>> | undefined = undefined, CR = C extends AnyDataClass<UnwrapData<R>, infer I> ? I : undefined>(res: R, successStatus?: S, throwOnNotFound?: T, klass?: C): T extends true ? (S extends 204 ? null : S extends 302 ? string : C extends undefined ? DataType<R> : (DataType<R> extends Array<any> ? Array<CR> : CR)) : (S extends 204 ? null : S extends 302 ? string : (C extends undefined ? DataType<R> : (DataType<R> extends Array<any> ? Array<CR> : CR)) | null);
|
|
30
31
|
}
|
package/dist/lib/modules/Base.js
CHANGED
|
@@ -32,10 +32,13 @@ export default class Base {
|
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
if (klass) {
|
|
35
|
+
// klass here is always a plain (non-post-format) model, unrelated to PF - the cast just
|
|
36
|
+
// satisfies its constructor's bare E621 parameter type.
|
|
37
|
+
const e621 = this.e621;
|
|
35
38
|
if (Array.isArray(res.data))
|
|
36
|
-
return res.data.map(item => new klass(
|
|
39
|
+
return res.data.map(item => new klass(e621, item));
|
|
37
40
|
else
|
|
38
|
-
return new klass(
|
|
41
|
+
return new klass(e621, res.data);
|
|
39
42
|
}
|
|
40
43
|
else
|
|
41
44
|
return res.data;
|
|
@@ -47,4 +50,4 @@ export default class Base {
|
|
|
47
50
|
throw new UnexpectedResponseError(res.request, res.response, res.error);
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tb2R1bGVzL0Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBZ0J2RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFnQixJQUFJO0lBQ3BCLE1BQU0sQ0FBVTtJQUNoQixJQUFJLENBQVk7SUFDMUI7Ozs7T0FJRztJQUNILFlBQVksSUFBMEIsRUFBRSxNQUFjO1FBQ2xELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDMUIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFO1lBQzVDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRTtTQUMzQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ04sZUFBZSxDQU92QixHQUFNLEVBQUUsZ0JBQW1CLEdBQVEsRUFBRSxrQkFBcUIsSUFBUyxFQUFFLFFBQVcsU0FBYztRQUM1RixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLElBQUksYUFBYSxLQUFLLEdBQUc7Z0JBQUUsT0FBTyxJQUFhLENBQUM7WUFDaEQsSUFBSSxhQUFhLEtBQUssR0FBRztnQkFBRSxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQVUsQ0FBQztpQkFDM0UsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLElBQUksdUJBQXVCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDUix3RkFBd0Y7b0JBQ3hGLHdEQUF3RDtvQkFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQXVCLENBQUM7b0JBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO3dCQUFFLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBcUIsQ0FBQyxDQUFVLENBQUM7O3dCQUNyRyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBcUIsQ0FBVSxDQUFDO2dCQUNwRSxDQUFDOztvQkFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFhLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPLElBQWEsQ0FBQzs7WUFDN0UsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNKIn0=
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { GetResponse, type TransformDataQueryToOptions } from "../util.js";
|
|
2
2
|
import Base from "./Base.js";
|
|
3
|
-
import { type NoV2Options, type PostFormat } from "./posts/Format.js";
|
|
3
|
+
import { type NoV2Options, type PostFormat, type PostFormatOptions } from "./posts/Format.js";
|
|
4
|
+
import type { Client } from "../generated/client/types.js";
|
|
4
5
|
import type { FavoritesCreateResponses, FavoritesIndexData, FavoritesDestroyResponses } from "../generated/types.js";
|
|
6
|
+
import type E621 from "../index.js";
|
|
5
7
|
/** @category Modules/Types */
|
|
6
8
|
export interface SearchFavoritesOptions extends TransformDataQueryToOptions<FavoritesIndexData> {
|
|
7
9
|
}
|
|
@@ -12,8 +14,11 @@ export interface FavoritesCreateResponse extends GetResponse<FavoritesCreateResp
|
|
|
12
14
|
export interface FavoritesDestroyResponse extends GetResponse<FavoritesDestroyResponses, 200> {
|
|
13
15
|
}
|
|
14
16
|
/** @category Modules */
|
|
15
|
-
export default class Favorites extends Base {
|
|
17
|
+
export default class Favorites<PF extends PostFormatOptions = NoV2Options> extends Base<PF> {
|
|
16
18
|
static readonly moduleKey: "favorites";
|
|
19
|
+
protected readonly defaultFormat: PF;
|
|
20
|
+
/** @param defaultFormat - The v2/mode format to fall back to when `search()` is called without explicit v2/mode options. */
|
|
21
|
+
constructor(e621: E621<PF> | undefined, client: Client, defaultFormat?: PF);
|
|
17
22
|
/**
|
|
18
23
|
*
|
|
19
24
|
* @requiresApiKeyAuth
|
|
@@ -38,5 +43,5 @@ export default class Favorites extends Base {
|
|
|
38
43
|
*
|
|
39
44
|
* @see {@link https://e621.wiki/#operations-Favorites-favorites\#index Documentation} for more details.
|
|
40
45
|
*/
|
|
41
|
-
search<const O extends SearchFavoritesOptions =
|
|
46
|
+
search<const O extends SearchFavoritesOptions = PF>(options?: O): Promise<Array<PostFormat<O["v2"], O["mode"], PF>>>;
|
|
42
47
|
}
|
|
@@ -7,6 +7,12 @@ import { wrapPosts } from "./posts/Format.js";
|
|
|
7
7
|
/** @category Modules */
|
|
8
8
|
export default class Favorites extends Base {
|
|
9
9
|
static moduleKey = "favorites";
|
|
10
|
+
defaultFormat;
|
|
11
|
+
/** @param defaultFormat - The v2/mode format to fall back to when `search()` is called without explicit v2/mode options. */
|
|
12
|
+
constructor(e621, client, defaultFormat = {}) {
|
|
13
|
+
super(e621, client);
|
|
14
|
+
this.defaultFormat = defaultFormat;
|
|
15
|
+
}
|
|
10
16
|
/**
|
|
11
17
|
*
|
|
12
18
|
* @requiresApiKeyAuth
|
|
@@ -42,13 +48,15 @@ export default class Favorites extends Base {
|
|
|
42
48
|
* @see {@link https://e621.wiki/#operations-Favorites-favorites\#index Documentation} for more details.
|
|
43
49
|
*/
|
|
44
50
|
async search(options) {
|
|
51
|
+
const v2 = options?.v2 ?? this.defaultFormat.v2;
|
|
52
|
+
const mode = options?.mode ?? this.defaultFormat.mode;
|
|
45
53
|
return favorites_index({
|
|
46
54
|
client: this.client,
|
|
47
|
-
query: options,
|
|
55
|
+
query: { ...options, v2, mode },
|
|
48
56
|
}).then((res) => {
|
|
49
57
|
const data = this._handleResponse(res, 200, true);
|
|
50
|
-
const raw = (
|
|
51
|
-
return wrapPosts(this.e621, raw,
|
|
58
|
+
const raw = (v2 ? data : data.posts);
|
|
59
|
+
return wrapPosts(this.e621, raw, v2, mode);
|
|
52
60
|
});
|
|
53
61
|
}
|
|
54
62
|
}
|
|
@@ -70,4 +78,4 @@ __decorate([
|
|
|
70
78
|
__metadata("design:paramtypes", [typeof (_a = typeof O !== "undefined" && O) === "function" ? _a : Object]),
|
|
71
79
|
__metadata("design:returntype", Promise)
|
|
72
80
|
], Favorites.prototype, "search", null);
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmF2b3JpdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL21vZHVsZXMvRmF2b3JpdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNGLE9BQU8sRUFBZSxXQUFXLEVBQW9DLE1BQU0sWUFBWSxDQUFDO0FBRXhGLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQStFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBYTNILHdCQUF3QjtBQUN4QixNQUFNLENBQUMsT0FBTyxPQUFPLFNBQXNELFNBQVEsSUFBUTtJQUN2RixNQUFNLENBQVUsU0FBUyxHQUFHLFdBQW9CLENBQUM7SUFDOUIsYUFBYSxDQUFLO0lBQ3JDLDRIQUE0SDtJQUM1SCxZQUFZLElBQTBCLEVBQUUsTUFBYyxFQUFFLGdCQUFvQixFQUFRO1FBQ2hGLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7O09BT0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUN4QixPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7OztPQU9BO0lBRU0sQUFBTixLQUFLLENBQUMsTUFBTSxDQUFDLEVBQVU7UUFDbkIsT0FBTyxpQkFBaUIsQ0FBQztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFO1NBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLQTtJQUVNLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBOEMsT0FBVztRQUNqRSxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDdEQsT0FBTyxlQUFlLENBQUM7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEtBQUssRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUU7U0FDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xELE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLElBQXlDLENBQUMsS0FBSyxDQUF1QixDQUFDO1lBQ2pHLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQThDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQXpDSztJQURSLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQzs7Ozt1Q0FNNUI7QUFXSztJQURSLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzs7Ozt1Q0FNN0I7QUFTSztJQURSLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzs7eURBQ3dDLENBQUMsb0JBQUQsQ0FBQzs7dUNBV3BFIn0=
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js";
|
|
2
2
|
import Base from "./Base.js";
|
|
3
|
-
import { type NoV2Options, type PostFormatV2Only } from "./posts/Format.js";
|
|
3
|
+
import { type NoV2Options, type PostFormatOptions, type PostFormatV2Only } from "./posts/Format.js";
|
|
4
|
+
import type { Client } from "../generated/client/types.js";
|
|
4
5
|
import type { IqdbQueriesShowPostData, IqdbQueriesShowData } from "../generated/types.js";
|
|
6
|
+
import type E621 from "../index.js";
|
|
5
7
|
/** @category Modules/Types */
|
|
6
8
|
export interface QueryIqdbGetOptions extends TransformDataQueryToOptions<IqdbQueriesShowData> {
|
|
7
9
|
}
|
|
@@ -10,27 +12,30 @@ export interface QueryIqdbPostOptions extends TransformDataBodyToOptions<IqdbQue
|
|
|
10
12
|
v2?: boolean;
|
|
11
13
|
}
|
|
12
14
|
/** @category Modules/Types */
|
|
13
|
-
export interface IqdbResult<V2 extends boolean | undefined = undefined> {
|
|
15
|
+
export interface IqdbResult<V2 extends boolean | undefined = undefined, PF extends PostFormatOptions = NoV2Options> {
|
|
14
16
|
hash: string;
|
|
15
|
-
post: PostFormatV2Only<V2>;
|
|
17
|
+
post: PostFormatV2Only<V2, PF>;
|
|
16
18
|
post_id: number;
|
|
17
19
|
score: number;
|
|
18
20
|
}
|
|
19
21
|
/** @category Modules */
|
|
20
|
-
export default class IqdbQueries extends Base {
|
|
22
|
+
export default class IqdbQueries<PF extends PostFormatOptions = NoV2Options> extends Base<PF> {
|
|
21
23
|
static readonly moduleKey: "iqdb";
|
|
24
|
+
protected readonly defaultFormat: PF;
|
|
25
|
+
/** @param defaultFormat - The v2 format to fall back to when `get()`/`post()` are called without an explicit `v2` option. `mode` is ignored - IQDB only ever returns the basic v2 format. */
|
|
26
|
+
constructor(e621: E621<PF> | undefined, client: Client, defaultFormat?: PF);
|
|
22
27
|
/**
|
|
23
28
|
*
|
|
24
29
|
* @operationId {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show iqdb_queries#show}
|
|
25
30
|
*
|
|
26
31
|
* @see {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show Documentation} for more details.
|
|
27
32
|
*/
|
|
28
|
-
get<const O extends QueryIqdbGetOptions =
|
|
33
|
+
get<const O extends QueryIqdbGetOptions = PF>(options?: O): Promise<Array<IqdbResult<O["v2"], PF>>>;
|
|
29
34
|
/**
|
|
30
35
|
*
|
|
31
36
|
* @operationId {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show_post iqdb_queries#show_post}
|
|
32
37
|
*
|
|
33
38
|
* @see {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show_post Documentation} for more details.
|
|
34
39
|
*/
|
|
35
|
-
post<const O extends QueryIqdbPostOptions =
|
|
40
|
+
post<const O extends QueryIqdbPostOptions = PF>(options?: O): Promise<Array<IqdbResult<O["v2"], PF>>>;
|
|
36
41
|
}
|
|
@@ -8,6 +8,12 @@ import Base from "./Base.js";
|
|
|
8
8
|
/** @category Modules */
|
|
9
9
|
export default class IqdbQueries extends Base {
|
|
10
10
|
static moduleKey = "iqdb";
|
|
11
|
+
defaultFormat;
|
|
12
|
+
/** @param defaultFormat - The v2 format to fall back to when `get()`/`post()` are called without an explicit `v2` option. `mode` is ignored - IQDB only ever returns the basic v2 format. */
|
|
13
|
+
constructor(e621, client, defaultFormat = {}) {
|
|
14
|
+
super(e621, client);
|
|
15
|
+
this.defaultFormat = defaultFormat;
|
|
16
|
+
}
|
|
11
17
|
/**
|
|
12
18
|
*
|
|
13
19
|
* @operationId {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show iqdb_queries#show}
|
|
@@ -15,14 +21,15 @@ export default class IqdbQueries extends Base {
|
|
|
15
21
|
* @see {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show Documentation} for more details.
|
|
16
22
|
*/
|
|
17
23
|
async get(options) {
|
|
24
|
+
const v2 = options?.v2 ?? this.defaultFormat.v2;
|
|
18
25
|
return iqdbQueries_show({
|
|
19
26
|
client: this.client,
|
|
20
|
-
query: prefixKeys(options, "search", ["v2"]),
|
|
27
|
+
query: { ...(prefixKeys(options, "search", ["v2"]) ?? {}), v2 },
|
|
21
28
|
}).then((res) => {
|
|
22
29
|
const data = this._handleResponse(res, 200, true);
|
|
23
30
|
return data.map(d => ({
|
|
24
31
|
hash: d.hash,
|
|
25
|
-
post: (
|
|
32
|
+
post: (v2
|
|
26
33
|
? new BasicPost(this.e621, d.post)
|
|
27
34
|
: new IqdbPost(this.e621, d.post.posts)),
|
|
28
35
|
post_id: d.post_id,
|
|
@@ -37,7 +44,8 @@ export default class IqdbQueries extends Base {
|
|
|
37
44
|
* @see {@link https://e621.wiki/#operations-IQDB-iqdb_queries\#show_post Documentation} for more details.
|
|
38
45
|
*/
|
|
39
46
|
async post(options) {
|
|
40
|
-
const { v2, ...body } = options;
|
|
47
|
+
const { v2: rawV2, ...body } = (options ?? {});
|
|
48
|
+
const v2 = rawV2 ?? this.defaultFormat.v2;
|
|
41
49
|
return iqdbQueries_showPost({
|
|
42
50
|
client: this.client,
|
|
43
51
|
query: { v2 },
|
|
@@ -67,4 +75,4 @@ __decorate([
|
|
|
67
75
|
__metadata("design:paramtypes", [typeof (_b = typeof O !== "undefined" && O) === "function" ? _b : Object]),
|
|
68
76
|
__metadata("design:returntype", Promise)
|
|
69
77
|
], IqdbQueries.prototype, "post", null);
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXFkYlF1ZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbW9kdWxlcy9JcWRiUXVlcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFxRSxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFxQjdCLHdCQUF3QjtBQUN4QixNQUFNLENBQUMsT0FBTyxPQUFPLFdBQXdELFNBQVEsSUFBUTtJQUN6RixNQUFNLENBQVUsU0FBUyxHQUFHLE1BQWUsQ0FBQztJQUN6QixhQUFhLENBQUs7SUFDckMsNkxBQTZMO0lBQzdMLFlBQVksSUFBMEIsRUFBRSxNQUFjLEVBQUUsZ0JBQW9CLEVBQVE7UUFDaEYsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxHQUFHLENBQTJDLE9BQVc7UUFDM0QsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxPQUFPLGdCQUFnQixDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtTQUNsRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLElBQUksRUFBRSxDQUFDLEVBQUU7b0JBQ0wsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUcsQ0FBNkIsQ0FBQyxJQUFJLENBQUM7b0JBQy9ELENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBdUIsRUFBRyxDQUF1QyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBa0M7Z0JBQ3ZJLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztnQkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7O09BS0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQTRDLE9BQVc7UUFDN0QsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQXlCLENBQUM7UUFDdkUsTUFBTSxFQUFFLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sb0JBQW9CLENBQUM7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNiLElBQUk7U0FDUCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLElBQUksRUFBRSxDQUFDLEVBQUU7b0JBQ0wsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUcsQ0FBNkIsQ0FBQyxJQUFJLENBQUM7b0JBQy9ELENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBdUIsRUFBRyxDQUF1QyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBa0M7Z0JBQ3ZJLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztnQkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQTNDSztJQURSLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzs7eURBQ2dDLENBQUMsb0JBQUQsQ0FBQzs7c0NBZ0I5RDtBQVNLO0lBRFIsV0FBVyxDQUFDLHdCQUF3QixDQUFDOzt5REFDNkIsQ0FBQyxvQkFBRCxDQUFDOzt1Q0FrQmhFIn0=
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { type TransformDataQueryToOptions } from "../util.js";
|
|
2
2
|
import Base from "./Base.js";
|
|
3
|
-
import { type NoV2Options, type PostFormat } from "./posts/Format.js";
|
|
3
|
+
import { type NoV2Options, type PostFormat, type PostFormatOptions } from "./posts/Format.js";
|
|
4
|
+
import type { Client } from "../generated/client/types.js";
|
|
4
5
|
import type { PopularIndexData } from "../generated/types.js";
|
|
6
|
+
import type E621 from "../index.js";
|
|
5
7
|
/** @category Modules/Types */
|
|
6
8
|
export interface GetPopularPostsOptions extends TransformDataQueryToOptions<PopularIndexData> {
|
|
7
9
|
}
|
|
8
10
|
/** @category Modules */
|
|
9
|
-
export default class Popular extends Base {
|
|
11
|
+
export default class Popular<PF extends PostFormatOptions = NoV2Options> extends Base<PF> {
|
|
10
12
|
static readonly moduleKey: "popular";
|
|
13
|
+
protected readonly defaultFormat: PF;
|
|
14
|
+
/** @param defaultFormat - The v2/mode format to fall back to when `get()` is called without explicit v2/mode options. */
|
|
15
|
+
constructor(e621: E621<PF> | undefined, client: Client, defaultFormat?: PF);
|
|
11
16
|
/**
|
|
12
17
|
*
|
|
13
18
|
* @operationId {@link https://e621.wiki/#operations-Popular-popular\#index popular#index}
|
|
14
19
|
*
|
|
15
20
|
* @see {@link https://e621.wiki/#operations-Popular-popular\#index Documentation} for more details.
|
|
16
21
|
*/
|
|
17
|
-
get<const O extends GetPopularPostsOptions =
|
|
22
|
+
get<const O extends GetPopularPostsOptions = PF>(options?: O): Promise<Array<PostFormat<O["v2"], O["mode"], PF>>>;
|
|
18
23
|
}
|
|
@@ -7,6 +7,12 @@ import { wrapPosts } from "./posts/Format.js";
|
|
|
7
7
|
/** @category Modules */
|
|
8
8
|
export default class Popular extends Base {
|
|
9
9
|
static moduleKey = "popular";
|
|
10
|
+
defaultFormat;
|
|
11
|
+
/** @param defaultFormat - The v2/mode format to fall back to when `get()` is called without explicit v2/mode options. */
|
|
12
|
+
constructor(e621, client, defaultFormat = {}) {
|
|
13
|
+
super(e621, client);
|
|
14
|
+
this.defaultFormat = defaultFormat;
|
|
15
|
+
}
|
|
10
16
|
/**
|
|
11
17
|
*
|
|
12
18
|
* @operationId {@link https://e621.wiki/#operations-Popular-popular\#index popular#index}
|
|
@@ -14,13 +20,15 @@ export default class Popular extends Base {
|
|
|
14
20
|
* @see {@link https://e621.wiki/#operations-Popular-popular\#index Documentation} for more details.
|
|
15
21
|
*/
|
|
16
22
|
async get(options) {
|
|
23
|
+
const v2 = options?.v2 ?? this.defaultFormat.v2;
|
|
24
|
+
const mode = options?.mode ?? this.defaultFormat.mode;
|
|
17
25
|
return popular_index({
|
|
18
26
|
client: this.client,
|
|
19
|
-
query: options,
|
|
27
|
+
query: { ...options, v2, mode },
|
|
20
28
|
}).then((res) => {
|
|
21
29
|
const data = this._handleResponse(res, 200, true);
|
|
22
|
-
const raw = (
|
|
23
|
-
return wrapPosts(this.e621, raw,
|
|
30
|
+
const raw = (v2 ? data : data.posts);
|
|
31
|
+
return wrapPosts(this.e621, raw, v2, mode);
|
|
24
32
|
});
|
|
25
33
|
}
|
|
26
34
|
}
|
|
@@ -30,4 +38,4 @@ __decorate([
|
|
|
30
38
|
__metadata("design:paramtypes", [typeof (_a = typeof O !== "undefined" && O) === "function" ? _a : Object]),
|
|
31
39
|
__metadata("design:returntype", Promise)
|
|
32
40
|
], Popular.prototype, "get", null);
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wdWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tb2R1bGVzL1BvcHVsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBb0MsTUFBTSxZQUFZLENBQUM7QUFFM0UsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBK0UsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFTM0gsd0JBQXdCO0FBQ3hCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sT0FBb0QsU0FBUSxJQUFRO0lBQ3JGLE1BQU0sQ0FBVSxTQUFTLEdBQUcsU0FBa0IsQ0FBQztJQUM1QixhQUFhLENBQUs7SUFDckMseUhBQXlIO0lBQ3pILFlBQVksSUFBMEIsRUFBRSxNQUFjLEVBQUUsZ0JBQW9CLEVBQVE7UUFDaEYsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0E7SUFFTSxBQUFOLEtBQUssQ0FBQyxHQUFHLENBQThDLE9BQVc7UUFDOUQsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3RELE9BQU8sYUFBYSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFO1NBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxJQUF5QyxDQUFDLEtBQUssQ0FBdUIsQ0FBQztZQUNqRyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUE4QyxDQUFDO1FBQzVGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUFYSztJQURSLFdBQVcsQ0FBQyxlQUFlLENBQUM7O3lEQUN1QyxDQUFDLG9CQUFELENBQUM7O2tDQVdqRSJ9
|
|
@@ -3,8 +3,10 @@ import Post from "../models/Post.js";
|
|
|
3
3
|
import ThumbnailPost from "../models/ThumbnailPost.js";
|
|
4
4
|
import { type TransformDataBodyToOptions, type TransformDataQueryToOptions } from "../util.js";
|
|
5
5
|
import Base from "./Base.js";
|
|
6
|
-
import { type NoV2Options, type PostFormat } from "./posts/Format.js";
|
|
6
|
+
import { type NoV2Options, type PostFormat, type PostFormatOptions } from "./posts/Format.js";
|
|
7
|
+
import type { Client } from "../generated/client/types.js";
|
|
7
8
|
import type { StaffPostPostsDeleteData, PostsShowData, PostsShowSeqData, PostsRandomData, PostRecommendationsArtistData, PostFavoritesIndexData, PostsMarkAsTranslatedData, StaffPostPostsMoveFavoritesData, PostRecommendation, StaffPostPostsReownerData, PostsIndexData, PostsUpdateData, PostsUpdateIqdbData } from "../generated/types.js";
|
|
9
|
+
import type E621 from "../index.js";
|
|
8
10
|
/** @category Modules/Types */
|
|
9
11
|
export interface DeletePostOptions extends TransformDataBodyToOptions<StaffPostPostsDeleteData> {
|
|
10
12
|
}
|
|
@@ -47,19 +49,26 @@ export interface PostPreviousOwner {
|
|
|
47
49
|
name: string;
|
|
48
50
|
}
|
|
49
51
|
/** @category Modules/Types */
|
|
50
|
-
export interface RecommendedPostsResult {
|
|
52
|
+
export interface RecommendedPostsResult<PF extends PostFormatOptions = NoV2Options> {
|
|
51
53
|
model_version: string;
|
|
52
|
-
post_data: Array<ThumbnailPost
|
|
54
|
+
post_data: Array<ThumbnailPost<PF>>;
|
|
53
55
|
post_id: number;
|
|
54
56
|
results: Array<PostRecommendation>;
|
|
55
57
|
}
|
|
56
58
|
/** @category Modules/Types */
|
|
57
|
-
export type PostSearchResult<O extends SearchPostsOptions> = O extends {
|
|
59
|
+
export type PostSearchResult<O extends SearchPostsOptions, PF extends PostFormatOptions = NoV2Options> = O extends {
|
|
58
60
|
md5: string;
|
|
59
|
-
} ? PostFormat<O["v2"], O["mode"]> : Array<PostFormat<O["v2"], O["mode"]>>;
|
|
61
|
+
} ? PostFormat<O["v2"], O["mode"], PF> : Array<PostFormat<O["v2"], O["mode"], PF>>;
|
|
60
62
|
/** @category Modules */
|
|
61
|
-
export default class Posts extends Base {
|
|
63
|
+
export default class Posts<PF extends PostFormatOptions = NoV2Options> extends Base<PF> {
|
|
62
64
|
static readonly moduleKey: "posts";
|
|
65
|
+
protected readonly defaultFormat: PF;
|
|
66
|
+
/**
|
|
67
|
+
* @param defaultFormat - The v2/mode format to fall back to for any method here (or any convenience
|
|
68
|
+
* method on a returned post model) called without explicit v2/mode options. Defaults to the legacy
|
|
69
|
+
* format, matching `new E621()`'s behavior when {@link Options.defaultPostFormat} isn't set.
|
|
70
|
+
*/
|
|
71
|
+
constructor(e621: E621<PF> | undefined, client: Client, defaultFormat?: PF);
|
|
63
72
|
/**
|
|
64
73
|
*
|
|
65
74
|
* You must be Janitor+.
|
|
@@ -101,7 +110,7 @@ export default class Posts extends Base {
|
|
|
101
110
|
*
|
|
102
111
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#expunge Documentation} for more details.
|
|
103
112
|
*/
|
|
104
|
-
expunge(id: number, reason: string): Promise<Post
|
|
113
|
+
expunge(id: number, reason: string): Promise<Post<PF>>;
|
|
105
114
|
/**
|
|
106
115
|
*
|
|
107
116
|
* You must be the user or Moderator+ to see users that have their favorites hidden.
|
|
@@ -117,7 +126,7 @@ export default class Posts extends Base {
|
|
|
117
126
|
*
|
|
118
127
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#show Documentation} for more details.
|
|
119
128
|
*/
|
|
120
|
-
get<const O extends GetPostOptions =
|
|
129
|
+
get<const O extends GetPostOptions = PF>(id: number, options?: O): Promise<PostFormat<O["v2"], O["mode"], PF> | null>;
|
|
121
130
|
/**
|
|
122
131
|
*
|
|
123
132
|
* Will error if no body is provided.
|
|
@@ -128,7 +137,7 @@ export default class Posts extends Base {
|
|
|
128
137
|
*
|
|
129
138
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#mark_as_translated Documentation} for more details.
|
|
130
139
|
*/
|
|
131
|
-
markTranslated<const O extends MarkPostAsTranslatedOptions =
|
|
140
|
+
markTranslated<const O extends MarkPostAsTranslatedOptions = PF>(id: number, options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
132
141
|
/**
|
|
133
142
|
*
|
|
134
143
|
* You must have the "Approve Posts" permission. `commit=Submit`` must be set.
|
|
@@ -157,21 +166,21 @@ export default class Posts extends Base {
|
|
|
157
166
|
*
|
|
158
167
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#random Documentation} for more details.
|
|
159
168
|
*/
|
|
160
|
-
random<const O extends GetRandomPostOptions =
|
|
169
|
+
random<const O extends GetRandomPostOptions = PF>(options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
161
170
|
/**
|
|
162
171
|
*
|
|
163
172
|
* @operationId {@link https://e621.wiki/#operations-Posts-post_recommendations\#artist post_recommendations#artist}
|
|
164
173
|
*
|
|
165
174
|
* @see {@link https://e621.wiki/#operations-Posts-post_recommendations\#artist Documentation} for more details.
|
|
166
175
|
*/
|
|
167
|
-
recommendedByArtist(id: number, options?: RecommendedPostsOptions): Promise<RecommendedPostsResult
|
|
176
|
+
recommendedByArtist(id: number, options?: RecommendedPostsOptions): Promise<RecommendedPostsResult<PF>>;
|
|
168
177
|
/**
|
|
169
178
|
*
|
|
170
179
|
* @operationId {@link https://e621.wiki/#operations-Posts-post_recommendations\#tags post_recommendations#tags}
|
|
171
180
|
*
|
|
172
181
|
* @see {@link https://e621.wiki/#operations-Posts-post_recommendations\#tags Documentation} for more details.
|
|
173
182
|
*/
|
|
174
|
-
recommendedByTags(id: number, options?: RecommendedPostsOptions): Promise<RecommendedPostsResult
|
|
183
|
+
recommendedByTags(id: number, options?: RecommendedPostsOptions): Promise<RecommendedPostsResult<PF>>;
|
|
175
184
|
/**
|
|
176
185
|
*
|
|
177
186
|
* You must be Janitor+.
|
|
@@ -182,7 +191,7 @@ export default class Posts extends Base {
|
|
|
182
191
|
*
|
|
183
192
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#regenerate_thumbnails Documentation} for more details.
|
|
184
193
|
*/
|
|
185
|
-
regenerateThumbnails(id: number): Promise<Post
|
|
194
|
+
regenerateThumbnails(id: number): Promise<Post<PF>>;
|
|
186
195
|
/**
|
|
187
196
|
*
|
|
188
197
|
* You must be Janitor+.
|
|
@@ -220,14 +229,14 @@ export default class Posts extends Base {
|
|
|
220
229
|
*
|
|
221
230
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#index Documentation} for more details.
|
|
222
231
|
*/
|
|
223
|
-
search<const O extends SearchPostsOptions =
|
|
232
|
+
search<const O extends SearchPostsOptions = PF>(options?: O): Promise<PostSearchResult<O, PF>>;
|
|
224
233
|
/**
|
|
225
234
|
*
|
|
226
235
|
* @operationId {@link https://e621.wiki/#operations-Posts-posts\#show_seq posts#show_seq}
|
|
227
236
|
*
|
|
228
237
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#show_seq Documentation} for more details.
|
|
229
238
|
*/
|
|
230
|
-
sequence<const O extends GetPostInSequenceOptions =
|
|
239
|
+
sequence<const O extends GetPostInSequenceOptions = PF>(id: number, options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
231
240
|
/**
|
|
232
241
|
*
|
|
233
242
|
* You must have the "Approve Posts" permission.
|
|
@@ -238,7 +247,7 @@ export default class Posts extends Base {
|
|
|
238
247
|
*
|
|
239
248
|
* @see {@link https://e621.wiki/#operations-Posts-staff/post/posts\#undelete Documentation} for more details.
|
|
240
249
|
*/
|
|
241
|
-
undelete(id: number): Promise<Post
|
|
250
|
+
undelete(id: number): Promise<Post<PF>>;
|
|
242
251
|
/**
|
|
243
252
|
*
|
|
244
253
|
* Most errors are silently swallowed.
|
|
@@ -249,7 +258,7 @@ export default class Posts extends Base {
|
|
|
249
258
|
*
|
|
250
259
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#update Documentation} for more details.
|
|
251
260
|
*/
|
|
252
|
-
update<const O extends UpdatePostOptions =
|
|
261
|
+
update<const O extends UpdatePostOptions = PF>(id: number, options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
253
262
|
/**
|
|
254
263
|
*
|
|
255
264
|
* You must be Admin+.
|
|
@@ -260,5 +269,5 @@ export default class Posts extends Base {
|
|
|
260
269
|
*
|
|
261
270
|
* @see {@link https://e621.wiki/#operations-Posts-posts\#update_iqdb Documentation} for more details.
|
|
262
271
|
*/
|
|
263
|
-
updateIqdb<const O extends UpdatePostIqdbOptions =
|
|
272
|
+
updateIqdb<const O extends UpdatePostIqdbOptions = PF>(id: number, options?: O): Promise<PostFormat<O["v2"], O["mode"], PF>>;
|
|
264
273
|
}
|