@deffa5556/bail 1.0.6 → 1.0.7

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 (314) hide show
  1. package/cjs/WAProto/index.cjs +106053 -0
  2. package/cjs/deffa/config.cjs +14 -0
  3. package/cjs/deffa/plugins/ai/deepseekr1.cjs +35 -0
  4. package/cjs/deffa/plugins/ai/gita.cjs +26 -0
  5. package/cjs/deffa/plugins/ai/glm47flash.cjs +35 -0
  6. package/cjs/deffa/plugins/ai/gptoss120b.cjs +35 -0
  7. package/cjs/deffa/plugins/ai/qwq32b.cjs +35 -0
  8. package/cjs/deffa/plugins/berita/antara.cjs +25 -0
  9. package/cjs/deffa/plugins/berita/cnbcindonesia.cjs +25 -0
  10. package/cjs/deffa/plugins/berita/cnn.cjs +25 -0
  11. package/cjs/deffa/plugins/berita/kompas.cjs +25 -0
  12. package/cjs/deffa/plugins/berita/liputan6.cjs +25 -0
  13. package/cjs/deffa/plugins/berita/merdeka.cjs +25 -0
  14. package/cjs/deffa/plugins/berita/sindonews.cjs +25 -0
  15. package/cjs/deffa/plugins/berita/tribunnews.cjs +25 -0
  16. package/cjs/deffa/plugins/downloader/douyin.cjs +30 -0
  17. package/cjs/deffa/plugins/downloader/facebook.cjs +30 -0
  18. package/cjs/deffa/plugins/downloader/github.cjs +35 -0
  19. package/cjs/deffa/plugins/downloader/lahelu.cjs +30 -0
  20. package/cjs/deffa/plugins/downloader/snackvideo.cjs +30 -0
  21. package/cjs/deffa/plugins/downloader/soundcloud.cjs +30 -0
  22. package/cjs/deffa/plugins/downloader/tiktok.cjs +30 -0
  23. package/cjs/deffa/plugins/downloader/tiktokhd.cjs +30 -0
  24. package/cjs/deffa/plugins/downloader/twitter.cjs +30 -0
  25. package/cjs/deffa/plugins/downloader/ummy.cjs +36 -0
  26. package/cjs/deffa/plugins/index.cjs +213 -0
  27. package/cjs/deffa/plugins/info/bmkg.cjs +34 -0
  28. package/cjs/deffa/plugins/info/cuaca.cjs +31 -0
  29. package/cjs/deffa/plugins/info/jadwaltv.cjs +29 -0
  30. package/cjs/deffa/plugins/maker/brat.cjs +45 -0
  31. package/cjs/deffa/plugins/maker/bratvid.cjs +52 -0
  32. package/cjs/deffa/plugins/search/8font.cjs +28 -0
  33. package/cjs/deffa/plugins/search/applemusic.cjs +28 -0
  34. package/cjs/deffa/plugins/search/bimg.cjs +30 -0
  35. package/cjs/deffa/plugins/search/brave.cjs +34 -0
  36. package/cjs/deffa/plugins/search/duckduckgo.cjs +28 -0
  37. package/cjs/deffa/plugins/search/lahelu.cjs +28 -0
  38. package/cjs/deffa/plugins/search/mangatoon.cjs +28 -0
  39. package/cjs/deffa/plugins/search/mcpedl.cjs +28 -0
  40. package/cjs/deffa/plugins/search/myinstants.cjs +28 -0
  41. package/cjs/deffa/plugins/search/otakotaku.cjs +28 -0
  42. package/cjs/deffa/plugins/search/pinterest.cjs +30 -0
  43. package/cjs/deffa/plugins/search/resep.cjs +28 -0
  44. package/cjs/deffa/plugins/search/seegore.cjs +30 -0
  45. package/cjs/deffa/plugins/search/soundcloud.cjs +28 -0
  46. package/cjs/deffa/plugins/search/youtube.cjs +28 -0
  47. package/cjs/deffa/plugins/stalk/github.cjs +38 -0
  48. package/cjs/deffa/plugins/stalk/pinterest.cjs +37 -0
  49. package/cjs/deffa/plugins/stalk/threads.cjs +34 -0
  50. package/cjs/deffa/plugins/stalk/tiktok.cjs +37 -0
  51. package/cjs/deffa/plugins/stalk/twitter.cjs +37 -0
  52. package/cjs/deffa/plugins/stalk/youtube.cjs +37 -0
  53. package/cjs/lib/Defaults/index.cjs +158 -0
  54. package/cjs/lib/Discord/Client.cjs +263 -0
  55. package/cjs/lib/Discord/Constants.cjs +1842 -0
  56. package/cjs/lib/Discord/connect-dc.cjs +11 -0
  57. package/cjs/lib/Discord/esm-bridge.cjs +136 -0
  58. package/cjs/lib/Discord/gateway/Dispatcher.cjs +93 -0
  59. package/cjs/lib/Discord/gateway/Shard.cjs +695 -0
  60. package/cjs/lib/Discord/gateway/ShardManager.cjs +344 -0
  61. package/cjs/lib/Discord/gateway/compression/base.cjs +13 -0
  62. package/cjs/lib/Discord/gateway/compression/config.cjs +47 -0
  63. package/cjs/lib/Discord/gateway/compression/pako.cjs +44 -0
  64. package/cjs/lib/Discord/gateway/compression/zlib-native.cjs +47 -0
  65. package/cjs/lib/Discord/gateway/compression/zlib-sync.cjs +31 -0
  66. package/cjs/lib/Discord/gateway/compression/zstd-napi.cjs +80 -0
  67. package/cjs/lib/Discord/gateway/compression/zstd-native.cjs +46 -0
  68. package/cjs/lib/Discord/gateway/events.cjs +956 -0
  69. package/cjs/lib/Discord/index.cjs +238 -0
  70. package/cjs/lib/Discord/rest/Bucket.cjs +69 -0
  71. package/cjs/lib/Discord/rest/DiscordHTTPError.cjs +63 -0
  72. package/cjs/lib/Discord/rest/DiscordRESTError.cjs +84 -0
  73. package/cjs/lib/Discord/rest/OAuthHelper.cjs +226 -0
  74. package/cjs/lib/Discord/rest/RESTManager.cjs +116 -0
  75. package/cjs/lib/Discord/rest/RequestHandler.cjs +320 -0
  76. package/cjs/lib/Discord/rest/SequentialBucket.cjs +69 -0
  77. package/cjs/lib/Discord/routes/Applications.cjs +625 -0
  78. package/cjs/lib/Discord/routes/Channels.cjs +1199 -0
  79. package/cjs/lib/Discord/routes/Guilds.cjs +1792 -0
  80. package/cjs/lib/Discord/routes/Interactions.cjs +212 -0
  81. package/cjs/lib/Discord/routes/Lobbies.cjs +197 -0
  82. package/cjs/lib/Discord/routes/Miscellaneous.cjs +120 -0
  83. package/cjs/lib/Discord/routes/OAuth.cjs +350 -0
  84. package/cjs/lib/Discord/routes/Users.cjs +107 -0
  85. package/cjs/lib/Discord/routes/Webhooks.cjs +308 -0
  86. package/cjs/lib/Discord/structures/AnnouncementChannel.cjs +46 -0
  87. package/cjs/lib/Discord/structures/AnnouncementThreadChannel.cjs +28 -0
  88. package/cjs/lib/Discord/structures/Application.cjs +345 -0
  89. package/cjs/lib/Discord/structures/ApplicationCommand.cjs +109 -0
  90. package/cjs/lib/Discord/structures/Attachment.cjs +46 -0
  91. package/cjs/lib/Discord/structures/AuditLogEntry.cjs +41 -0
  92. package/cjs/lib/Discord/structures/AutoModerationRule.cjs +117 -0
  93. package/cjs/lib/Discord/structures/AutocompleteInteraction.cjs +90 -0
  94. package/cjs/lib/Discord/structures/Base.cjs +56 -0
  95. package/cjs/lib/Discord/structures/BaseEntitlement.cjs +40 -0
  96. package/cjs/lib/Discord/structures/CategoryChannel.cjs +102 -0
  97. package/cjs/lib/Discord/structures/Channel.cjs +89 -0
  98. package/cjs/lib/Discord/structures/ClientApplication.cjs +269 -0
  99. package/cjs/lib/Discord/structures/CommandInteraction.cjs +294 -0
  100. package/cjs/lib/Discord/structures/ComponentInteraction.cjs +306 -0
  101. package/cjs/lib/Discord/structures/Entitlement.cjs +24 -0
  102. package/cjs/lib/Discord/structures/ExtendedUser.cjs +48 -0
  103. package/cjs/lib/Discord/structures/ForumChannel.cjs +20 -0
  104. package/cjs/lib/Discord/structures/GroupChannel.cjs +160 -0
  105. package/cjs/lib/Discord/structures/Guild.cjs +1289 -0
  106. package/cjs/lib/Discord/structures/GuildChannel.cjs +82 -0
  107. package/cjs/lib/Discord/structures/GuildPreview.cjs +141 -0
  108. package/cjs/lib/Discord/structures/GuildScheduledEvent.cjs +166 -0
  109. package/cjs/lib/Discord/structures/GuildTemplate.cjs +96 -0
  110. package/cjs/lib/Discord/structures/Integration.cjs +123 -0
  111. package/cjs/lib/Discord/structures/Interaction.cjs +78 -0
  112. package/cjs/lib/Discord/structures/InteractionResolvedChannel.cjs +36 -0
  113. package/cjs/lib/Discord/structures/Invite.cjs +196 -0
  114. package/cjs/lib/Discord/structures/InviteGuild.cjs +117 -0
  115. package/cjs/lib/Discord/structures/InviteRole.cjs +88 -0
  116. package/cjs/lib/Discord/structures/Lobby.cjs +84 -0
  117. package/cjs/lib/Discord/structures/LobbyMember.cjs +30 -0
  118. package/cjs/lib/Discord/structures/MediaChannel.cjs +20 -0
  119. package/cjs/lib/Discord/structures/Member.cjs +300 -0
  120. package/cjs/lib/Discord/structures/Message.cjs +553 -0
  121. package/cjs/lib/Discord/structures/ModalSubmitInteraction.cjs +263 -0
  122. package/cjs/lib/Discord/structures/OAuthApplication.cjs +203 -0
  123. package/cjs/lib/Discord/structures/OAuthGuild.cjs +98 -0
  124. package/cjs/lib/Discord/structures/PartialApplication.cjs +97 -0
  125. package/cjs/lib/Discord/structures/Permission.cjs +61 -0
  126. package/cjs/lib/Discord/structures/PermissionOverwrite.cjs +46 -0
  127. package/cjs/lib/Discord/structures/PingInteraction.cjs +27 -0
  128. package/cjs/lib/Discord/structures/Poll.cjs +69 -0
  129. package/cjs/lib/Discord/structures/PrimaryGuild.cjs +93 -0
  130. package/cjs/lib/Discord/structures/PrivateChannel.cjs +131 -0
  131. package/cjs/lib/Discord/structures/PrivateThreadChannel.cjs +28 -0
  132. package/cjs/lib/Discord/structures/PublicThreadChannel.cjs +36 -0
  133. package/cjs/lib/Discord/structures/Role.cjs +126 -0
  134. package/cjs/lib/Discord/structures/SKU.cjs +58 -0
  135. package/cjs/lib/Discord/structures/Soundboard.cjs +58 -0
  136. package/cjs/lib/Discord/structures/StageChannel.cjs +45 -0
  137. package/cjs/lib/Discord/structures/StageInstance.cjs +80 -0
  138. package/cjs/lib/Discord/structures/Subscription.cjs +21 -0
  139. package/cjs/lib/Discord/structures/Team.cjs +70 -0
  140. package/cjs/lib/Discord/structures/TestEntitlement.cjs +22 -0
  141. package/cjs/lib/Discord/structures/TextChannel.cjs +48 -0
  142. package/cjs/lib/Discord/structures/TextableChannel.cjs +265 -0
  143. package/cjs/lib/Discord/structures/TextableVoiceChannel.cjs +70 -0
  144. package/cjs/lib/Discord/structures/ThreadChannel.cjs +276 -0
  145. package/cjs/lib/Discord/structures/ThreadOnlyChannel.cjs +205 -0
  146. package/cjs/lib/Discord/structures/ThreadableChannel.cjs +57 -0
  147. package/cjs/lib/Discord/structures/UnavailableGuild.cjs +21 -0
  148. package/cjs/lib/Discord/structures/User.cjs +223 -0
  149. package/cjs/lib/Discord/structures/VoiceChannel.cjs +34 -0
  150. package/cjs/lib/Discord/structures/VoiceState.cjs +113 -0
  151. package/cjs/lib/Discord/structures/Webhook.cjs +224 -0
  152. package/cjs/lib/Discord/util/Collection.cjs +77 -0
  153. package/cjs/lib/Discord/util/Errors.cjs +81 -0
  154. package/cjs/lib/Discord/util/QueryBuilder.cjs +20 -0
  155. package/cjs/lib/Discord/util/Routes.cjs +293 -0
  156. package/cjs/lib/Discord/util/SimpleCollection.cjs +78 -0
  157. package/cjs/lib/Discord/util/Time.cjs +92 -0
  158. package/cjs/lib/Discord/util/TypedCollection.cjs +78 -0
  159. package/cjs/lib/Discord/util/TypedEmitter.cjs +20 -0
  160. package/cjs/lib/Discord/util/Util.cjs +906 -0
  161. package/cjs/lib/Discord/util/interactions/InteractionOptionsWrapper.cjs +207 -0
  162. package/cjs/lib/Discord/util/interactions/MessageInteractionResponse.cjs +26 -0
  163. package/cjs/lib/Discord/util/interactions/ModalSubmitInteractionComponentsWrapper.cjs +98 -0
  164. package/cjs/lib/Discord/util/interactions/SelectMenuValuesWrapper.cjs +77 -0
  165. package/cjs/lib/Discord/util/interactions/shared.cjs +20 -0
  166. package/cjs/lib/Discord/util/warning.cjs +34 -0
  167. package/cjs/lib/Signal/Group/ciphertext-message.cjs +16 -0
  168. package/cjs/lib/Signal/Group/group-session-builder.cjs +67 -0
  169. package/cjs/lib/Signal/Group/group_cipher.cjs +86 -0
  170. package/cjs/lib/Signal/Group/index.cjs +58 -0
  171. package/cjs/lib/Signal/Group/keyhelper.cjs +56 -0
  172. package/cjs/lib/Signal/Group/sender-chain-key.cjs +30 -0
  173. package/cjs/lib/Signal/Group/sender-key-distribution-message.cjs +67 -0
  174. package/cjs/lib/Signal/Group/sender-key-message.cjs +70 -0
  175. package/cjs/lib/Signal/Group/sender-key-name.cjs +52 -0
  176. package/cjs/lib/Signal/Group/sender-key-record.cjs +45 -0
  177. package/cjs/lib/Signal/Group/sender-key-state.cjs +88 -0
  178. package/cjs/lib/Signal/Group/sender-message-key.cjs +30 -0
  179. package/cjs/lib/Signal/libsignal.cjs +467 -0
  180. package/cjs/lib/Signal/lid-mapping.cjs +281 -0
  181. package/cjs/lib/Socket/Client/index.cjs +19 -0
  182. package/cjs/lib/Socket/Client/types.cjs +15 -0
  183. package/cjs/lib/Socket/Client/websocket.cjs +61 -0
  184. package/cjs/lib/Socket/business.cjs +384 -0
  185. package/cjs/lib/Socket/chats.cjs +1221 -0
  186. package/cjs/lib/Socket/communities.cjs +440 -0
  187. package/cjs/lib/Socket/groups.cjs +353 -0
  188. package/cjs/lib/Socket/index.cjs +14 -0
  189. package/cjs/lib/Socket/messages-recv.cjs +1772 -0
  190. package/cjs/lib/Socket/messages-send.cjs +1376 -0
  191. package/cjs/lib/Socket/mex.cjs +46 -0
  192. package/cjs/lib/Socket/newsletter.cjs +230 -0
  193. package/cjs/lib/Socket/socket.cjs +976 -0
  194. package/cjs/lib/Store/index.cjs +20 -0
  195. package/cjs/lib/Store/make-in-memory-store.cjs +470 -0
  196. package/cjs/lib/Store/make-ordered-dictionary.cjs +82 -0
  197. package/cjs/lib/Store/object-repository.cjs +28 -0
  198. package/cjs/lib/Telegram/button.cjs +147 -0
  199. package/cjs/lib/Telegram/composer.cjs +582 -0
  200. package/cjs/lib/Telegram/context.cjs +853 -0
  201. package/cjs/lib/Telegram/core/helpers/args.cjs +57 -0
  202. package/cjs/lib/Telegram/core/helpers/check.cjs +55 -0
  203. package/cjs/lib/Telegram/core/helpers/compact.cjs +16 -0
  204. package/cjs/lib/Telegram/core/helpers/deunionize.cjs +12 -0
  205. package/cjs/lib/Telegram/core/helpers/formatting.cjs +91 -0
  206. package/cjs/lib/Telegram/core/helpers/util.cjs +50 -0
  207. package/cjs/lib/Telegram/core/network/client.cjs +338 -0
  208. package/cjs/lib/Telegram/core/network/error.cjs +21 -0
  209. package/cjs/lib/Telegram/core/network/multipart-stream.cjs +79 -0
  210. package/cjs/lib/Telegram/core/network/polling.cjs +87 -0
  211. package/cjs/lib/Telegram/core/network/webhook.cjs +54 -0
  212. package/cjs/lib/Telegram/core/types/typegram.cjs +31 -0
  213. package/cjs/lib/Telegram/deffa-telegraf.cjs +264 -0
  214. package/cjs/lib/Telegram/esm-bridge.cjs +20 -0
  215. package/cjs/lib/Telegram/filters.cjs +69 -0
  216. package/cjs/lib/Telegram/format.cjs +58 -0
  217. package/cjs/lib/Telegram/future.cjs +140 -0
  218. package/cjs/lib/Telegram/index.cjs +67 -0
  219. package/cjs/lib/Telegram/input.cjs +61 -0
  220. package/cjs/lib/Telegram/markup.cjs +129 -0
  221. package/cjs/lib/Telegram/middleware.cjs +2 -0
  222. package/cjs/lib/Telegram/reactions.cjs +84 -0
  223. package/cjs/lib/Telegram/router.cjs +46 -0
  224. package/cjs/lib/Telegram/scenes/base.cjs +39 -0
  225. package/cjs/lib/Telegram/scenes/context.cjs +104 -0
  226. package/cjs/lib/Telegram/scenes/index.cjs +21 -0
  227. package/cjs/lib/Telegram/scenes/stage.cjs +49 -0
  228. package/cjs/lib/Telegram/scenes/wizard/context.cjs +31 -0
  229. package/cjs/lib/Telegram/scenes/wizard/index.cjs +45 -0
  230. package/cjs/lib/Telegram/scenes.cjs +21 -0
  231. package/cjs/lib/Telegram/session.cjs +166 -0
  232. package/cjs/lib/Telegram/telegram-types.cjs +6 -0
  233. package/cjs/lib/Telegram/telegram.cjs +945 -0
  234. package/cjs/lib/Telegram/types.cjs +2 -0
  235. package/cjs/lib/Telegram/utils.cjs +5 -0
  236. package/cjs/lib/Types/Auth.cjs +3 -0
  237. package/cjs/lib/Types/Bussines.cjs +3 -0
  238. package/cjs/lib/Types/Call.cjs +3 -0
  239. package/cjs/lib/Types/Chat.cjs +11 -0
  240. package/cjs/lib/Types/Contact.cjs +3 -0
  241. package/cjs/lib/Types/Events.cjs +4 -0
  242. package/cjs/lib/Types/GroupMetadata.cjs +3 -0
  243. package/cjs/lib/Types/Label.cjs +26 -0
  244. package/cjs/lib/Types/LabelAssociation.cjs +8 -0
  245. package/cjs/lib/Types/Message.cjs +19 -0
  246. package/cjs/lib/Types/Mex.cjs +40 -0
  247. package/cjs/lib/Types/Product.cjs +3 -0
  248. package/cjs/lib/Types/RichType.cjs +24 -0
  249. package/cjs/lib/Types/Signal.cjs +4 -0
  250. package/cjs/lib/Types/Socket.cjs +4 -0
  251. package/cjs/lib/Types/State.cjs +54 -0
  252. package/cjs/lib/Types/USync.cjs +4 -0
  253. package/cjs/lib/Types/index.cjs +42 -0
  254. package/cjs/lib/Utils/auth-utils.cjs +312 -0
  255. package/cjs/lib/Utils/browser-utils.cjs +39 -0
  256. package/cjs/lib/Utils/business.cjs +241 -0
  257. package/cjs/lib/Utils/chat-utils.cjs +890 -0
  258. package/cjs/lib/Utils/companion-reg-client-utils.cjs +51 -0
  259. package/cjs/lib/Utils/crypto.cjs +170 -0
  260. package/cjs/lib/Utils/decode-wa-message.cjs +330 -0
  261. package/cjs/lib/Utils/event-buffer.cjs +629 -0
  262. package/cjs/lib/Utils/generics.cjs +427 -0
  263. package/cjs/lib/Utils/history.cjs +141 -0
  264. package/cjs/lib/Utils/identity-change-handler.cjs +56 -0
  265. package/cjs/lib/Utils/index.cjs +43 -0
  266. package/cjs/lib/Utils/link-preview.cjs +122 -0
  267. package/cjs/lib/Utils/logger.cjs +8 -0
  268. package/cjs/lib/Utils/lt-hash.cjs +11 -0
  269. package/cjs/lib/Utils/make-mutex.cjs +38 -0
  270. package/cjs/lib/Utils/message-retry-manager.cjs +267 -0
  271. package/cjs/lib/Utils/messages-media.cjs +906 -0
  272. package/cjs/lib/Utils/messages.cjs +1909 -0
  273. package/cjs/lib/Utils/noise-handler.cjs +205 -0
  274. package/cjs/lib/Utils/offline-node-processor.cjs +43 -0
  275. package/cjs/lib/Utils/pre-key-manager.cjs +113 -0
  276. package/cjs/lib/Utils/process-message.cjs +755 -0
  277. package/cjs/lib/Utils/reporting-utils.cjs +263 -0
  278. package/cjs/lib/Utils/rich-message-utils.cjs +434 -0
  279. package/cjs/lib/Utils/session-guard.cjs +163 -0
  280. package/cjs/lib/Utils/signal.cjs +214 -0
  281. package/cjs/lib/Utils/stanza-ack.cjs +41 -0
  282. package/cjs/lib/Utils/sync-action-utils.cjs +54 -0
  283. package/cjs/lib/Utils/tc-token-utils.cjs +174 -0
  284. package/cjs/lib/Utils/text-sticker.cjs +174 -0
  285. package/cjs/lib/Utils/use-multi-file-auth-state.cjs +125 -0
  286. package/cjs/lib/Utils/use-single-file-auth-state.cjs +113 -0
  287. package/cjs/lib/Utils/use-sqlite-auth-state.cjs +145 -0
  288. package/cjs/lib/Utils/validate-connection.cjs +210 -0
  289. package/cjs/lib/WABinary/constants.cjs +1470 -0
  290. package/cjs/lib/WABinary/decode.cjs +301 -0
  291. package/cjs/lib/WABinary/encode.cjs +257 -0
  292. package/cjs/lib/WABinary/generic-utils.cjs +240 -0
  293. package/cjs/lib/WABinary/index.cjs +22 -0
  294. package/cjs/lib/WABinary/jid-utils.cjs +114 -0
  295. package/cjs/lib/WABinary/types.cjs +37 -0
  296. package/cjs/lib/WAM/BinaryInfo.cjs +14 -0
  297. package/cjs/lib/WAM/constants.cjs +22856 -0
  298. package/cjs/lib/WAM/encode.cjs +154 -0
  299. package/cjs/lib/WAM/index.cjs +20 -0
  300. package/cjs/lib/WAUSync/Protocols/USyncContactProtocol.cjs +56 -0
  301. package/cjs/lib/WAUSync/Protocols/USyncDeviceProtocol.cjs +58 -0
  302. package/cjs/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.cjs +31 -0
  303. package/cjs/lib/WAUSync/Protocols/USyncStatusProtocol.cjs +42 -0
  304. package/cjs/lib/WAUSync/Protocols/USyncUsernameProtocol.cjs +29 -0
  305. package/cjs/lib/WAUSync/Protocols/UsyncBotProfileProtocol.cjs +55 -0
  306. package/cjs/lib/WAUSync/Protocols/UsyncLIDProtocol.cjs +33 -0
  307. package/cjs/lib/WAUSync/Protocols/index.cjs +22 -0
  308. package/cjs/lib/WAUSync/USyncQuery.cjs +102 -0
  309. package/cjs/lib/WAUSync/USyncUser.cjs +35 -0
  310. package/cjs/lib/WAUSync/index.cjs +20 -0
  311. package/cjs/lib/index.cjs +372 -0
  312. package/cjs/lib/plugins/loader.cjs +117 -0
  313. package/lib/Defaults/index.js +1 -1
  314. package/package.json +11 -6
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Constants_1 = require("../Constants");
4
+ /** Represents a permission. */
5
+ class Permission {
6
+ constructor(allow, deny = 0n) {
7
+ this.allow = BigInt(allow);
8
+ this.deny = BigInt(deny);
9
+ Object.defineProperty(this, "#json", {
10
+ value: undefined,
11
+ enumerable: false,
12
+ writable: true,
13
+ configurable: false
14
+ });
15
+ }
16
+ /** A key-value map of permission to if it's been allowed or denied (not present if neither) */
17
+ get json() {
18
+ if (this._json) {
19
+ return this._json;
20
+ }
21
+ else {
22
+ const json = {};
23
+ for (const perm of Object.keys(Constants_1.Permissions)) {
24
+ if (this.allow & Constants_1.Permissions[perm]) {
25
+ json[perm] = true;
26
+ }
27
+ else if (this.deny & Constants_1.Permissions[perm]) {
28
+ json[perm] = false;
29
+ }
30
+ }
31
+ return (this._json = json);
32
+ }
33
+ }
34
+ /**
35
+ * Check if this permissions instance has the given permissions allowed
36
+ * @param permissions The permissions to check for.
37
+ */
38
+ has(...permissions) {
39
+ for (const perm of permissions) {
40
+ if (typeof perm === "bigint") {
41
+ if ((this.allow & perm) !== perm) {
42
+ return false;
43
+ }
44
+ }
45
+ else if (!(this.allow & Constants_1.Permissions[perm])) {
46
+ return false;
47
+ }
48
+ }
49
+ return true;
50
+ }
51
+ toJSON() {
52
+ return {
53
+ allow: this.allow.toString(),
54
+ deny: this.deny.toString()
55
+ };
56
+ }
57
+ toString() {
58
+ return `[${this.constructor.name} +${this.allow} -${this.deny}]`;
59
+ }
60
+ }
61
+ exports.default = Permission;
@@ -0,0 +1,46 @@
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
+ /** @module PermissionOverwrite */
7
+ const Base_1 = __importDefault(require("./Base"));
8
+ const Permission_1 = __importDefault(require("./Permission"));
9
+ /** Represents a permission overwrite. */
10
+ class PermissionOverwrite extends Base_1.default {
11
+ constructor(data, client) {
12
+ super(data.id, client);
13
+ this.permission = new Permission_1.default(data.allow, data.deny);
14
+ this.type = data.type;
15
+ }
16
+ update(data) {
17
+ if (data.allow !== undefined || data.deny !== undefined) {
18
+ this.permission = new Permission_1.default(data.allow ?? 0n, data.deny ?? 0n);
19
+ }
20
+ }
21
+ get allow() {
22
+ return this.permission.allow;
23
+ }
24
+ get deny() {
25
+ return this.permission.deny;
26
+ }
27
+ /** A key-value map of permission to if it's been allowed or denied (not present if neither) */
28
+ get json() {
29
+ return this.permission.json;
30
+ }
31
+ /**
32
+ *Check if this permissions instance has the given permissions allowed
33
+ * @param permissions The permissions to check for.
34
+ */
35
+ has(...permissions) {
36
+ return this.permission.has(...permissions);
37
+ }
38
+ toJSON() {
39
+ return {
40
+ ...super.toJSON(),
41
+ permission: this.permission.toJSON(),
42
+ type: this.type
43
+ };
44
+ }
45
+ }
46
+ exports.default = PermissionOverwrite;
@@ -0,0 +1,27 @@
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
+ /** @module PingInteraction */
7
+ const Interaction_1 = __importDefault(require("./Interaction"));
8
+ const Constants_1 = require("../Constants");
9
+ /** Represents a PING interaction. This will not be received over a gateway connection. */
10
+ class PingInteraction extends Interaction_1.default {
11
+ constructor(data, client) {
12
+ super(data, client);
13
+ }
14
+ /**
15
+ * Responds to the interaction with a `PONG`.
16
+ */
17
+ async pong() {
18
+ return this.client.rest.interactions.createInteractionResponse(this.id, this.token, { type: Constants_1.InteractionResponseTypes.PONG }, true);
19
+ }
20
+ toJSON() {
21
+ return {
22
+ ...super.toJSON(),
23
+ type: this.type
24
+ };
25
+ }
26
+ }
27
+ exports.default = PingInteraction;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Poll {
4
+ constructor(data, client, message) {
5
+ Object.defineProperty(this, "client", {
6
+ value: client,
7
+ enumerable: false,
8
+ writable: false,
9
+ configurable: false
10
+ });
11
+ this.allowMultiselect = data.allow_multiselect;
12
+ this.answers = data.answers.map(a => ({
13
+ answerID: a.answer_id,
14
+ pollMedia: a.poll_media
15
+ }));
16
+ this.expiry = new Date(data.expiry);
17
+ this.layoutType = data.layout_type;
18
+ this.message = message;
19
+ this.question = data.question;
20
+ const res = data.results || { answer_counts: [], is_finalized: false };
21
+ this.results = {
22
+ answerCounts: res.answer_counts.map(a => ({
23
+ count: a.count,
24
+ id: a.id,
25
+ meVoted: a.me_voted,
26
+ users: []
27
+ })),
28
+ isFinalized: res.is_finalized
29
+ };
30
+ // this makes working with this much easier as a developer. We still have systems in place to insert missing answerCounts, if needs be
31
+ for (const answer of data.answers) {
32
+ if (!this.results.answerCounts.some(a => a.id === answer.answer_id)) {
33
+ this.results.answerCounts.push({
34
+ count: 0,
35
+ id: answer.answer_id,
36
+ meVoted: false,
37
+ users: []
38
+ });
39
+ }
40
+ }
41
+ }
42
+ /** The user that created this poll. */
43
+ get creator() {
44
+ return this.message.author;
45
+ }
46
+ /** End this poll now. */
47
+ async expire() {
48
+ await this.client.rest.channels.expirePoll.call(this.client.rest.channels, this.message.channelID, this.message.id);
49
+ }
50
+ /**
51
+ * Get the users that voted on a poll answer.
52
+ * @param answerID The ID of the poll answer to get voters for.
53
+ * @param options The options for getting the voters.
54
+ */
55
+ async getAnswerUsers(answerID, options) {
56
+ return this.client.rest.channels.getPollAnswerUsers.call(this.client.rest.channels, this.message.channelID, this.message.id, answerID, options);
57
+ }
58
+ toJSON() {
59
+ return {
60
+ allowMultiselect: this.allowMultiselect,
61
+ answers: this.answers,
62
+ expiry: this.expiry.toISOString(),
63
+ layoutType: this.layoutType,
64
+ question: this.question,
65
+ results: this.results
66
+ };
67
+ }
68
+ }
69
+ exports.default = Poll;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function (o, m, k, k2) {
3
+ if (k2 === undefined)
4
+ k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function () { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function (o, m, k, k2) {
11
+ if (k2 === undefined)
12
+ k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function (o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function (o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function (o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o)
25
+ if (Object.prototype.hasOwnProperty.call(o, k))
26
+ ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule)
33
+ return mod;
34
+ var result = {};
35
+ if (mod != null)
36
+ for (var k = ownKeys(mod), i = 0; i < k.length; i++)
37
+ if (k[i] !== "default")
38
+ __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ const Routes = __importStar(require("../util/Routes"));
45
+ /** Represents a primary guild. */
46
+ class PrimaryGuild {
47
+ constructor(data, client) {
48
+ Object.defineProperty(this, "client", {
49
+ value: client,
50
+ enumerable: false,
51
+ writable: false,
52
+ configurable: false
53
+ });
54
+ this.badge = data.badge;
55
+ this.identityEnabled = data.identity_enabled;
56
+ this.identityGuildID = data.identity_guild_id;
57
+ this.tag = data.tag;
58
+ this.update(data);
59
+ }
60
+ update(data) {
61
+ if (data.badge !== undefined) {
62
+ this.badge = data.badge;
63
+ }
64
+ if (data.identity_enabled !== undefined) {
65
+ this.identityEnabled = data.identity_enabled;
66
+ }
67
+ if (data.identity_guild_id !== undefined) {
68
+ this.identityGuildID = data.identity_guild_id;
69
+ }
70
+ if (data.tag !== undefined) {
71
+ this.tag = data.tag;
72
+ }
73
+ }
74
+ /**
75
+ * The url of this guild's icon.
76
+ * @param format The format the url should be.
77
+ * @param size The dimensions of the image.
78
+ */
79
+ badgeURL(format, size) {
80
+ if (this.identityGuildID === null || this.badge === null)
81
+ return null;
82
+ return this.client.util.formatImage(Routes.CLAN_ICON(this.identityGuildID, this.badge), format, size);
83
+ }
84
+ toJSON() {
85
+ return {
86
+ badge: this.badge,
87
+ identityEnabled: this.identityEnabled,
88
+ identityGuildID: this.identityGuildID,
89
+ tag: this.tag
90
+ };
91
+ }
92
+ }
93
+ exports.default = PrimaryGuild;
@@ -0,0 +1,131 @@
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
+ /** @module PrivateChannel */
7
+ const Channel_1 = __importDefault(require("./Channel"));
8
+ const Message_1 = __importDefault(require("./Message"));
9
+ const TypedCollection_1 = __importDefault(require("../util/TypedCollection"));
10
+ /** Represents a direct message with a user. */
11
+ class PrivateChannel extends Channel_1.default {
12
+ constructor(data, client) {
13
+ super(data, client);
14
+ this.messages = new TypedCollection_1.default((Message_1.default), client, this.client.util._getLimit("messages", this.id));
15
+ this.lastMessageID = data.last_message_id;
16
+ this.recipient = client.users.update(data.recipients[0]);
17
+ }
18
+ update(data) {
19
+ if (data.last_message_id !== undefined) {
20
+ this.lastMessage = data.last_message_id === null ? null : this.messages.get(data.last_message_id);
21
+ this.lastMessageID = data.last_message_id;
22
+ }
23
+ }
24
+ async createMessage(content, options) {
25
+ if (typeof content === "string") {
26
+ options = {
27
+ ...options,
28
+ content
29
+ };
30
+ }
31
+ else
32
+ options = content;
33
+ return this.client.rest.channels.createMessage(this.id, options);
34
+ }
35
+ /**
36
+ * Add a reaction to a message in this channel.
37
+ * @param messageID The ID of the message to add a reaction to.
38
+ * @param emoji The reaction to add to the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
39
+ */
40
+ async createReaction(messageID, emoji) {
41
+ return this.client.rest.channels.createReaction(this.id, messageID, emoji);
42
+ }
43
+ /**
44
+ * Delete a message in this channel.
45
+ * @param messageID The ID of the message to delete.
46
+ * @param reason The reason for deleting the message.
47
+ */
48
+ async deleteMessage(messageID, reason) {
49
+ return this.client.rest.channels.deleteMessage(this.id, messageID, reason);
50
+ }
51
+ /**
52
+ * Remove a reaction from a message in this channel.
53
+ * @param messageID The ID of the message to remove a reaction from.
54
+ * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
55
+ */
56
+ async deleteReaction(messageID, emoji) {
57
+ return this.client.rest.channels.deleteReaction(this.id, messageID, emoji);
58
+ }
59
+ async editMessage(messageID, content, options) {
60
+ if (typeof content === "string") {
61
+ options = {
62
+ ...options,
63
+ content
64
+ };
65
+ }
66
+ else
67
+ options = content;
68
+ return this.client.rest.channels.editMessage(this.id, messageID, options);
69
+ }
70
+ /**
71
+ * Get a message in this channel.
72
+ * @param messageID The ID of the message to get.
73
+ */
74
+ async getMessage(messageID) {
75
+ return this.client.rest.channels.getMessage(this.id, messageID);
76
+ }
77
+ /**
78
+ * Get messages in this channel.
79
+ * @param options The options for getting the messages. `before`, `after`, and `around `All are mutually exclusive.
80
+ */
81
+ async getMessages(options) {
82
+ return this.client.rest.channels.getMessages(this.id, options);
83
+ }
84
+ /**
85
+ * Get the pinned messages in this channel.
86
+ */
87
+ async getPinnedMessages() {
88
+ return this.client.rest.channels.getPinnedMessages(this.id);
89
+ }
90
+ /**
91
+ * Get the users who reacted with a specific emoji on a message.
92
+ * @param messageID The iIDd of the message to get reactions from.
93
+ * @param emoji The reaction to remove from the message. `name:id` for custom emojis, and the unicode codepoint for default emojis.
94
+ * @param options The options for getting the reactions.
95
+ */
96
+ async getReactions(messageID, emoji, options) {
97
+ return this.client.rest.channels.getReactions(this.id, messageID, emoji, options);
98
+ }
99
+ /**
100
+ * Pin a message in this channel.
101
+ * @param messageID The ID of the message to pin.
102
+ * @param reason The reason for pinning the message.
103
+ */
104
+ async pinMessage(messageID, reason) {
105
+ return this.client.rest.channels.pinMessage(this.id, messageID, reason);
106
+ }
107
+ /**
108
+ * Show a typing indicator in this channel.
109
+ */
110
+ async sendTyping() {
111
+ return this.client.rest.channels.sendTyping(this.id);
112
+ }
113
+ toJSON() {
114
+ return {
115
+ ...super.toJSON(),
116
+ lastMessageID: this.lastMessageID,
117
+ messages: this.messages.map(message => message.id),
118
+ recipient: this.recipient?.toJSON(),
119
+ type: this.type
120
+ };
121
+ }
122
+ /**
123
+ * Unpin a message in this channel.
124
+ * @param messageID The ID of the message to unpin.
125
+ * @param reason The ID for unpinning the message.
126
+ */
127
+ async unpinMessage(messageID, reason) {
128
+ return this.client.rest.channels.unpinMessage(this.id, messageID, reason);
129
+ }
130
+ }
131
+ exports.default = PrivateChannel;
@@ -0,0 +1,28 @@
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
+ /** @module PrivateThreadChannel */
7
+ const ThreadChannel_1 = __importDefault(require("./ThreadChannel"));
8
+ /** Represents a private thread channel.. */
9
+ class PrivateThreadChannel extends ThreadChannel_1.default {
10
+ constructor(data, client) {
11
+ super(data, client);
12
+ }
13
+ /**
14
+ * Get the members of this thread.
15
+ * @param options The options for getting the thread members.
16
+ */
17
+ async getThreadMembers(options) {
18
+ return this.client.rest.channels.getThreadMembers(this.id, options);
19
+ }
20
+ toJSON() {
21
+ return {
22
+ ...super.toJSON(),
23
+ threadMetadata: this.threadMetadata,
24
+ type: this.type
25
+ };
26
+ }
27
+ }
28
+ exports.default = PrivateThreadChannel;
@@ -0,0 +1,36 @@
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
+ /** @module PublicThreadChannel */
7
+ const ThreadChannel_1 = __importDefault(require("./ThreadChannel"));
8
+ /** Represents a public thread channel. */
9
+ class PublicThreadChannel extends ThreadChannel_1.default {
10
+ constructor(data, client) {
11
+ super(data, client);
12
+ this.appliedTags = [];
13
+ }
14
+ update(data) {
15
+ super.update(data);
16
+ if (data.applied_tags !== undefined) {
17
+ this.appliedTags = data.applied_tags;
18
+ }
19
+ }
20
+ /**
21
+ * Get the members of this thread.
22
+ * @param options The options for getting the thread members.
23
+ */
24
+ async getThreadMembers(options) {
25
+ return this.client.rest.channels.getThreadMembers(this.id, options);
26
+ }
27
+ toJSON() {
28
+ return {
29
+ ...super.toJSON(),
30
+ appliedTags: this.appliedTags,
31
+ threadMetadata: this.threadMetadata,
32
+ type: this.type
33
+ };
34
+ }
35
+ }
36
+ exports.default = PublicThreadChannel;
@@ -0,0 +1,126 @@
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
+ /** @module Role */
7
+ const Base_1 = __importDefault(require("./Base"));
8
+ const Permission_1 = __importDefault(require("./Permission"));
9
+ const Errors_1 = require("../util/Errors");
10
+ /** Represents a role in a guild. */
11
+ class Role extends Base_1.default {
12
+ constructor(data, client, guildID) {
13
+ super(data.id, client);
14
+ this.color = data.color;
15
+ this.colors = {
16
+ primaryColor: data.colors.primary_color,
17
+ secondaryColor: data.colors.secondary_color,
18
+ tertiaryColor: data.colors.tertiary_color
19
+ };
20
+ this.flags = data.flags;
21
+ this.guildID = guildID;
22
+ this.hoist = !!data.hoist;
23
+ this.icon = null;
24
+ this.managed = !!data.managed;
25
+ this.mentionable = !!data.mentionable;
26
+ this.name = data.name;
27
+ this.permissions = new Permission_1.default(data.permissions);
28
+ this.position = data.position;
29
+ this.unicodeEmoji = null;
30
+ this.update(data);
31
+ }
32
+ update(data) {
33
+ if (data.flags !== undefined) {
34
+ this.flags = data.flags;
35
+ }
36
+ if (data.color !== undefined) {
37
+ this.color = data.color;
38
+ }
39
+ if (data.colors !== undefined) {
40
+ this.colors = {
41
+ primaryColor: data.colors.primary_color,
42
+ secondaryColor: data.colors.secondary_color,
43
+ tertiaryColor: data.colors.tertiary_color
44
+ };
45
+ }
46
+ if (data.hoist !== undefined) {
47
+ this.hoist = data.hoist;
48
+ }
49
+ if (data.icon !== undefined) {
50
+ this.icon = data.icon ?? null;
51
+ }
52
+ if (data.mentionable !== undefined) {
53
+ this.mentionable = data.mentionable;
54
+ }
55
+ if (data.name !== undefined) {
56
+ this.name = data.name;
57
+ }
58
+ if (data.permissions !== undefined) {
59
+ this.permissions = new Permission_1.default(data.permissions);
60
+ }
61
+ if (data.position !== undefined) {
62
+ this.position = data.position;
63
+ }
64
+ if (data.unicode_emoji !== undefined) {
65
+ this.unicodeEmoji = data.unicode_emoji ?? null;
66
+ }
67
+ this.tags = {
68
+ availableForPurchase: data.tags?.available_for_purchase === null,
69
+ guildConnections: data.tags?.guild_connections === null,
70
+ botID: data.tags?.bot_id,
71
+ integrationID: data.tags?.integration_id,
72
+ premiumSubscriber: data.tags?.premium_subscriber === null,
73
+ subscriptionListingID: data.tags?.subscription_listing_id
74
+ };
75
+ }
76
+ /** The guild this role is in. This will throw an error if the guild is not cached. */
77
+ get guild() {
78
+ this._cachedGuild ?? (this._cachedGuild = this.client.guilds.get(this.guildID));
79
+ if (!this._cachedGuild) {
80
+ if (this.client.options.restMode) {
81
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present when rest mode is enabled.`);
82
+ }
83
+ if (!this.client.shards.connected) {
84
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present without a gateway connection.`);
85
+ }
86
+ throw new Errors_1.UncachedError(`${this.constructor.name}#guild is not present.`);
87
+ }
88
+ return this._cachedGuild;
89
+ }
90
+ /** A string that will mention this role. */
91
+ get mention() {
92
+ return `<@&${this.id}>`;
93
+ }
94
+ /**
95
+ * Delete this role.
96
+ * @param reason The reason for deleting the role.
97
+ */
98
+ async delete(reason) {
99
+ return this.client.rest.guilds.deleteRole(this.guildID, this.id, reason);
100
+ }
101
+ /**
102
+ * Edit this role.
103
+ * @param options The options for editing the role.
104
+ */
105
+ async edit(options) {
106
+ return this.client.rest.guilds.editRole(this.guildID, this.id, options);
107
+ }
108
+ toJSON() {
109
+ return {
110
+ ...super.toJSON(),
111
+ color: this.color,
112
+ colors: this.colors,
113
+ guildID: this.guildID,
114
+ hoist: this.hoist,
115
+ icon: this.icon,
116
+ managed: this.managed,
117
+ mentionable: this.mentionable,
118
+ name: this.name,
119
+ permissions: this.permissions.toJSON(),
120
+ position: this.position,
121
+ tags: this.tags,
122
+ unicodeEmoji: this.unicodeEmoji
123
+ };
124
+ }
125
+ }
126
+ exports.default = Role;
@@ -0,0 +1,58 @@
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 Base_1 = __importDefault(require("./Base"));
7
+ class SKU extends Base_1.default {
8
+ constructor(data, client) {
9
+ super(data.id, client);
10
+ this.accessType = data.access_type;
11
+ this.applicationID = data.application_id;
12
+ this.dependentSKUID = data.dependent_sku_id;
13
+ this.features = data.features;
14
+ this.flags = data.flags;
15
+ this.manifestLabels = data.manifest_labels;
16
+ this.name = data.name;
17
+ this.releaseDate = data.release_date;
18
+ this.showAgeGate = data.show_age_gate;
19
+ this.slug = data.slug;
20
+ this.type = data.type;
21
+ }
22
+ /**
23
+ * Create a test entitlement for this SKU.
24
+ * @param ownerType The type of the owner to create the entitlement for.
25
+ * @param ownerID The ID of the owner to create the entitlement for.
26
+ */
27
+ async createTestEntitlement(ownerType, ownerID) {
28
+ return this.client.rest.applications.createTestEntitlement(this.applicationID, {
29
+ ownerID,
30
+ ownerType,
31
+ skuID: this.id
32
+ });
33
+ }
34
+ /**
35
+ * Get the entitlements for this SKU.
36
+ * @param options The options for getting the entitlements.
37
+ */
38
+ async getEntitlements(options) {
39
+ return this.client.rest.applications.getEntitlements(this.applicationID, { skuIDs: [this.id], ...options });
40
+ }
41
+ toJSON() {
42
+ return {
43
+ ...super.toJSON(),
44
+ accessType: this.accessType,
45
+ applicationID: this.applicationID,
46
+ dependentSKUID: this.dependentSKUID,
47
+ features: this.features,
48
+ flags: this.flags,
49
+ manifestLabels: this.manifestLabels,
50
+ name: this.name,
51
+ releaseDate: this.releaseDate,
52
+ showAgeGate: this.showAgeGate,
53
+ slug: this.slug,
54
+ type: this.type
55
+ };
56
+ }
57
+ }
58
+ exports.default = SKU;