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 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/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L57-L59) | UserAgent for requests |
35
- | `reconstructStaticURL` | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/util/RequestHandler.ts#L254-L256) | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L63-L65) | Override default url reconstruction |
36
- | `imageReconstructionType` | "e621" \| "yiffy" \| "local" \| null | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L39) | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L41) |
37
- | `instanceSSL` | Boolean | true | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L03) |
38
- | `instancePort` | Number | 443 | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L9) |
39
- | `instanceHost` | String | e621.net | [See Code](https://github.com/DonovanDMC/E621/blob/89d662f19dc76c77e28f40b18a96f9043c4e2a3a/src/types/index.d.ts#L15) |
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
+ ```
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "e621",
3
- "version": "2.1.7",
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.3",
37
+ "mocha": "^9.1.4",
38
38
  "ts-node": "^10.4.0",
39
39
  "typescript": "^4.5.4"
40
40
  },
41
- "dependencies": {
41
+ "optionalDependencies": {
42
42
  "debug": "^4.3.3"
43
43
  }
44
44
  }
@@ -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: InstanceOptions;
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, Notes, NoteHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostApproval, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory };
60
+ export { Artist, ArtistHistory, Note, NoteHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostApproval, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory, Yiffy, Yiffy as YiffyAPI, Dev, Custom };
@@ -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.Notes = exports.ArtistHistory = exports.Artist = exports.APIError = void 0;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUFtRDtBQUNuRCxVQUFVO0FBQ1YsZ0VBQXdDO0FBQ3hDLDREQUFvQztBQThGbkMsZ0JBOUZNLGVBQUssQ0E4Rk47QUE3Rk4sNERBQW9DO0FBQ3BDLDREQUFvQztBQUNwQyxrRUFBMEM7QUFDMUMsMERBQWtDO0FBQ2xDLDBFQUFrRDtBQUNsRCw0REFBb0M7QUFDcEMsb0VBQTRDO0FBQzVDLGFBQWE7QUFDYixpRUFBeUM7QUFtRnhDLGlCQW5GTSxnQkFBTSxDQW1GTjtBQWxGUCwrRUFBdUQ7QUFtRnRELHdCQW5GTSx1QkFBYSxDQW1GTjtBQWpGZCwyRUFBbUQ7QUFtRmxELHNCQW5GTSxxQkFBVyxDQW1GTjtBQWxGWix1RkFBK0Q7QUFtRjlELDRCQW5GTSwyQkFBaUIsQ0FtRk47QUFsRmxCLDZEQUFxQztBQW1GcEMsZUFuRk0sY0FBSSxDQW1GTjtBQWxGTCwyRUFBbUQ7QUFtRmxELHNCQW5GTSxxQkFBVyxDQW1GTjtBQWxGWiw2REFBcUM7QUFtRnBDLGVBbkZNLGNBQUksQ0FtRk47QUFsRkwsNkVBQXFEO0FBbUZwRCx1QkFuRk0sc0JBQVksQ0FtRk47QUFsRmIsMkVBQW1EO0FBbUZsRCxzQkFuRk0scUJBQVcsQ0FtRk47QUFsRlosbUVBQTJDO0FBbUYxQyxrQkFuRk0saUJBQU8sQ0FtRk47QUFsRlIsMkRBQW1DO0FBbUZsQyxjQW5GTSxhQUFHLENBbUZOO0FBbEZKLHlFQUFpRDtBQW1GaEQscUJBbkZNLG9CQUFVLENBbUZOO0FBbEZYLDZEQUFxQztBQW1GcEMsZUFuRk0sY0FBSSxDQW1GTjtBQWxGTCxxRUFBNkM7QUFtRjVDLG1CQW5GTSxrQkFBUSxDQW1GTjtBQWxGVCxtRkFBMkQ7QUFtRjFELDBCQW5GTSx5QkFBZSxDQW1GTjtBQWpGaEIsbUVBQWtDO0FBRWxDLHFEQUFxRDtB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
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUFtRDtBQUNuRCxVQUFVO0FBQ1YsZ0VBQXdDO0FBQ3hDLDREQUFvQztBQUNwQyw0REFBb0M7QUFDcEMsNERBQW9DO0FBQ3BDLGtFQUEwQztBQUMxQywwREFBa0M7QUFDbEMsMEVBQWtEO0FBQ2xELDREQUFvQztBQUNwQyxvRUFBNEM7QUFDNUMsYUFBYTtBQUNiLGlFQUF5QztBQTJIeEMsaUJBM0hNLGdCQUFNLENBMkhOO0FBMUhQLCtFQUF1RDtBQTJIdEQsd0JBM0hNLHVCQUFhLENBMkhOO0FBMUhkLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCwyRUFBbUQ7QUEySGxELHNCQTNITSxxQkFBVyxDQTJITjtBQTFIWix1RkFBK0Q7QUEySDlELDRCQTNITSwyQkFBaUIsQ0EySE47QUExSGxCLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCwyRUFBbUQ7QUEySGxELHNCQTNITSxxQkFBVyxDQTJITjtBQTFIWiw2REFBcUM7QUEySHBDLGVBM0hNLGNBQUksQ0EySE47QUExSEwsNkVBQXFEO0FBMkhwRCx1QkEzSE0sc0JBQVksQ0EySE47QUExSGIsMkVBQW1EO0FBMkhsRCxzQkEzSE0scUJBQVcsQ0EySE47QUExSFosbUVBQTJDO0FBMkgxQyxrQkEzSE0saUJBQU8sQ0EySE47QUExSFIsMkRBQW1DO0FBMkhsQyxjQTNITSxhQUFHLENBMkhOO0FBMUhKLHlFQUFpRDtBQTJIaEQscUJBM0hNLG9CQUFVLENBMkhOO0FBMUhYLDZEQUFxQztBQTJIcEMsZUEzSE0sY0FBSSxDQTJITjtBQTFITCxxRUFBNkM7QUEySDVDLG1CQTNITSxrQkFBUSxDQTJITjtBQTFIVCxtRkFBMkQ7QUEySDFELDBCQTNITSx5QkFBZSxDQTJITjtBQXpIaEIsbUVBQWtDO0FB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
@@ -1,32 +1,28 @@
1
- export interface Options {
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
- instanceSSL?: boolean;
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
- instancePort?: number;
11
+ port?: number;
14
12
  /**
15
13
  * The host of the instance you are targeting
16
- *
17
- * Default: e621.net
18
14
  */
19
- instanceHost?: string;
15
+ host?: string;
20
16
  /**
21
17
  * Override our default url reconstruction when we see a null file url
22
18
  *
23
- * Default (e621.net): https://static1.e621.net/data/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
19
+ * Default (E621): https://static1.e621.net/data/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
24
20
  *
25
- * Default (yiff.rest): https://v3.yiff.media/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
21
+ * Default (YiffyAPI): https://v3.yiff.media/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
26
22
  *
27
- * Default (e621.local): http://e621.local/data/(preview/|sample/)MD5.EXT
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, or set a construction type, an error will be thrown.
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 | e621.local = dev | other = null
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 InstanceOptions {
68
+ export interface ConstructedOptions {
71
69
  instanceSSL: boolean;
72
70
  instancePort: number;
73
71
  instanceHost: string;
@@ -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
- return (0, debug_1.default)(!name ? "e621:general" : `e621:${name}`)(first, ...extra);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9EZWJ1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtEQUEwQjtBQUUxQixTQUF3QixLQUFLLENBQUMsSUFBWSxFQUFFLEtBQWMsRUFBRSxHQUFHLEtBQXFCO0lBQ25GLE9BQU8sSUFBQSxlQUFLLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFGRCx3QkFFQyJ9
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.7",
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.3",
37
+ "mocha": "^9.1.4",
38
38
  "ts-node": "^10.4.0",
39
39
  "typescript": "^4.5.4"
40
40
  },
41
- "dependencies": {
41
+ "optionalDependencies": {
42
42
  "debug": "^4.3.3"
43
43
  }
44
44
  }