e621 2.1.7 → 2.1.8
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 +30 -6
- package/build/package.json +3 -3
- package/build/src/index.d.ts +18 -3
- package/build/src/index.js +73 -32
- package/build/src/types/index.d.ts +12 -14
- package/build/src/util/Debug.js +11 -6
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -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 Zwagoth/e621ng@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.8",
|
|
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,10 @@ 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 Yiffy: Yiffy;
|
|
30
|
+
static YiffyAPI: Yiffy;
|
|
31
|
+
static Dev: Dev;
|
|
32
|
+
static Custom: Custom;
|
|
28
33
|
POST_LIMIT_PER_REQUEST: number;
|
|
29
34
|
request: RequestHandler;
|
|
30
35
|
artists: Artists;
|
|
@@ -37,9 +42,19 @@ export default class E621 {
|
|
|
37
42
|
users: Users;
|
|
38
43
|
wikiPages: WikiPages;
|
|
39
44
|
private readonly auth;
|
|
40
|
-
readonly options:
|
|
45
|
+
readonly options: ConstructedOptions;
|
|
41
46
|
constructor(options?: Options);
|
|
47
|
+
setInstance(opt: InstanceOptions): void;
|
|
48
|
+
}
|
|
49
|
+
declare class Yiffy extends E621 {
|
|
50
|
+
constructor(options: Options);
|
|
51
|
+
}
|
|
52
|
+
declare class Dev extends E621 {
|
|
53
|
+
constructor(options: Options, ssl?: boolean);
|
|
54
|
+
}
|
|
55
|
+
declare class Custom extends E621 {
|
|
56
|
+
constructor(options: Options, instanceOptions: InstanceOptions);
|
|
42
57
|
}
|
|
43
58
|
export * from "./types";
|
|
44
59
|
export { APIError } from "./util/RequestHandler";
|
|
45
|
-
export { Artist, ArtistHistory,
|
|
60
|
+
export { Artist, ArtistHistory, Note, NoteHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostApproval, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory, Yiffy, Yiffy as 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.Yiffy = 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,10 @@ 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 Yiffy;
|
|
66
|
+
static YiffyAPI;
|
|
67
|
+
static Dev;
|
|
68
|
+
static Custom;
|
|
64
69
|
POST_LIMIT_PER_REQUEST = 320;
|
|
65
70
|
request = new RequestHandler_1.default(this);
|
|
66
71
|
artists = new Artists_1.default(this);
|
|
@@ -77,30 +82,6 @@ class E621 {
|
|
|
77
82
|
constructor(options) {
|
|
78
83
|
if (!options)
|
|
79
84
|
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
85
|
Object.defineProperties(this, {
|
|
105
86
|
auth: {
|
|
106
87
|
get() {
|
|
@@ -111,13 +92,8 @@ class E621 {
|
|
|
111
92
|
},
|
|
112
93
|
options: {
|
|
113
94
|
value: {
|
|
114
|
-
instanceHost: options.instanceHost,
|
|
115
|
-
instancePort: options.instancePort,
|
|
116
|
-
instanceSSL: options.instanceSSL,
|
|
117
95
|
authUser: options.authUser ?? null,
|
|
118
96
|
authKey: options.authKey ?? null,
|
|
119
|
-
reconstructStaticURL: options.reconstructStaticURL || null,
|
|
120
|
-
imageReconstructionType: options.imageReconstructionType || "hierarchy",
|
|
121
97
|
userAgent: options.userAgent ?? `E621/${package_json_1.default.version} (https://github.com/DonovanDMC/E621${!options.authUser ? "" : `; "${options.authUser}"`})`,
|
|
122
98
|
requestTimeout: options.requestTimeout ?? 30
|
|
123
99
|
},
|
|
@@ -126,9 +102,74 @@ class E621 {
|
|
|
126
102
|
writable: false
|
|
127
103
|
}
|
|
128
104
|
});
|
|
105
|
+
this.setInstance({});
|
|
106
|
+
}
|
|
107
|
+
setInstance(opt) {
|
|
108
|
+
if (!opt.host)
|
|
109
|
+
opt.host = "e621.net";
|
|
110
|
+
opt.ssl = opt.ssl ?? ["e621.net", "yiff.rest"].includes(opt.host);
|
|
111
|
+
if (!opt.port)
|
|
112
|
+
opt.port = opt.ssl ? 443 : 80;
|
|
113
|
+
if (!opt.imageReconstructionType) {
|
|
114
|
+
switch (opt.host) {
|
|
115
|
+
case "e621.net":
|
|
116
|
+
opt.imageReconstructionType = "e621";
|
|
117
|
+
break;
|
|
118
|
+
case "yiff.rest":
|
|
119
|
+
opt.imageReconstructionType = "yiffy";
|
|
120
|
+
break;
|
|
121
|
+
case "e621.local":
|
|
122
|
+
case "e621ng.local":
|
|
123
|
+
case "localhost":
|
|
124
|
+
opt.imageReconstructionType = "dev";
|
|
125
|
+
break;
|
|
126
|
+
default: {
|
|
127
|
+
opt.imageReconstructionType = null;
|
|
128
|
+
if (!opt.reconstructStaticURL)
|
|
129
|
+
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.");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
Object.assign(this.options, {
|
|
134
|
+
instanceHost: opt.host,
|
|
135
|
+
instancePort: opt.port,
|
|
136
|
+
instanceSSL: opt.ssl,
|
|
137
|
+
reconstructStaticURL: opt.reconstructStaticURL || null,
|
|
138
|
+
imageReconstructionType: opt.imageReconstructionType || "hierarchy"
|
|
139
|
+
});
|
|
129
140
|
}
|
|
130
141
|
}
|
|
131
142
|
exports.default = E621;
|
|
143
|
+
class Yiffy extends E621 {
|
|
144
|
+
constructor(options) {
|
|
145
|
+
super(options);
|
|
146
|
+
this.setInstance({
|
|
147
|
+
host: "yiff.rest",
|
|
148
|
+
port: 443,
|
|
149
|
+
ssl: true
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.Yiffy = Yiffy;
|
|
154
|
+
exports.YiffyAPI = Yiffy;
|
|
155
|
+
class Dev extends E621 {
|
|
156
|
+
constructor(options, ssl = false) {
|
|
157
|
+
super(options);
|
|
158
|
+
this.setInstance({
|
|
159
|
+
host: "localhost",
|
|
160
|
+
port: 3000,
|
|
161
|
+
ssl
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
exports.Dev = Dev;
|
|
166
|
+
class Custom extends E621 {
|
|
167
|
+
constructor(options, instanceOptions) {
|
|
168
|
+
super(options);
|
|
169
|
+
this.setInstance(instanceOptions);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.Custom = Custom;
|
|
132
173
|
var RequestHandler_2 = require("./util/RequestHandler");
|
|
133
174
|
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return RequestHandler_2.APIError; } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUFtRDtBQUNuRCxVQUFVO0FBQ1YsZ0VBQXdDO0FBQ3hDLDREQUFvQztBQUNwQyw0REFBb0M7QUFDcEMsNERBQW9DO0FBQ3BDLGtFQUEwQztBQUMxQywwREFBa0M7QUFDbEMsMEVBQWtEO0FBQ2xELDREQUFvQztBQUNwQyxvRUFBNEM7QUFDNUMsYUFBYTtBQUNiLGlFQUF5QztBQTJIeEMsaUJBM0hNLGdCQUFNLENBMkhOO0FBMUhQLCtFQUF1RDtBQTJIdEQsd0JBM0hNLHVCQUFhLENBMkhOO0FBMUhkLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCwyRUFBbUQ7QUEySGxELHNCQTNITSxxQkFBVyxDQTJITjtBQTFIWix1RkFBK0Q7QUEySDlELDRCQTNITSwyQkFBaUIsQ0EySE47QUExSGxCLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCwyRUFBbUQ7QUEySGxELHNCQTNITSxxQkFBVyxDQTJITjtBQTFIWiw2REFBcUM7QUEySHBDLGVBM0hNLGNBQUksQ0EySE47QUExSEwsNkVBQXFEO0FBMkhwRCx1QkEzSE0sc0JBQVksQ0EySE47QUExSGIsMkVBQW1EO0FBMkhsRCxzQkEzSE0scUJBQVcsQ0EySE47QUExSFosbUVBQTJDO0FBMkgxQyxrQkEzSE0saUJBQU8sQ0EySE47QUExSFIsMkRBQW1DO0FBMkhsQyxjQTNITSxhQUFHLENBMkhOO0FBMUhKLHlFQUFpRDtBQTJIaEQscUJBM0hNLG9CQUFVLENBMkhOO0FBMUhYLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCxxRUFBNkM7QUEySDVDLG1CQTNITSxrQkFBUSxDQTJITjtBQTFIVCxtRkFBMkQ7QUEySDFELDBCQTNITSx5QkFBZSxDQTJITjtBQXpIaEIsbUVBQWtDO0FB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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;
|
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.8",
|
|
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
|
}
|