revbot.js 0.0.13 → 0.0.15-build-test
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-35BYGFDX.js +25 -0
- package/dist/chunk-35BYGFDX.js.map +1 -0
- package/dist/chunk-3ANNOYXY.js +30 -0
- package/dist/chunk-3ANNOYXY.js.map +1 -0
- package/dist/chunk-3GLQHMWL.js +39 -0
- package/dist/chunk-3GLQHMWL.js.map +1 -0
- package/dist/chunk-43CUB3NP.js +30 -0
- package/dist/chunk-43CUB3NP.js.map +1 -0
- package/dist/chunk-55PAATU6.js +101 -0
- package/dist/chunk-55PAATU6.js.map +1 -0
- package/dist/chunk-5RK7FEID.js +47 -0
- package/dist/chunk-5RK7FEID.js.map +1 -0
- package/dist/chunk-6V6HPZ33.js +27 -0
- package/dist/chunk-6V6HPZ33.js.map +1 -0
- package/dist/chunk-6WJXGICC.js +25 -0
- package/dist/chunk-6WJXGICC.js.map +1 -0
- package/dist/chunk-7PA5MDKS.js +157 -0
- package/dist/chunk-7PA5MDKS.js.map +1 -0
- package/dist/chunk-7XUN3OQT.js +1 -0
- package/dist/chunk-7XUN3OQT.js.map +1 -0
- package/dist/chunk-AOKM5TCP.js +37 -0
- package/dist/chunk-AOKM5TCP.js.map +1 -0
- package/dist/chunk-BQS6ZLNY.js +80 -0
- package/dist/chunk-BQS6ZLNY.js.map +1 -0
- package/dist/chunk-CQ4AJZQD.js +51 -0
- package/dist/chunk-CQ4AJZQD.js.map +1 -0
- package/dist/chunk-DSM44DGO.js +156 -0
- package/dist/chunk-DSM44DGO.js.map +1 -0
- package/dist/chunk-E2P4PIDH.js +35 -0
- package/dist/chunk-E2P4PIDH.js.map +1 -0
- package/dist/chunk-EOZ7QHOH.js +151 -0
- package/dist/chunk-EOZ7QHOH.js.map +1 -0
- package/dist/chunk-FKNQEJE7.js +20 -0
- package/dist/chunk-FKNQEJE7.js.map +1 -0
- package/dist/chunk-G7DLVJKH.js +34 -0
- package/dist/chunk-G7DLVJKH.js.map +1 -0
- package/dist/chunk-GCIV7PRI.js +30 -0
- package/dist/chunk-GCIV7PRI.js.map +1 -0
- package/dist/chunk-GNQQG7EP.js +88 -0
- package/dist/chunk-GNQQG7EP.js.map +1 -0
- package/dist/chunk-H4SZEZP2.js +38 -0
- package/dist/chunk-H4SZEZP2.js.map +1 -0
- package/dist/chunk-HETUKFLM.js +7 -0
- package/dist/chunk-HETUKFLM.js.map +1 -0
- package/dist/chunk-HKLTWZSB.js +112 -0
- package/dist/chunk-HKLTWZSB.js.map +1 -0
- package/dist/chunk-ICANLKGX.js +97 -0
- package/dist/chunk-ICANLKGX.js.map +1 -0
- package/dist/chunk-J2RF7D67.js +105 -0
- package/dist/chunk-J2RF7D67.js.map +1 -0
- package/dist/chunk-K4VAG5ZU.js +16 -0
- package/dist/chunk-K4VAG5ZU.js.map +1 -0
- package/dist/chunk-LAL23AQK.js +105 -0
- package/dist/chunk-LAL23AQK.js.map +1 -0
- package/dist/chunk-LQUZ7Q7D.js +29 -0
- package/dist/chunk-LQUZ7Q7D.js.map +1 -0
- package/dist/chunk-LUDTY3LL.js +103 -0
- package/dist/chunk-LUDTY3LL.js.map +1 -0
- package/dist/chunk-LY7OFI25.js +26 -0
- package/dist/chunk-LY7OFI25.js.map +1 -0
- package/dist/chunk-MLKHJGSQ.js +68 -0
- package/dist/chunk-MLKHJGSQ.js.map +1 -0
- package/dist/chunk-MSJCRRXO.js +32 -0
- package/dist/chunk-MSJCRRXO.js.map +1 -0
- package/dist/chunk-O2IN5OZI.js +27 -0
- package/dist/chunk-O2IN5OZI.js.map +1 -0
- package/dist/chunk-OETI5C5L.js +30 -0
- package/dist/chunk-OETI5C5L.js.map +1 -0
- package/dist/chunk-OK227BBS.js +38 -0
- package/dist/chunk-OK227BBS.js.map +1 -0
- package/dist/chunk-R2PF552K.js +67 -0
- package/dist/chunk-R2PF552K.js.map +1 -0
- package/dist/chunk-RMACMP4R.js +26 -0
- package/dist/chunk-RMACMP4R.js.map +1 -0
- package/dist/chunk-SYXHGCHU.js +26 -0
- package/dist/chunk-SYXHGCHU.js.map +1 -0
- package/dist/chunk-VELIOWTX.js +25 -0
- package/dist/chunk-VELIOWTX.js.map +1 -0
- package/dist/chunk-VU3XNPDE.js +37 -0
- package/dist/chunk-VU3XNPDE.js.map +1 -0
- package/dist/chunk-W4XDXSOK.js +32 -0
- package/dist/chunk-W4XDXSOK.js.map +1 -0
- package/dist/chunk-WMWOEYVA.js +26 -0
- package/dist/chunk-WMWOEYVA.js.map +1 -0
- package/dist/chunk-X7VEORVS.js +43 -0
- package/dist/chunk-X7VEORVS.js.map +1 -0
- package/dist/chunk-XMS4UTPG.js +49 -0
- package/dist/chunk-XMS4UTPG.js.map +1 -0
- package/dist/chunk-XQEYCTYC.js +2601 -0
- package/dist/chunk-XQEYCTYC.js.map +1 -0
- package/dist/chunk-YLSAAPO4.js +79 -0
- package/dist/chunk-YLSAAPO4.js.map +1 -0
- package/dist/chunk-YXX4DJB3.js +27 -0
- package/dist/chunk-YXX4DJB3.js.map +1 -0
- package/dist/client/baseClient.cjs +799 -0
- package/dist/client/baseClient.cjs.map +1 -0
- package/dist/client/baseClient.d.cts +10 -0
- package/dist/client/baseClient.d.ts +10 -0
- package/dist/client/baseClient.js +18 -0
- package/dist/client/baseClient.js.map +1 -0
- package/dist/client/client.cjs +4286 -0
- package/dist/client/client.cjs.map +1 -0
- package/dist/client/client.d.cts +10 -0
- package/dist/client/client.d.ts +10 -0
- package/dist/client/client.js +53 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/events/bulkMessageDelete.cjs +104 -0
- package/dist/client/events/bulkMessageDelete.cjs.map +1 -0
- package/dist/client/events/bulkMessageDelete.d.cts +28 -0
- package/dist/client/events/bulkMessageDelete.d.ts +28 -0
- package/dist/client/events/bulkMessageDelete.js +11 -0
- package/dist/client/events/bulkMessageDelete.js.map +1 -0
- package/dist/client/events/channelCreate.cjs +136 -0
- package/dist/client/events/channelCreate.cjs.map +1 -0
- package/dist/client/events/channelCreate.d.cts +27 -0
- package/dist/client/events/channelCreate.d.ts +27 -0
- package/dist/client/events/channelCreate.js +11 -0
- package/dist/client/events/channelCreate.js.map +1 -0
- package/dist/client/events/channelDelete.cjs +113 -0
- package/dist/client/events/channelDelete.cjs.map +1 -0
- package/dist/client/events/channelDelete.d.cts +29 -0
- package/dist/client/events/channelDelete.d.ts +29 -0
- package/dist/client/events/channelDelete.js +11 -0
- package/dist/client/events/channelDelete.js.map +1 -0
- package/dist/client/events/channelGroupJoin.cjs +133 -0
- package/dist/client/events/channelGroupJoin.cjs.map +1 -0
- package/dist/client/events/channelGroupJoin.d.cts +30 -0
- package/dist/client/events/channelGroupJoin.d.ts +30 -0
- package/dist/client/events/channelGroupJoin.js +11 -0
- package/dist/client/events/channelGroupJoin.js.map +1 -0
- package/dist/client/events/channelGroupLeave.cjs +133 -0
- package/dist/client/events/channelGroupLeave.cjs.map +1 -0
- package/dist/client/events/channelGroupLeave.d.cts +30 -0
- package/dist/client/events/channelGroupLeave.d.ts +30 -0
- package/dist/client/events/channelGroupLeave.js +11 -0
- package/dist/client/events/channelGroupLeave.js.map +1 -0
- package/dist/client/events/channelStarttyping.cjs +110 -0
- package/dist/client/events/channelStarttyping.cjs.map +1 -0
- package/dist/client/events/channelStarttyping.d.cts +30 -0
- package/dist/client/events/channelStarttyping.d.ts +30 -0
- package/dist/client/events/channelStarttyping.js +11 -0
- package/dist/client/events/channelStarttyping.js.map +1 -0
- package/dist/client/events/channelStopTyping.cjs +110 -0
- package/dist/client/events/channelStopTyping.cjs.map +1 -0
- package/dist/client/events/channelStopTyping.d.cts +30 -0
- package/dist/client/events/channelStopTyping.d.ts +30 -0
- package/dist/client/events/channelStopTyping.js +11 -0
- package/dist/client/events/channelStopTyping.js.map +1 -0
- package/dist/client/events/channelUpdate.cjs +109 -0
- package/dist/client/events/channelUpdate.cjs.map +1 -0
- package/dist/client/events/channelUpdate.d.cts +31 -0
- package/dist/client/events/channelUpdate.d.ts +31 -0
- package/dist/client/events/channelUpdate.js +11 -0
- package/dist/client/events/channelUpdate.js.map +1 -0
- package/dist/client/events/event.cjs +124 -0
- package/dist/client/events/event.cjs.map +1 -0
- package/dist/client/events/event.d.cts +11 -0
- package/dist/client/events/event.d.ts +11 -0
- package/dist/client/events/event.js +13 -0
- package/dist/client/events/event.js.map +1 -0
- package/dist/client/events/eventManager.cjs +657 -0
- package/dist/client/events/eventManager.cjs.map +1 -0
- package/dist/client/events/eventManager.d.cts +10 -0
- package/dist/client/events/eventManager.d.ts +10 -0
- package/dist/client/events/eventManager.js +34 -0
- package/dist/client/events/eventManager.js.map +1 -0
- package/dist/client/events/index.cjs +629 -0
- package/dist/client/events/index.cjs.map +1 -0
- package/dist/client/events/index.d.cts +32 -0
- package/dist/client/events/index.d.ts +32 -0
- package/dist/client/events/index.js +96 -0
- package/dist/client/events/index.js.map +1 -0
- package/dist/client/events/message.cjs +136 -0
- package/dist/client/events/message.cjs.map +1 -0
- package/dist/client/events/message.d.cts +27 -0
- package/dist/client/events/message.d.ts +27 -0
- package/dist/client/events/message.js +11 -0
- package/dist/client/events/message.js.map +1 -0
- package/dist/client/events/messageDelete.cjs +114 -0
- package/dist/client/events/messageDelete.cjs.map +1 -0
- package/dist/client/events/messageDelete.d.cts +30 -0
- package/dist/client/events/messageDelete.d.ts +30 -0
- package/dist/client/events/messageDelete.js +11 -0
- package/dist/client/events/messageDelete.js.map +1 -0
- package/dist/client/events/messageReact.cjs +138 -0
- package/dist/client/events/messageReact.cjs.map +1 -0
- package/dist/client/events/messageReact.d.cts +40 -0
- package/dist/client/events/messageReact.d.ts +40 -0
- package/dist/client/events/messageReact.js +11 -0
- package/dist/client/events/messageReact.js.map +1 -0
- package/dist/client/events/messageUnreact.cjs +144 -0
- package/dist/client/events/messageUnreact.cjs.map +1 -0
- package/dist/client/events/messageUnreact.d.cts +28 -0
- package/dist/client/events/messageUnreact.d.ts +28 -0
- package/dist/client/events/messageUnreact.js +11 -0
- package/dist/client/events/messageUnreact.js.map +1 -0
- package/dist/client/events/messageUpdate.cjs +111 -0
- package/dist/client/events/messageUpdate.cjs.map +1 -0
- package/dist/client/events/messageUpdate.d.cts +31 -0
- package/dist/client/events/messageUpdate.d.ts +31 -0
- package/dist/client/events/messageUpdate.js +11 -0
- package/dist/client/events/messageUpdate.js.map +1 -0
- package/dist/client/events/serverCreate.cjs +131 -0
- package/dist/client/events/serverCreate.cjs.map +1 -0
- package/dist/client/events/serverCreate.d.cts +27 -0
- package/dist/client/events/serverCreate.d.ts +27 -0
- package/dist/client/events/serverCreate.js +11 -0
- package/dist/client/events/serverCreate.js.map +1 -0
- package/dist/client/events/serverDelete.cjs +110 -0
- package/dist/client/events/serverDelete.cjs.map +1 -0
- package/dist/client/events/serverDelete.d.cts +27 -0
- package/dist/client/events/serverDelete.d.ts +27 -0
- package/dist/client/events/serverDelete.js +11 -0
- package/dist/client/events/serverDelete.js.map +1 -0
- package/dist/client/events/serverMemberJoin.cjs +135 -0
- package/dist/client/events/serverMemberJoin.cjs.map +1 -0
- package/dist/client/events/serverMemberJoin.d.cts +30 -0
- package/dist/client/events/serverMemberJoin.d.ts +30 -0
- package/dist/client/events/serverMemberJoin.js +11 -0
- package/dist/client/events/serverMemberJoin.js.map +1 -0
- package/dist/client/events/serverMemberLeave.cjs +114 -0
- package/dist/client/events/serverMemberLeave.cjs.map +1 -0
- package/dist/client/events/serverMemberLeave.d.cts +30 -0
- package/dist/client/events/serverMemberLeave.d.ts +30 -0
- package/dist/client/events/serverMemberLeave.js +11 -0
- package/dist/client/events/serverMemberLeave.js.map +1 -0
- package/dist/client/events/serverMemberUpdate.cjs +135 -0
- package/dist/client/events/serverMemberUpdate.cjs.map +1 -0
- package/dist/client/events/serverMemberUpdate.d.cts +33 -0
- package/dist/client/events/serverMemberUpdate.d.ts +33 -0
- package/dist/client/events/serverMemberUpdate.js +11 -0
- package/dist/client/events/serverMemberUpdate.js.map +1 -0
- package/dist/client/events/serverRoleDelete.cjs +114 -0
- package/dist/client/events/serverRoleDelete.cjs.map +1 -0
- package/dist/client/events/serverRoleDelete.d.cts +30 -0
- package/dist/client/events/serverRoleDelete.d.ts +30 -0
- package/dist/client/events/serverRoleDelete.js +11 -0
- package/dist/client/events/serverRoleDelete.js.map +1 -0
- package/dist/client/events/serverRoleUpdate.cjs +111 -0
- package/dist/client/events/serverRoleUpdate.cjs.map +1 -0
- package/dist/client/events/serverRoleUpdate.d.cts +34 -0
- package/dist/client/events/serverRoleUpdate.d.ts +34 -0
- package/dist/client/events/serverRoleUpdate.js +11 -0
- package/dist/client/events/serverRoleUpdate.js.map +1 -0
- package/dist/client/events/serverupdate.cjs +109 -0
- package/dist/client/events/serverupdate.cjs.map +1 -0
- package/dist/client/events/serverupdate.d.cts +31 -0
- package/dist/client/events/serverupdate.d.ts +31 -0
- package/dist/client/events/serverupdate.js +11 -0
- package/dist/client/events/serverupdate.js.map +1 -0
- package/dist/client/events/userUpdate.cjs +109 -0
- package/dist/client/events/userUpdate.cjs.map +1 -0
- package/dist/client/events/userUpdate.d.cts +31 -0
- package/dist/client/events/userUpdate.d.ts +31 -0
- package/dist/client/events/userUpdate.js +11 -0
- package/dist/client/events/userUpdate.js.map +1 -0
- package/dist/client/webSocket.cjs +1018 -0
- package/dist/client/webSocket.cjs.map +1 -0
- package/dist/client/webSocket.d.cts +10 -0
- package/dist/client/webSocket.d.ts +10 -0
- package/dist/client/webSocket.js +53 -0
- package/dist/client/webSocket.js.map +1 -0
- package/dist/{index.d.mts → index-D44PqKGb.d.ts} +4 -242
- package/dist/index-XkxTx7UU.d.cts +2386 -0
- package/dist/{index.mjs → index.cjs} +112 -36
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +11 -0
- package/dist/index.d.ts +11 -2624
- package/dist/index.js +111 -4535
- package/dist/index.js.map +1 -0
- package/dist/managers/baseManager.cjs +63 -0
- package/dist/managers/baseManager.cjs.map +1 -0
- package/dist/managers/baseManager.d.cts +10 -0
- package/dist/managers/baseManager.d.ts +10 -0
- package/dist/managers/baseManager.js +8 -0
- package/dist/managers/baseManager.js.map +1 -0
- package/dist/managers/channelManager.cjs +1978 -0
- package/dist/managers/channelManager.cjs.map +1 -0
- package/dist/managers/channelManager.d.cts +10 -0
- package/dist/managers/channelManager.d.ts +10 -0
- package/dist/managers/channelManager.js +53 -0
- package/dist/managers/channelManager.js.map +1 -0
- package/dist/managers/index.cjs +2992 -0
- package/dist/managers/index.cjs.map +1 -0
- package/dist/managers/index.d.cts +10 -0
- package/dist/managers/index.d.ts +10 -0
- package/dist/managers/index.js +68 -0
- package/dist/managers/index.js.map +1 -0
- package/dist/managers/messageManager.cjs +1153 -0
- package/dist/managers/messageManager.cjs.map +1 -0
- package/dist/managers/messageManager.d.cts +10 -0
- package/dist/managers/messageManager.d.ts +10 -0
- package/dist/managers/messageManager.js +53 -0
- package/dist/managers/messageManager.js.map +1 -0
- package/dist/managers/roleManager.cjs +700 -0
- package/dist/managers/roleManager.cjs.map +1 -0
- package/dist/managers/roleManager.d.cts +10 -0
- package/dist/managers/roleManager.d.ts +10 -0
- package/dist/managers/roleManager.js +53 -0
- package/dist/managers/roleManager.js.map +1 -0
- package/dist/managers/serverChannelManager.cjs +1622 -0
- package/dist/managers/serverChannelManager.cjs.map +1 -0
- package/dist/managers/serverChannelManager.d.cts +10 -0
- package/dist/managers/serverChannelManager.d.ts +10 -0
- package/dist/managers/serverChannelManager.js +53 -0
- package/dist/managers/serverChannelManager.js.map +1 -0
- package/dist/managers/serverManager.cjs +2508 -0
- package/dist/managers/serverManager.cjs.map +1 -0
- package/dist/managers/serverManager.d.cts +10 -0
- package/dist/managers/serverManager.d.ts +10 -0
- package/dist/managers/serverManager.js +53 -0
- package/dist/managers/serverManager.js.map +1 -0
- package/dist/managers/serverMemberManager.cjs +1037 -0
- package/dist/managers/serverMemberManager.cjs.map +1 -0
- package/dist/managers/serverMemberManager.d.cts +10 -0
- package/dist/managers/serverMemberManager.d.ts +10 -0
- package/dist/managers/serverMemberManager.js +53 -0
- package/dist/managers/serverMemberManager.js.map +1 -0
- package/dist/managers/userManager.cjs +1103 -0
- package/dist/managers/userManager.cjs.map +1 -0
- package/dist/managers/userManager.d.cts +10 -0
- package/dist/managers/userManager.d.ts +10 -0
- package/dist/managers/userManager.js +53 -0
- package/dist/managers/userManager.js.map +1 -0
- package/dist/rest/CDNClient.cjs +608 -0
- package/dist/rest/CDNClient.cjs.map +1 -0
- package/dist/rest/CDNClient.d.cts +10 -0
- package/dist/rest/CDNClient.d.ts +10 -0
- package/dist/rest/CDNClient.js +16 -0
- package/dist/rest/CDNClient.js.map +1 -0
- package/dist/rest/restClient.cjs +652 -0
- package/dist/rest/restClient.cjs.map +1 -0
- package/dist/rest/restClient.d.cts +10 -0
- package/dist/rest/restClient.d.ts +10 -0
- package/dist/rest/restClient.js +16 -0
- package/dist/rest/restClient.js.map +1 -0
- package/dist/rest/restUtils/rateLimitQueue.cjs +138 -0
- package/dist/rest/restUtils/rateLimitQueue.cjs.map +1 -0
- package/dist/rest/restUtils/rateLimitQueue.d.cts +13 -0
- package/dist/rest/restUtils/rateLimitQueue.d.ts +13 -0
- package/dist/rest/restUtils/rateLimitQueue.js +8 -0
- package/dist/rest/restUtils/rateLimitQueue.js.map +1 -0
- package/dist/struct/attachment.cjs +263 -0
- package/dist/struct/attachment.cjs.map +1 -0
- package/dist/struct/attachment.d.cts +10 -0
- package/dist/struct/attachment.d.ts +10 -0
- package/dist/struct/attachment.js +10 -0
- package/dist/struct/attachment.js.map +1 -0
- package/dist/struct/base.cjs +234 -0
- package/dist/struct/base.cjs.map +1 -0
- package/dist/struct/base.d.cts +10 -0
- package/dist/struct/base.d.ts +10 -0
- package/dist/struct/base.js +9 -0
- package/dist/struct/base.js.map +1 -0
- package/dist/struct/category.cjs +532 -0
- package/dist/struct/category.cjs.map +1 -0
- package/dist/struct/category.d.cts +10 -0
- package/dist/struct/category.d.ts +10 -0
- package/dist/struct/category.js +53 -0
- package/dist/struct/category.js.map +1 -0
- package/dist/struct/channel.cjs +539 -0
- package/dist/struct/channel.cjs.map +1 -0
- package/dist/struct/channel.d.cts +10 -0
- package/dist/struct/channel.d.ts +10 -0
- package/dist/struct/channel.js +15 -0
- package/dist/struct/channel.js.map +1 -0
- package/dist/struct/clientUser.cjs +741 -0
- package/dist/struct/clientUser.cjs.map +1 -0
- package/dist/struct/clientUser.d.cts +10 -0
- package/dist/struct/clientUser.d.ts +10 -0
- package/dist/struct/clientUser.js +53 -0
- package/dist/struct/clientUser.js.map +1 -0
- package/dist/struct/dmChannel.cjs +1320 -0
- package/dist/struct/dmChannel.cjs.map +1 -0
- package/dist/struct/dmChannel.d.cts +10 -0
- package/dist/struct/dmChannel.d.ts +10 -0
- package/dist/struct/dmChannel.js +53 -0
- package/dist/struct/dmChannel.js.map +1 -0
- package/dist/struct/emoji.cjs +273 -0
- package/dist/struct/emoji.cjs.map +1 -0
- package/dist/struct/emoji.d.cts +10 -0
- package/dist/struct/emoji.d.ts +10 -0
- package/dist/struct/emoji.js +10 -0
- package/dist/struct/emoji.js.map +1 -0
- package/dist/struct/groupChannel.cjs +1519 -0
- package/dist/struct/groupChannel.cjs.map +1 -0
- package/dist/struct/groupChannel.d.cts +10 -0
- package/dist/struct/groupChannel.d.ts +10 -0
- package/dist/struct/groupChannel.js +53 -0
- package/dist/struct/groupChannel.js.map +1 -0
- package/dist/struct/index.cjs +2970 -0
- package/dist/struct/index.cjs.map +1 -0
- package/dist/struct/index.d.cts +10 -0
- package/dist/struct/index.d.ts +10 -0
- package/dist/struct/index.js +101 -0
- package/dist/struct/index.js.map +1 -0
- package/dist/struct/interfaces/baseChannel.cjs +19 -0
- package/dist/struct/interfaces/baseChannel.cjs.map +1 -0
- package/dist/struct/interfaces/baseChannel.d.cts +10 -0
- package/dist/struct/interfaces/baseChannel.d.ts +10 -0
- package/dist/struct/interfaces/baseChannel.js +1 -0
- package/dist/struct/interfaces/baseChannel.js.map +1 -0
- package/dist/struct/invite.cjs +293 -0
- package/dist/struct/invite.cjs.map +1 -0
- package/dist/struct/invite.d.cts +10 -0
- package/dist/struct/invite.d.ts +10 -0
- package/dist/struct/invite.js +10 -0
- package/dist/struct/invite.js.map +1 -0
- package/dist/struct/mentions.cjs +104 -0
- package/dist/struct/mentions.cjs.map +1 -0
- package/dist/struct/mentions.d.cts +10 -0
- package/dist/struct/mentions.d.ts +10 -0
- package/dist/struct/mentions.js +8 -0
- package/dist/struct/mentions.js.map +1 -0
- package/dist/struct/message.cjs +817 -0
- package/dist/struct/message.cjs.map +1 -0
- package/dist/struct/message.d.cts +10 -0
- package/dist/struct/message.d.ts +10 -0
- package/dist/struct/message.js +53 -0
- package/dist/struct/message.js.map +1 -0
- package/dist/struct/messageEmbed.cjs +205 -0
- package/dist/struct/messageEmbed.cjs.map +1 -0
- package/dist/struct/messageEmbed.d.cts +10 -0
- package/dist/struct/messageEmbed.d.ts +10 -0
- package/dist/struct/messageEmbed.js +8 -0
- package/dist/struct/messageEmbed.js.map +1 -0
- package/dist/struct/notesChannel.cjs +1327 -0
- package/dist/struct/notesChannel.cjs.map +1 -0
- package/dist/struct/notesChannel.d.cts +10 -0
- package/dist/struct/notesChannel.d.ts +10 -0
- package/dist/struct/notesChannel.js +53 -0
- package/dist/struct/notesChannel.js.map +1 -0
- package/dist/struct/presence.cjs +254 -0
- package/dist/struct/presence.cjs.map +1 -0
- package/dist/struct/presence.d.cts +10 -0
- package/dist/struct/presence.d.ts +10 -0
- package/dist/struct/presence.js +12 -0
- package/dist/struct/presence.js.map +1 -0
- package/dist/struct/role.cjs +572 -0
- package/dist/struct/role.cjs.map +1 -0
- package/dist/struct/role.d.cts +10 -0
- package/dist/struct/role.d.ts +10 -0
- package/dist/struct/role.js +53 -0
- package/dist/struct/role.js.map +1 -0
- package/dist/struct/server.cjs +2454 -0
- package/dist/struct/server.cjs.map +1 -0
- package/dist/struct/server.d.cts +10 -0
- package/dist/struct/server.d.ts +10 -0
- package/dist/struct/server.js +53 -0
- package/dist/struct/server.js.map +1 -0
- package/dist/struct/serverChannel.cjs +776 -0
- package/dist/struct/serverChannel.cjs.map +1 -0
- package/dist/struct/serverChannel.d.cts +10 -0
- package/dist/struct/serverChannel.d.ts +10 -0
- package/dist/struct/serverChannel.js +53 -0
- package/dist/struct/serverChannel.js.map +1 -0
- package/dist/struct/serverMember.cjs +711 -0
- package/dist/struct/serverMember.cjs.map +1 -0
- package/dist/struct/serverMember.d.cts +10 -0
- package/dist/struct/serverMember.d.ts +10 -0
- package/dist/struct/serverMember.js +53 -0
- package/dist/struct/serverMember.js.map +1 -0
- package/dist/struct/textChannel.cjs +1502 -0
- package/dist/struct/textChannel.cjs.map +1 -0
- package/dist/struct/textChannel.d.cts +10 -0
- package/dist/struct/textChannel.d.ts +10 -0
- package/dist/struct/textChannel.js +53 -0
- package/dist/struct/textChannel.js.map +1 -0
- package/dist/struct/user.cjs +690 -0
- package/dist/struct/user.cjs.map +1 -0
- package/dist/struct/user.d.cts +10 -0
- package/dist/struct/user.d.ts +10 -0
- package/dist/struct/user.js +53 -0
- package/dist/struct/user.js.map +1 -0
- package/dist/struct/voiceChannels.cjs +820 -0
- package/dist/struct/voiceChannels.cjs.map +1 -0
- package/dist/struct/voiceChannels.d.cts +10 -0
- package/dist/struct/voiceChannels.d.ts +10 -0
- package/dist/struct/voiceChannels.js +53 -0
- package/dist/struct/voiceChannels.js.map +1 -0
- package/dist/utils/UUID.cjs +75 -0
- package/dist/utils/UUID.cjs.map +1 -0
- package/dist/utils/UUID.d.cts +14 -0
- package/dist/utils/UUID.d.ts +14 -0
- package/dist/utils/UUID.js +8 -0
- package/dist/utils/UUID.js.map +1 -0
- package/dist/utils/badges.cjs +181 -0
- package/dist/utils/badges.cjs.map +1 -0
- package/dist/utils/badges.d.cts +25 -0
- package/dist/utils/badges.d.ts +25 -0
- package/dist/utils/badges.js +9 -0
- package/dist/utils/badges.js.map +1 -0
- package/dist/utils/bitField.cjs +161 -0
- package/dist/utils/bitField.cjs.map +1 -0
- package/dist/utils/bitField.d.cts +51 -0
- package/dist/utils/bitField.d.ts +51 -0
- package/dist/utils/bitField.js +8 -0
- package/dist/utils/bitField.js.map +1 -0
- package/dist/utils/constants.cjs +179 -0
- package/dist/utils/constants.cjs.map +1 -0
- package/dist/utils/constants.d.cts +10 -0
- package/dist/utils/constants.d.ts +10 -0
- package/dist/utils/constants.js +23 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/index.cjs +489 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +11 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +47 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/permissions.cjs +314 -0
- package/dist/utils/permissions.cjs.map +1 -0
- package/dist/utils/permissions.d.cts +110 -0
- package/dist/utils/permissions.d.ts +110 -0
- package/dist/utils/permissions.js +17 -0
- package/dist/utils/permissions.js.map +1 -0
- package/dist/utils/types.cjs +19 -0
- package/dist/utils/types.cjs.map +1 -0
- package/dist/utils/types.d.cts +60 -0
- package/dist/utils/types.d.ts +60 -0
- package/dist/utils/types.js +1 -0
- package/dist/utils/types.js.map +1 -0
- package/package.json +16 -5
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__async
|
|
3
|
+
} from "./chunk-ICANLKGX.js";
|
|
4
|
+
|
|
5
|
+
// src/rest/restUtils/rateLimitQueue.ts
|
|
6
|
+
import axios from "axios";
|
|
7
|
+
var RateLimitQueue = class {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.bucketMap = /* @__PURE__ */ new Map();
|
|
10
|
+
this.pathToBucket = /* @__PURE__ */ new Map();
|
|
11
|
+
}
|
|
12
|
+
request(config) {
|
|
13
|
+
return __async(this, null, function* () {
|
|
14
|
+
const path = config.url;
|
|
15
|
+
const bucketId = this.pathToBucket.get(path);
|
|
16
|
+
let bucket = bucketId ? this.bucketMap.get(bucketId) : void 0;
|
|
17
|
+
if (bucket && bucket.remaining <= 0 && Date.now() < bucket.resetAfter) {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
bucket.queue.push(() => __async(this, null, function* () {
|
|
20
|
+
try {
|
|
21
|
+
const res = yield this._doRequest(config, path);
|
|
22
|
+
resolve(res);
|
|
23
|
+
} catch (e) {
|
|
24
|
+
reject(e);
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
return this._doRequest(config, path);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
_doRequest(config, path) {
|
|
34
|
+
return __async(this, null, function* () {
|
|
35
|
+
const response = yield axios(config);
|
|
36
|
+
this._updateRateLimit(path, response);
|
|
37
|
+
return response;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
_updateRateLimit(path, response) {
|
|
41
|
+
const headers = response.headers;
|
|
42
|
+
const limit = parseInt(headers["x-ratelimit-limit"]);
|
|
43
|
+
const remaining = parseInt(headers["x-ratelimit-remaining"]);
|
|
44
|
+
const resetAfter = parseFloat(headers["x-ratelimit-reset-after"]) * 1e3 + Date.now();
|
|
45
|
+
const bucket = headers["x-ratelimit-bucket"];
|
|
46
|
+
const resetIn = parseInt(headers["x-ratelimit-reset-after"]);
|
|
47
|
+
if (!bucket) return;
|
|
48
|
+
this.pathToBucket.set(path, bucket);
|
|
49
|
+
let state = this.bucketMap.get(bucket);
|
|
50
|
+
if (!state) {
|
|
51
|
+
state = {
|
|
52
|
+
limit,
|
|
53
|
+
remaining,
|
|
54
|
+
resetAfter,
|
|
55
|
+
bucket,
|
|
56
|
+
resetIn,
|
|
57
|
+
queue: [],
|
|
58
|
+
lastPath: path
|
|
59
|
+
};
|
|
60
|
+
this.bucketMap.set(bucket, state);
|
|
61
|
+
} else {
|
|
62
|
+
state.limit = limit;
|
|
63
|
+
state.remaining = remaining;
|
|
64
|
+
state.resetAfter = resetAfter;
|
|
65
|
+
state.lastPath = path;
|
|
66
|
+
}
|
|
67
|
+
if (remaining <= 0) {
|
|
68
|
+
if (state.resetTimeout) clearTimeout(state.resetTimeout);
|
|
69
|
+
const delay = resetIn;
|
|
70
|
+
state.resetTimeout = setTimeout(() => {
|
|
71
|
+
state.remaining = state.limit;
|
|
72
|
+
state.resetTimeout = void 0;
|
|
73
|
+
while (state.queue.length > 0 && state.remaining > 0) {
|
|
74
|
+
const fn = state.queue.shift();
|
|
75
|
+
if (fn) {
|
|
76
|
+
state.remaining--;
|
|
77
|
+
fn();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}, delay);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export {
|
|
86
|
+
RateLimitQueue
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=chunk-GNQQG7EP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rest/restUtils/rateLimitQueue.ts"],"sourcesContent":["import axios, { AxiosRequestConfig, AxiosResponse } from \"axios\";\r\n\r\ninterface RateLimitInfo {\r\n limit: number;\r\n remaining: number;\r\n resetAfter: number; // epoch ms\r\n bucket: string;\r\n resetIn: number; // ms until reset\r\n}\r\n\r\ninterface BucketState extends RateLimitInfo {\r\n queue: Array<() => void>;\r\n resetTimeout?: NodeJS.Timeout;\r\n lastPath: string;\r\n}\r\n\r\nexport class RateLimitQueue {\r\n private bucketMap: Map<string, BucketState> = new Map();\r\n private pathToBucket: Map<string, string> = new Map();\r\n\r\n async request<T = any>(\r\n config: AxiosRequestConfig & { url: string },\r\n ): Promise<AxiosResponse<T>> {\r\n const path = config.url!;\r\n const bucketId = this.pathToBucket.get(path);\r\n let bucket = bucketId ? this.bucketMap.get(bucketId) : undefined;\r\n\r\n if (bucket && bucket.remaining <= 0 && Date.now() < bucket.resetAfter) {\r\n // Rate limited, queue the request\r\n return new Promise<AxiosResponse<T>>((resolve, reject) => {\r\n bucket!.queue.push(async () => {\r\n try {\r\n const res = await this._doRequest<T>(config, path);\r\n resolve(res);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n });\r\n } else {\r\n // Not rate limited, do the request\r\n return this._doRequest<T>(config, path);\r\n }\r\n }\r\n\r\n private async _doRequest<T>(\r\n config: AxiosRequestConfig,\r\n path: string,\r\n ): Promise<AxiosResponse<T>> {\r\n const response = await axios(config);\r\n this._updateRateLimit(path, response);\r\n return response;\r\n }\r\n\r\n private _updateRateLimit(path: string, response: AxiosResponse) {\r\n const headers = response.headers;\r\n const limit = parseInt(headers[\"x-ratelimit-limit\"]);\r\n const remaining = parseInt(headers[\"x-ratelimit-remaining\"]);\r\n const resetAfter =\r\n parseFloat(headers[\"x-ratelimit-reset-after\"]) * 1000 + Date.now();\r\n const bucket = headers[\"x-ratelimit-bucket\"];\r\n const resetIn = parseInt(headers[\"x-ratelimit-reset-after\"]);\r\n\r\n if (!bucket) return;\r\n this.pathToBucket.set(path, bucket);\r\n let state = this.bucketMap.get(bucket);\r\n if (!state) {\r\n state = {\r\n limit,\r\n remaining,\r\n resetAfter,\r\n bucket,\r\n resetIn,\r\n queue: [],\r\n lastPath: path,\r\n };\r\n this.bucketMap.set(bucket, state);\r\n } else {\r\n state.limit = limit;\r\n state.remaining = remaining;\r\n state.resetAfter = resetAfter;\r\n state.lastPath = path;\r\n }\r\n\r\n if (remaining <= 0) {\r\n if (state.resetTimeout) clearTimeout(state.resetTimeout);\r\n const delay = resetIn;\r\n state.resetTimeout = setTimeout(() => {\r\n state.remaining = state.limit;\r\n state.resetTimeout = undefined;\r\n // Process queued requests\r\n while (state.queue.length > 0 && state.remaining > 0) {\r\n const fn = state.queue.shift();\r\n if (fn) {\r\n state.remaining--;\r\n fn();\r\n }\r\n }\r\n }, delay);\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;AAAA,OAAO,WAAkD;AAgBlD,IAAM,iBAAN,MAAqB;AAAA,EAArB;AACL,SAAQ,YAAsC,oBAAI,IAAI;AACtD,SAAQ,eAAoC,oBAAI,IAAI;AAAA;AAAA,EAE9C,QACJ,QAC2B;AAAA;AAC3B,YAAM,OAAO,OAAO;AACpB,YAAM,WAAW,KAAK,aAAa,IAAI,IAAI;AAC3C,UAAI,SAAS,WAAW,KAAK,UAAU,IAAI,QAAQ,IAAI;AAEvD,UAAI,UAAU,OAAO,aAAa,KAAK,KAAK,IAAI,IAAI,OAAO,YAAY;AAErE,eAAO,IAAI,QAA0B,CAAC,SAAS,WAAW;AACxD,iBAAQ,MAAM,KAAK,MAAY;AAC7B,gBAAI;AACF,oBAAM,MAAM,MAAM,KAAK,WAAc,QAAQ,IAAI;AACjD,sBAAQ,GAAG;AAAA,YACb,SAAS,GAAG;AACV,qBAAO,CAAC;AAAA,YACV;AAAA,UACF,EAAC;AAAA,QACH,CAAC;AAAA,MACH,OAAO;AAEL,eAAO,KAAK,WAAc,QAAQ,IAAI;AAAA,MACxC;AAAA,IACF;AAAA;AAAA,EAEc,WACZ,QACA,MAC2B;AAAA;AAC3B,YAAM,WAAW,MAAM,MAAM,MAAM;AACnC,WAAK,iBAAiB,MAAM,QAAQ;AACpC,aAAO;AAAA,IACT;AAAA;AAAA,EAEQ,iBAAiB,MAAc,UAAyB;AAC9D,UAAM,UAAU,SAAS;AACzB,UAAM,QAAQ,SAAS,QAAQ,mBAAmB,CAAC;AACnD,UAAM,YAAY,SAAS,QAAQ,uBAAuB,CAAC;AAC3D,UAAM,aACJ,WAAW,QAAQ,yBAAyB,CAAC,IAAI,MAAO,KAAK,IAAI;AACnE,UAAM,SAAS,QAAQ,oBAAoB;AAC3C,UAAM,UAAU,SAAS,QAAQ,yBAAyB,CAAC;AAE3D,QAAI,CAAC,OAAQ;AACb,SAAK,aAAa,IAAI,MAAM,MAAM;AAClC,QAAI,QAAQ,KAAK,UAAU,IAAI,MAAM;AACrC,QAAI,CAAC,OAAO;AACV,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,CAAC;AAAA,QACR,UAAU;AAAA,MACZ;AACA,WAAK,UAAU,IAAI,QAAQ,KAAK;AAAA,IAClC,OAAO;AACL,YAAM,QAAQ;AACd,YAAM,YAAY;AAClB,YAAM,aAAa;AACnB,YAAM,WAAW;AAAA,IACnB;AAEA,QAAI,aAAa,GAAG;AAClB,UAAI,MAAM,aAAc,cAAa,MAAM,YAAY;AACvD,YAAM,QAAQ;AACd,YAAM,eAAe,WAAW,MAAM;AACpC,cAAM,YAAY,MAAM;AACxB,cAAM,eAAe;AAErB,eAAO,MAAM,MAAM,SAAS,KAAK,MAAM,YAAY,GAAG;AACpD,gBAAM,KAAK,MAAM,MAAM,MAAM;AAC7B,cAAI,IAAI;AACN,kBAAM;AACN,eAAG;AAAA,UACL;AAAA,QACF;AAAA,MACF,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Event
|
|
3
|
+
} from "./chunk-K4VAG5ZU.js";
|
|
4
|
+
import {
|
|
5
|
+
__spreadProps,
|
|
6
|
+
__spreadValues
|
|
7
|
+
} from "./chunk-ICANLKGX.js";
|
|
8
|
+
|
|
9
|
+
// src/client/events/serverMemberUpdate.ts
|
|
10
|
+
var ServerMemberUpdate = class extends Event {
|
|
11
|
+
/**
|
|
12
|
+
* Handles the server member update event.
|
|
13
|
+
*
|
|
14
|
+
* @param {{ id: string; data: API.Member }} data - The data for the event, containing the server ID and updated member data.
|
|
15
|
+
* @returns {void}
|
|
16
|
+
*/
|
|
17
|
+
handle(data) {
|
|
18
|
+
const updateData = __spreadProps(__spreadValues({}, data.data), {
|
|
19
|
+
_id: { server: data.id.server, user: data.id.user }
|
|
20
|
+
});
|
|
21
|
+
const server = this.client.servers.cache.get(data.id.server);
|
|
22
|
+
const member = server == null ? void 0 : server.members.cache.get(data.id.user);
|
|
23
|
+
const oldMember = member == null ? void 0 : member._update(updateData);
|
|
24
|
+
if (oldMember && member && (!member.equals(oldMember) || areRolesDifferent(member.roles, oldMember.roles))) {
|
|
25
|
+
this.client.emit("serverMemberUpdate" /* SERVER_MEMBER_UPDATE */, oldMember, member);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
function areRolesDifferent(rolesA, rolesB) {
|
|
30
|
+
const idsA = rolesA.map((role) => role.id).sort();
|
|
31
|
+
const idsB = rolesB.map((role) => role.id).sort();
|
|
32
|
+
return idsA.length !== idsB.length || !idsA.every((id, index) => id === idsB[index]);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
ServerMemberUpdate
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=chunk-H4SZEZP2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/events/serverMemberUpdate.ts"],"sourcesContent":["import { Role } from \"../../struct\";\r\nimport { Event, API, Events } from \"./event\";\r\n\r\n/**\r\n * Represents the event handler for server member updates.\r\n *\r\n * @extends Event\r\n */\r\nexport class ServerMemberUpdate extends Event {\r\n /**\r\n * Handles the server member update event.\r\n *\r\n * @param {{ id: string; data: API.Member }} data - The data for the event, containing the server ID and updated member data.\r\n * @returns {void}\r\n */\r\n handle(data: {\r\n id: { server: string; user: string };\r\n data: API.Member;\r\n }): void {\r\n const updateData = {\r\n ...data.data,\r\n _id: { server: data.id.server, user: data.id.user },\r\n };\r\n const server = this.client.servers.cache.get(data.id.server);\r\n const member = server?.members.cache.get(data.id.user);\r\n const oldMember = member?._update(updateData);\r\n\r\n if (\r\n oldMember &&\r\n member &&\r\n (!member.equals(oldMember) ||\r\n areRolesDifferent(member.roles, oldMember.roles))\r\n ) {\r\n this.client.emit(Events.SERVER_MEMBER_UPDATE, oldMember, member);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Compares the role IDs of two members and determines if they are different.\r\n *\r\n * @param {API.Role[]} rolesA - The roles of the first member.\r\n * @param {API.Role[]} rolesB - The roles of the second member.\r\n * @returns {boolean} - Returns true if the roles are different, otherwise false.\r\n */\r\nfunction areRolesDifferent(rolesA: Role[], rolesB: Role[]): boolean {\r\n const idsA = rolesA.map((role) => role.id).sort();\r\n const idsB = rolesB.map((role) => role.id).sort();\r\n\r\n return (\r\n idsA.length !== idsB.length ||\r\n !idsA.every((id, index) => id === idsB[index])\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;AAQO,IAAM,qBAAN,cAAiC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5C,OAAO,MAGE;AACP,UAAM,aAAa,iCACd,KAAK,OADS;AAAA,MAEjB,KAAK,EAAE,QAAQ,KAAK,GAAG,QAAQ,MAAM,KAAK,GAAG,KAAK;AAAA,IACpD;AACA,UAAM,SAAS,KAAK,OAAO,QAAQ,MAAM,IAAI,KAAK,GAAG,MAAM;AAC3D,UAAM,SAAS,iCAAQ,QAAQ,MAAM,IAAI,KAAK,GAAG;AACjD,UAAM,YAAY,iCAAQ,QAAQ;AAElC,QACE,aACA,WACC,CAAC,OAAO,OAAO,SAAS,KACvB,kBAAkB,OAAO,OAAO,UAAU,KAAK,IACjD;AACA,WAAK,OAAO,sDAAkC,WAAW,MAAM;AAAA,IACjE;AAAA,EACF;AACF;AASA,SAAS,kBAAkB,QAAgB,QAAyB;AAClE,QAAM,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE,KAAK;AAChD,QAAM,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE,KAAK;AAEhD,SACE,KAAK,WAAW,KAAK,UACrB,CAAC,KAAK,MAAM,CAAC,IAAI,UAAU,OAAO,KAAK,KAAK,CAAC;AAEjD;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json"],"sourcesContent":["{\r\n \"name\": \"revbot.js\",\r\n \"version\": \"0.0.15-build-test\",\r\n \"description\": \"A Revolt bot client used to interact with the revolt api for Node.js, written in TypeScript.\",\r\n \"main\": \"./dist/index.cjs\",\r\n \"module\": \"./dist/index.js\",\r\n \"types\": \"./dist/index.d.ts\",\r\n \"type\": \"module\",\r\n \"files\": [\r\n \"dist/**/*\"\r\n ],\r\n \"exports\": {\r\n \"require\": {\r\n \"require\": \"./dist/index.cjs\",\r\n \"types\": \"./dist/index.d.cts\"\r\n },\r\n \"import\": {\r\n \"types\": \"./dist/index.d.ts\",\r\n \"import\": \"./dist/index.js\"\r\n }\r\n },\r\n \"engines\": {\r\n \"node\": \">=21.0.0\"\r\n },\r\n \"repository\": \"https://github.com/Jade3375/revbot.js\",\r\n \"keywords\": [\r\n \"revoltjs\",\r\n \"revolt.js\",\r\n \"bot\",\r\n \"client\",\r\n \"revbot\",\r\n \"typescript\"\r\n ],\r\n \"homepage\": \"https://jade3375.github.io/revbot.js/\",\r\n \"author\": \"Jade3375\",\r\n \"license\": \"MIT\",\r\n \"packageManager\": \"yarn@4.9.1\",\r\n \"devDependencies\": {\r\n \"@mxssfd/typedoc-theme\": \"^1.1.7\",\r\n \"@types/node\": \"^22.15.2\",\r\n \"@types/ws\": \"^8.18.1\",\r\n \"eslint-config-prettier\": \"^10.1.2\",\r\n \"prettier\": \"^3.5.3\",\r\n \"rimraf\": \"^6.0.1\",\r\n \"tsup\": \"^8.4.0\",\r\n \"typedoc\": \"^0.28.3\",\r\n \"typedoc-plugin-extras\": \"^4.0.0\",\r\n \"typedoc-plugin-mdn-links\": \"^5.0.1\",\r\n \"typedoc-plugin-merge-modules\": \"^7.0.0\",\r\n \"typescript\": \"^5.8.3\"\r\n },\r\n \"dependencies\": {\r\n \"axios\": \"^1.9.0\",\r\n \"form-data\": \"^4.0.2\",\r\n \"revolt-api\": \"^0.8.6-1\",\r\n \"ws\": \"^8.18.1\"\r\n },\r\n \"scripts\": {\r\n \"lint\": \"eslint . --ext .ts --fix\",\r\n \"build\": \"yarn clean && yarn tsup ./src/* --format cjs,esm --clean --dts --sourcemap\",\r\n \"start\": \"yarn build && yarn node --enable-source-maps dist/index.js\",\r\n \"testClient\": \"yarn test:build && yarn node --enable-source-maps dist/test.js\",\r\n \"clean\": \"rimraf dist\",\r\n \"test:docs\": \"rimraf docs && yarn typedoc --options static/typedoc.json\",\r\n \"test:build\": \"yarn clean && tsc -p tsconfig.json\"\r\n }\r\n}\r\n"],"mappings":";AAEE,cAAW;","names":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {
|
|
2
|
+
version
|
|
3
|
+
} from "./chunk-HETUKFLM.js";
|
|
4
|
+
import {
|
|
5
|
+
RateLimitQueue
|
|
6
|
+
} from "./chunk-GNQQG7EP.js";
|
|
7
|
+
import {
|
|
8
|
+
DEFAULT_CLIENT_OPTIONS,
|
|
9
|
+
cdnUrl
|
|
10
|
+
} from "./chunk-LUDTY3LL.js";
|
|
11
|
+
import {
|
|
12
|
+
__async,
|
|
13
|
+
__spreadProps,
|
|
14
|
+
__spreadValues
|
|
15
|
+
} from "./chunk-ICANLKGX.js";
|
|
16
|
+
|
|
17
|
+
// src/rest/CDNClient.ts
|
|
18
|
+
import { AxiosError } from "axios";
|
|
19
|
+
var CDNClient = class {
|
|
20
|
+
constructor(client) {
|
|
21
|
+
this.client = client;
|
|
22
|
+
this.rateLimitQueue = new RateLimitQueue();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Helper function to handle API requests.
|
|
26
|
+
* @param method The HTTP method (GET, POST, PATCH, PUT, DELETE).
|
|
27
|
+
* @param url The URL for the request.
|
|
28
|
+
* @param body The request body (if applicable).
|
|
29
|
+
* @param query Query parameters (if applicable).
|
|
30
|
+
* @returns The API response.
|
|
31
|
+
*/
|
|
32
|
+
request(method, url, data, query, retry) {
|
|
33
|
+
return __async(this, null, function* () {
|
|
34
|
+
try {
|
|
35
|
+
if (!this.client.token) throw new Error("Token is required");
|
|
36
|
+
const authHeader = this.client.bot ? "X-Bot-Token" : "X-Session-Token";
|
|
37
|
+
const config = __spreadProps(__spreadValues({}, {
|
|
38
|
+
method,
|
|
39
|
+
url: `${cdnUrl}${url}`,
|
|
40
|
+
params: query,
|
|
41
|
+
data,
|
|
42
|
+
maxBodyLength: Infinity,
|
|
43
|
+
headers: __spreadValues({
|
|
44
|
+
[authHeader]: this.client.token,
|
|
45
|
+
"Content-Type": "multipart/form-data",
|
|
46
|
+
"User-Agent": `RevBot.js/${version}`
|
|
47
|
+
}, data.getHeaders())
|
|
48
|
+
}), {
|
|
49
|
+
url: `${cdnUrl}${url}`
|
|
50
|
+
});
|
|
51
|
+
const response = yield this.rateLimitQueue.request(config);
|
|
52
|
+
return response.data;
|
|
53
|
+
} catch (error) {
|
|
54
|
+
if (retry) throw typeof error;
|
|
55
|
+
if (error instanceof AxiosError) {
|
|
56
|
+
if (error.status && (error.status === 429 || error.status >= 500)) {
|
|
57
|
+
return this.retryRequest(0, method, url, data, query);
|
|
58
|
+
}
|
|
59
|
+
if (error.status) {
|
|
60
|
+
console.error(`API call failed with status ${error.status}:`, error);
|
|
61
|
+
throw new Error(
|
|
62
|
+
`API call failed with status ${error.status}: ${error.message}`
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw new Error(
|
|
67
|
+
`API call failed: ${error instanceof Error ? error.message : error}`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
retryRequest(attempt = 0, method, url, body, query) {
|
|
73
|
+
return __async(this, null, function* () {
|
|
74
|
+
var _a, _b;
|
|
75
|
+
if (attempt >= ((_b = (_a = this.client.options.rest) == null ? void 0 : _a.retries) != null ? _b : 3)) {
|
|
76
|
+
throw new Error("Max retries reached");
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
return yield this.request(method, url, body, query, true);
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.warn(`Attempt ${attempt + 1} failed:`, error);
|
|
82
|
+
yield new Promise(
|
|
83
|
+
(resolve) => {
|
|
84
|
+
var _a2, _b2, _c;
|
|
85
|
+
return setTimeout(
|
|
86
|
+
resolve,
|
|
87
|
+
(_c = (_a2 = this.client.options.rest) == null ? void 0 : _a2.timeout) != null ? _c : (_b2 = DEFAULT_CLIENT_OPTIONS.rest) == null ? void 0 : _b2.timeout
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
return this.retryRequest(attempt + 1, method, url, body, query);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* POST request.
|
|
97
|
+
* @param url The URL for the request.
|
|
98
|
+
* @param data The request body.
|
|
99
|
+
* @param query Query parameters (if applicable).
|
|
100
|
+
* @returns The API response.
|
|
101
|
+
*/
|
|
102
|
+
post(url, data) {
|
|
103
|
+
return __async(this, null, function* () {
|
|
104
|
+
return this.request("POST", url, data);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export {
|
|
110
|
+
CDNClient
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=chunk-HKLTWZSB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/rest/CDNClient.ts"],"sourcesContent":["import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from \"axios\";\r\nimport { BaseClient } from \"../client/baseClient\";\r\nimport { cdnUrl, DEFAULT_CLIENT_OPTIONS } from \"../utils\";\r\nimport { version } from \"../../package.json\";\r\nimport FormData from \"form-data\";\r\nimport { RateLimitQueue } from \"./restUtils/rateLimitQueue\";\r\nexport class CDNClient {\r\n private rateLimitQueue = new RateLimitQueue();\r\n constructor(private readonly client: BaseClient) {}\r\n\r\n /**\r\n * Helper function to handle API requests.\r\n * @param method The HTTP method (GET, POST, PATCH, PUT, DELETE).\r\n * @param url The URL for the request.\r\n * @param body The request body (if applicable).\r\n * @param query Query parameters (if applicable).\r\n * @returns The API response.\r\n */\r\n private async request<T>(\r\n method: \"GET\" | \"POST\" | \"PATCH\" | \"PUT\" | \"DELETE\",\r\n url: string,\r\n data: FormData,\r\n query?: Record<string, string | number>,\r\n retry?: boolean,\r\n ): Promise<T> {\r\n try {\r\n if (!this.client.token) throw new Error(\"Token is required\");\r\n\r\n const authHeader = this.client.bot ? \"X-Bot-Token\" : \"X-Session-Token\";\r\n const config: AxiosRequestConfig & { url: string } = {\r\n ...{\r\n method,\r\n url: `${cdnUrl}${url}`,\r\n params: query,\r\n data,\r\n maxBodyLength: Infinity,\r\n headers: {\r\n [authHeader]: this.client.token,\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"User-Agent\": `RevBot.js/${version}`,\r\n ...data.getHeaders(),\r\n },\r\n },\r\n url: `${cdnUrl}${url}`,\r\n };\r\n\r\n // Use the rate limit queue for all requests\r\n const response: AxiosResponse<T> =\r\n await this.rateLimitQueue.request<T>(config);\r\n return response.data;\r\n } catch (error) {\r\n if (retry) throw typeof error;\r\n if (error instanceof AxiosError) {\r\n if (error.status && (error.status === 429 || error.status >= 500)) {\r\n return this.retryRequest<T>(0, method, url, data, query);\r\n }\r\n if (error.status) {\r\n console.error(`API call failed with status ${error.status}:`, error);\r\n throw new Error(\r\n `API call failed with status ${error.status}: ${error.message}`,\r\n );\r\n }\r\n }\r\n throw new Error(\r\n `API call failed: ${error instanceof Error ? error.message : error}`,\r\n );\r\n }\r\n }\r\n\r\n private async retryRequest<T>(\r\n attempt: number = 0,\r\n method: \"GET\" | \"POST\" | \"PATCH\" | \"PUT\" | \"DELETE\",\r\n url: string,\r\n body?: any,\r\n query?: Record<string, string | number>,\r\n ): Promise<T> {\r\n if (attempt >= (this.client.options.rest?.retries ?? 3)) {\r\n throw new Error(\"Max retries reached\");\r\n }\r\n\r\n try {\r\n return await this.request<T>(method, url, body, query, true);\r\n } catch (error) {\r\n console.warn(`Attempt ${attempt + 1} failed:`, error);\r\n await new Promise((resolve) =>\r\n setTimeout(\r\n resolve,\r\n this.client.options.rest?.timeout ??\r\n DEFAULT_CLIENT_OPTIONS.rest?.timeout,\r\n ),\r\n );\r\n return this.retryRequest<T>(attempt + 1, method, url, body, query);\r\n }\r\n }\r\n /**\r\n * POST request.\r\n * @param url The URL for the request.\r\n * @param data The request body.\r\n * @param query Query parameters (if applicable).\r\n * @returns The API response.\r\n */\r\n async post<T>(url: string, data: FormData): Promise<T> {\r\n return this.request<T>(\"POST\", url, data);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAqD;AAM9D,IAAM,YAAN,MAAgB;AAAA,EAErB,YAA6B,QAAoB;AAApB;AAD7B,SAAQ,iBAAiB,IAAI,eAAe;AAAA,EACM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUpC,QACZ,QACA,KACA,MACA,OACA,OACY;AAAA;AACZ,UAAI;AACF,YAAI,CAAC,KAAK,OAAO,MAAO,OAAM,IAAI,MAAM,mBAAmB;AAE3D,cAAM,aAAa,KAAK,OAAO,MAAM,gBAAgB;AACrD,cAAM,SAA+C,iCAChD;AAAA,UACD;AAAA,UACA,KAAK,GAAG,MAAM,GAAG,GAAG;AAAA,UACpB,QAAQ;AAAA,UACR;AAAA,UACA,eAAe;AAAA,UACf,SAAS;AAAA,YACP,CAAC,UAAU,GAAG,KAAK,OAAO;AAAA,YAC1B,gBAAgB;AAAA,YAChB,cAAc,aAAa,OAAO;AAAA,aAC/B,KAAK,WAAW;AAAA,QAEvB,IAbmD;AAAA,UAcnD,KAAK,GAAG,MAAM,GAAG,GAAG;AAAA,QACtB;AAGA,cAAM,WACJ,MAAM,KAAK,eAAe,QAAW,MAAM;AAC7C,eAAO,SAAS;AAAA,MAClB,SAAS,OAAO;AACd,YAAI,MAAO,OAAM,OAAO;AACxB,YAAI,iBAAiB,YAAY;AAC/B,cAAI,MAAM,WAAW,MAAM,WAAW,OAAO,MAAM,UAAU,MAAM;AACjE,mBAAO,KAAK,aAAgB,GAAG,QAAQ,KAAK,MAAM,KAAK;AAAA,UACzD;AACA,cAAI,MAAM,QAAQ;AAChB,oBAAQ,MAAM,+BAA+B,MAAM,MAAM,KAAK,KAAK;AACnE,kBAAM,IAAI;AAAA,cACR,+BAA+B,MAAM,MAAM,KAAK,MAAM,OAAO;AAAA,YAC/D;AAAA,UACF;AAAA,QACF;AACA,cAAM,IAAI;AAAA,UACR,oBAAoB,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,QACpE;AAAA,MACF;AAAA,IACF;AAAA;AAAA,EAEc,aACZ,UAAkB,GAClB,QACA,KACA,MACA,OACY;AAAA;AA3EhB;AA4EI,UAAI,aAAY,gBAAK,OAAO,QAAQ,SAApB,mBAA0B,YAA1B,YAAqC,IAAI;AACvD,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACvC;AAEA,UAAI;AACF,eAAO,MAAM,KAAK,QAAW,QAAQ,KAAK,MAAM,OAAO,IAAI;AAAA,MAC7D,SAAS,OAAO;AACd,gBAAQ,KAAK,WAAW,UAAU,CAAC,YAAY,KAAK;AACpD,cAAM,IAAI;AAAA,UAAQ,CAAC,YAAS;AApFlC,gBAAAA,KAAAC,KAAA;AAqFQ;AAAA,cACE;AAAA,eACA,MAAAD,MAAA,KAAK,OAAO,QAAQ,SAApB,gBAAAA,IAA0B,YAA1B,aACEC,MAAA,uBAAuB,SAAvB,gBAAAA,IAA6B;AAAA,YACjC;AAAA;AAAA,QACF;AACA,eAAO,KAAK,aAAgB,UAAU,GAAG,QAAQ,KAAK,MAAM,KAAK;AAAA,MACnE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQM,KAAQ,KAAa,MAA4B;AAAA;AACrD,aAAO,KAAK,QAAW,QAAQ,KAAK,IAAI;AAAA,IAC1C;AAAA;AACF;","names":["_a","_b"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
11
|
+
var __pow = Math.pow;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __spreadValues = (a, b) => {
|
|
14
|
+
for (var prop in b || (b = {}))
|
|
15
|
+
if (__hasOwnProp.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
if (__getOwnPropSymbols)
|
|
18
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
+
if (__propIsEnum.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
};
|
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
+
var __export = (target, all) => {
|
|
26
|
+
for (var name in all)
|
|
27
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
28
|
+
};
|
|
29
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
30
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
31
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
32
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
33
|
+
var __async = (__this, __arguments, generator) => {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
var fulfilled = (value) => {
|
|
36
|
+
try {
|
|
37
|
+
step(generator.next(value));
|
|
38
|
+
} catch (e) {
|
|
39
|
+
reject(e);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var rejected = (value) => {
|
|
43
|
+
try {
|
|
44
|
+
step(generator.throw(value));
|
|
45
|
+
} catch (e) {
|
|
46
|
+
reject(e);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
50
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
var __await = function(promise, isYieldStar) {
|
|
54
|
+
this[0] = promise;
|
|
55
|
+
this[1] = isYieldStar;
|
|
56
|
+
};
|
|
57
|
+
var __yieldStar = (value) => {
|
|
58
|
+
var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
|
|
59
|
+
if (obj == null) {
|
|
60
|
+
obj = value[__knownSymbol("iterator")]();
|
|
61
|
+
method = (k) => it[k] = (x) => obj[k](x);
|
|
62
|
+
} else {
|
|
63
|
+
obj = obj.call(value);
|
|
64
|
+
method = (k) => it[k] = (v) => {
|
|
65
|
+
if (isAwait) {
|
|
66
|
+
isAwait = false;
|
|
67
|
+
if (k === "throw") throw v;
|
|
68
|
+
return v;
|
|
69
|
+
}
|
|
70
|
+
isAwait = true;
|
|
71
|
+
return {
|
|
72
|
+
done: false,
|
|
73
|
+
value: new __await(new Promise((resolve) => {
|
|
74
|
+
var x = obj[k](v);
|
|
75
|
+
if (!(x instanceof Object)) __typeError("Object expected");
|
|
76
|
+
resolve(x);
|
|
77
|
+
}), 1)
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
|
|
82
|
+
throw x;
|
|
83
|
+
}, "return" in obj && method("return"), it;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
__pow,
|
|
88
|
+
__spreadValues,
|
|
89
|
+
__spreadProps,
|
|
90
|
+
__export,
|
|
91
|
+
__privateGet,
|
|
92
|
+
__privateAdd,
|
|
93
|
+
__privateSet,
|
|
94
|
+
__async,
|
|
95
|
+
__yieldStar
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=chunk-ICANLKGX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Base
|
|
3
|
+
} from "./chunk-YLSAAPO4.js";
|
|
4
|
+
import {
|
|
5
|
+
UUID
|
|
6
|
+
} from "./chunk-CQ4AJZQD.js";
|
|
7
|
+
|
|
8
|
+
// src/struct/channel.ts
|
|
9
|
+
var Channel = class extends Base {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.type = "UNKNOWN";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Gets the timestamp (in milliseconds) when the channel was created.
|
|
16
|
+
*
|
|
17
|
+
* @returns {number} The timestamp of the channel's creation.
|
|
18
|
+
*/
|
|
19
|
+
get createdTimestamp() {
|
|
20
|
+
return this.createdAt.getTime();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Gets the date and time when the channel was created.
|
|
24
|
+
*
|
|
25
|
+
* @returns {Date} The creation date of the channel.
|
|
26
|
+
*/
|
|
27
|
+
get createdAt() {
|
|
28
|
+
return UUID.timestampOf(this.id);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Deletes the current channel instance from the client's channel collection.
|
|
32
|
+
*
|
|
33
|
+
* This method interacts with the client's channel management system to remove
|
|
34
|
+
* the channel. Once deleted, the channel will no longer be accessible through
|
|
35
|
+
* the client.
|
|
36
|
+
*
|
|
37
|
+
* @returns {Promise<void>} A promise that resolves when the channel has been successfully deleted.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const channel = client.channels.get('1234567890');
|
|
42
|
+
* if (channel) {
|
|
43
|
+
* await channel.delete();
|
|
44
|
+
* console.log('Channel deleted successfully.');
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
delete() {
|
|
49
|
+
return this.client.channels.delete(this);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Checks if the channel is a text-based channel.
|
|
53
|
+
*
|
|
54
|
+
* @returns {boolean} True if the channel is a text-based channel, otherwise false.
|
|
55
|
+
*/
|
|
56
|
+
isText() {
|
|
57
|
+
return "messages" in this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Checks if the channel is a voice channel.
|
|
61
|
+
*
|
|
62
|
+
* @returns {boolean} True if the channel is a voice channel, otherwise false.
|
|
63
|
+
*/
|
|
64
|
+
isVoice() {
|
|
65
|
+
return this.type === "VOICE" /* VOICE */;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Checks if the channel is a group channel.
|
|
69
|
+
*
|
|
70
|
+
* @returns {boolean} True if the channel is a group channel, otherwise false.
|
|
71
|
+
*/
|
|
72
|
+
isGroup() {
|
|
73
|
+
return this.type === "GROUP" /* GROUP */;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Checks if the channel is part of a server.
|
|
77
|
+
*
|
|
78
|
+
* @returns {boolean} True if the channel is a server channel, otherwise false.
|
|
79
|
+
*/
|
|
80
|
+
inServer() {
|
|
81
|
+
return "serverId" in this;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Converts the channel to a string representation.
|
|
85
|
+
*
|
|
86
|
+
* @returns {string} A string representation of the channel in the format `<#channelId>`.
|
|
87
|
+
*/
|
|
88
|
+
toString() {
|
|
89
|
+
return `<#${this.id}>`;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Fetches the latest data for the channel from the client's channel collection.
|
|
93
|
+
*
|
|
94
|
+
* @param {boolean} [force=true] - Whether to force a fetch even if the channel is cached.
|
|
95
|
+
* @returns {Promise<Channel>} A promise that resolves with the updated channel instance.
|
|
96
|
+
*/
|
|
97
|
+
fetch(force = true) {
|
|
98
|
+
return this.client.channels.fetch(this, { force });
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export {
|
|
103
|
+
Channel
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=chunk-J2RF7D67.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/struct/channel.ts"],"sourcesContent":["import { Base } from \"./base\";\r\nimport type {\r\n DMChannel,\r\n GroupChannel,\r\n ServerChannel,\r\n TextChannel,\r\n VoiceChannel,\r\n} from \"./index\";\r\nimport { ChannelTypes, UUID } from \"../utils/index\";\r\n\r\n/**\r\n * Represents a generic communication channel in the client.\r\n * This abstract class provides a base structure and common functionality\r\n * for all types of channels, such as text, voice, group, and server channels.\r\n *\r\n * @abstract\r\n * @extends Base\r\n *\r\n * @property {ChannelTypes | \"UNKNOWN\"} type - The type of the channel. Defaults to \"UNKNOWN\".\r\n * @property {number} createdTimestamp - The timestamp (in milliseconds) when the channel was created.\r\n * @property {Date} createdAt - The date and time when the channel was created.\r\n */\r\nexport abstract class Channel extends Base {\r\n type: ChannelTypes | \"UNKNOWN\" = \"UNKNOWN\";\r\n\r\n /**\r\n * Gets the timestamp (in milliseconds) when the channel was created.\r\n *\r\n * @returns {number} The timestamp of the channel's creation.\r\n */\r\n get createdTimestamp(): number {\r\n return this.createdAt.getTime();\r\n }\r\n\r\n /**\r\n * Gets the date and time when the channel was created.\r\n *\r\n * @returns {Date} The creation date of the channel.\r\n */\r\n get createdAt(): Date {\r\n return UUID.timestampOf(this.id);\r\n }\r\n\r\n /**\r\n * Deletes the current channel instance from the client's channel collection.\r\n *\r\n * This method interacts with the client's channel management system to remove\r\n * the channel. Once deleted, the channel will no longer be accessible through\r\n * the client.\r\n *\r\n * @returns {Promise<void>} A promise that resolves when the channel has been successfully deleted.\r\n *\r\n * @example\r\n * ```typescript\r\n * const channel = client.channels.get('1234567890');\r\n * if (channel) {\r\n * await channel.delete();\r\n * console.log('Channel deleted successfully.');\r\n * }\r\n * ```\r\n */\r\n delete(): Promise<void> {\r\n return this.client.channels.delete(this);\r\n }\r\n\r\n /**\r\n * Checks if the channel is a text-based channel.\r\n *\r\n * @returns {boolean} True if the channel is a text-based channel, otherwise false.\r\n */\r\n isText(): this is TextChannel | GroupChannel | DMChannel {\r\n return \"messages\" in this;\r\n }\r\n\r\n /**\r\n * Checks if the channel is a voice channel.\r\n *\r\n * @returns {boolean} True if the channel is a voice channel, otherwise false.\r\n */\r\n isVoice(): this is VoiceChannel {\r\n return this.type === ChannelTypes.VOICE;\r\n }\r\n\r\n /**\r\n * Checks if the channel is a group channel.\r\n *\r\n * @returns {boolean} True if the channel is a group channel, otherwise false.\r\n */\r\n isGroup(): this is GroupChannel {\r\n return this.type === ChannelTypes.GROUP;\r\n }\r\n\r\n /**\r\n * Checks if the channel is part of a server.\r\n *\r\n * @returns {boolean} True if the channel is a server channel, otherwise false.\r\n */\r\n inServer(): this is ServerChannel {\r\n return \"serverId\" in this;\r\n }\r\n\r\n /**\r\n * Converts the channel to a string representation.\r\n *\r\n * @returns {string} A string representation of the channel in the format `<#channelId>`.\r\n */\r\n toString(): string {\r\n return `<#${this.id}>`;\r\n }\r\n\r\n /**\r\n * Fetches the latest data for the channel from the client's channel collection.\r\n *\r\n * @param {boolean} [force=true] - Whether to force a fetch even if the channel is cached.\r\n * @returns {Promise<Channel>} A promise that resolves with the updated channel instance.\r\n */\r\n fetch(force = true): Promise<Channel> {\r\n return this.client.channels.fetch(this, { force });\r\n }\r\n}\r\n"],"mappings":";;;;;;;;AAsBO,IAAe,UAAf,cAA+B,KAAK;AAAA,EAApC;AAAA;AACL,gBAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjC,IAAI,mBAA2B;AAC7B,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,YAAkB;AACpB,WAAO,KAAK,YAAY,KAAK,EAAE;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,SAAwB;AACtB,WAAO,KAAK,OAAO,SAAS,OAAO,IAAI;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAyD;AACvD,WAAO,cAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAgC;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAgC;AAC9B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAkC;AAChC,WAAO,cAAc;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAmB;AACjB,WAAO,KAAK,KAAK,EAAE;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,QAAQ,MAAwB;AACpC,WAAO,KAAK,OAAO,SAAS,MAAM,MAAM,EAAE,MAAM,CAAC;AAAA,EACnD;AACF;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/client/events/event.ts
|
|
2
|
+
var Event = class {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new Event instance.
|
|
5
|
+
*
|
|
6
|
+
* @param {client} client - The client instance.
|
|
7
|
+
*/
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
Event
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-K4VAG5ZU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client/events/event.ts"],"sourcesContent":["import type { client } from \"../client\";\r\n\r\n/**\r\n * Represents the base class for all event handlers.\r\n * All event handlers must extend this class and implement the `handle` method.\r\n */\r\nexport abstract class Event {\r\n /**\r\n * Creates a new Event instance.\r\n *\r\n * @param {client} client - The client instance.\r\n */\r\n constructor(protected readonly client: client) {}\r\n\r\n /**\r\n * Handles the event logic.\r\n * This method must be implemented by subclasses to define the behavior for the specific event.\r\n *\r\n * @param {unknown} data - The data associated with the event.\r\n * @returns {Promise<unknown | void>} A promise that resolves with the result of the event handling or `void`.\r\n */\r\n abstract handle(data: unknown): Awaited<unknown | void>;\r\n}\r\n\r\nexport { Events } from \"../../utils/constants\";\r\nexport type * as API from \"revolt-api\";\r\n"],"mappings":";AAMO,IAAe,QAAf,MAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1B,YAA+B,QAAgB;AAAhB;AAAA,EAAiB;AAUlD;","names":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__yieldStar
|
|
3
|
+
} from "./chunk-ICANLKGX.js";
|
|
4
|
+
|
|
5
|
+
// src/utils/bitField.ts
|
|
6
|
+
var DEFAULT_BIT = 0;
|
|
7
|
+
var _BitField = class _BitField {
|
|
8
|
+
constructor(bits = DEFAULT_BIT) {
|
|
9
|
+
this.bitfield = DEFAULT_BIT;
|
|
10
|
+
this.bitfield = this.self.resolve(bits);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a bitfield or an array of bitfields into a single number.
|
|
14
|
+
* @param bit The bitfield or array of bitfields to resolve.
|
|
15
|
+
* @returns The resolved bitfield as a number.
|
|
16
|
+
*/
|
|
17
|
+
static resolve(bit) {
|
|
18
|
+
if (bit instanceof _BitField) return bit.bitfield;
|
|
19
|
+
if (typeof bit === "number" && bit >= DEFAULT_BIT) return bit;
|
|
20
|
+
if (Array.isArray(bit)) {
|
|
21
|
+
return bit.map((p) => this.resolve(p)).reduce((prev, p) => prev | p, DEFAULT_BIT);
|
|
22
|
+
}
|
|
23
|
+
if (typeof this.FLAGS[bit] !== "undefined") return this.FLAGS[bit];
|
|
24
|
+
throw new Error("BITFIELD_INVALID");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the class that this instance belongs to.
|
|
28
|
+
* @returns The class of the bitfield.
|
|
29
|
+
*/
|
|
30
|
+
get self() {
|
|
31
|
+
return this.constructor;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Checks if any of the bits in the bitfield are set.
|
|
35
|
+
* @param bit The bitfield or array of bitfields to check.
|
|
36
|
+
* @returns True if any bits are set, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
any(bit) {
|
|
39
|
+
bit = this.self.resolve(bit);
|
|
40
|
+
return (this.bitfield & bit) !== DEFAULT_BIT;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* checks if a specific permission is set.
|
|
44
|
+
*/
|
|
45
|
+
has(bit) {
|
|
46
|
+
bit = this.self.resolve(bit);
|
|
47
|
+
return (this.bitfield & bit) === bit;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns an array of all the Permissions that are set in the bitfield.
|
|
51
|
+
* @returns An array of flag names.
|
|
52
|
+
*/
|
|
53
|
+
toArray() {
|
|
54
|
+
return Object.keys(this.self.FLAGS).filter((bit) => this.has(bit));
|
|
55
|
+
}
|
|
56
|
+
add(...bits) {
|
|
57
|
+
let total = 0;
|
|
58
|
+
for (const bit of bits) {
|
|
59
|
+
total |= this.self.resolve(bit);
|
|
60
|
+
}
|
|
61
|
+
if (Object.isFrozen(this)) {
|
|
62
|
+
return new this.self(this.bitfield | total);
|
|
63
|
+
}
|
|
64
|
+
this.bitfield |= total;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
remove(...bits) {
|
|
68
|
+
let total = 0;
|
|
69
|
+
for (const bit of bits) {
|
|
70
|
+
total |= this.self.resolve(bit);
|
|
71
|
+
}
|
|
72
|
+
if (Object.isFrozen(this)) {
|
|
73
|
+
return new this.self(this.bitfield & ~total);
|
|
74
|
+
}
|
|
75
|
+
this.bitfield &= ~total;
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
freeze() {
|
|
79
|
+
return Object.freeze(this);
|
|
80
|
+
}
|
|
81
|
+
valueOf() {
|
|
82
|
+
return this.bitfield;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @returns A record of all flags and their boolean values indicating whether they are set.
|
|
87
|
+
*/
|
|
88
|
+
serialize() {
|
|
89
|
+
const serialized = {};
|
|
90
|
+
for (const [flag, bit] of Object.entries(this.self.FLAGS)) {
|
|
91
|
+
serialized[flag] = this.has(bit);
|
|
92
|
+
}
|
|
93
|
+
return serialized;
|
|
94
|
+
}
|
|
95
|
+
*[Symbol.iterator]() {
|
|
96
|
+
yield* __yieldStar(this.toArray());
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
_BitField.FLAGS = {};
|
|
100
|
+
var BitField = _BitField;
|
|
101
|
+
|
|
102
|
+
export {
|
|
103
|
+
BitField
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=chunk-LAL23AQK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/bitField.ts"],"sourcesContent":["const DEFAULT_BIT = 0;\r\n\r\nexport type BitFieldResolvable =\r\n | BitField\r\n | number\r\n | string\r\n | BitFieldResolvable[];\r\n\r\n/**\r\n * Represents a bitfield that can be used to manage flags or permissions.\r\n */\r\nexport class BitField {\r\n static FLAGS: Record<string, number> = {};\r\n bitfield = DEFAULT_BIT;\r\n constructor(bits: BitFieldResolvable = DEFAULT_BIT) {\r\n this.bitfield = this.self.resolve(bits);\r\n }\r\n\r\n /**\r\n * Resolves a bitfield or an array of bitfields into a single number.\r\n * @param bit The bitfield or array of bitfields to resolve.\r\n * @returns The resolved bitfield as a number.\r\n */\r\n static resolve(bit: BitFieldResolvable): number {\r\n if (bit instanceof BitField) return bit.bitfield;\r\n if (typeof bit === \"number\" && bit >= DEFAULT_BIT) return bit;\r\n if (Array.isArray(bit)) {\r\n return bit\r\n .map((p) => this.resolve(p))\r\n .reduce((prev, p) => prev | p, DEFAULT_BIT);\r\n }\r\n if (typeof this.FLAGS[bit] !== \"undefined\") return this.FLAGS[bit];\r\n throw new Error(\"BITFIELD_INVALID\");\r\n }\r\n /**\r\n * Returns the class that this instance belongs to.\r\n * @returns The class of the bitfield.\r\n */\r\n get self(): {\r\n FLAGS: Record<string, number>;\r\n resolve(bit: BitFieldResolvable): number;\r\n new (bits?: BitFieldResolvable): BitField;\r\n } {\r\n return this.constructor as unknown as {\r\n FLAGS: Record<string, number>;\r\n resolve(bit: BitFieldResolvable): number;\r\n new (bits?: BitFieldResolvable): BitField;\r\n };\r\n }\r\n\r\n /**\r\n * Checks if any of the bits in the bitfield are set.\r\n * @param bit The bitfield or array of bitfields to check.\r\n * @returns True if any bits are set, false otherwise.\r\n */\r\n any(bit: BitFieldResolvable): boolean {\r\n bit = this.self.resolve(bit);\r\n return (this.bitfield & bit) !== DEFAULT_BIT;\r\n }\r\n\r\n /**\r\n * checks if a specific permission is set.\r\n */\r\n has(bit: BitFieldResolvable): boolean {\r\n bit = this.self.resolve(bit);\r\n return (this.bitfield & bit) === bit;\r\n }\r\n\r\n /**\r\n * Returns an array of all the Permissions that are set in the bitfield.\r\n * @returns An array of flag names.\r\n */\r\n toArray(): string[] {\r\n return Object.keys(this.self.FLAGS).filter((bit) => this.has(bit));\r\n }\r\n\r\n add(...bits: BitFieldResolvable[]): this {\r\n let total = 0;\r\n\r\n for (const bit of bits) {\r\n total |= this.self.resolve(bit);\r\n }\r\n\r\n if (Object.isFrozen(this)) {\r\n return new this.self(this.bitfield | total) as this;\r\n }\r\n\r\n this.bitfield |= total;\r\n\r\n return this;\r\n }\r\n\r\n remove(...bits: BitFieldResolvable[]): this {\r\n let total = 0;\r\n\r\n for (const bit of bits) {\r\n total |= this.self.resolve(bit);\r\n }\r\n\r\n if (Object.isFrozen(this)) {\r\n return new this.self(this.bitfield & ~total) as this;\r\n }\r\n\r\n this.bitfield &= ~total;\r\n\r\n return this;\r\n }\r\n\r\n freeze(): Readonly<this> {\r\n return Object.freeze(this);\r\n }\r\n\r\n valueOf(): number {\r\n return this.bitfield;\r\n }\r\n\r\n /**\r\n *\r\n * @returns A record of all flags and their boolean values indicating whether they are set.\r\n */\r\n serialize(): Record<string, boolean> {\r\n const serialized: Record<string, boolean> = {};\r\n for (const [flag, bit] of Object.entries(this.self.FLAGS)) {\r\n serialized[flag] = this.has(bit);\r\n }\r\n return serialized;\r\n }\r\n\r\n *[Symbol.iterator](): Iterable<string> {\r\n yield* this.toArray();\r\n }\r\n}\r\n"],"mappings":";;;;;AAAA,IAAM,cAAc;AAWb,IAAM,YAAN,MAAM,UAAS;AAAA,EAGpB,YAAY,OAA2B,aAAa;AADpD,oBAAW;AAET,SAAK,WAAW,KAAK,KAAK,QAAQ,IAAI;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,QAAQ,KAAiC;AAC9C,QAAI,eAAe,UAAU,QAAO,IAAI;AACxC,QAAI,OAAO,QAAQ,YAAY,OAAO,YAAa,QAAO;AAC1D,QAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAO,IACJ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EAC1B,OAAO,CAAC,MAAM,MAAM,OAAO,GAAG,WAAW;AAAA,IAC9C;AACA,QAAI,OAAO,KAAK,MAAM,GAAG,MAAM,YAAa,QAAO,KAAK,MAAM,GAAG;AACjE,UAAM,IAAI,MAAM,kBAAkB;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAIF;AACA,WAAO,KAAK;AAAA,EAKd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,KAAkC;AACpC,UAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,YAAQ,KAAK,WAAW,SAAS;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAkC;AACpC,UAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,YAAQ,KAAK,WAAW,SAAS;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAoB;AAClB,WAAO,OAAO,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC;AAAA,EACnE;AAAA,EAEA,OAAO,MAAkC;AACvC,QAAI,QAAQ;AAEZ,eAAW,OAAO,MAAM;AACtB,eAAS,KAAK,KAAK,QAAQ,GAAG;AAAA,IAChC;AAEA,QAAI,OAAO,SAAS,IAAI,GAAG;AACzB,aAAO,IAAI,KAAK,KAAK,KAAK,WAAW,KAAK;AAAA,IAC5C;AAEA,SAAK,YAAY;AAEjB,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,MAAkC;AAC1C,QAAI,QAAQ;AAEZ,eAAW,OAAO,MAAM;AACtB,eAAS,KAAK,KAAK,QAAQ,GAAG;AAAA,IAChC;AAEA,QAAI,OAAO,SAAS,IAAI,GAAG;AACzB,aAAO,IAAI,KAAK,KAAK,KAAK,WAAW,CAAC,KAAK;AAAA,IAC7C;AAEA,SAAK,YAAY,CAAC;AAElB,WAAO;AAAA,EACT;AAAA,EAEA,SAAyB;AACvB,WAAO,OAAO,OAAO,IAAI;AAAA,EAC3B;AAAA,EAEA,UAAkB;AAChB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAqC;AACnC,UAAM,aAAsC,CAAC;AAC7C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,KAAK,GAAG;AACzD,iBAAW,IAAI,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,EAAE,OAAO,QAAQ,IAAsB;AACrC,uBAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAxHa,UACJ,QAAgC,CAAC;AADnC,IAAM,WAAN;","names":[]}
|