e621 2.1.6 → 2.1.10
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/Features/Tags.md +9 -8
- package/README.md +31 -7
- package/build/package.json +3 -3
- package/build/src/index.d.ts +17 -3
- package/build/src/index.js +75 -32
- package/build/src/modules/Tags.d.ts +8 -1
- package/build/src/modules/Tags.js +16 -1
- package/build/src/types/index.d.ts +12 -14
- package/build/src/types/tags.d.ts +8 -0
- package/build/src/util/Debug.js +11 -6
- package/package.json +3 -3
package/Features/Tags.md
CHANGED
|
@@ -14,14 +14,15 @@
|
|
|
14
14
|
|
|
15
15
|
<hr>
|
|
16
16
|
|
|
17
|
-
|
|
|
18
|
-
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
17
|
+
| Feature | Implemented | Method |
|
|
18
|
+
|:------------------------:|:-----------:|:----------------------:|
|
|
19
|
+
| Get By ID | ✔️ | `tags.get` |
|
|
20
|
+
| Get By Name | ✔️ | `tags.getByName` |
|
|
21
|
+
| Search | ✔️ | `tags.search` |
|
|
22
|
+
| Modify[^1] | ✔️ | `tags.modify` |
|
|
23
|
+
| Search History | ✔️ | `tags.searchHistory` |
|
|
24
|
+
| Get History | ✔️ | `tags.getHistory` |
|
|
25
|
+
| Get Autocomplete Results | ✔️ | `tags.getAutocomplete` |
|
|
25
26
|
|
|
26
27
|
[^1]: Requires Authentication
|
|
27
28
|
[^2]: Requires Privileged
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ See the [Features List](Features/README.md) for all of the things this module su
|
|
|
8
8
|
|
|
9
9
|
<hr>
|
|
10
10
|
|
|
11
|
-
This module is
|
|
11
|
+
This module is structured with submodules corresponding to separate areas of the site. All of these modules are on the primary class, which can be constructed like so:
|
|
12
12
|
```typescript
|
|
13
13
|
import E621 from "e621"; // or const E621 = require("e621");
|
|
14
14
|
|
|
@@ -31,9 +31,33 @@ Most of these options shouldn't be used unless you know what you're doing (you p
|
|
|
31
31
|
|:---:|:---:|:---:|:---:|
|
|
32
32
|
| `authUser` | String | None | User for authentication |
|
|
33
33
|
| `authKey` | String | None | Token for authentication |
|
|
34
|
-
| `userAgent` | String | [See Code](https://github.com/DonovanDMC/E621/blob/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
|
39
|
-
|
|
34
|
+
| `userAgent` | String | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L57-L59) | UserAgent for requests |
|
|
35
|
+
|
|
36
|
+
#### Instance Options
|
|
37
|
+
These are set via the `setInstance` function.
|
|
38
|
+
| Option | Type | Default | Description |
|
|
39
|
+
|:---:|:---:|:---:|:---:|
|
|
40
|
+
| `reconstructStaticURL` | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/util/RequestHandler.ts#L254-L256) | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L19-L23) | Override default url reconstruction |
|
|
41
|
+
| `imageReconstructionType` | "e621" \| "yiffy" \| "local" \| null | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L35) | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L37) |
|
|
42
|
+
| `ssl` | Boolean | [^1] | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L5) |
|
|
43
|
+
| `port` | Number | [^1] | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L11) |
|
|
44
|
+
| `host` | String | [^1] | [See Code](https://github.com/DonovanDMC/E621/blob/4bc4e2db7cc8389635d710a852ab6a88a0570602/src/types/index.d.ts#L15) |
|
|
45
|
+
|
|
46
|
+
[^1]: This is very dependent on where this function is used. If used on a subclass, like `Yiffy` or `Dev` the defaults will be set to something else, but otherwise they are: true, 443, e621.net
|
|
47
|
+
|
|
48
|
+
### Using YiffyAPI or E621 Dev?
|
|
49
|
+
We've got built in classes for both. E621 dev assumes you're using [e621ng@ce871e4](https://github.com/zwagoth/e621ng/commit/ce871e412c4d2e1e2478a0e5049d20c77cd3f4d7) or later, as they changed where the dev site is accessed in this commit.
|
|
50
|
+
you can use the built in sub-classes `E621.YiffyAPI` `E621.Dev` to access these, and for anything else: there's `E621.Custom`
|
|
51
|
+
```ts
|
|
52
|
+
import E621 from "e621"; // or import { YiffyAPI, Dev, Custom } from "e621";
|
|
53
|
+
|
|
54
|
+
// first and only parameter is Options
|
|
55
|
+
const yapi = new E621.Yiffy();
|
|
56
|
+
const dev = new E621.Dev();
|
|
57
|
+
// first parameter is Options, second is InstanceOptions
|
|
58
|
+
const custom = new E621.Custom({}, {
|
|
59
|
+
host: "example.com",
|
|
60
|
+
port: 443,
|
|
61
|
+
ssl: true
|
|
62
|
+
});
|
|
63
|
+
```
|
package/build/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "e621",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.10",
|
|
4
4
|
"description": "A module for interfacing with e621.",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@uwu-codes/eslint-config": "^1.0.31",
|
|
35
35
|
"@uwu-codes/tsconfig": "^1.0.1",
|
|
36
36
|
"chai": "^4.3.4",
|
|
37
|
-
"mocha": "^9.1.
|
|
37
|
+
"mocha": "^9.1.4",
|
|
38
38
|
"ts-node": "^10.4.0",
|
|
39
39
|
"typescript": "^4.5.4"
|
|
40
40
|
},
|
|
41
|
-
"
|
|
41
|
+
"optionalDependencies": {
|
|
42
42
|
"debug": "^4.3.3"
|
|
43
43
|
}
|
|
44
44
|
}
|
package/build/src/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Options, InstanceOptions } from "./types";
|
|
1
|
+
import type { Options, InstanceOptions, ConstructedOptions } from "./types";
|
|
2
2
|
import RequestHandler from "./util/RequestHandler";
|
|
3
3
|
import Artists from "./modules/Artists";
|
|
4
4
|
import Notes from "./modules/Notes";
|
|
@@ -11,6 +11,7 @@ import Users from "./modules/Users";
|
|
|
11
11
|
import WikiPages from "./modules/WikiPages";
|
|
12
12
|
import Artist from "./structures/Artist";
|
|
13
13
|
import ArtistHistory from "./structures/ArtistHistory";
|
|
14
|
+
import Note from "./structures/Note";
|
|
14
15
|
import NoteHistory from "./structures/NoteHistory";
|
|
15
16
|
import AuthenticatedUser from "./structures/AuthenticatedUser";
|
|
16
17
|
import Pool from "./structures/Pool";
|
|
@@ -25,6 +26,9 @@ import User from "./structures/User";
|
|
|
25
26
|
import WikiPage from "./structures/WikiPage";
|
|
26
27
|
import WikiPageHistory from "./structures/WikiPageHistory";
|
|
27
28
|
export default class E621 {
|
|
29
|
+
static YiffyAPI: typeof YiffyAPI;
|
|
30
|
+
static Dev: typeof Dev;
|
|
31
|
+
static Custom: typeof Custom;
|
|
28
32
|
POST_LIMIT_PER_REQUEST: number;
|
|
29
33
|
request: RequestHandler;
|
|
30
34
|
artists: Artists;
|
|
@@ -37,9 +41,19 @@ export default class E621 {
|
|
|
37
41
|
users: Users;
|
|
38
42
|
wikiPages: WikiPages;
|
|
39
43
|
private readonly auth;
|
|
40
|
-
readonly options:
|
|
44
|
+
readonly options: ConstructedOptions;
|
|
41
45
|
constructor(options?: Options);
|
|
46
|
+
setInstance(opt: InstanceOptions): void;
|
|
47
|
+
}
|
|
48
|
+
declare class YiffyAPI extends E621 {
|
|
49
|
+
constructor(options: Options);
|
|
50
|
+
}
|
|
51
|
+
declare class Dev extends E621 {
|
|
52
|
+
constructor(options: Options, ssl?: boolean);
|
|
53
|
+
}
|
|
54
|
+
declare class Custom extends E621 {
|
|
55
|
+
constructor(options: Options, instanceOptions: InstanceOptions);
|
|
42
56
|
}
|
|
43
57
|
export * from "./types";
|
|
44
58
|
export { APIError } from "./util/RequestHandler";
|
|
45
|
-
export { Artist, ArtistHistory,
|
|
59
|
+
export { Artist, ArtistHistory, Note, NoteHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostApproval, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory, YiffyAPI, Dev, Custom };
|
package/build/src/index.js
CHANGED
|
@@ -13,12 +13,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.WikiPageHistory = exports.WikiPage = exports.User = exports.TagHistory = exports.Tag = exports.PostSet = exports.PostHistory = exports.PostApproval = exports.Post = exports.PoolHistory = exports.Pool = exports.AuthenticatedUser = exports.NoteHistory = exports.
|
|
16
|
+
exports.Custom = exports.Dev = exports.YiffyAPI = exports.WikiPageHistory = exports.WikiPage = exports.User = exports.TagHistory = exports.Tag = exports.PostSet = exports.PostHistory = exports.PostApproval = exports.Post = exports.PoolHistory = exports.Pool = exports.AuthenticatedUser = exports.NoteHistory = exports.Note = exports.ArtistHistory = exports.Artist = exports.APIError = void 0;
|
|
17
17
|
const RequestHandler_1 = __importDefault(require("./util/RequestHandler"));
|
|
18
18
|
// Modules
|
|
19
19
|
const Artists_1 = __importDefault(require("./modules/Artists"));
|
|
20
20
|
const Notes_1 = __importDefault(require("./modules/Notes"));
|
|
21
|
-
exports.Notes = Notes_1.default;
|
|
22
21
|
const Pools_1 = __importDefault(require("./modules/Pools"));
|
|
23
22
|
const Posts_1 = __importDefault(require("./modules/Posts"));
|
|
24
23
|
const PostSets_1 = __importDefault(require("./modules/PostSets"));
|
|
@@ -31,6 +30,8 @@ const Artist_1 = __importDefault(require("./structures/Artist"));
|
|
|
31
30
|
exports.Artist = Artist_1.default;
|
|
32
31
|
const ArtistHistory_1 = __importDefault(require("./structures/ArtistHistory"));
|
|
33
32
|
exports.ArtistHistory = ArtistHistory_1.default;
|
|
33
|
+
const Note_1 = __importDefault(require("./structures/Note"));
|
|
34
|
+
exports.Note = Note_1.default;
|
|
34
35
|
const NoteHistory_1 = __importDefault(require("./structures/NoteHistory"));
|
|
35
36
|
exports.NoteHistory = NoteHistory_1.default;
|
|
36
37
|
const AuthenticatedUser_1 = __importDefault(require("./structures/AuthenticatedUser"));
|
|
@@ -61,6 +62,9 @@ const package_json_1 = __importDefault(require("../package.json"));
|
|
|
61
62
|
// note for future reference (browser compatibility?)
|
|
62
63
|
// POST with "_method=*" can be used in place of PUT/PATCH/DELETE
|
|
63
64
|
class E621 {
|
|
65
|
+
static YiffyAPI;
|
|
66
|
+
static Dev;
|
|
67
|
+
static Custom;
|
|
64
68
|
POST_LIMIT_PER_REQUEST = 320;
|
|
65
69
|
request = new RequestHandler_1.default(this);
|
|
66
70
|
artists = new Artists_1.default(this);
|
|
@@ -77,30 +81,6 @@ class E621 {
|
|
|
77
81
|
constructor(options) {
|
|
78
82
|
if (!options)
|
|
79
83
|
options = {};
|
|
80
|
-
if (!options.instanceHost)
|
|
81
|
-
options.instanceHost = "e621.net";
|
|
82
|
-
options.instanceSSL = options.instanceSSL ?? ["e621.net", "yiff.rest"].includes(options.instanceHost);
|
|
83
|
-
if (!options.instancePort)
|
|
84
|
-
options.instancePort = options.instanceSSL ? 443 : 80;
|
|
85
|
-
if (!options.imageReconstructionType) {
|
|
86
|
-
switch (options.instanceHost) {
|
|
87
|
-
case "e621.net":
|
|
88
|
-
options.imageReconstructionType = "e621";
|
|
89
|
-
break;
|
|
90
|
-
case "yiff.rest":
|
|
91
|
-
options.imageReconstructionType = "yiffy";
|
|
92
|
-
break;
|
|
93
|
-
case "e621.local":
|
|
94
|
-
case "localhost":
|
|
95
|
-
options.imageReconstructionType = "dev";
|
|
96
|
-
break;
|
|
97
|
-
default: {
|
|
98
|
-
options.imageReconstructionType = null;
|
|
99
|
-
if (!options.reconstructStaticURL)
|
|
100
|
-
process.emitWarning("You specified a host that wasn't in our known list (e621.net, yiff.rest, e621.local) and didn't also specify imageReconstructionType or reconstructStaticURL. This WILL cause an error if we see any null file urls.");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
84
|
Object.defineProperties(this, {
|
|
105
85
|
auth: {
|
|
106
86
|
get() {
|
|
@@ -111,13 +91,8 @@ class E621 {
|
|
|
111
91
|
},
|
|
112
92
|
options: {
|
|
113
93
|
value: {
|
|
114
|
-
instanceHost: options.instanceHost,
|
|
115
|
-
instancePort: options.instancePort,
|
|
116
|
-
instanceSSL: options.instanceSSL,
|
|
117
94
|
authUser: options.authUser ?? null,
|
|
118
95
|
authKey: options.authKey ?? null,
|
|
119
|
-
reconstructStaticURL: options.reconstructStaticURL || null,
|
|
120
|
-
imageReconstructionType: options.imageReconstructionType || "hierarchy",
|
|
121
96
|
userAgent: options.userAgent ?? `E621/${package_json_1.default.version} (https://github.com/DonovanDMC/E621${!options.authUser ? "" : `; "${options.authUser}"`})`,
|
|
122
97
|
requestTimeout: options.requestTimeout ?? 30
|
|
123
98
|
},
|
|
@@ -126,9 +101,77 @@ class E621 {
|
|
|
126
101
|
writable: false
|
|
127
102
|
}
|
|
128
103
|
});
|
|
104
|
+
this.setInstance({});
|
|
105
|
+
}
|
|
106
|
+
setInstance(opt) {
|
|
107
|
+
if (!opt.host)
|
|
108
|
+
opt.host = "e621.net";
|
|
109
|
+
opt.ssl = opt.ssl ?? ["e621.net", "yiff.rest"].includes(opt.host);
|
|
110
|
+
if (!opt.port)
|
|
111
|
+
opt.port = opt.ssl ? 443 : 80;
|
|
112
|
+
if (!opt.imageReconstructionType) {
|
|
113
|
+
switch (opt.host) {
|
|
114
|
+
case "e621.net":
|
|
115
|
+
opt.imageReconstructionType = "e621";
|
|
116
|
+
break;
|
|
117
|
+
case "yiff.rest":
|
|
118
|
+
opt.imageReconstructionType = "yiffy";
|
|
119
|
+
break;
|
|
120
|
+
case "e621.local":
|
|
121
|
+
case "e621ng.local":
|
|
122
|
+
case "localhost":
|
|
123
|
+
opt.imageReconstructionType = "dev";
|
|
124
|
+
break;
|
|
125
|
+
default: {
|
|
126
|
+
opt.imageReconstructionType = null;
|
|
127
|
+
if (!opt.reconstructStaticURL)
|
|
128
|
+
process.emitWarning("You specified a host that wasn't in our known list (e621.net, yiff.rest, e621.local) and didn't also specify imageReconstructionType or reconstructStaticURL. This WILL cause an error if we see any null file urls.");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
Object.assign(this.options, {
|
|
133
|
+
instanceHost: opt.host,
|
|
134
|
+
instancePort: opt.port,
|
|
135
|
+
instanceSSL: opt.ssl,
|
|
136
|
+
reconstructStaticURL: opt.reconstructStaticURL || null,
|
|
137
|
+
imageReconstructionType: opt.imageReconstructionType || "hierarchy"
|
|
138
|
+
});
|
|
129
139
|
}
|
|
130
140
|
}
|
|
131
141
|
exports.default = E621;
|
|
142
|
+
class YiffyAPI extends E621 {
|
|
143
|
+
constructor(options) {
|
|
144
|
+
super(options);
|
|
145
|
+
this.setInstance({
|
|
146
|
+
host: "yiff.rest",
|
|
147
|
+
port: 443,
|
|
148
|
+
ssl: true
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.YiffyAPI = YiffyAPI;
|
|
153
|
+
class Dev extends E621 {
|
|
154
|
+
constructor(options, ssl = false) {
|
|
155
|
+
super(options);
|
|
156
|
+
this.setInstance({
|
|
157
|
+
host: "localhost",
|
|
158
|
+
port: 3000,
|
|
159
|
+
ssl
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.Dev = Dev;
|
|
164
|
+
class Custom extends E621 {
|
|
165
|
+
constructor(options, instanceOptions) {
|
|
166
|
+
super(options);
|
|
167
|
+
this.setInstance(instanceOptions);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.Custom = Custom;
|
|
171
|
+
// due to extending the main class, neither of these (E621 class & sub-class) can happen "first", when both need to
|
|
172
|
+
E621.YiffyAPI = YiffyAPI;
|
|
173
|
+
E621.Dev = Dev;
|
|
174
|
+
E621.Custom = Custom;
|
|
132
175
|
var RequestHandler_2 = require("./util/RequestHandler");
|
|
133
176
|
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return RequestHandler_2.APIError; } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUFtRDtBQUNuRCxVQUFVO0FBQ1YsZ0VBQXdDO0FBQ3hDLDREQUFvQztBQUNwQyw0REFBb0M7QUFDcEMsNERBQW9DO0FBQ3BDLGtFQUEwQztBQUMxQywwREFBa0M7QUFDbEMsMEVBQWtEO0FBQ2xELDREQUFvQztBQUNwQyxvRUFBNEM7QUFDNUMsYUFBYTtBQUNiLGlFQUF5QztBQStIeEMsaUJBL0hNLGdCQUFNLENBK0hOO0FBOUhQLCtFQUF1RDtBQStIdEQsd0JBL0hNLHVCQUFhLENBK0hOO0FBOUhkLDZEQUFxQztBQStIcEMsZUEvSE0sY0FBSSxDQStITjtBQTlITCwyRUFBbUQ7QUErSGxELHNCQS9ITSxxQkFBVyxDQStITjtBQTlIWix1RkFBK0Q7QUErSDlELDRCQS9ITSwyQkFBaUIsQ0ErSE47QUE5SGxCLDZEQUFxQztBQStIcEMsZUEvSE0sY0FBSSxDQStITjtBQTlITCwyRUFBbUQ7QUErSGxELHNCQS9ITSxxQkFBVyxDQStITjtBQTlIWiw2REFBcUM7QUErSHBDLGVBL0hNLGNBQUksQ0ErSE47QUE5SEwsNkVBQXFEO0FBK0hwRCx1QkEvSE0sc0JBQVksQ0ErSE47QUE5SGIsMkVBQW1EO0FBK0hsRCxzQkEvSE0scUJBQVcsQ0ErSE47QUE5SFosbUVBQTJDO0FBK0gxQyxrQkEvSE0saUJBQU8sQ0ErSE47QUE5SFIsMkRBQW1DO0FBK0hsQyxjQS9ITSxhQUFHLENBK0hOO0FBOUhKLHlFQUFpRDtBQStIaEQscUJBL0hNLG9CQUFVLENBK0hOO0FBOUhYLDZEQUFxQztBQStIcEMsZUEvSE0sY0FBSSxDQStITjtBQTlITCxxRUFBNkM7QUErSDVDLG1CQS9ITSxrQkFBUSxDQStITjtBQTlIVCxtRkFBMkQ7QUErSDFELDBCQS9ITSx5QkFBZSxDQStITjtBQTdIaEIsbUVBQWtDO0FBRWxDLHFEQUFxRDtBQUNyRCxpRUFBaUU7QUFDakUsTUFBcUIsSUFBSTtJQUN4QixNQUFNLENBQUMsUUFBUSxDQUFrQjtJQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFhO0lBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQWdCO0lBQzdCLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztJQUM3QixPQUFPLEdBQUcsSUFBSSx3QkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsS0FBSyxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxJQUFJLGVBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsSUFBSSxlQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLElBQUksa0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixJQUFJLEdBQUcsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsWUFBWSxHQUFHLElBQUksc0JBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxLQUFLLEdBQUcsSUFBSSxlQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsU0FBUyxHQUFHLElBQUksbUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLElBQUksQ0FBZ0I7SUFDNUIsT0FBTyxDQUFxQjtJQUNyQyxZQUFZLE9BQWlCO1FBQzVCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUUzQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksRUFBRTtnQkFDTCxHQUFHO29CQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDL0osQ0FBQztnQkFDRCxZQUFZLEVBQUUsS0FBSztnQkFDbkIsVUFBVSxFQUFFLEtBQUs7YUFDakI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFO29CQUNOLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUk7b0JBQ2xDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUk7b0JBQ2hDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLFFBQVEsc0JBQUcsQ0FBQyxPQUFPLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsUUFBUSxHQUFHLEdBQUc7b0JBQy9JLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUU7aUJBQzVDO2dCQUNELFlBQVksRUFBRSxLQUFLO2dCQUNuQixVQUFVLEVBQUUsS0FBSztnQkFDakIsUUFBUSxFQUFFLEtBQUs7YUFDZjtTQUNELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFvQjtRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7WUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUNyQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7WUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUU7WUFDakMsUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUNqQixLQUFLLFVBQVU7b0JBQUUsR0FBRyxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztvQkFBQyxNQUFNO2dCQUM3RCxLQUFLLFdBQVc7b0JBQUUsR0FBRyxDQUFDLHVCQUF1QixHQUFHLE9BQU8sQ0FBQztvQkFBQyxNQUFNO2dCQUMvRCxLQUFLLFlBQVksQ0FBQztnQkFBQyxLQUFLLGNBQWMsQ0FBQztnQkFBQyxLQUFLLFdBQVc7b0JBQUUsR0FBRyxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztvQkFBQyxNQUFNO2dCQUNyRyxPQUFPLENBQUMsQ0FBQztvQkFDUixHQUFHLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO29CQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQjt3QkFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLHNOQUFzTixDQUFDLENBQUM7aUJBQzNRO2FBQ0Q7U0FDRDtRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMzQixZQUFZLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDdEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ3RCLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRztZQUNwQixvQkFBb0IsRUFBRSxHQUFHLENBQUMsb0JBQW9CLElBQUksSUFBSTtZQUN0RCx1QkFBdUIsRUFBRSxHQUFHLENBQUMsdUJBQXVCLElBQUksV0FBVztTQUNuRSxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Q7QUFuRUQsdUJBbUVDO0FBRUQsTUFBTSxRQUFTLFNBQVEsSUFBSTtJQUMxQixZQUFZLE9BQWdCO1FBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDaEIsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLEdBQUc7WUFDVCxHQUFHLEVBQUUsSUFBSTtTQUNULENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRDtBQTRDQSw0QkFBUTtBQTFDVCxNQUFNLEdBQUksU0FBUSxJQUFJO0lBQ3JCLFlBQVksT0FBZ0IsRUFBRSxHQUFHLEdBQUcsS0FBSztRQUN4QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRztTQUNILENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRDtBQWtDQSxrQkFBRztBQWhDSixNQUFNLE1BQU8sU0FBUSxJQUFJO0lBQ3hCLFlBQVksT0FBZ0IsRUFBRSxlQUFnQztRQUM3RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRDtBQTRCQSx3QkFBTTtBQTFCUCxtSEFBbUg7QUFDbkgsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7QUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUVyQiwwQ0FBd0I7QUFDeEIsd0RBQWlEO0FBQXhDLDBHQUFBLFFBQVEsT0FBQSJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type E621 from "..";
|
|
2
2
|
import Tag from "../structures/Tag";
|
|
3
3
|
import TagHistory from "../structures/TagHistory";
|
|
4
|
-
import type { SearchTagsOptions, ModifyTagOptions, SearchTagHistoryOptions } from "../types";
|
|
4
|
+
import type { SearchTagsOptions, ModifyTagOptions, SearchTagHistoryOptions, AutocompleteResult } from "../types";
|
|
5
5
|
export default class Tags {
|
|
6
6
|
private readonly auth;
|
|
7
7
|
private readonly main;
|
|
@@ -68,4 +68,11 @@ export default class Tags {
|
|
|
68
68
|
* @returns {Promise<Array<TagHistory>>}
|
|
69
69
|
*/
|
|
70
70
|
searchHistory(options?: SearchTagHistoryOptions): Promise<TagHistory[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Get autocomplete results
|
|
73
|
+
*
|
|
74
|
+
* @param {string} match - the string to get results for
|
|
75
|
+
* @returns {Promise<Array<AutocompleteResult>>}
|
|
76
|
+
*/
|
|
77
|
+
getAutocomplete(match: string): Promise<AutocompleteResult[] | null>;
|
|
71
78
|
}
|
|
@@ -154,6 +154,21 @@ class Tags {
|
|
|
154
154
|
return [];
|
|
155
155
|
return res.map(info => new TagHistory_1.default(this.main, info));
|
|
156
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Get autocomplete results
|
|
159
|
+
*
|
|
160
|
+
* @param {string} match - the string to get results for
|
|
161
|
+
* @returns {Promise<Array<AutocompleteResult>>}
|
|
162
|
+
*/
|
|
163
|
+
async getAutocomplete(match) {
|
|
164
|
+
if (!match)
|
|
165
|
+
throw new Error("string to match is required in Tags#getAutocomplete");
|
|
166
|
+
const qs = new FormHelper_1.default().add("search[name_matches]", match);
|
|
167
|
+
const res = await this.main.request.get(`/tags/autocomplete.json?${qs.build()}`);
|
|
168
|
+
if (res && !Array.isArray(res))
|
|
169
|
+
return [];
|
|
170
|
+
return res;
|
|
171
|
+
}
|
|
157
172
|
}
|
|
158
173
|
exports.default = Tags;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL1RhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw0REFBb0M7QUFDcEMsMEVBQWtEO0FBVWxELG9FQUE0QztBQUM1QywyREFBa0Q7QUFFbEQsTUFBcUIsSUFBSTtJQUNQLElBQUksQ0FBZ0I7SUFDcEIsSUFBSSxDQUFPO0lBQzVCLFlBQVksSUFBVTtRQUNyQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksRUFBRTtnQkFDTCxHQUFHO29CQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ25MLENBQUM7Z0JBQ0QsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFVBQVUsRUFBRSxLQUFLO2FBQ2pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNMLEtBQUssRUFBRSxJQUFJO2dCQUNYLFlBQVksRUFBRSxLQUFLO2dCQUNuQixVQUFVLEVBQUUsS0FBSztnQkFDakIsUUFBUSxFQUFFLEtBQUs7YUFDZjtTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBVTtRQUNuQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBZ0IsU0FBUyxFQUFFLE9BQU8sQ0FB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
|
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface InstanceOptions {
|
|
2
2
|
/**
|
|
3
3
|
* If the instance you are targeting supports ssl
|
|
4
|
-
*
|
|
5
|
-
* Default: true if `instanceHost` is "e621.net", false otherwise
|
|
6
4
|
*/
|
|
7
|
-
|
|
5
|
+
ssl?: boolean;
|
|
8
6
|
/**
|
|
9
7
|
* The port of the instance you are targeting
|
|
10
8
|
*
|
|
11
9
|
* Default: 443 if `instanceSSL` is true, 80 otherwise
|
|
12
10
|
*/
|
|
13
|
-
|
|
11
|
+
port?: number;
|
|
14
12
|
/**
|
|
15
13
|
* The host of the instance you are targeting
|
|
16
|
-
*
|
|
17
|
-
* Default: e621.net
|
|
18
14
|
*/
|
|
19
|
-
|
|
15
|
+
host?: string;
|
|
20
16
|
/**
|
|
21
17
|
* Override our default url reconstruction when we see a null file url
|
|
22
18
|
*
|
|
23
|
-
* Default (
|
|
19
|
+
* Default (E621): https://static1.e621.net/data/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
|
|
24
20
|
*
|
|
25
|
-
* Default (
|
|
21
|
+
* Default (YiffyAPI): https://v3.yiff.media/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
|
|
26
22
|
*
|
|
27
|
-
* Default (
|
|
23
|
+
* Default (Dev): http://e621ng.local/data/(preview/|sample/)MD5.EXT
|
|
28
24
|
*
|
|
29
|
-
* If you use a host that is not supported, and do not implement this,
|
|
25
|
+
* If you use a host that is not supported, and do not implement this, an error will be thrown.
|
|
30
26
|
*
|
|
31
27
|
* @param {string} md5 - the md5 of the image
|
|
32
28
|
* @param {("original" | "preview" | "sample")} type - the type of url being constructed
|
|
@@ -36,9 +32,11 @@ export interface Options {
|
|
|
36
32
|
/**
|
|
37
33
|
* The method to use for image reconstructon (if you are not using E621, YiffyAPI, or e621ng, you MUST override the reconstructStaticURL function, as the static urls are hardcoded for these)
|
|
38
34
|
*
|
|
39
|
-
* Default: based on `instanceHost` - e621.net = e621 | yiff.rest = yiffy |
|
|
35
|
+
* Default: based on `instanceHost` - e621.net = e621 | yiff.rest = yiffy | e621ng.local = dev | other = null
|
|
40
36
|
*/
|
|
41
37
|
imageReconstructionType?: "e621" | "yiffy" | "dev" | null;
|
|
38
|
+
}
|
|
39
|
+
export interface Options {
|
|
42
40
|
/**
|
|
43
41
|
* The uername of the user you want to authenticate with
|
|
44
42
|
*
|
|
@@ -67,7 +65,7 @@ export interface Options {
|
|
|
67
65
|
requestTimeout?: number;
|
|
68
66
|
}
|
|
69
67
|
|
|
70
|
-
export interface
|
|
68
|
+
export interface ConstructedOptions {
|
|
71
69
|
instanceSSL: boolean;
|
|
72
70
|
instancePort: number;
|
|
73
71
|
instanceHost: string;
|
|
@@ -46,3 +46,11 @@ export interface SearchTagHistoryOptions extends GenericSearchOptions {
|
|
|
46
46
|
userName?: string;
|
|
47
47
|
userID?: number;
|
|
48
48
|
}
|
|
49
|
+
|
|
50
|
+
interface AutocompleteResult {
|
|
51
|
+
id: number;
|
|
52
|
+
name: string;
|
|
53
|
+
post_count: number;
|
|
54
|
+
category: number;
|
|
55
|
+
antecedent_name: string;
|
|
56
|
+
}
|
package/build/src/util/Debug.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const debug_1 = __importDefault(require("debug"));
|
|
7
3
|
function Debug(name, first, ...extra) {
|
|
8
|
-
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
5
|
+
let debug;
|
|
6
|
+
try {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
8
|
+
debug = require("debug");
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return debug(!name ? "e621:general" : `e621:${name}`)(first, ...extra);
|
|
9
14
|
}
|
|
10
15
|
exports.default = Debug;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9EZWJ1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLFNBQXdCLEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYyxFQUFFLEdBQUcsS0FBcUI7SUFDbkYsc0VBQXNFO0lBQ3RFLElBQUksS0FBNEIsQ0FBQztJQUNqQyxJQUFJO1FBQ0gsbUVBQW1FO1FBQ25FLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDekI7SUFBQyxNQUFNO1FBQ1AsT0FBTztLQUNQO0lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFWRCx3QkFVQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "e621",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.10",
|
|
4
4
|
"description": "A module for interfacing with e621.",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@uwu-codes/eslint-config": "^1.0.31",
|
|
35
35
|
"@uwu-codes/tsconfig": "^1.0.1",
|
|
36
36
|
"chai": "^4.3.4",
|
|
37
|
-
"mocha": "^9.1.
|
|
37
|
+
"mocha": "^9.1.4",
|
|
38
38
|
"ts-node": "^10.4.0",
|
|
39
39
|
"typescript": "^4.5.4"
|
|
40
40
|
},
|
|
41
|
-
"
|
|
41
|
+
"optionalDependencies": {
|
|
42
42
|
"debug": "^4.3.3"
|
|
43
43
|
}
|
|
44
44
|
}
|