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
@@ -1,390 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Post_1 = __importDefault(require("../structures/Post"));
7
- const PostApproval_1 = __importDefault(require("../structures/PostApproval"));
8
- const PostHistory_1 = __importDefault(require("../structures/PostHistory"));
9
- const FormHelper_1 = __importDefault(require("../util/FormHelper"));
10
- const RequestHandler_1 = require("../util/RequestHandler");
11
- class Posts {
12
- auth;
13
- main;
14
- constructor(main) {
15
- Object.defineProperties(this, {
16
- auth: {
17
- get() {
18
- return !this.main.options.authUser || !this.main.options.authKey ? null : `Basic ${Buffer.from(`${this.main.options.authUser}:${this.main.options.authKey}`).toString("base64")}`;
19
- },
20
- configurable: false,
21
- enumerable: false
22
- },
23
- main: {
24
- value: main,
25
- configurable: false,
26
- enumerable: false,
27
- writable: false
28
- }
29
- });
30
- }
31
- /**
32
- * Get a post by its id
33
- *
34
- * @param {(number | string)} id - The id of the post to get
35
- * @returns {Promise<(Post | null)>}
36
- */
37
- async get(id) {
38
- const res = await this.main.request.get(`/posts/${id}.json`).catch(err => {
39
- if (err instanceof RequestHandler_1.APIError && err.statusCode === 404)
40
- return null;
41
- throw err;
42
- });
43
- return res === null ? null : new Post_1.default(this.main, res.post);
44
- }
45
- /**
46
- * Get a post by its md5
47
- *
48
- * @param {string} md5 - The md5 of the post to get
49
- * @returns {Promise<(Post | null)>}
50
- */
51
- async getByMD5(md5) {
52
- const res = await this.main.request.get(`/posts.json?md5=${md5}`).catch(err => {
53
- if (err instanceof RequestHandler_1.APIError && err.statusCode === 404)
54
- return null;
55
- throw err;
56
- });
57
- return res === null ? null : new Post_1.default(this.main, res.post);
58
- }
59
- /**
60
- * Search for posts
61
- *
62
- * @param {object} [options]
63
- * @param {(Array<string> | string)} [options.tags] - narrow the search by specific tags
64
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - number for exact page, a${number} posts after ${number}, b${number} posts before ${number}
65
- * @param {number} [options.limit] - limit the maximum amount of results returned
66
- * @returns {Promise<Array<Post>>}
67
- */
68
- async search(options) {
69
- options = options ?? {};
70
- const qs = new FormHelper_1.default();
71
- if (Array.isArray(options.tags) || typeof options.tags === "string")
72
- qs.add("tags", Array.isArray(options.tags) ? options.tags.join(" ") : options.tags);
73
- if (typeof options.page !== "undefined")
74
- qs.add("page", options.page);
75
- if (typeof options.limit === "number" || typeof options.limit === "string")
76
- qs.add("limit", options.limit);
77
- const res = await this.main.request.get(`/posts.json?${qs.build()}`);
78
- return res.posts.map(info => new Post_1.default(this.main, info));
79
- }
80
- /**
81
- * Upload a post
82
- *
83
- * * Requires Authentication
84
- *
85
- * @param {object} options
86
- * @param {(Array<string> | string)} options.tags - the tags for the post
87
- * @param {Ratings} options.rating - the rating for the post
88
- * @param {(Array<string> | string)} options.sources - the sources for the post (required, even if empty)
89
- * @param {string} [options.description] - the description of the post
90
- * @param {number} [options.parent_id] - the parent of the post
91
- * @param {string} [options.referer_url] - dunno, api doc specifies it though
92
- * @param {string} [options.md5_confirmation] - confirm of the md5 of the uploaded file
93
- * @param {boolean} [options.as_pending] - upload as pending (requires approver)
94
- * @param {boolean} [options.rating_locked] - upload as rating locked (requires privileged)
95
- * @param {(Array<string> | string)} [options.locked_tags] - tags to lock on the post (requires admin)
96
- * @param {Buffer} [options.file] - file upload (mutually exclusive with file_url, not well tested)
97
- * @param {string} [options.file_url] - url of file to upload (mutually exclusive with file)
98
- * @returns {Promise<number>}
99
- */
100
- async create(options) {
101
- this.main.request.authCheck.call(this, "Posts#create");
102
- if (!options)
103
- throw new Error("options is required for Posts#create");
104
- if (!("file_url" in options || "file" in options))
105
- throw new Error("one of options.file, options.file_url is required for Posts#create");
106
- if ("file_url" in options && "file" in options)
107
- process.emitWarning("only one of options.file, options.file_url should be provided to Posts#create. options.file_url overrides options.file.");
108
- // e621 requires sources to be provided
109
- if (!options.sources)
110
- options.sources = "";
111
- const qs = new FormHelper_1.default();
112
- if (typeof options.tags === "string")
113
- qs.add("upload[tag_string]", options.tags);
114
- if (typeof options.sources === "string")
115
- qs.add("upload[source]", options.sources);
116
- if (typeof options.locked_tags === "string")
117
- qs.add("upload[locked_tags]", options.locked_tags);
118
- if (Array.isArray(options.tags) && options.tags.length > 0)
119
- qs.add("upload[tag_string]", options.tags.join(" "));
120
- if (Array.isArray(options.sources) && options.sources.length > 0)
121
- qs.add("upload[source]", options.sources.join("\n"));
122
- if (Array.isArray(options.locked_tags) && options.locked_tags.length > 0)
123
- qs.add("upload[locked_tags]", options.locked_tags.join("\n"));
124
- if (typeof options.rating === "string")
125
- qs.add("upload[rating]", options.rating);
126
- if (typeof options.description === "string")
127
- qs.add("upload[description]", options.description);
128
- if (typeof options.parent_id === "number")
129
- qs.add("upload[parent_id]", options.parent_id);
130
- if (typeof options.referer_url === "string")
131
- qs.add("upload[referer_url]", options.referer_url);
132
- if (typeof options.as_pending === "boolean")
133
- qs.add("upload[as_pending]", options.as_pending);
134
- if (typeof options.md5_confirmation === "string")
135
- qs.add("upload[md5_confirmation]", options.md5_confirmation);
136
- if (typeof options.rating_locked === "boolean")
137
- qs.add("upload[locked_rating]", options.rating_locked);
138
- let res;
139
- if ("file_url" in options && typeof options.file_url === "string") {
140
- qs.add("upload[direct_url]", options.file_url);
141
- res = await this.main.request.post("/uploads.json", qs.build());
142
- }
143
- else if ("file" in options) {
144
- res = await this.main.request.postWithFile("/uploads.json", qs, [{ content: options.file, name: "upload[file]" }]);
145
- }
146
- return res.post_id;
147
- }
148
- /**
149
- * Modify a post
150
- *
151
- * * Requires Authentication
152
- *
153
- * @param {object} options
154
- * @param {string} [options.edit_reason] - the reason for the edit
155
- * @param {(Array<string> | string)} [options.add_tags] - the tags to add to the post
156
- * @param {(Array<string> | string)} [options.remove_tags] - the tags to remove from the post
157
- * @param {(Array<string> | string)} [options.add_sources] - the sources to add to the post
158
- * @param {(Array<string> | string)} [options.remove_sources] - the sources to remove from the post
159
- * @param {Ratings} [options.rating] - the rating for the post
160
- * @param {string} [options.description] - the description of the post
161
- * @param {number} [options.parent_id] - the parent of the post
162
- * @param {boolean} [options.has_embedded_notes] - I don't know what this is, api docs list it though
163
- * @param {boolean} [options.rating_locked] - upload as rating locked (requires privileged)
164
- * @param {boolean} [options.note_locked] - upload as rating locked (requires janitor)
165
- * @param {boolean} [options.status_locked] - upload as rating locked (requires admin)
166
- * @param {boolean} [options.hide_from_anonymous] - upload as rating locked (requires admin)
167
- * @param {boolean} [options.hide_from_search] - upload as rating locked (requires admin)
168
- * @param {string} [options.background_color] - the background color of the post (requires janitor)
169
- * @param {(Array<string> | string)} [options.locked_tags] - tags to lock on the post (requires admin)
170
- * @returns {Promise<Post>}
171
- */
172
- async modify(id, options) {
173
- this.main.request.authCheck.call(this, "Posts#modify");
174
- if (!options)
175
- throw new Error("options is required for Posts#modify");
176
- const qs = new FormHelper_1.default();
177
- let tagDiff = "", sourceDiff = "";
178
- if (typeof options.add_tags === "string")
179
- tagDiff += `${options.add_tags}\n`;
180
- if (Array.isArray(options.add_tags) && options.add_tags.length > 0)
181
- tagDiff += `${options.add_tags.join(" ")}\n`;
182
- if (typeof options.remove_tags === "string")
183
- tagDiff += `${options.remove_tags.split(" ").map(t => `-${t}`).join(" ")}\n`;
184
- if (Array.isArray(options.remove_tags) && options.remove_tags.length > 0)
185
- tagDiff += `${options.remove_tags.map(t => `-${t}`).join(" ")}\n`;
186
- if (typeof options.add_sources === "string")
187
- sourceDiff += `${options.add_sources}\n`;
188
- if (Array.isArray(options.add_sources) && options.add_sources.length > 0)
189
- sourceDiff += `${options.add_sources.join("\n")}\n`;
190
- if (typeof options.remove_sources === "string")
191
- sourceDiff += `${options.remove_sources.split("\n").map(s => `-${s}`).join("\n")}\n`;
192
- if (Array.isArray(options.remove_sources) && options.remove_sources.length > 0)
193
- sourceDiff += `${options.remove_sources.map(s => `-${s}`).join("\n")}\n`;
194
- if (tagDiff)
195
- qs.add("post[tag_string_diff]", tagDiff.trim());
196
- if (sourceDiff)
197
- qs.add("post[source_diff]", sourceDiff.trim());
198
- if (typeof options.locked_tags === "string")
199
- qs.add("post[locked_tags]", options.locked_tags);
200
- if (Array.isArray(options.locked_tags) && options.locked_tags.length > 0)
201
- qs.add("post[locked_tags]", options.locked_tags.join("\n"));
202
- if (typeof options.rating === "string")
203
- qs.add("post[rating]", options.rating);
204
- if (typeof options.description === "string")
205
- qs.add("post[description]", options.description);
206
- if (typeof options.parent_id === "number")
207
- qs.add("post[parent_id]", options.parent_id);
208
- if (typeof options.has_embedded_notes === "boolean")
209
- qs.add("post[has_embedded_notes]", options.has_embedded_notes);
210
- if (typeof options.rating_locked === "boolean")
211
- qs.add("post[is_rating_locked]", options.rating_locked);
212
- if (typeof options.note_locked === "boolean")
213
- qs.add("post[is_note_locked]", options.note_locked);
214
- if (typeof options.status_locked === "boolean")
215
- qs.add("post[is_status_locked]", options.status_locked);
216
- if (typeof options.hide_from_anonymous === "boolean")
217
- qs.add("post[hide_from_anonymous]", options.hide_from_anonymous);
218
- if (typeof options.hide_from_search === "boolean")
219
- qs.add("post[hide_from_search_engines]", options.hide_from_search);
220
- if (typeof options.background_color === "string")
221
- qs.add("post[bg_color]", options.background_color);
222
- if (typeof options.edit_reason === "string")
223
- qs.add("post[edit_reason]", options.edit_reason);
224
- const res = await this.main.request.patch(`/posts/${id}.json`, qs.build());
225
- return new Post_1.default(this.main, res.post);
226
- }
227
- // @TODO delete/approved/unapprove - not a high priority
228
- /**
229
- * Revert a post to a previous version
230
- *
231
- * * Requires Authentication
232
- *
233
- * @param {number} id - the id of the post to revert
234
- * @param {number} version_id - the version id to revert to (see history)
235
- */
236
- async revert(id, version_id) {
237
- this.main.request.authCheck.call(this, "Posts#revert");
238
- const qs = new FormHelper_1.default()
239
- .add("version_id", version_id);
240
- return this.main.request.put(`/posts/${id}/revert.json`, qs.build());
241
- }
242
- /**
243
- * Get a specific post history
244
- *
245
- * @param {number} id - the id of the history to get
246
- * @returns {Promise<PostHistory | null>}
247
- */
248
- async getHistory(id) { return this.searchHistory({ id }).then(r => r.length === 0 ? null : r[0]); }
249
- /**
250
- * Search the post history
251
- *
252
- * * Requires Authentication
253
- *
254
- * @param {object} [options]
255
- * @param {number} [options.id] - get a specific post history entry
256
- * @param {string} [options.user] - narrow the results by username
257
- * @param {number} [options.user_id] - narrow the results by user id
258
- * @param {number} [options.post] - narrow the results by post id
259
- * @param {string} [options.reason] - narrow the results by edit reason
260
- * @param {string} [options.description] - narrow the results by description content
261
- * @param {Ratings} [options.rating_changed_to] - narrow the results by rating change
262
- * @param {Ratings} [options.final_rating] - narrow the results by final rating
263
- * @param {number} [options.parent] - narrow the results by parent id
264
- * @param {number} [options.parent_changed_to] - narrow the results by changed parent id
265
- * @param {(Array<string> | string)} [options.final_tags] - narrow the results by final tags
266
- * @param {(Array<string> | string)} [options.added_tags] - narrow the results by added tags
267
- * @param {(Array<string> | string)} [options.removed_tags] - narrow the results by removed tags
268
- * @param {(Array<string> | string)} [options.final_locked_tags] - narrow the results by final locked tags
269
- * @param {(Array<string> | string)} [options.added_locked_tags] - narrow the results by added locked tags
270
- * @param {(Array<string> | string)} [options.removed_locked_tags] - narrow the results by removed locked tags
271
- * @param {string} [options.source] - narrow the results by sources
272
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
273
- * @param {number} [options.limit] - limit the maximum amount of results returned
274
- * @param
275
- * @returns {Promise<Array<PostHistory>>}
276
- */
277
- async searchHistory(options) {
278
- options = options ?? {};
279
- const qs = new FormHelper_1.default();
280
- if (typeof options.id === "number")
281
- qs.add("search[id]", options.id);
282
- if (typeof options.user === "string")
283
- qs.add("search[updater_name]", options.user);
284
- if (typeof options.user_id === "number")
285
- qs.add("search[updater_id]", options.user_id);
286
- if (typeof options.post === "number")
287
- qs.add("search[post_id]", options.post);
288
- if (typeof options.reason === "string")
289
- qs.add("search[reason]", options.reason);
290
- if (typeof options.description === "string")
291
- qs.add("search[description]", options.description);
292
- if (typeof options.rating_changed_to === "string")
293
- qs.add("search[rating_changed]", options.rating_changed_to);
294
- if (typeof options.final_rating === "string")
295
- qs.add("search[rating]", options.final_rating);
296
- if (typeof options.parent === "number")
297
- qs.add("search[parent_id]", options.parent);
298
- if (typeof options.parent_changed_to === "string")
299
- qs.add("search[parent_id_changed]", options.parent_changed_to);
300
- if (typeof options.final_tags === "string")
301
- qs.add("search[tags]", options.final_tags);
302
- if (Array.isArray(options.final_tags) && options.final_tags.length > 0)
303
- qs.add("search[tags]", options.final_tags.join(" "));
304
- if (typeof options.added_tags === "string")
305
- qs.add("search[tags_added]", options.added_tags);
306
- if (Array.isArray(options.added_tags) && options.added_tags.length > 0)
307
- qs.add("search[tags_added]", options.added_tags.join(" "));
308
- if (typeof options.removed_tags === "string")
309
- qs.add("search[tags_removed]", options.removed_tags);
310
- if (Array.isArray(options.removed_tags) && options.removed_tags.length > 0)
311
- qs.add("search[tags_removed]", options.removed_tags.join(" "));
312
- if (typeof options.final_locked_tags === "string")
313
- qs.add("search[locked_tags]", options.final_locked_tags);
314
- if (Array.isArray(options.final_locked_tags) && options.final_locked_tags.length > 0)
315
- qs.add("search[locked_tags]", options.final_locked_tags.join(" "));
316
- if (typeof options.added_locked_tags === "string")
317
- qs.add("search[locked_tags_added]", options.added_locked_tags);
318
- if (Array.isArray(options.added_locked_tags) && options.added_locked_tags.length > 0)
319
- qs.add("search[locked_tags_added]", options.added_locked_tags.join(" "));
320
- if (typeof options.removed_locked_tags === "string")
321
- qs.add("search[locked_tags_removed]", options.removed_locked_tags);
322
- if (Array.isArray(options.removed_locked_tags) && options.removed_locked_tags.length > 0)
323
- qs.add("search[locked_tags_removed]", options.removed_locked_tags.join(" "));
324
- if (typeof options.source === "string")
325
- qs.add("search[source]", options.source);
326
- if (typeof options.page !== "undefined")
327
- qs.add("page", options.page);
328
- if (typeof options.limit === "number")
329
- qs.add("limit", options.limit);
330
- const res = await this.main.request.get(`/post_versions.json?${qs.build()}`);
331
- return res.map(info => new PostHistory_1.default(this.main, info));
332
- }
333
- /**
334
- * Vote on a post
335
- *
336
- * * Requires Authentication
337
- *
338
- * @param {number} id - the id of the post to vote on
339
- * @param {boolean} up - if the vote should be up or down
340
- * @returns {Promise<PostVoteResult>}
341
- */
342
- async vote(id, up) {
343
- this.main.request.authCheck.call(this, "Posts#vote");
344
- const qs = new FormHelper_1.default()
345
- .add("score", up ? 1 : -1)
346
- .add("no_unvote", false);
347
- const res = await this.main.request.post(`/posts/${id}/votes.json`, qs.build());
348
- return res;
349
- }
350
- /**
351
- * Get a specific post approval
352
- *
353
- * @param {number} id - the id of the approval to get
354
- * @returns {Promise<PostApproval | null>}
355
- */
356
- async getPostApproval(id) { return this.searchPostApprovals({ id }).then(r => r.length === 0 ? null : r[0]); }
357
- /**
358
- * Search the post approvals
359
- *
360
- * @param {object} [options]
361
- * @param {number} [options.id] - get a specific post approvals entry
362
- * @param {string} [options.approver] - filter by the username of the user that approved the post
363
- * @param {(Array<string> | string)} [options.tags] - filter by the tags on the post
364
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
365
- * @param {number} [options.limit] - limit the maximum amount of results returned
366
- * @returns {Promise<Array<PostApproval>>}
367
- */
368
- async searchPostApprovals(options) {
369
- options = options ?? {};
370
- const qs = new FormHelper_1.default();
371
- if (typeof options.id === "number")
372
- qs.add("search[id]", options.id);
373
- if (typeof options.approver === "string")
374
- qs.add("search[user_name]", options.approver);
375
- if (typeof options.tags === "number")
376
- qs.add("search[post_tags_match]", options.tags);
377
- if (Array.isArray(options.tags) && options.tags.length > 0)
378
- qs.add("search[post_tags_match]", options.tags.join(" "));
379
- if (typeof options.page !== "undefined")
380
- qs.add("page", options.page);
381
- if (typeof options.limit === "number")
382
- qs.add("limit", options.limit);
383
- const res = await this.main.request.get(`/post_approvals.json?${qs.build()}`);
384
- if (res && !Array.isArray(res) && "post_approvals" in res)
385
- return [];
386
- return res.map(info => new PostApproval_1.default(this.main, info));
387
- }
388
- }
389
- exports.default = Posts;
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9Qb3N0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDhEQUFzQztBQUN0Qyw4RUFBc0Q7QUFDdEQsNEVBQW9EO0FBY3BELG9FQUE0QztBQUM1QywyREFBa0Q7QUFFbEQsTUFBcUIsS0FBSztJQUNSLElBQUksQ0FBZ0I7SUFDcEIsSUFBSSxDQUFPO0lBQzVCLFlBQVksSUFBVTtRQUNyQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksRUFBRTtnQkFDTCxHQUFHO29CQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ25MLENBQUM7Z0JBQ0QsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFVBQVUsRUFBSSxLQUFLO2FBQ25CO1lBQ0QsSUFBSSxFQUFFO2dCQUNMLEtBQUssRUFBUyxJQUFJO2dCQUNsQixZQUFZLEVBQUUsS0FBSztnQkFDbkIsVUFBVSxFQUFJLEtBQUs7Z0JBQ25CLFFBQVEsRUFBTSxLQUFLO2FBQ25CO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFtQjtRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBNEIs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
@@ -1,78 +0,0 @@
1
- import type E621 from "..";
2
- import Tag from "../structures/Tag";
3
- import TagHistory from "../structures/TagHistory";
4
- import type { SearchTagsOptions, ModifyTagOptions, SearchTagHistoryOptions, AutocompleteResult } from "../types";
5
- export default class Tags {
6
- private readonly auth;
7
- private readonly main;
8
- constructor(main: E621);
9
- /**
10
- * Get a tag by its id
11
- *
12
- * @param {number} id - The id of the tag to get
13
- * @returns {Promise<(Tag | null)>}
14
- */
15
- get(id: number): Promise<Tag | null>;
16
- /**
17
- * Get a tag by its name
18
- *
19
- * @param {string} name - The name of the tag to get
20
- * @returns {Promise<(Tag | null)>}
21
- */
22
- getByName(name: string): Promise<Tag | null>;
23
- /**
24
- * Search for tags
25
- *
26
- * @param {object} [options]
27
- * @param {string} [options.name] - narrow the results by the name of the tag
28
- * @param {number} [options.category] - narrow the results by the category of the tag
29
- * @param {boolean} [options.hide_empty] - narrow the results by the tag being empty or not
30
- * @param {boolean} [options.has_wiki] - narrow the results by the tag having a wiki or not
31
- * @param {boolean} [options.has_artist] - narrow the results by the tag having an artist or not
32
- * @param {SearchTagsOrder} [options.order] - the order of the results
33
- * @param {number} [options.page] - page of results to get
34
- * @param {number} [options.limit] - limit the maximum amount of results returned
35
- * @returns {Promise<Array<Tag>>}
36
- */
37
- search(options?: SearchTagsOptions): Promise<Tag[]>;
38
- /**
39
- * modify a tag
40
- *
41
- * * Requires Authentication
42
- *
43
- * @param {number} id - the id of the tag to edit
44
- * @param {object} options
45
- * @param {number} [options.category] - the category of the tag
46
- * @param {boolean} [options.locked] - if the tag is locked (requires moderator)
47
- * @returns {Promise<Tag>}
48
- */
49
- modify(id: number, options: ModifyTagOptions): Promise<Tag>;
50
- /**
51
- * Get a specific tag type history
52
- *
53
- * @param {number} id - the id of the history to get
54
- * @returns {Promise<TagHistory | null>}
55
- */
56
- getHistory(id: number): Promise<TagHistory | null>;
57
- /**
58
- * Search the tag type history
59
- *
60
- * @param {object} [options]
61
- * @param {number} [options.id] - get a specific tag type history entry
62
- * @param {string} [options.tag] - narrow the results by the tag name
63
- * @param {string} [options.user] - narrow the results by the editor name
64
- * @param {number} [options.user_id] - narrow the results by the editor id
65
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
66
- * @param {number} [options.limit] - limit the maximum amount of results returned
67
- * @param
68
- * @returns {Promise<Array<TagHistory>>}
69
- */
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>;
78
- }