e621 2.2.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -40
  3. package/dist/lib/Debug.d.ts +1 -0
  4. package/dist/lib/Debug.js +16 -0
  5. package/dist/lib/errors.d.ts +8 -0
  6. package/dist/lib/errors.js +37 -0
  7. package/dist/lib/generated/client/client.d.ts +2 -0
  8. package/dist/lib/generated/client/client.js +236 -0
  9. package/dist/lib/generated/client/index.d.ts +8 -0
  10. package/dist/lib/generated/client/index.js +7 -0
  11. package/dist/lib/generated/client/types.d.ts +117 -0
  12. package/dist/lib/generated/client/types.js +3 -0
  13. package/dist/lib/generated/client/utils.d.ts +33 -0
  14. package/dist/lib/generated/client/utils.js +229 -0
  15. package/dist/lib/generated/client.d.ts +12 -0
  16. package/dist/lib/generated/client.js +4 -0
  17. package/dist/lib/generated/core/auth.d.ts +18 -0
  18. package/dist/lib/generated/core/auth.js +15 -0
  19. package/dist/lib/generated/core/bodySerializer.d.ts +25 -0
  20. package/dist/lib/generated/core/bodySerializer.js +58 -0
  21. package/dist/lib/generated/core/params.d.ts +43 -0
  22. package/dist/lib/generated/core/params.js +101 -0
  23. package/dist/lib/generated/core/pathSerializer.d.ts +33 -0
  24. package/dist/lib/generated/core/pathSerializer.js +107 -0
  25. package/dist/lib/generated/core/queryKeySerializer.d.ts +18 -0
  26. package/dist/lib/generated/core/queryKeySerializer.js +93 -0
  27. package/dist/lib/generated/core/serverSentEvents.d.ts +71 -0
  28. package/dist/lib/generated/core/serverSentEvents.js +134 -0
  29. package/dist/lib/generated/core/types.d.ts +78 -0
  30. package/dist/lib/generated/core/types.js +3 -0
  31. package/dist/lib/generated/core/utils.d.ts +19 -0
  32. package/dist/lib/generated/core/utils.js +88 -0
  33. package/dist/lib/generated/schemas.d.ts +2908 -0
  34. package/dist/lib/generated/schemas.js +3911 -0
  35. package/dist/lib/generated/sdk.d.ts +1373 -0
  36. package/dist/lib/generated/sdk.js +2557 -0
  37. package/dist/lib/generated/source.json +19299 -0
  38. package/dist/lib/generated/types.d.ts +9663 -0
  39. package/dist/lib/generated/types.js +3 -0
  40. package/dist/lib/generated.d.ts +4 -0
  41. package/dist/lib/generated.js +5 -0
  42. package/dist/lib/index.d.ts +58 -0
  43. package/dist/lib/index.js +74 -0
  44. package/dist/lib/models/ApiKey.d.ts +14 -0
  45. package/dist/lib/models/ApiKey.js +17 -0
  46. package/dist/lib/models/Artist.d.ts +61 -0
  47. package/dist/lib/models/Artist.js +86 -0
  48. package/dist/lib/models/ArtistUrl.d.ts +14 -0
  49. package/dist/lib/models/ArtistUrl.js +17 -0
  50. package/dist/lib/models/ArtistVersion.d.ts +14 -0
  51. package/dist/lib/models/ArtistVersion.js +17 -0
  52. package/dist/lib/models/AvoidPosting.d.ts +63 -0
  53. package/dist/lib/models/AvoidPosting.js +97 -0
  54. package/dist/lib/models/AvoidPostingVersion.d.ts +14 -0
  55. package/dist/lib/models/AvoidPostingVersion.js +17 -0
  56. package/dist/lib/models/Ban.d.ts +14 -0
  57. package/dist/lib/models/Ban.js +17 -0
  58. package/dist/lib/models/Base.d.ts +11 -0
  59. package/dist/lib/models/Base.js +39 -0
  60. package/dist/lib/models/Blip.d.ts +79 -0
  61. package/dist/lib/models/Blip.js +120 -0
  62. package/dist/lib/models/BulkUpdateRequest.d.ts +49 -0
  63. package/dist/lib/models/BulkUpdateRequest.js +75 -0
  64. package/dist/lib/models/Comment.d.ts +100 -0
  65. package/dist/lib/models/Comment.js +157 -0
  66. package/dist/lib/models/CurrentUser.d.ts +14 -0
  67. package/dist/lib/models/CurrentUser.js +17 -0
  68. package/dist/lib/models/DMail.d.ts +46 -0
  69. package/dist/lib/models/DMail.js +73 -0
  70. package/dist/lib/models/EditHistory.d.ts +14 -0
  71. package/dist/lib/models/EditHistory.js +17 -0
  72. package/dist/lib/models/EmailBlacklist.d.ts +26 -0
  73. package/dist/lib/models/EmailBlacklist.js +37 -0
  74. package/dist/lib/models/ForumPost.d.ts +97 -0
  75. package/dist/lib/models/ForumPost.js +154 -0
  76. package/dist/lib/models/ForumPostVote.d.ts +24 -0
  77. package/dist/lib/models/ForumPostVote.js +35 -0
  78. package/dist/lib/models/ForumTopic.d.ts +81 -0
  79. package/dist/lib/models/ForumTopic.js +131 -0
  80. package/dist/lib/models/FullCurrentUser.d.ts +14 -0
  81. package/dist/lib/models/FullCurrentUser.js +17 -0
  82. package/dist/lib/models/FullUser.d.ts +14 -0
  83. package/dist/lib/models/FullUser.js +17 -0
  84. package/dist/lib/models/Help.d.ts +39 -0
  85. package/dist/lib/models/Help.js +57 -0
  86. package/dist/lib/models/IpBan.d.ts +28 -0
  87. package/dist/lib/models/IpBan.js +39 -0
  88. package/dist/lib/models/IqdbPost.d.ts +14 -0
  89. package/dist/lib/models/IqdbPost.js +17 -0
  90. package/dist/lib/models/Mascot.d.ts +39 -0
  91. package/dist/lib/models/Mascot.js +57 -0
  92. package/dist/lib/models/ModAction.d.ts +14 -0
  93. package/dist/lib/models/ModAction.js +17 -0
  94. package/dist/lib/models/NewsUpdate.d.ts +39 -0
  95. package/dist/lib/models/NewsUpdate.js +57 -0
  96. package/dist/lib/models/Note.d.ts +45 -0
  97. package/dist/lib/models/Note.js +71 -0
  98. package/dist/lib/models/NoteVersion.d.ts +24 -0
  99. package/dist/lib/models/NoteVersion.js +35 -0
  100. package/dist/lib/models/Pool.d.ts +67 -0
  101. package/dist/lib/models/Pool.js +109 -0
  102. package/dist/lib/models/PoolVersion.d.ts +24 -0
  103. package/dist/lib/models/PoolVersion.js +35 -0
  104. package/dist/lib/models/Post.d.ts +174 -0
  105. package/dist/lib/models/Post.js +287 -0
  106. package/dist/lib/models/PostApproval.d.ts +26 -0
  107. package/dist/lib/models/PostApproval.js +37 -0
  108. package/dist/lib/models/PostDisapproval.d.ts +14 -0
  109. package/dist/lib/models/PostDisapproval.js +17 -0
  110. package/dist/lib/models/PostEvent.d.ts +14 -0
  111. package/dist/lib/models/PostEvent.js +17 -0
  112. package/dist/lib/models/PostFlag.d.ts +38 -0
  113. package/dist/lib/models/PostFlag.js +57 -0
  114. package/dist/lib/models/PostReplacement.d.ts +75 -0
  115. package/dist/lib/models/PostReplacement.js +117 -0
  116. package/dist/lib/models/PostSet.d.ts +75 -0
  117. package/dist/lib/models/PostSet.js +117 -0
  118. package/dist/lib/models/PostVersion.d.ts +58 -0
  119. package/dist/lib/models/PostVersion.js +93 -0
  120. package/dist/lib/models/StaffNote.d.ts +53 -0
  121. package/dist/lib/models/StaffNote.js +79 -0
  122. package/dist/lib/models/Tag.d.ts +59 -0
  123. package/dist/lib/models/Tag.js +91 -0
  124. package/dist/lib/models/TagAlias.d.ts +51 -0
  125. package/dist/lib/models/TagAlias.js +77 -0
  126. package/dist/lib/models/TagCorrection.d.ts +15 -0
  127. package/dist/lib/models/TagCorrection.js +20 -0
  128. package/dist/lib/models/TagImplication.d.ts +51 -0
  129. package/dist/lib/models/TagImplication.js +77 -0
  130. package/dist/lib/models/TagPreview.d.ts +14 -0
  131. package/dist/lib/models/TagPreview.js +17 -0
  132. package/dist/lib/models/TagTypeVersion.d.ts +14 -0
  133. package/dist/lib/models/TagTypeVersion.js +17 -0
  134. package/dist/lib/models/Takedown.d.ts +87 -0
  135. package/dist/lib/models/Takedown.js +137 -0
  136. package/dist/lib/models/Ticket.d.ts +51 -0
  137. package/dist/lib/models/Ticket.js +77 -0
  138. package/dist/lib/models/Upload.d.ts +14 -0
  139. package/dist/lib/models/Upload.js +17 -0
  140. package/dist/lib/models/UploadWhitelist.d.ts +37 -0
  141. package/dist/lib/models/UploadWhitelist.js +55 -0
  142. package/dist/lib/models/User.d.ts +97 -0
  143. package/dist/lib/models/User.js +160 -0
  144. package/dist/lib/models/UserFeedback.d.ts +63 -0
  145. package/dist/lib/models/UserFeedback.js +97 -0
  146. package/dist/lib/models/UserNameChangeRequest.d.ts +26 -0
  147. package/dist/lib/models/UserNameChangeRequest.js +37 -0
  148. package/dist/lib/models/WikiPage.d.ts +49 -0
  149. package/dist/lib/models/WikiPage.js +75 -0
  150. package/dist/lib/models/WikiPageVersion.d.ts +24 -0
  151. package/dist/lib/models/WikiPageVersion.js +35 -0
  152. package/dist/lib/models/index.d.ts +53 -0
  153. package/dist/lib/models/index.js +54 -0
  154. package/dist/lib/modules/ArtistUrls.d.ts +18 -0
  155. package/dist/lib/modules/ArtistUrls.js +28 -0
  156. package/dist/lib/modules/ArtistVersions.d.ts +18 -0
  157. package/dist/lib/modules/ArtistVersions.js +28 -0
  158. package/dist/lib/modules/Artists.d.ts +90 -0
  159. package/dist/lib/modules/Artists.js +151 -0
  160. package/dist/lib/modules/AvoidPostingVersions.d.ts +18 -0
  161. package/dist/lib/modules/AvoidPostingVersions.js +28 -0
  162. package/dist/lib/modules/AvoidPostings.d.ts +112 -0
  163. package/dist/lib/modules/AvoidPostings.js +181 -0
  164. package/dist/lib/modules/Bans.d.ts +26 -0
  165. package/dist/lib/modules/Bans.js +47 -0
  166. package/dist/lib/modules/Base.d.ts +20 -0
  167. package/dist/lib/modules/Base.js +39 -0
  168. package/dist/lib/modules/Blips.d.ts +105 -0
  169. package/dist/lib/modules/Blips.js +188 -0
  170. package/dist/lib/modules/BulkUpdateRequests.d.ts +76 -0
  171. package/dist/lib/modules/BulkUpdateRequests.js +136 -0
  172. package/dist/lib/modules/CommentVotes.d.ts +30 -0
  173. package/dist/lib/modules/CommentVotes.js +56 -0
  174. package/dist/lib/modules/Comments.d.ts +112 -0
  175. package/dist/lib/modules/Comments.js +195 -0
  176. package/dist/lib/modules/DMails.d.ts +70 -0
  177. package/dist/lib/modules/DMails.js +134 -0
  178. package/dist/lib/modules/DText.d.ts +18 -0
  179. package/dist/lib/modules/DText.js +32 -0
  180. package/dist/lib/modules/EditHistories.d.ts +34 -0
  181. package/dist/lib/modules/EditHistories.js +56 -0
  182. package/dist/lib/modules/EmailBlacklists.d.ts +45 -0
  183. package/dist/lib/modules/EmailBlacklists.js +74 -0
  184. package/dist/lib/modules/Favorites.d.ts +38 -0
  185. package/dist/lib/modules/Favorites.js +73 -0
  186. package/dist/lib/modules/ForumPosts.d.ts +107 -0
  187. package/dist/lib/modules/ForumPosts.js +190 -0
  188. package/dist/lib/modules/ForumTopics.d.ts +125 -0
  189. package/dist/lib/modules/ForumTopics.js +237 -0
  190. package/dist/lib/modules/HelpPages.d.ts +67 -0
  191. package/dist/lib/modules/HelpPages.js +118 -0
  192. package/dist/lib/modules/IpBans.d.ts +47 -0
  193. package/dist/lib/modules/IpBans.js +76 -0
  194. package/dist/lib/modules/IqdbQueries.d.ts +36 -0
  195. package/dist/lib/modules/IqdbQueries.js +63 -0
  196. package/dist/lib/modules/Mascots.d.ts +60 -0
  197. package/dist/lib/modules/Mascots.js +98 -0
  198. package/dist/lib/modules/ModActions.d.ts +34 -0
  199. package/dist/lib/modules/ModActions.js +55 -0
  200. package/dist/lib/modules/NewsUpdates.d.ts +60 -0
  201. package/dist/lib/modules/NewsUpdates.js +98 -0
  202. package/dist/lib/modules/NoteVersions.d.ts +18 -0
  203. package/dist/lib/modules/NoteVersions.js +28 -0
  204. package/dist/lib/modules/Notes.d.ts +72 -0
  205. package/dist/lib/modules/Notes.js +133 -0
  206. package/dist/lib/modules/PoolVersions.d.ts +18 -0
  207. package/dist/lib/modules/PoolVersions.js +28 -0
  208. package/dist/lib/modules/Pools.d.ts +104 -0
  209. package/dist/lib/modules/Pools.js +197 -0
  210. package/dist/lib/modules/Popular.d.ts +18 -0
  211. package/dist/lib/modules/Popular.js +31 -0
  212. package/dist/lib/modules/PostApprovals.d.ts +42 -0
  213. package/dist/lib/modules/PostApprovals.js +77 -0
  214. package/dist/lib/modules/PostDisapprovals.d.ts +37 -0
  215. package/dist/lib/modules/PostDisapprovals.js +55 -0
  216. package/dist/lib/modules/PostEvents.d.ts +20 -0
  217. package/dist/lib/modules/PostEvents.js +30 -0
  218. package/dist/lib/modules/PostFlags.d.ts +53 -0
  219. package/dist/lib/modules/PostFlags.js +93 -0
  220. package/dist/lib/modules/PostReplacements.d.ts +94 -0
  221. package/dist/lib/modules/PostReplacements.js +167 -0
  222. package/dist/lib/modules/PostSets.d.ts +116 -0
  223. package/dist/lib/modules/PostSets.js +211 -0
  224. package/dist/lib/modules/PostVersions.d.ts +51 -0
  225. package/dist/lib/modules/PostVersions.js +94 -0
  226. package/dist/lib/modules/PostVotes.d.ts +28 -0
  227. package/dist/lib/modules/PostVotes.js +54 -0
  228. package/dist/lib/modules/Posts.d.ts +193 -0
  229. package/dist/lib/modules/Posts.js +395 -0
  230. package/dist/lib/modules/RelatedTags.d.ts +19 -0
  231. package/dist/lib/modules/RelatedTags.js +29 -0
  232. package/dist/lib/modules/StaffNotes.d.ts +80 -0
  233. package/dist/lib/modules/StaffNotes.js +140 -0
  234. package/dist/lib/modules/TagAliases.d.ts +80 -0
  235. package/dist/lib/modules/TagAliases.js +140 -0
  236. package/dist/lib/modules/TagCorrections.d.ts +25 -0
  237. package/dist/lib/modules/TagCorrections.js +52 -0
  238. package/dist/lib/modules/TagImplications.d.ts +80 -0
  239. package/dist/lib/modules/TagImplications.js +140 -0
  240. package/dist/lib/modules/TagTypeVersions.d.ts +18 -0
  241. package/dist/lib/modules/TagTypeVersions.js +28 -0
  242. package/dist/lib/modules/Tags.d.ts +64 -0
  243. package/dist/lib/modules/Tags.js +116 -0
  244. package/dist/lib/modules/Takedowns.d.ts +114 -0
  245. package/dist/lib/modules/Takedowns.js +211 -0
  246. package/dist/lib/modules/Tickets.d.ts +71 -0
  247. package/dist/lib/modules/Tickets.js +123 -0
  248. package/dist/lib/modules/UploadWhitelists.d.ts +68 -0
  249. package/dist/lib/modules/UploadWhitelists.js +117 -0
  250. package/dist/lib/modules/Uploads.d.ts +42 -0
  251. package/dist/lib/modules/Uploads.js +78 -0
  252. package/dist/lib/modules/UserFeedbacks.d.ts +94 -0
  253. package/dist/lib/modules/UserFeedbacks.js +165 -0
  254. package/dist/lib/modules/UserNameChangeRequests.d.ts +59 -0
  255. package/dist/lib/modules/UserNameChangeRequests.js +99 -0
  256. package/dist/lib/modules/Users.d.ts +132 -0
  257. package/dist/lib/modules/Users.js +263 -0
  258. package/dist/lib/modules/WikiPageVersions.d.ts +26 -0
  259. package/dist/lib/modules/WikiPageVersions.js +47 -0
  260. package/dist/lib/modules/WikiPages.d.ts +76 -0
  261. package/dist/lib/modules/WikiPages.js +137 -0
  262. package/dist/lib/modules/admin/Users.d.ts +45 -0
  263. package/dist/lib/modules/admin/Users.js +77 -0
  264. package/dist/lib/modules/comments/Votes.d.ts +26 -0
  265. package/dist/lib/modules/comments/Votes.js +51 -0
  266. package/dist/lib/modules/forum_posts/Votes.d.ts +26 -0
  267. package/dist/lib/modules/forum_posts/Votes.js +51 -0
  268. package/dist/lib/modules/index.d.ts +172 -0
  269. package/dist/lib/modules/index.js +114 -0
  270. package/dist/lib/modules/posts/Flag.d.ts +16 -0
  271. package/dist/lib/modules/posts/Flag.js +31 -0
  272. package/dist/lib/modules/posts/Votes.d.ts +26 -0
  273. package/dist/lib/modules/posts/Votes.js +51 -0
  274. package/dist/lib/modules/users/DMails.d.ts +29 -0
  275. package/dist/lib/modules/users/DMails.js +55 -0
  276. package/dist/lib/util.d.ts +48 -0
  277. package/dist/lib/util.js +49 -0
  278. package/dist/package.json +73 -0
  279. package/package.json +46 -20
  280. package/tsconfig.json +54 -0
  281. package/.mocharc.json +0 -6
  282. package/.ncurc.json +0 -3
  283. package/.node-version +0 -1
  284. package/Features/Artists.md +0 -39
  285. package/Features/Blips.md +0 -33
  286. package/Features/E621SearchInconsistencies.md +0 -54
  287. package/Features/FuturePlans.md +0 -50
  288. package/Features/Notes.md +0 -34
  289. package/Features/Pools.md +0 -38
  290. package/Features/PostFlags.md +0 -31
  291. package/Features/PostSets.md +0 -36
  292. package/Features/Posts.md +0 -46
  293. package/Features/README.md +0 -15
  294. package/Features/Tags.md +0 -34
  295. package/Features/Takedowns.md +0 -32
  296. package/Features/UserFeedback.md +0 -32
  297. package/Features/Users.md +0 -36
  298. package/Features/WikiPages.md +0 -36
  299. package/build/package.json +0 -45
  300. package/build/src/index.d.ts +0 -68
  301. package/build/src/index.js +0 -194
  302. package/build/src/modules/Artists.d.ts +0 -128
  303. package/build/src/modules/Artists.js +0 -295
  304. package/build/src/modules/Blips.d.ts +0 -79
  305. package/build/src/modules/Blips.js +0 -157
  306. package/build/src/modules/Notes.d.ts +0 -88
  307. package/build/src/modules/Notes.js +0 -189
  308. package/build/src/modules/Pools.d.ts +0 -130
  309. package/build/src/modules/Pools.js +0 -261
  310. package/build/src/modules/PostFlags.d.ts +0 -55
  311. package/build/src/modules/PostFlags.js +0 -126
  312. package/build/src/modules/PostSets.d.ts +0 -102
  313. package/build/src/modules/PostSets.js +0 -208
  314. package/build/src/modules/Posts.d.ts +0 -154
  315. package/build/src/modules/Posts.js +0 -390
  316. package/build/src/modules/Tags.d.ts +0 -78
  317. package/build/src/modules/Tags.js +0 -174
  318. package/build/src/modules/Takedowns.d.ts +0 -81
  319. package/build/src/modules/Takedowns.js +0 -195
  320. package/build/src/modules/UserFeedback.d.ts +0 -66
  321. package/build/src/modules/UserFeedback.js +0 -136
  322. package/build/src/modules/Users.d.ts +0 -117
  323. package/build/src/modules/Users.js +0 -261
  324. package/build/src/modules/WikiPages.d.ts +0 -107
  325. package/build/src/modules/WikiPages.js +0 -220
  326. package/build/src/structures/Artist.d.ts +0 -36
  327. package/build/src/structures/Artist.js +0 -51
  328. package/build/src/structures/ArtistHistory.d.ts +0 -39
  329. package/build/src/structures/ArtistHistory.js +0 -50
  330. package/build/src/structures/AuthenticatedUser.d.ts +0 -109
  331. package/build/src/structures/AuthenticatedUser.js +0 -128
  332. package/build/src/structures/Blip.d.ts +0 -66
  333. package/build/src/structures/Blip.js +0 -85
  334. package/build/src/structures/Note.d.ts +0 -32
  335. package/build/src/structures/Note.js +0 -41
  336. package/build/src/structures/NoteHistory.d.ts +0 -38
  337. package/build/src/structures/NoteHistory.js +0 -47
  338. package/build/src/structures/Pool.d.ts +0 -85
  339. package/build/src/structures/Pool.js +0 -112
  340. package/build/src/structures/PoolHistory.d.ts +0 -43
  341. package/build/src/structures/PoolHistory.js +0 -54
  342. package/build/src/structures/Post.d.ts +0 -157
  343. package/build/src/structures/Post.js +0 -170
  344. package/build/src/structures/PostApproval.d.ts +0 -25
  345. package/build/src/structures/PostApproval.js +0 -33
  346. package/build/src/structures/PostFlag.d.ts +0 -38
  347. package/build/src/structures/PostFlag.js +0 -47
  348. package/build/src/structures/PostHistory.d.ts +0 -52
  349. package/build/src/structures/PostHistory.js +0 -93
  350. package/build/src/structures/PostSet.d.ts +0 -71
  351. package/build/src/structures/PostSet.js +0 -93
  352. package/build/src/structures/Tag.d.ts +0 -61
  353. package/build/src/structures/Tag.js +0 -87
  354. package/build/src/structures/TagHistory.d.ts +0 -28
  355. package/build/src/structures/TagHistory.js +0 -36
  356. package/build/src/structures/Takedown.d.ts +0 -49
  357. package/build/src/structures/Takedown.js +0 -64
  358. package/build/src/structures/User.d.ts +0 -62
  359. package/build/src/structures/User.js +0 -80
  360. package/build/src/structures/WikiPage.d.ts +0 -17
  361. package/build/src/structures/WikiPage.js +0 -27
  362. package/build/src/structures/WikiPageHistory.d.ts +0 -38
  363. package/build/src/structures/WikiPageHistory.js +0 -49
  364. package/build/src/types/artists.d.ts +0 -82
  365. package/build/src/types/blips.d.ts +0 -37
  366. package/build/src/types/index.d.ts +0 -96
  367. package/build/src/types/notes.d.ts +0 -64
  368. package/build/src/types/pools.d.ts +0 -62
  369. package/build/src/types/post_flags.d.ts +0 -36
  370. package/build/src/types/post_sets.d.ts +0 -33
  371. package/build/src/types/posts.d.ts +0 -181
  372. package/build/src/types/tags.d.ts +0 -56
  373. package/build/src/types/takedowns.d.ts +0 -62
  374. package/build/src/types/user_feedback.d.ts +0 -27
  375. package/build/src/types/users.d.ts +0 -277
  376. package/build/src/types/wiki_pages.d.ts +0 -66
  377. package/build/src/util/Debug.d.ts +0 -1
  378. package/build/src/util/Debug.js +0 -16
  379. package/build/src/util/FormHelper.d.ts +0 -9
  380. package/build/src/util/FormHelper.js +0 -15
  381. package/build/src/util/MultipartData.d.ts +0 -7
  382. package/build/src/util/MultipartData.js +0 -39
  383. package/build/src/util/RequestHandler.d.ts +0 -38
  384. package/build/src/util/RequestHandler.js +0 -343
  385. package/build/src/util/Timer.d.ts +0 -6
  386. package/build/src/util/Timer.js +0 -71
@@ -0,0 +1,51 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { createPostVote, deletePostVote } from "../../generated/sdk.js";
3
+ import { OperationID } from "../../util.js";
4
+ import Base from "../Base.js";
5
+ /** @category Modules */
6
+ export default class PostVotes extends Base {
7
+ /**
8
+ * Create Post Vote
9
+ *
10
+ * @requiresApiKeyAuth
11
+ *
12
+ * @operationId {@link https://e621.wiki/#operations-Post_Votes-createPostVote createPostVote}
13
+ *
14
+ * @see {@link https://e621.wiki/#operations-Post_Votes-createPostVote Documentation} for more details.
15
+ */
16
+ async create(id, score, no_unvote) {
17
+ return createPostVote({
18
+ client: this.client,
19
+ path: { id },
20
+ query: { no_unvote, score }
21
+ }).then(res => this._handleResponse(res, 200, true));
22
+ }
23
+ /**
24
+ * Delete Post Vote
25
+ *
26
+ * @requiresApiKeyAuth
27
+ *
28
+ * @operationId {@link https://e621.wiki/#operations-Post_Votes-deletePostVote deletePostVote}
29
+ *
30
+ * @see {@link https://e621.wiki/#operations-Post_Votes-deletePostVote Documentation} for more details.
31
+ */
32
+ async delete(id) {
33
+ return deletePostVote({
34
+ client: this.client,
35
+ path: { id }
36
+ }).then(res => this._handleResponse(res, 204, true));
37
+ }
38
+ }
39
+ __decorate([
40
+ OperationID("createPostVote"),
41
+ __metadata("design:type", Function),
42
+ __metadata("design:paramtypes", [Number, Object, Boolean]),
43
+ __metadata("design:returntype", Promise)
44
+ ], PostVotes.prototype, "create", null);
45
+ __decorate([
46
+ OperationID("deletePostVote"),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [Number]),
49
+ __metadata("design:returntype", Promise)
50
+ ], PostVotes.prototype, "delete", null);
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVm90ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvbW9kdWxlcy9wb3N0cy9Wb3Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLElBQUksTUFBTSxZQUFZLENBQUM7QUFFOUIsd0JBQXdCO0FBQ3hCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBVSxTQUFRLElBQUk7SUFDdkM7Ozs7Ozs7O09BUUE7SUFFTSxBQUFOLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVSxFQUFFLEtBQWdELEVBQUUsU0FBbUI7UUFDMUYsT0FBTyxjQUFjLENBQUM7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUU7U0FDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7Ozs7T0FRQTtJQUVNLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFVO1FBQ25CLE9BQU8sY0FBYyxDQUFDO1lBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUksRUFBRSxFQUFFLEVBQUU7U0FDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDSjtBQXhCUztJQURSLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7Ozt1Q0FPMUI7QUFZSztJQURSLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzs7Ozt1Q0FNMUIifQ==
@@ -0,0 +1,29 @@
1
+ import DMail from "../../models/DMail.js";
2
+ import Base from "../Base.js";
3
+ /** @category Modules */
4
+ export default class UsersDMails extends Base {
5
+ /**
6
+ * Audit User DMail
7
+ *
8
+ * Must have the bd auditor user flag.
9
+ *
10
+ * @requiresApiKeyAuth
11
+ *
12
+ * @operationId {@link https://e621.wiki/#operations-DMails-auditUserDMail auditUserDMail}
13
+ *
14
+ * @see {@link https://e621.wiki/#operations-DMails-auditUserDMail Documentation} for more details.
15
+ */
16
+ get(user_id: number, id: number): Promise<DMail | null>;
17
+ /**
18
+ * Audit User DMails
19
+ *
20
+ * Must have the bd auditor user flag.
21
+ *
22
+ * @requiresApiKeyAuth
23
+ *
24
+ * @operationId {@link https://e621.wiki/#operations-DMails-auditUserDMails auditUserDMails}
25
+ *
26
+ * @see {@link https://e621.wiki/#operations-DMails-auditUserDMails Documentation} for more details.
27
+ */
28
+ search(user_id: number): Promise<Array<DMail>>;
29
+ }
@@ -0,0 +1,55 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { auditUserDMail, auditUserDMails } from "../../generated/sdk.js";
3
+ import DMail from "../../models/DMail.js";
4
+ import { OperationID } from "../../util.js";
5
+ import Base from "../Base.js";
6
+ /** @category Modules */
7
+ export default class UsersDMails extends Base {
8
+ /**
9
+ * Audit User DMail
10
+ *
11
+ * Must have the bd auditor user flag.
12
+ *
13
+ * @requiresApiKeyAuth
14
+ *
15
+ * @operationId {@link https://e621.wiki/#operations-DMails-auditUserDMail auditUserDMail}
16
+ *
17
+ * @see {@link https://e621.wiki/#operations-DMails-auditUserDMail Documentation} for more details.
18
+ */
19
+ async get(user_id, id) {
20
+ return auditUserDMail({
21
+ client: this.client,
22
+ path: { id, user_id }
23
+ }).then(res => this._handleResponse(res, 200, false, DMail));
24
+ }
25
+ /**
26
+ * Audit User DMails
27
+ *
28
+ * Must have the bd auditor user flag.
29
+ *
30
+ * @requiresApiKeyAuth
31
+ *
32
+ * @operationId {@link https://e621.wiki/#operations-DMails-auditUserDMails auditUserDMails}
33
+ *
34
+ * @see {@link https://e621.wiki/#operations-DMails-auditUserDMails Documentation} for more details.
35
+ */
36
+ async search(user_id) {
37
+ return auditUserDMails({
38
+ client: this.client,
39
+ path: { user_id }
40
+ }).then(res => this._handleResponse(res, 200, true, DMail));
41
+ }
42
+ }
43
+ __decorate([
44
+ OperationID("auditUserDMail"),
45
+ __metadata("design:type", Function),
46
+ __metadata("design:paramtypes", [Number, Number]),
47
+ __metadata("design:returntype", Promise)
48
+ ], UsersDMails.prototype, "get", null);
49
+ __decorate([
50
+ OperationID("auditUserDMails"),
51
+ __metadata("design:type", Function),
52
+ __metadata("design:paramtypes", [Number]),
53
+ __metadata("design:returntype", Promise)
54
+ ], UsersDMails.prototype, "search", null);
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRE1haWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL21vZHVsZXMvdXNlcnMvRE1haWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBRTlCLHdCQUF3QjtBQUN4QixNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVksU0FBUSxJQUFJO0lBQ3pDOzs7Ozs7Ozs7O09BVUE7SUFFTSxBQUFOLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQVU7UUFDakMsT0FBTyxjQUFjLENBQUM7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVQTtJQUVNLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sZUFBZSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUksRUFBRSxPQUFPLEVBQUU7U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0o7QUF6QlM7SUFEUixXQUFXLENBQUMsZ0JBQWdCLENBQUM7Ozs7c0NBTTFCO0FBY0s7SUFEUixXQUFXLENBQUMsaUJBQWlCLENBQUM7Ozs7eUNBTTNCIn0=
@@ -0,0 +1,48 @@
1
+ /** @category Types */
2
+ export type ExtractOrder<T extends {
3
+ query?: {
4
+ "search[order]"?: string;
5
+ };
6
+ }> = ExtractValue<"search[order]", T>;
7
+ /** @category Types */
8
+ export type ExtractValue<K extends string, T extends {
9
+ body?: {
10
+ [P in K]?: unknown;
11
+ };
12
+ query?: {
13
+ [P in K]?: unknown;
14
+ };
15
+ }> = T["body"] extends undefined ? T["query"] extends undefined ? never : Exclude<Exclude<T["query"], undefined>[K], undefined> : Exclude<Exclude<T["body"], undefined>[K], undefined>;
16
+ /** @category Types */
17
+ type TransformNestedKey<T extends string | number | symbol> = T extends `${string}[${infer U}]` ? U : T;
18
+ /** @category Types */
19
+ type OptionalKeys<T extends object> = {
20
+ [K in keyof T]-?: {} extends Pick<T, K> ? K : never;
21
+ }[keyof T];
22
+ /** @category Types */
23
+ type RequiredKeys<T extends object> = Exclude<keyof T, OptionalKeys<T>>;
24
+ /** @category Types */
25
+ export type TransformDataQueryToOptions<T extends Record<string, unknown>> = T extends {
26
+ query?: infer Query;
27
+ } ? Query extends Record<string, unknown> ? {
28
+ [K in RequiredKeys<Query> as TransformNestedKey<K>]: Query[K];
29
+ } & {
30
+ [K in OptionalKeys<Query> as TransformNestedKey<K>]?: Query[K];
31
+ } : never : never;
32
+ /** @category Types */
33
+ export type TransformDataBodyToOptions<T extends Record<string, unknown>> = T extends {
34
+ body?: infer Body;
35
+ } ? Body extends Record<string, unknown> ? {
36
+ [K in RequiredKeys<Body> as TransformNestedKey<K>]: Body[K];
37
+ } & {
38
+ [K in OptionalKeys<Body> as TransformNestedKey<K>]?: Body[K];
39
+ } : never : never;
40
+ /** @category Types */
41
+ export type PrefixKeys<T extends Record<string, unknown>, Root extends string, Excluded extends keyof T = never> = {
42
+ [K in keyof T as K extends Excluded ? K : `${Root}[${Extract<K, string>}]`]: T[K];
43
+ };
44
+ export declare function prefixKeys<Root extends string, T extends Record<string, unknown>, Excluded extends ReadonlyArray<keyof T> = []>(obj: T, root: Root, exclude?: Excluded): PrefixKeys<T, Root, Excluded[number]>;
45
+ export declare function prefixKeys<Root extends string, T extends Record<string, unknown>, Excluded extends ReadonlyArray<keyof T> = []>(obj: T | undefined, root: Root, exclude?: Excluded): PrefixKeys<T, Root, Excluded[number]> | undefined;
46
+ export declare function OperationID(value: string): (target: any, propertyKey: string) => void;
47
+ export declare function Schema(value: string): (target: any) => void;
48
+ export {};
@@ -0,0 +1,49 @@
1
+ import source from "./generated/source.json" with { type: "json" };
2
+ export function prefixKeys(obj, root, exclude) {
3
+ if (obj === undefined)
4
+ return undefined;
5
+ const result = {};
6
+ const excludeSet = new Set(exclude ?? []);
7
+ for (const key of Object.keys(obj)) {
8
+ if (excludeSet.has(key)) {
9
+ result[key] = obj[key];
10
+ }
11
+ else {
12
+ result[`${root}[${key}]`] = obj[key];
13
+ }
14
+ }
15
+ return result;
16
+ }
17
+ const operations = new Set(Object.values(source.paths).flatMap(path => Object.values(path).map(operation => operation.operationId)));
18
+ const schemas = new Set(Object.keys(source.components.schemas));
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
20
+ export function OperationID(value) {
21
+ if (!operations.has(value)) {
22
+ throw new Error(`OperationID "${value}" does not exist in the OpenAPI specification.`);
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
25
+ return function (target, propertyKey) {
26
+ Object.defineProperty(target[propertyKey], "operationID", {
27
+ value,
28
+ writable: false,
29
+ enumerable: false,
30
+ configurable: false
31
+ });
32
+ };
33
+ }
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
35
+ export function Schema(value) {
36
+ if (!schemas.has(value)) {
37
+ throw new Error(`Schema "${value}" does not exist in the OpenAPI specification.`);
38
+ }
39
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
40
+ return function (target) {
41
+ Object.defineProperty(target, "schema", {
42
+ value,
43
+ writable: false,
44
+ enumerable: false,
45
+ configurable: false
46
+ });
47
+ };
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLHlCQUF5QixDQUFDLE9BQU8sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBa0VuRSxNQUFNLFVBQVUsVUFBVSxDQUl4QixHQUFNLEVBQUUsSUFBVSxFQUFFLE9BQWtCO0lBQ3BDLElBQUksR0FBRyxLQUFLLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBNEIsRUFBRSxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUUxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxNQUErQyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBcUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFLLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRWhFLDRGQUE0RjtBQUM1RixNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWE7SUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixLQUFLLGdEQUFnRCxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELGlHQUFpRztJQUNqRyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLE1BQU0sQ0FBQyxjQUFjLENBQUUsTUFBaUIsQ0FBQyxXQUFvQixDQUFDLEVBQUUsYUFBYSxFQUFFO1lBQzNFLEtBQUs7WUFDTCxRQUFRLEVBQU0sS0FBSztZQUNuQixVQUFVLEVBQUksS0FBSztZQUNuQixZQUFZLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsNEZBQTRGO0FBQzVGLE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBYTtJQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLGdEQUFnRCxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELGlHQUFpRztJQUNqRyxPQUFPLFVBQVUsTUFBVztRQUN4QixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDcEMsS0FBSztZQUNMLFFBQVEsRUFBTSxLQUFLO1lBQ25CLFVBQVUsRUFBSSxLQUFLO1lBQ25CLFlBQVksRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUMifQ==
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "e621",
3
+ "version": "3.0.0",
4
+ "description": "A module for interfacing with e621.",
5
+ "packageManager": "pnpm@10.23.0",
6
+ "types": "./dist/lib/index.d.ts",
7
+ "module": "./dist/lib/index.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/lib/index.d.ts",
11
+ "import": "./dist/lib/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "scripts/build.sh",
16
+ "prepublishOnly": "npm run build",
17
+ "lint": "eslint lib --ext .ts",
18
+ "lint:fix": "eslint lib --ext .ts --fix",
19
+ "test:build": "npm run prepublishOnly",
20
+ "docs": "scripts/docs.sh",
21
+ "generate": "pnpx @hey-api/openapi-ts && tsx scripts/replace-bodyinit.ts"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/DonovanDMC/E621.git"
26
+ },
27
+ "keywords": [
28
+ "e621",
29
+ "e621-api",
30
+ "api",
31
+ "e926",
32
+ "e926-api",
33
+ "e6",
34
+ "e9"
35
+ ],
36
+ "author": "Donovan_DMC <hewwo@yiff.rocks>",
37
+ "license": "MIT",
38
+ "bugs": {
39
+ "url": "https://github.com/DonovanDMC/E621/issues"
40
+ },
41
+ "homepage": "https://github.com/DonovanDMC/E621#readme",
42
+ "devDependencies": {
43
+ "@hey-api/openapi-ts": "^0.94.0",
44
+ "@types/debug": "^4.1.9",
45
+ "@types/node": "^25.4.0",
46
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
47
+ "@typescript-eslint/parser": "^7.18.0",
48
+ "debug": "^4.3.4",
49
+ "eslint": "^8.57.1",
50
+ "eslint-plugin-import": "^2.31.0",
51
+ "eslint-plugin-import-newlines": "^1.4.0",
52
+ "eslint-plugin-jsdoc": "^50.6.11",
53
+ "eslint-plugin-json": "^4.0.1",
54
+ "eslint-plugin-prefer-arrow": "^1.2.3",
55
+ "eslint-plugin-unicorn": "^56.0.1",
56
+ "eslint-plugin-unused-imports": "^4.1.4",
57
+ "openapi-types": "^12.1.3",
58
+ "persistent-debug": "^1.0.1",
59
+ "tsx": "^4.21.0",
60
+ "typedoc": "^0.28.17",
61
+ "typedoc-plugin-mdn-links": "^5.1.1",
62
+ "typedoc-plugin-merge-modules": "^7.0.0",
63
+ "typescript": "~5.9.3",
64
+ "undici-types": "^7.22.0"
65
+ },
66
+ "type": "module",
67
+ "engines": {
68
+ "node": ">=20.19.0"
69
+ },
70
+ "dependencies": {
71
+ "tslib": "^2.8.1"
72
+ }
73
+ }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "e621",
3
- "version": "2.2.4",
3
+ "version": "3.0.0",
4
4
  "description": "A module for interfacing with e621.",
5
- "main": "build/src/index.js",
6
- "scripts": {
7
- "build": "rm -rf build && tsc -p tsc.json && sed -i '/__exportStar(require(\".\\/types\"), exports);/d' build/src/index.js && cp -r src/types build/src",
8
- "prepublishOnly": "npm run build",
9
- "dev": "npm publish --tag dev",
10
- "test": "npm run build && npx mocha"
5
+ "types": "./dist/lib/index.d.ts",
6
+ "module": "./dist/lib/index.js",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/lib/index.d.ts",
10
+ "import": "./dist/lib/index.js"
11
+ }
11
12
  },
12
13
  "repository": {
13
14
  "type": "git",
@@ -22,24 +23,49 @@
22
23
  "e6",
23
24
  "e9"
24
25
  ],
25
- "author": "Donovan Daniels <hewwo@yiff.rocks>",
26
+ "author": "Donovan_DMC <hewwo@yiff.rocks>",
26
27
  "license": "MIT",
27
28
  "bugs": {
28
29
  "url": "https://github.com/DonovanDMC/E621/issues"
29
30
  },
30
31
  "homepage": "https://github.com/DonovanDMC/E621#readme",
31
32
  "devDependencies": {
32
- "@types/chai": "^4.3.0",
33
- "@types/debug": "^4.1.7",
34
- "@types/mocha": "^9.1.0",
35
- "@uwu-codes/eslint-config": "^1.0.32",
36
- "@uwu-codes/tsconfig": "^1.0.1",
37
- "chai": "^4.3.6",
38
- "mocha": "^9.2.2",
39
- "ts-node": "^10.7.0",
40
- "typescript": "^4.6.2"
33
+ "@hey-api/openapi-ts": "^0.94.0",
34
+ "@types/debug": "^4.1.9",
35
+ "@types/node": "^25.4.0",
36
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
37
+ "@typescript-eslint/parser": "^7.18.0",
38
+ "debug": "^4.3.4",
39
+ "eslint": "^8.57.1",
40
+ "eslint-plugin-import": "^2.31.0",
41
+ "eslint-plugin-import-newlines": "^1.4.0",
42
+ "eslint-plugin-jsdoc": "^50.6.11",
43
+ "eslint-plugin-json": "^4.0.1",
44
+ "eslint-plugin-prefer-arrow": "^1.2.3",
45
+ "eslint-plugin-unicorn": "^56.0.1",
46
+ "eslint-plugin-unused-imports": "^4.1.4",
47
+ "openapi-types": "^12.1.3",
48
+ "persistent-debug": "^1.0.1",
49
+ "tsx": "^4.21.0",
50
+ "typedoc": "^0.28.17",
51
+ "typedoc-plugin-mdn-links": "^5.1.1",
52
+ "typedoc-plugin-merge-modules": "^7.0.0",
53
+ "typescript": "~5.9.3",
54
+ "undici-types": "^7.22.0"
55
+ },
56
+ "type": "module",
57
+ "engines": {
58
+ "node": ">=20.19.0"
41
59
  },
42
- "optionalDependencies": {
43
- "debug": "^4.3.4"
60
+ "dependencies": {
61
+ "tslib": "^2.8.1"
62
+ },
63
+ "scripts": {
64
+ "build": "scripts/build.sh",
65
+ "lint": "eslint lib --ext .ts",
66
+ "lint:fix": "eslint lib --ext .ts --fix",
67
+ "test:build": "npm run prepublishOnly",
68
+ "docs": "scripts/docs.sh",
69
+ "generate": "pnpx @hey-api/openapi-ts && tsx scripts/replace-bodyinit.ts"
44
70
  }
45
- }
71
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowUnreachableCode": false,
4
+ "allowUnusedLabels": false,
5
+ "alwaysStrict": true,
6
+ "exactOptionalPropertyTypes": false,
7
+ "noFallthroughCasesInSwitch": true,
8
+ "noImplicitAny": true,
9
+ "noImplicitOverride": true,
10
+ "noImplicitReturns": true,
11
+ "noImplicitThis": true,
12
+ "noPropertyAccessFromIndexSignature": false,
13
+ "noUncheckedIndexedAccess": false,
14
+ "noUnusedLocals": true,
15
+ "noUnusedParameters": true,
16
+ "strict": true,
17
+ "strictBindCallApply": true,
18
+ "strictFunctionTypes": true,
19
+ "strictNullChecks": true,
20
+ "strictPropertyInitialization": true,
21
+ "useUnknownInCatchVariables": true,
22
+ "allowArbitraryExtensions": false,
23
+ "allowImportingTsExtensions": false,
24
+ "allowUmdGlobalAccess": true,
25
+ "module": "NodeNext",
26
+ "moduleResolution": "NodeNext",
27
+ "resolveJsonModule": true,
28
+ "declaration": true,
29
+ "downlevelIteration": true,
30
+ "emitBOM": false,
31
+ "importHelpers": true,
32
+ "inlineSourceMap": true,
33
+ "newLine": "LF",
34
+ "noEmitOnError": true,
35
+ "outDir": "dist",
36
+ "preserveConstEnums": false,
37
+ "allowJs": true,
38
+ "checkJs": true,
39
+ "allowSyntheticDefaultImports": true,
40
+ "esModuleInterop": true,
41
+ "forceConsistentCasingInFileNames": true,
42
+ "experimentalDecorators": true,
43
+ "emitDecoratorMetadata": true,
44
+ "jsx": "preserve",
45
+ "lib": ["ESNext"],
46
+ "moduleDetection": "force",
47
+ "target": "esnext",
48
+ "useDefineForClassFields": true,
49
+ "noErrorTruncation": true,
50
+ "skipLibCheck": true
51
+ },
52
+ "include": ["lib/**/*", "test/**/*", "scripts/**/*", "openapi-ts.config.ts"],
53
+ "exclude": ["node_modules", "dist"]
54
+ }
package/.mocharc.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "bail": true,
3
- "require": "ts-node/register",
4
- "timeout": 20000,
5
- "spec": "test/**/*.ts"
6
- }
package/.ncurc.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "upgrade": true
3
- }
package/.node-version DELETED
@@ -1 +0,0 @@
1
- 16.13.0
@@ -1,39 +0,0 @@
1
- ## Table Of Contents
2
- - [Index](README.md)
3
- - [Future Plans](FuturePlans.md)
4
- - [E621 Search Inconsistencies](E621SearchInconsistencies.md)
5
- - **Artists**
6
- - [Blips](Blips.md)
7
- - [Notes](Notes.md)
8
- - [Pools](Pools.md)
9
- - [Post Flags](PostFlags.md)
10
- - [Posts](Posts.md)
11
- - [Post Sets](PostSets.md)
12
- - [Tags](Tags.md)
13
- - [Takedowns](Takedowns.md)
14
- - [User Feedback](UserFeedback.md)
15
- - [Users](Users.md)
16
- - [Wiki Pages](WikiPages.md)
17
-
18
- <hr>
19
-
20
- | Feature | Implemented | Method |
21
- |:------------------:|:-----------:|:-----------------------:|
22
- | Get By ID | ✔️ | `artists.get` |
23
- | Get By Name | ✔️ | `artists.getByName` |
24
- | Search | ✔️ | `artists.search` |
25
- | Create[^1] | ✔️ | `artists.create` |
26
- | Modify[^1] | ✔️ | `artists.modify` |
27
- | Delete[^1][^3] | ✔️ | `artists.delete` |
28
- | Ban[^1][^5] | ✖️ | N/A |
29
- | Unban[^1][^5] | ✖️ | N/A |
30
- | Revert[^1] | ✔️ | `artists.revert` |
31
- | Get History[^1] | ✔️ | `artists.getHistory` |
32
- | Search History[^1] | ✔️ | `artists.searchHistory` |
33
- | Get DNP List | ✔️ | `artists.getDoNotPost` |
34
-
35
- [^1]: Requires Authentication
36
- [^2]: Requires Privileged
37
- [^3]: Requires Janitor
38
- [^4]: Requires Moderator
39
- [^5]: Requires Admin
package/Features/Blips.md DELETED
@@ -1,33 +0,0 @@
1
- ## Table Of Contents
2
- - [Index](README.md)
3
- - [Future Plans](FuturePlans.md)
4
- - [E621 Search Inconsistencies](E621SearchInconsistencies.md)
5
- - [Artists](Artists.md)
6
- - **Blips**
7
- - [Notes](Notes.md)
8
- - [Pools](Pools.md)
9
- - [Post Flags](PostFlags.md)
10
- - [Posts](Posts.md)
11
- - [Post Sets](PostSets.md)
12
- - [Tags](Tags.md)
13
- - [Takedowns](Takedowns.md)
14
- - [User Feedback](UserFeedback.md)
15
- - [Users](Users.md)
16
- - [Wiki Pages](WikiPages.md)
17
-
18
- <hr>
19
-
20
- | Feature | Implemented | Method |
21
- |:-------------------:|:-----------:|:------------------:|
22
- | Get By ID | ✔️ | `blips.get` |
23
- | Search | ✔️ | `blips.search` |
24
- | Create[^1] | ✔️ | `blips.create` |
25
- | Modify[^1] | ✔️ | `blips.modify` |
26
- | Delete[^1][^4] | ✔️ | `blips.delete` |
27
- | Add Warning[^1][^4] | ✔️ | `blips.addWarning` |
28
-
29
- [^1]: Requires Authentication
30
- [^2]: Requires Privileged
31
- [^3]: Requires Janitor
32
- [^4]: Requires Moderator
33
- [^5]: Requires Admin
@@ -1,54 +0,0 @@
1
- ## Table Of Contents
2
- - [Index](README.md)
3
- - [Future Plans](FuturePlans.md)
4
- - **E621 Search Inconsistencies**
5
- - [Artists](Artists.md)
6
- - [Blips](Blips.md)
7
- - [Pools](Pools.md)
8
- - [Post Flags](PostFlags.md)
9
- - [Posts](Posts.md)
10
- - [Post Sets](PostSets.md)
11
- - [Tags](Tags.md)
12
- - [Takedowns](Takedowns.md)
13
- - [User Feedback](UserFeedback.md)
14
- - [Users](Users.md)
15
- - [Wiki Pages](WikiPages.md)
16
-
17
- ### Some of E621's searches are inconsistent with the rest of the site, as such some methods might randomly error if some route doesn't follow standard practices.
18
-
19
- Below is a table of all of the routes I can currently think of and what they return
20
-
21
- | | Object (No Results) | Array (No Results) | Object (With Results) | Array (With Results) |
22
- |:----------------------:|:-------------------:|:------------------:|:---------------------:|:--------------------:|
23
- | `posts` | ✔️ | | ✔️ | |
24
- | `post_disapprovals` | ✔️ | | [^1] | [^1] |
25
- | `post_versions`[^2] | ✖️ | ✖️ | | ✔️ |
26
- | `post_approvals` | ✔️ | | | ✔️ |
27
- | `post_flags` | ✔️ | | | ✔️ |
28
- | `notes` | ✔️ | | | ✔️ |
29
- | `note_versions` | ✔️ | | | ✔️ |
30
- | `pools` | | ✔️ | | ✔️ |
31
- | `pool_versions`[^2] | ✖️ | ✖️ | | ✔️ |
32
- | `wiki_pages` | | ✔️ | | ✔️ |
33
- | `wiki_page_versions` | ✔️ | | | ✔️ |
34
- | `artists` | | ✔️ | | ✔️ |
35
- | `artist_versions` | ✔️ | | | ✔️ |
36
- | `tags` | ✔️ | | | ✔️ |
37
- | `tag_type_versions` | ✔️ | | | ✔️ |
38
- | `tag_aliases` | ✔️ | | | ✔️ |
39
- | `tag_implications` | ✔️ | | | ✔️ |
40
- | `bulk_update_requests` | ✔️ | | | ✔️ |
41
- | `blips` | ✔️ | | | ✔️ |
42
- | `takedowns` | ✔️ | | | ✔️ |
43
- | `users` | | ✔️ | | ✔️ |
44
- | `user_feedbacks` | ✔️ | | | ✔️ |
45
- | `forum_topics` | | ✔️ | | ✔️ |
46
- | `post_sets` | ✔️ | | | ✔️ |
47
- | `comments`[^3] | ✖️ | ✖️ | ✖️ | ✖️ |
48
-
49
- [^1]: untested
50
- [^2]: these error when attempting to search for something that has no results
51
- [^3]: `/comments.json` seems to return `/posts.json` results , with most search parameters returning errors.
52
-
53
-
54
- I've [submitted an issue](https://github.com/zwagoth/e621ng/issues/359) to E621 to see if they have any plans to do something about this. If you find something erroring when you believe it shouldn't (something like `reading property map of undefined`), let us know via an [issue](https://github.com/DonovanDMC/E621/issues/new).
@@ -1,50 +0,0 @@
1
- ## Table Of Contents
2
- - [Index](README.md)
3
- - **Future Plans**
4
- - [E621 Search Inconsistencies](E621SearchInconsistencies.md)
5
- - [Artists](Artists.md)
6
- - [Blips](Blips.md)
7
- - [Pools](Pools.md)
8
- - [Post Flags](PostFlags.md)
9
- - [Posts](Posts.md)
10
- - [Post Sets](PostSets.md)
11
- - [Tags](Tags.md)
12
- - [Takedowns](Takedowns.md)
13
- - [User Feedback](UserFeedback.md)
14
- - [Users](Users.md)
15
- - [Wiki Pages](WikiPages.md)
16
-
17
- <hr>
18
-
19
- | Feature | Planned |
20
- |:-------------------------------------------------------------------:|:-------:|
21
- | [Bulk Update Requests](https://e621.net/bulk_update_requests) | ✔️ |
22
- | [Tag Implications](https://e621.net/tag_implications) | ✔️ |
23
- | [Tag Aliases](https://e621.net/tag_aliases) | ✔️ |
24
- | [Notes](https://e621.net/notes) | ✔️ |
25
- | [Note History](https://e621.net/note_versions) | ✔️ |
26
- | [Forum Topics](https://e621.net/forum_topics) | ✔️ |
27
- | [Comments](https://e621.net/comments) | ✔️ |
28
- | [Popular Posts](https://e621.net/explore/posts/popular) | ✔️ |
29
- | [IQDB](https://e621.net/iqdb_queries) | ✔️ |
30
- | [Upload Whitelists](https://e621.net/upload_whitelists) | ✔️ |
31
- | [Post Events](https://e621.net/posts/2907536/events)[^3] | ✔️ |
32
- | [Email Blacklists](https://e621.net/email_blacklists)[^2] | ✔️ |
33
- | [IP Bans](https://e621.net/ip_bans)[^2] | ✔️ |
34
- | [Dmails](https://e621.net/dmails)[^1][^6] | ➖ |
35
- | [Mod Actions](https://e621.net/mod_actions)[^1][^5] | ➖ |
36
- | [Tickets](https://e621.net/tickets)[^1] | ✖️ |
37
- | [User Bans](https://e621.net/bans)[^1] | ✖️ |
38
- | [Deleted Posts](https://e621.net/deleted_posts)[^1] | ✖️ |
39
- | [Post Replacements](https://e621.net/post_replacements)[^1] | ✖️ |
40
- | [Stats](https://e621.net/stats)[^1] | ✖️ |
41
- | [Edit Histories](https://e621.net/edit_histories)[^1][^2] | ✖️ |
42
- | [Post Report Reasons](https://e621.net/post_report_reasons)[^1][^2] | ✖️ |
43
- | [Post Appeals](https://e621.net/post_appeals)[^2][^4] | ✖️ |
44
-
45
- [^1]: E621 does not expose a json api for these, and I will not scrape the html of the page, as this will add serious bloat to the library, and is not something e621 wants us to do.
46
- [^2]: These require a higher user level than [b]Privileged[/b] (which is what I have on e621), so implementing requires hosting a local instance, and is generally slower to do.
47
- [^3]: This feature is not documented and is subject to change soon (see [this pull request](https://github.com/zwagoth/e621ng/issues/346))
48
- [^4]: This feature is unused and is planned to be removed (see [this pull request](https://github.com/zwagoth/e621ng/pull/357))
49
- [^5]: This is being made as a sub-module under [@e621/mod-actions](https://npm.im/@e621/mod-actions), this is currently a work in progress
50
- [^6]: This is being made as a sub-module under [@e621/dmails](https://npm.im/@e621/dmails), this is currently a work in progress