hischool.js 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/lib/cjs/Client.d.ts +166 -0
- package/lib/cjs/Client.d.ts.map +1 -0
- package/lib/cjs/Client.js +221 -0
- package/lib/cjs/api/baseURL.d.ts +2 -0
- package/lib/cjs/api/baseURL.d.ts.map +1 -0
- package/lib/cjs/api/baseURL.js +5 -0
- package/lib/cjs/api/index.d.ts +177 -0
- package/lib/cjs/api/index.d.ts.map +1 -0
- package/lib/cjs/api/index.js +150 -0
- package/lib/cjs/api/params.d.ts +285 -0
- package/lib/cjs/api/params.d.ts.map +1 -0
- package/lib/cjs/api/params.js +194 -0
- package/lib/cjs/api/routes.d.ts +1089 -0
- package/lib/cjs/api/routes.d.ts.map +1 -0
- package/lib/cjs/api/routes.js +2 -0
- package/lib/cjs/api/schema.d.ts +4705 -0
- package/lib/cjs/api/schema.d.ts.map +1 -0
- package/lib/cjs/api/schema.js +2 -0
- package/lib/cjs/api/types.d.ts +131 -0
- package/lib/cjs/api/types.d.ts.map +1 -0
- package/lib/cjs/api/types.js +2 -0
- package/lib/cjs/classes/BannedUser.d.ts +18 -0
- package/lib/cjs/classes/BannedUser.d.ts.map +1 -0
- package/lib/cjs/classes/BannedUser.js +21 -0
- package/lib/cjs/classes/Bot.d.ts +82 -0
- package/lib/cjs/classes/Bot.d.ts.map +1 -0
- package/lib/cjs/classes/Bot.js +145 -0
- package/lib/cjs/classes/Channel.d.ts +465 -0
- package/lib/cjs/classes/Channel.d.ts.map +1 -0
- package/lib/cjs/classes/Channel.js +599 -0
- package/lib/cjs/classes/ChannelUnread.d.ts +27 -0
- package/lib/cjs/classes/ChannelUnread.d.ts.map +1 -0
- package/lib/cjs/classes/ChannelUnread.js +50 -0
- package/lib/cjs/classes/ChannelWebhook.d.ts +53 -0
- package/lib/cjs/classes/ChannelWebhook.d.ts.map +1 -0
- package/lib/cjs/classes/ChannelWebhook.js +113 -0
- package/lib/cjs/classes/Emoji.d.ts +57 -0
- package/lib/cjs/classes/Emoji.d.ts.map +1 -0
- package/lib/cjs/classes/Emoji.js +104 -0
- package/lib/cjs/classes/File.d.ts +67 -0
- package/lib/cjs/classes/File.d.ts.map +1 -0
- package/lib/cjs/classes/File.js +102 -0
- package/lib/cjs/classes/Invite.d.ts +60 -0
- package/lib/cjs/classes/Invite.d.ts.map +1 -0
- package/lib/cjs/classes/Invite.js +91 -0
- package/lib/cjs/classes/MFA.d.ts +83 -0
- package/lib/cjs/classes/MFA.d.ts.map +1 -0
- package/lib/cjs/classes/MFA.js +196 -0
- package/lib/cjs/classes/Message.d.ts +484 -0
- package/lib/cjs/classes/Message.d.ts.map +1 -0
- package/lib/cjs/classes/Message.js +341 -0
- package/lib/cjs/classes/MessageEmbed.d.ts +122 -0
- package/lib/cjs/classes/MessageEmbed.d.ts.map +1 -0
- package/lib/cjs/classes/MessageEmbed.js +181 -0
- package/lib/cjs/classes/PublicBot.d.ts +28 -0
- package/lib/cjs/classes/PublicBot.d.ts.map +1 -0
- package/lib/cjs/classes/PublicBot.js +60 -0
- package/lib/cjs/classes/PublicInvite.d.ts +57 -0
- package/lib/cjs/classes/PublicInvite.d.ts.map +1 -0
- package/lib/cjs/classes/PublicInvite.js +104 -0
- package/lib/cjs/classes/Server.d.ts +473 -0
- package/lib/cjs/classes/Server.d.ts.map +1 -0
- package/lib/cjs/classes/Server.js +585 -0
- package/lib/cjs/classes/ServerBan.d.ts +26 -0
- package/lib/cjs/classes/ServerBan.d.ts.map +1 -0
- package/lib/cjs/classes/ServerBan.js +44 -0
- package/lib/cjs/classes/ServerMember.d.ts +138 -0
- package/lib/cjs/classes/ServerMember.d.ts.map +1 -0
- package/lib/cjs/classes/ServerMember.js +234 -0
- package/lib/cjs/classes/Session.d.ts +45 -0
- package/lib/cjs/classes/Session.d.ts.map +1 -0
- package/lib/cjs/classes/Session.js +94 -0
- package/lib/cjs/classes/SystemMessage.d.ts +127 -0
- package/lib/cjs/classes/SystemMessage.d.ts.map +1 -0
- package/lib/cjs/classes/SystemMessage.js +172 -0
- package/lib/cjs/classes/User.d.ts +203 -0
- package/lib/cjs/classes/User.d.ts.map +1 -0
- package/lib/cjs/classes/User.js +299 -0
- package/lib/cjs/classes/UserProfile.d.ts +23 -0
- package/lib/cjs/classes/UserProfile.d.ts.map +1 -0
- package/lib/cjs/classes/UserProfile.js +35 -0
- package/lib/cjs/classes/index.d.ts +21 -0
- package/lib/cjs/classes/index.d.ts.map +1 -0
- package/lib/cjs/classes/index.js +36 -0
- package/lib/cjs/collections/AccountCollection.d.ts +91 -0
- package/lib/cjs/collections/AccountCollection.d.ts.map +1 -0
- package/lib/cjs/collections/AccountCollection.js +150 -0
- package/lib/cjs/collections/BotCollection.d.ts +39 -0
- package/lib/cjs/collections/BotCollection.d.ts.map +1 -0
- package/lib/cjs/collections/BotCollection.js +89 -0
- package/lib/cjs/collections/ChannelCollection.d.ts +39 -0
- package/lib/cjs/collections/ChannelCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelCollection.js +93 -0
- package/lib/cjs/collections/ChannelUnreadCollection.d.ts +24 -0
- package/lib/cjs/collections/ChannelUnreadCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelUnreadCollection.js +56 -0
- package/lib/cjs/collections/ChannelWebhookCollection.d.ts +29 -0
- package/lib/cjs/collections/ChannelWebhookCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ChannelWebhookCollection.js +69 -0
- package/lib/cjs/collections/Collection.d.ts +153 -0
- package/lib/cjs/collections/Collection.d.ts.map +1 -0
- package/lib/cjs/collections/Collection.js +170 -0
- package/lib/cjs/collections/EmojiCollection.d.ts +27 -0
- package/lib/cjs/collections/EmojiCollection.d.ts.map +1 -0
- package/lib/cjs/collections/EmojiCollection.js +67 -0
- package/lib/cjs/collections/MessageCollection.d.ts +28 -0
- package/lib/cjs/collections/MessageCollection.d.ts.map +1 -0
- package/lib/cjs/collections/MessageCollection.js +69 -0
- package/lib/cjs/collections/ServerCollection.d.ts +36 -0
- package/lib/cjs/collections/ServerCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ServerCollection.js +96 -0
- package/lib/cjs/collections/ServerMemberCollection.d.ts +45 -0
- package/lib/cjs/collections/ServerMemberCollection.d.ts.map +1 -0
- package/lib/cjs/collections/ServerMemberCollection.js +95 -0
- package/lib/cjs/collections/SessionCollection.d.ts +27 -0
- package/lib/cjs/collections/SessionCollection.d.ts.map +1 -0
- package/lib/cjs/collections/SessionCollection.js +63 -0
- package/lib/cjs/collections/UserCollection.d.ts +31 -0
- package/lib/cjs/collections/UserCollection.d.ts.map +1 -0
- package/lib/cjs/collections/UserCollection.js +81 -0
- package/lib/cjs/collections/index.d.ts +12 -0
- package/lib/cjs/collections/index.d.ts.map +1 -0
- package/lib/cjs/collections/index.js +38 -0
- package/lib/cjs/events/EventClient.d.ts +89 -0
- package/lib/cjs/events/EventClient.d.ts.map +1 -0
- package/lib/cjs/events/EventClient.js +186 -0
- package/lib/cjs/events/index.d.ts +18 -0
- package/lib/cjs/events/index.d.ts.map +1 -0
- package/lib/cjs/events/index.js +20 -0
- package/lib/cjs/events/v1.d.ts +214 -0
- package/lib/cjs/events/v1.d.ts.map +1 -0
- package/lib/cjs/events/v1.js +502 -0
- package/lib/cjs/hydration/bot.d.ts +21 -0
- package/lib/cjs/hydration/bot.d.ts.map +1 -0
- package/lib/cjs/hydration/bot.js +31 -0
- package/lib/cjs/hydration/channel.d.ts +25 -0
- package/lib/cjs/hydration/channel.d.ts.map +1 -0
- package/lib/cjs/hydration/channel.js +40 -0
- package/lib/cjs/hydration/channelUnread.d.ts +11 -0
- package/lib/cjs/hydration/channelUnread.d.ts.map +1 -0
- package/lib/cjs/hydration/channelUnread.js +19 -0
- package/lib/cjs/hydration/channelWebhook.d.ts +12 -0
- package/lib/cjs/hydration/channelWebhook.d.ts.map +1 -0
- package/lib/cjs/hydration/channelWebhook.js +21 -0
- package/lib/cjs/hydration/emoji.d.ts +13 -0
- package/lib/cjs/hydration/emoji.d.ts.map +1 -0
- package/lib/cjs/hydration/emoji.js +18 -0
- package/lib/cjs/hydration/index.d.ts +1404 -0
- package/lib/cjs/hydration/index.d.ts.map +1 -0
- package/lib/cjs/hydration/index.js +68 -0
- package/lib/cjs/hydration/message.d.ts +25 -0
- package/lib/cjs/hydration/message.d.ts.map +1 -0
- package/lib/cjs/hydration/message.js +48 -0
- package/lib/cjs/hydration/server.d.ts +31 -0
- package/lib/cjs/hydration/server.d.ts.map +1 -0
- package/lib/cjs/hydration/server.js +44 -0
- package/lib/cjs/hydration/serverMember.d.ts +14 -0
- package/lib/cjs/hydration/serverMember.d.ts.map +1 -0
- package/lib/cjs/hydration/serverMember.js +21 -0
- package/lib/cjs/hydration/session.d.ts +8 -0
- package/lib/cjs/hydration/session.d.ts.map +1 -0
- package/lib/cjs/hydration/session.js +13 -0
- package/lib/cjs/hydration/user.d.ts +43 -0
- package/lib/cjs/hydration/user.d.ts.map +1 -0
- package/lib/cjs/hydration/user.js +53 -0
- package/lib/cjs/index.d.ts +9 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +43 -0
- package/lib/cjs/lib/merge.d.ts +15 -0
- package/lib/cjs/lib/merge.d.ts.map +1 -0
- package/lib/cjs/lib/merge.js +2 -0
- package/lib/cjs/lib/regex.d.ts +13 -0
- package/lib/cjs/lib/regex.d.ts.map +1 -0
- package/lib/cjs/lib/regex.js +15 -0
- package/lib/cjs/permissions/calculator.d.ts +19 -0
- package/lib/cjs/permissions/calculator.d.ts.map +1 -0
- package/lib/cjs/permissions/calculator.js +136 -0
- package/lib/cjs/permissions/definitions.d.ts +73 -0
- package/lib/cjs/permissions/definitions.d.ts.map +1 -0
- package/lib/cjs/permissions/definitions.js +124 -0
- package/lib/cjs/storage/ObjectStorage.d.ts +28 -0
- package/lib/cjs/storage/ObjectStorage.d.ts.map +1 -0
- package/lib/cjs/storage/ObjectStorage.js +41 -0
- package/lib/esm/Client.d.ts +166 -0
- package/lib/esm/Client.d.ts.map +1 -0
- package/lib/esm/Client.js +214 -0
- package/lib/esm/api/baseURL.d.ts +2 -0
- package/lib/esm/api/baseURL.d.ts.map +1 -0
- package/lib/esm/api/baseURL.js +2 -0
- package/lib/esm/api/index.d.ts +177 -0
- package/lib/esm/api/index.d.ts.map +1 -0
- package/lib/esm/api/index.js +139 -0
- package/lib/esm/api/params.d.ts +285 -0
- package/lib/esm/api/params.d.ts.map +1 -0
- package/lib/esm/api/params.js +191 -0
- package/lib/esm/api/routes.d.ts +1089 -0
- package/lib/esm/api/routes.d.ts.map +1 -0
- package/lib/esm/api/routes.js +1 -0
- package/lib/esm/api/schema.d.ts +4705 -0
- package/lib/esm/api/schema.d.ts.map +1 -0
- package/lib/esm/api/schema.js +1 -0
- package/lib/esm/api/types.d.ts +131 -0
- package/lib/esm/api/types.d.ts.map +1 -0
- package/lib/esm/api/types.js +1 -0
- package/lib/esm/classes/BannedUser.d.ts +18 -0
- package/lib/esm/classes/BannedUser.d.ts.map +1 -0
- package/lib/esm/classes/BannedUser.js +21 -0
- package/lib/esm/classes/Bot.d.ts +82 -0
- package/lib/esm/classes/Bot.d.ts.map +1 -0
- package/lib/esm/classes/Bot.js +116 -0
- package/lib/esm/classes/Channel.d.ts +465 -0
- package/lib/esm/classes/Channel.d.ts.map +1 -0
- package/lib/esm/classes/Channel.js +529 -0
- package/lib/esm/classes/ChannelUnread.d.ts +27 -0
- package/lib/esm/classes/ChannelUnread.d.ts.map +1 -0
- package/lib/esm/classes/ChannelUnread.js +34 -0
- package/lib/esm/classes/ChannelWebhook.d.ts +53 -0
- package/lib/esm/classes/ChannelWebhook.d.ts.map +1 -0
- package/lib/esm/classes/ChannelWebhook.js +83 -0
- package/lib/esm/classes/Emoji.d.ts +57 -0
- package/lib/esm/classes/Emoji.d.ts.map +1 -0
- package/lib/esm/classes/Emoji.js +77 -0
- package/lib/esm/classes/File.d.ts +67 -0
- package/lib/esm/classes/File.d.ts.map +1 -0
- package/lib/esm/classes/File.js +105 -0
- package/lib/esm/classes/Invite.d.ts +60 -0
- package/lib/esm/classes/Invite.d.ts.map +1 -0
- package/lib/esm/classes/Invite.js +80 -0
- package/lib/esm/classes/MFA.d.ts +83 -0
- package/lib/esm/classes/MFA.d.ts.map +1 -0
- package/lib/esm/classes/MFA.js +165 -0
- package/lib/esm/classes/Message.d.ts +484 -0
- package/lib/esm/classes/Message.d.ts.map +1 -0
- package/lib/esm/classes/Message.js +300 -0
- package/lib/esm/classes/MessageEmbed.d.ts +122 -0
- package/lib/esm/classes/MessageEmbed.d.ts.map +1 -0
- package/lib/esm/classes/MessageEmbed.js +192 -0
- package/lib/esm/classes/PublicBot.d.ts +28 -0
- package/lib/esm/classes/PublicBot.d.ts.map +1 -0
- package/lib/esm/classes/PublicBot.js +47 -0
- package/lib/esm/classes/PublicInvite.d.ts +57 -0
- package/lib/esm/classes/PublicInvite.d.ts.map +1 -0
- package/lib/esm/classes/PublicInvite.js +100 -0
- package/lib/esm/classes/Server.d.ts +473 -0
- package/lib/esm/classes/Server.d.ts.map +1 -0
- package/lib/esm/classes/Server.js +522 -0
- package/lib/esm/classes/ServerBan.d.ts +26 -0
- package/lib/esm/classes/ServerBan.d.ts.map +1 -0
- package/lib/esm/classes/ServerBan.js +33 -0
- package/lib/esm/classes/ServerMember.d.ts +138 -0
- package/lib/esm/classes/ServerMember.d.ts.map +1 -0
- package/lib/esm/classes/ServerMember.js +199 -0
- package/lib/esm/classes/Session.d.ts +45 -0
- package/lib/esm/classes/Session.d.ts.map +1 -0
- package/lib/esm/classes/Session.js +65 -0
- package/lib/esm/classes/SystemMessage.d.ts +127 -0
- package/lib/esm/classes/SystemMessage.d.ts.map +1 -0
- package/lib/esm/classes/SystemMessage.js +171 -0
- package/lib/esm/classes/User.d.ts +203 -0
- package/lib/esm/classes/User.d.ts.map +1 -0
- package/lib/esm/classes/User.js +252 -0
- package/lib/esm/classes/UserProfile.d.ts +23 -0
- package/lib/esm/classes/UserProfile.d.ts.map +1 -0
- package/lib/esm/classes/UserProfile.js +31 -0
- package/lib/esm/classes/index.d.ts +21 -0
- package/lib/esm/classes/index.d.ts.map +1 -0
- package/lib/esm/classes/index.js +20 -0
- package/lib/esm/collections/AccountCollection.d.ts +91 -0
- package/lib/esm/collections/AccountCollection.d.ts.map +1 -0
- package/lib/esm/collections/AccountCollection.js +139 -0
- package/lib/esm/collections/BotCollection.d.ts +39 -0
- package/lib/esm/collections/BotCollection.d.ts.map +1 -0
- package/lib/esm/collections/BotCollection.js +68 -0
- package/lib/esm/collections/ChannelCollection.d.ts +39 -0
- package/lib/esm/collections/ChannelCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelCollection.js +75 -0
- package/lib/esm/collections/ChannelUnreadCollection.d.ts +24 -0
- package/lib/esm/collections/ChannelUnreadCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelUnreadCollection.js +41 -0
- package/lib/esm/collections/ChannelWebhookCollection.d.ts +29 -0
- package/lib/esm/collections/ChannelWebhookCollection.d.ts.map +1 -0
- package/lib/esm/collections/ChannelWebhookCollection.js +52 -0
- package/lib/esm/collections/Collection.d.ts +153 -0
- package/lib/esm/collections/Collection.d.ts.map +1 -0
- package/lib/esm/collections/Collection.js +160 -0
- package/lib/esm/collections/EmojiCollection.d.ts +27 -0
- package/lib/esm/collections/EmojiCollection.d.ts.map +1 -0
- package/lib/esm/collections/EmojiCollection.js +52 -0
- package/lib/esm/collections/MessageCollection.d.ts +28 -0
- package/lib/esm/collections/MessageCollection.d.ts.map +1 -0
- package/lib/esm/collections/MessageCollection.js +54 -0
- package/lib/esm/collections/ServerCollection.d.ts +36 -0
- package/lib/esm/collections/ServerCollection.d.ts.map +1 -0
- package/lib/esm/collections/ServerCollection.js +79 -0
- package/lib/esm/collections/ServerMemberCollection.d.ts +45 -0
- package/lib/esm/collections/ServerMemberCollection.d.ts.map +1 -0
- package/lib/esm/collections/ServerMemberCollection.js +80 -0
- package/lib/esm/collections/SessionCollection.d.ts +27 -0
- package/lib/esm/collections/SessionCollection.d.ts.map +1 -0
- package/lib/esm/collections/SessionCollection.js +46 -0
- package/lib/esm/collections/UserCollection.d.ts +31 -0
- package/lib/esm/collections/UserCollection.d.ts.map +1 -0
- package/lib/esm/collections/UserCollection.js +66 -0
- package/lib/esm/collections/index.d.ts +12 -0
- package/lib/esm/collections/index.d.ts.map +1 -0
- package/lib/esm/collections/index.js +11 -0
- package/lib/esm/events/EventClient.d.ts +89 -0
- package/lib/esm/events/EventClient.d.ts.map +1 -0
- package/lib/esm/events/EventClient.js +175 -0
- package/lib/esm/events/index.d.ts +18 -0
- package/lib/esm/events/index.d.ts.map +1 -0
- package/lib/esm/events/index.js +2 -0
- package/lib/esm/events/v1.d.ts +214 -0
- package/lib/esm/events/v1.d.ts.map +1 -0
- package/lib/esm/events/v1.js +514 -0
- package/lib/esm/hydration/bot.d.ts +21 -0
- package/lib/esm/hydration/bot.d.ts.map +1 -0
- package/lib/esm/hydration/bot.js +28 -0
- package/lib/esm/hydration/channel.d.ts +25 -0
- package/lib/esm/hydration/channel.d.ts.map +1 -0
- package/lib/esm/hydration/channel.js +37 -0
- package/lib/esm/hydration/channelUnread.d.ts +11 -0
- package/lib/esm/hydration/channelUnread.d.ts.map +1 -0
- package/lib/esm/hydration/channelUnread.js +16 -0
- package/lib/esm/hydration/channelWebhook.d.ts +12 -0
- package/lib/esm/hydration/channelWebhook.d.ts.map +1 -0
- package/lib/esm/hydration/channelWebhook.js +18 -0
- package/lib/esm/hydration/emoji.d.ts +13 -0
- package/lib/esm/hydration/emoji.d.ts.map +1 -0
- package/lib/esm/hydration/emoji.js +15 -0
- package/lib/esm/hydration/index.d.ts +1404 -0
- package/lib/esm/hydration/index.d.ts.map +1 -0
- package/lib/esm/hydration/index.js +65 -0
- package/lib/esm/hydration/message.d.ts +25 -0
- package/lib/esm/hydration/message.d.ts.map +1 -0
- package/lib/esm/hydration/message.js +45 -0
- package/lib/esm/hydration/server.d.ts +31 -0
- package/lib/esm/hydration/server.d.ts.map +1 -0
- package/lib/esm/hydration/server.js +41 -0
- package/lib/esm/hydration/serverMember.d.ts +14 -0
- package/lib/esm/hydration/serverMember.d.ts.map +1 -0
- package/lib/esm/hydration/serverMember.js +18 -0
- package/lib/esm/hydration/session.d.ts +8 -0
- package/lib/esm/hydration/session.d.ts.map +1 -0
- package/lib/esm/hydration/session.js +10 -0
- package/lib/esm/hydration/user.d.ts +43 -0
- package/lib/esm/hydration/user.d.ts.map +1 -0
- package/lib/esm/hydration/user.js +50 -0
- package/lib/esm/index.d.ts +9 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +8 -0
- package/lib/esm/lib/merge.d.ts +15 -0
- package/lib/esm/lib/merge.d.ts.map +1 -0
- package/lib/esm/lib/merge.js +1 -0
- package/lib/esm/lib/regex.d.ts +13 -0
- package/lib/esm/lib/regex.d.ts.map +1 -0
- package/lib/esm/lib/regex.js +12 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/permissions/calculator.d.ts +19 -0
- package/lib/esm/permissions/calculator.d.ts.map +1 -0
- package/lib/esm/permissions/calculator.js +129 -0
- package/lib/esm/permissions/definitions.d.ts +73 -0
- package/lib/esm/permissions/definitions.d.ts.map +1 -0
- package/lib/esm/permissions/definitions.js +121 -0
- package/lib/esm/storage/ObjectStorage.d.ts +28 -0
- package/lib/esm/storage/ObjectStorage.d.ts.map +1 -0
- package/lib/esm/storage/ObjectStorage.js +39 -0
- package/package.json +59 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Hydrators } from "../hydration/index.js";
|
|
2
|
+
import { Client } from "../index.js";
|
|
3
|
+
import { ReactiveMap } from "@solid-primitives/map";
|
|
4
|
+
import { SetStoreFunction } from "solid-js/store";
|
|
5
|
+
/**
|
|
6
|
+
* Abstract Collection type
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class Collection<T> {
|
|
9
|
+
/**
|
|
10
|
+
* Get an existing object
|
|
11
|
+
* @param id Id
|
|
12
|
+
* @returns Object
|
|
13
|
+
*/
|
|
14
|
+
abstract get(id: string): T | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Check whether an id exists in the Collection
|
|
17
|
+
* @param id Id
|
|
18
|
+
* @returns Whether it exists
|
|
19
|
+
*/
|
|
20
|
+
abstract has(id: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Delete an object
|
|
23
|
+
* @param id Id
|
|
24
|
+
*/
|
|
25
|
+
abstract delete(id: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Number of stored objects
|
|
28
|
+
* @returns Size
|
|
29
|
+
*/
|
|
30
|
+
abstract size(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Iterable of keys in the map
|
|
33
|
+
* @returns Iterable
|
|
34
|
+
*/
|
|
35
|
+
abstract keys(): IterableIterator<string>;
|
|
36
|
+
/**
|
|
37
|
+
* Iterable of values in the map
|
|
38
|
+
* @returns Iterable
|
|
39
|
+
*/
|
|
40
|
+
abstract values(): IterableIterator<T>;
|
|
41
|
+
/**
|
|
42
|
+
* Iterable of key, value pairs in the map
|
|
43
|
+
* @returns Iterable
|
|
44
|
+
*/
|
|
45
|
+
abstract entries(): IterableIterator<[string, T]>;
|
|
46
|
+
/**
|
|
47
|
+
* Execute a provided function over each key, value pair in the map
|
|
48
|
+
* @param cb Callback for each pair
|
|
49
|
+
*/
|
|
50
|
+
abstract forEach(cb: (value: T, key: string, map: ReactiveMap<string, T>) => void): void;
|
|
51
|
+
/**
|
|
52
|
+
* List of values in the map
|
|
53
|
+
* @returns List
|
|
54
|
+
*/
|
|
55
|
+
toList(): T[];
|
|
56
|
+
/**
|
|
57
|
+
* Filter the collection by a given predicate
|
|
58
|
+
* @param predicate Predicate to satisfy
|
|
59
|
+
*/
|
|
60
|
+
filter(predicate: (value: T, key: string) => boolean): T[];
|
|
61
|
+
/**
|
|
62
|
+
* Map the collection using a given callback
|
|
63
|
+
* @param cb Callback
|
|
64
|
+
*/
|
|
65
|
+
map<O>(cb: (value: T, key: string) => O): O[];
|
|
66
|
+
/**
|
|
67
|
+
* Find some value based on a predicate
|
|
68
|
+
* @param predicate Predicate to satisfy
|
|
69
|
+
*/
|
|
70
|
+
find(predicate: (value: T, key: string) => boolean): T | undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Collection backed by a Solid.js Store
|
|
74
|
+
*/
|
|
75
|
+
export declare abstract class StoreCollection<T, V> extends Collection<T> {
|
|
76
|
+
#private;
|
|
77
|
+
readonly getUnderlyingObject: (id: string) => V;
|
|
78
|
+
readonly updateUnderlyingObject: SetStoreFunction<Record<string, V>>;
|
|
79
|
+
/**
|
|
80
|
+
* Construct store backed collection
|
|
81
|
+
*/
|
|
82
|
+
constructor();
|
|
83
|
+
/**
|
|
84
|
+
* Get an existing object
|
|
85
|
+
* @param id Id
|
|
86
|
+
* @returns Object
|
|
87
|
+
*/
|
|
88
|
+
get(id: string): T | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Check whether an id exists in the Collection
|
|
91
|
+
* @param id Id
|
|
92
|
+
* @returns Whether it exists
|
|
93
|
+
*/
|
|
94
|
+
has(id: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Delete an object
|
|
97
|
+
* @param id Id
|
|
98
|
+
*/
|
|
99
|
+
delete(id: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Create a new instance of an object
|
|
102
|
+
* @param id Id
|
|
103
|
+
* @param type Type
|
|
104
|
+
* @param instance Instance
|
|
105
|
+
* @param context Context
|
|
106
|
+
* @param data Data
|
|
107
|
+
*/
|
|
108
|
+
create(id: string, type: keyof Hydrators, instance: T, context: unknown, data?: unknown): void;
|
|
109
|
+
/**
|
|
110
|
+
* Check whether an object is partially defined
|
|
111
|
+
* @param id Id
|
|
112
|
+
* @returns Whether it is a partial
|
|
113
|
+
*/
|
|
114
|
+
isPartial(id: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Number of stored objects
|
|
117
|
+
* @returns Size
|
|
118
|
+
*/
|
|
119
|
+
size(): number;
|
|
120
|
+
/**
|
|
121
|
+
* Iterable of keys in the map
|
|
122
|
+
* @returns Iterable
|
|
123
|
+
*/
|
|
124
|
+
keys(): IterableIterator<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Iterable of values in the map
|
|
127
|
+
* @returns Iterable
|
|
128
|
+
*/
|
|
129
|
+
values(): IterableIterator<T>;
|
|
130
|
+
/**
|
|
131
|
+
* Iterable of key, value pairs in the map
|
|
132
|
+
* @returns Iterable
|
|
133
|
+
*/
|
|
134
|
+
entries(): IterableIterator<[string, T]>;
|
|
135
|
+
/**
|
|
136
|
+
* Execute a provided function over each key, value pair in the map
|
|
137
|
+
* @param cb Callback for each pair
|
|
138
|
+
* @returns Iterable
|
|
139
|
+
*/
|
|
140
|
+
forEach(cb: (value: T, key: string, map: ReactiveMap<string, T>) => void): void;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Generic class collection backed by store
|
|
144
|
+
*/
|
|
145
|
+
export declare class ClassCollection<T, V> extends StoreCollection<T, V> {
|
|
146
|
+
readonly client: Client;
|
|
147
|
+
/**
|
|
148
|
+
* Create generic class collection
|
|
149
|
+
* @param client Client
|
|
150
|
+
*/
|
|
151
|
+
constructor(client: Client);
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=Collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/collections/Collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { ObjectStorage } from "../storage/ObjectStorage.js";
|
|
2
|
+
import { ReactiveMap } from "@solid-primitives/map";
|
|
3
|
+
/**
|
|
4
|
+
* Abstract Collection type
|
|
5
|
+
*/
|
|
6
|
+
export class Collection {
|
|
7
|
+
/**
|
|
8
|
+
* List of values in the map
|
|
9
|
+
* @returns List
|
|
10
|
+
*/
|
|
11
|
+
toList() {
|
|
12
|
+
return [...this.values()];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Filter the collection by a given predicate
|
|
16
|
+
* @param predicate Predicate to satisfy
|
|
17
|
+
*/
|
|
18
|
+
filter(predicate) {
|
|
19
|
+
const list = [];
|
|
20
|
+
for (const [key, value] of this.entries()) {
|
|
21
|
+
if (predicate(value, key)) {
|
|
22
|
+
list.push(value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return list;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Map the collection using a given callback
|
|
29
|
+
* @param cb Callback
|
|
30
|
+
*/
|
|
31
|
+
map(cb) {
|
|
32
|
+
const list = [];
|
|
33
|
+
for (const [key, value] of this.entries()) {
|
|
34
|
+
list.push(cb(value, key));
|
|
35
|
+
}
|
|
36
|
+
return list;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Find some value based on a predicate
|
|
40
|
+
* @param predicate Predicate to satisfy
|
|
41
|
+
*/
|
|
42
|
+
find(predicate) {
|
|
43
|
+
for (const [key, value] of this.entries()) {
|
|
44
|
+
if (predicate(value, key)) {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Collection backed by a Solid.js Store
|
|
52
|
+
*/
|
|
53
|
+
export class StoreCollection extends Collection {
|
|
54
|
+
#storage = new ObjectStorage();
|
|
55
|
+
#objects = new ReactiveMap();
|
|
56
|
+
getUnderlyingObject;
|
|
57
|
+
updateUnderlyingObject;
|
|
58
|
+
/**
|
|
59
|
+
* Construct store backed collection
|
|
60
|
+
*/
|
|
61
|
+
constructor() {
|
|
62
|
+
super();
|
|
63
|
+
this.getUnderlyingObject = (key) => this.#storage.get(key) ?? {};
|
|
64
|
+
this.updateUnderlyingObject = this.#storage.set;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get an existing object
|
|
68
|
+
* @param id Id
|
|
69
|
+
* @returns Object
|
|
70
|
+
*/
|
|
71
|
+
get(id) {
|
|
72
|
+
return this.#objects.get(id);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check whether an id exists in the Collection
|
|
76
|
+
* @param id Id
|
|
77
|
+
* @returns Whether it exists
|
|
78
|
+
*/
|
|
79
|
+
has(id) {
|
|
80
|
+
return this.#objects.has(id);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Delete an object
|
|
84
|
+
* @param id Id
|
|
85
|
+
*/
|
|
86
|
+
delete(id) {
|
|
87
|
+
this.#objects.delete(id);
|
|
88
|
+
this.updateUnderlyingObject(id, undefined);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create a new instance of an object
|
|
92
|
+
* @param id Id
|
|
93
|
+
* @param type Type
|
|
94
|
+
* @param instance Instance
|
|
95
|
+
* @param context Context
|
|
96
|
+
* @param data Data
|
|
97
|
+
*/
|
|
98
|
+
create(id, type, instance, context, data) {
|
|
99
|
+
this.#storage.hydrate(id, type, context, data);
|
|
100
|
+
this.#objects.set(id, instance);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check whether an object is partially defined
|
|
104
|
+
* @param id Id
|
|
105
|
+
* @returns Whether it is a partial
|
|
106
|
+
*/
|
|
107
|
+
isPartial(id) {
|
|
108
|
+
return !!this.getUnderlyingObject(id).partial;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Number of stored objects
|
|
112
|
+
* @returns Size
|
|
113
|
+
*/
|
|
114
|
+
size() {
|
|
115
|
+
return this.#objects.size;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Iterable of keys in the map
|
|
119
|
+
* @returns Iterable
|
|
120
|
+
*/
|
|
121
|
+
keys() {
|
|
122
|
+
return this.#objects.keys();
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Iterable of values in the map
|
|
126
|
+
* @returns Iterable
|
|
127
|
+
*/
|
|
128
|
+
values() {
|
|
129
|
+
return this.#objects.values();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Iterable of key, value pairs in the map
|
|
133
|
+
* @returns Iterable
|
|
134
|
+
*/
|
|
135
|
+
entries() {
|
|
136
|
+
return this.#objects.entries();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Execute a provided function over each key, value pair in the map
|
|
140
|
+
* @param cb Callback for each pair
|
|
141
|
+
* @returns Iterable
|
|
142
|
+
*/
|
|
143
|
+
forEach(cb) {
|
|
144
|
+
return this.#objects.forEach(cb);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Generic class collection backed by store
|
|
149
|
+
*/
|
|
150
|
+
export class ClassCollection extends StoreCollection {
|
|
151
|
+
client;
|
|
152
|
+
/**
|
|
153
|
+
* Create generic class collection
|
|
154
|
+
* @param client Client
|
|
155
|
+
*/
|
|
156
|
+
constructor(client) {
|
|
157
|
+
super();
|
|
158
|
+
this.client = client;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { HydratedEmoji } from "../hydration/index.js";
|
|
2
|
+
import { API, Emoji } from "../index.js";
|
|
3
|
+
import { ClassCollection } from "./index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collection of Emoji
|
|
6
|
+
*/
|
|
7
|
+
export declare class EmojiCollection extends ClassCollection<Emoji, HydratedEmoji> {
|
|
8
|
+
/**
|
|
9
|
+
* Fetch emoji by ID
|
|
10
|
+
* @param id Id
|
|
11
|
+
* @returns Emoji
|
|
12
|
+
*/
|
|
13
|
+
fetch(id: string): Promise<Emoji>;
|
|
14
|
+
/**
|
|
15
|
+
* Get or create
|
|
16
|
+
* @param id Id
|
|
17
|
+
* @param data Data
|
|
18
|
+
* @param isNew Whether this object is new
|
|
19
|
+
*/
|
|
20
|
+
getOrCreate(id: string, data: API.Emoji, isNew?: boolean): Emoji;
|
|
21
|
+
/**
|
|
22
|
+
* Get or return partial
|
|
23
|
+
* @param id Id
|
|
24
|
+
*/
|
|
25
|
+
getOrPartial(id: string): Emoji | undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=EmojiCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/EmojiCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;IACxE;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAOvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,UAAQ;IAWtD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;CAWxB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Emoji } from "../index.js";
|
|
2
|
+
import { ClassCollection } from "./index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Collection of Emoji
|
|
5
|
+
*/
|
|
6
|
+
export class EmojiCollection extends ClassCollection {
|
|
7
|
+
/**
|
|
8
|
+
* Fetch emoji by ID
|
|
9
|
+
* @param id Id
|
|
10
|
+
* @returns Emoji
|
|
11
|
+
*/
|
|
12
|
+
async fetch(id) {
|
|
13
|
+
const emoji = this.get(id);
|
|
14
|
+
if (emoji && !this.isPartial(id))
|
|
15
|
+
return emoji;
|
|
16
|
+
const data = await this.client.api.get(`/custom/emoji/${id}`);
|
|
17
|
+
return this.getOrCreate(data._id, data);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get or create
|
|
21
|
+
* @param id Id
|
|
22
|
+
* @param data Data
|
|
23
|
+
* @param isNew Whether this object is new
|
|
24
|
+
*/
|
|
25
|
+
getOrCreate(id, data, isNew = false) {
|
|
26
|
+
if (this.has(id) && !this.isPartial(id)) {
|
|
27
|
+
return this.get(id);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const instance = new Emoji(this, id);
|
|
31
|
+
this.create(id, "emoji", instance, this.client, data);
|
|
32
|
+
isNew && this.client.emit("emojiCreate", instance);
|
|
33
|
+
return instance;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get or return partial
|
|
38
|
+
* @param id Id
|
|
39
|
+
*/
|
|
40
|
+
getOrPartial(id) {
|
|
41
|
+
if (this.has(id)) {
|
|
42
|
+
return this.get(id);
|
|
43
|
+
}
|
|
44
|
+
else if (this.client.options.partials) {
|
|
45
|
+
const instance = new Emoji(this, id);
|
|
46
|
+
this.create(id, "emoji", instance, this.client, {
|
|
47
|
+
id,
|
|
48
|
+
});
|
|
49
|
+
return instance;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HydratedMessage } from "../hydration";
|
|
2
|
+
import { API, Message } from "../index.js";
|
|
3
|
+
import { ClassCollection } from "./index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collection of Messages
|
|
6
|
+
*/
|
|
7
|
+
export declare class MessageCollection extends ClassCollection<Message, HydratedMessage> {
|
|
8
|
+
/**
|
|
9
|
+
* Fetch message by Id
|
|
10
|
+
* @param channelId Channel Id
|
|
11
|
+
* @param messageId Message Id
|
|
12
|
+
* @returns Message
|
|
13
|
+
*/
|
|
14
|
+
fetch(channelId: string, messageId: string): Promise<Message>;
|
|
15
|
+
/**
|
|
16
|
+
* Get or create
|
|
17
|
+
* @param id Id
|
|
18
|
+
* @param data Data
|
|
19
|
+
* @param isNew Whether this object is new
|
|
20
|
+
*/
|
|
21
|
+
getOrCreate(id: string, data: API.Message, isNew?: boolean): Message;
|
|
22
|
+
/**
|
|
23
|
+
* Get or return partial
|
|
24
|
+
* @param id Id
|
|
25
|
+
*/
|
|
26
|
+
getOrPartial(id: string): Message | undefined;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=MessageCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/MessageCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CACpD,OAAO,EACP,eAAe,CAChB;IACC;;;;;OAKG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,UAAQ;IAWxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;CAYxB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Message } from "../index.js";
|
|
2
|
+
import { ClassCollection } from "./index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Collection of Messages
|
|
5
|
+
*/
|
|
6
|
+
export class MessageCollection extends ClassCollection {
|
|
7
|
+
/**
|
|
8
|
+
* Fetch message by Id
|
|
9
|
+
* @param channelId Channel Id
|
|
10
|
+
* @param messageId Message Id
|
|
11
|
+
* @returns Message
|
|
12
|
+
*/
|
|
13
|
+
async fetch(channelId, messageId) {
|
|
14
|
+
const message = this.get(messageId);
|
|
15
|
+
if (message && !this.isPartial(messageId))
|
|
16
|
+
return message;
|
|
17
|
+
const data = await this.client.api.get(`/channels/${channelId}/messages/${messageId}`);
|
|
18
|
+
return this.getOrCreate(data._id, data, false);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get or create
|
|
22
|
+
* @param id Id
|
|
23
|
+
* @param data Data
|
|
24
|
+
* @param isNew Whether this object is new
|
|
25
|
+
*/
|
|
26
|
+
getOrCreate(id, data, isNew = false) {
|
|
27
|
+
if (this.has(id) && !this.isPartial(id)) {
|
|
28
|
+
return this.get(id);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const instance = new Message(this, id);
|
|
32
|
+
this.create(id, "message", instance, this.client, data);
|
|
33
|
+
isNew && this.client.emit("messageCreate", instance);
|
|
34
|
+
return instance;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get or return partial
|
|
39
|
+
* @param id Id
|
|
40
|
+
*/
|
|
41
|
+
getOrPartial(id) {
|
|
42
|
+
if (this.has(id)) {
|
|
43
|
+
return this.get(id);
|
|
44
|
+
}
|
|
45
|
+
else if (this.client.options.partials) {
|
|
46
|
+
const instance = new Message(this, id);
|
|
47
|
+
this.create(id, "message", instance, this.client, {
|
|
48
|
+
id,
|
|
49
|
+
partial: true,
|
|
50
|
+
});
|
|
51
|
+
return instance;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DataCreateServer } from "../api";
|
|
2
|
+
import { HydratedServer } from "../hydration/index.js";
|
|
3
|
+
import { API, Server } from "../index.js";
|
|
4
|
+
import { ClassCollection } from "./index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Collection of Servers
|
|
7
|
+
*/
|
|
8
|
+
export declare class ServerCollection extends ClassCollection<Server, HydratedServer> {
|
|
9
|
+
/**
|
|
10
|
+
* Fetch server by ID
|
|
11
|
+
*
|
|
12
|
+
* This will not fetch channels!
|
|
13
|
+
* @param id Id
|
|
14
|
+
* @returns Server
|
|
15
|
+
*/
|
|
16
|
+
fetch(id: string): Promise<Server>;
|
|
17
|
+
/**
|
|
18
|
+
* Get or create
|
|
19
|
+
* @param id Id
|
|
20
|
+
* @param data Data
|
|
21
|
+
* @param isNew Whether this object is new
|
|
22
|
+
*/
|
|
23
|
+
getOrCreate(id: string, data: API.Server, isNew?: boolean): Server;
|
|
24
|
+
/**
|
|
25
|
+
* Get or return partial
|
|
26
|
+
* @param id Id
|
|
27
|
+
*/
|
|
28
|
+
getOrPartial(id: string): Server | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Create a server
|
|
31
|
+
* @param data Server options
|
|
32
|
+
* @returns The newly-created server
|
|
33
|
+
*/
|
|
34
|
+
createServer(data: DataCreateServer): Promise<Server>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ServerCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ServerCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC;IAC3E;;;;;;OAMG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,UAAQ;IAWvD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;IAavB;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,gBAAgB;CAc1C"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Server } from "../index.js";
|
|
2
|
+
import { ClassCollection } from "./index.js";
|
|
3
|
+
import { batch } from "solid-js";
|
|
4
|
+
/**
|
|
5
|
+
* Collection of Servers
|
|
6
|
+
*/
|
|
7
|
+
export class ServerCollection extends ClassCollection {
|
|
8
|
+
/**
|
|
9
|
+
* Fetch server by ID
|
|
10
|
+
*
|
|
11
|
+
* This will not fetch channels!
|
|
12
|
+
* @param id Id
|
|
13
|
+
* @returns Server
|
|
14
|
+
*/
|
|
15
|
+
async fetch(id) {
|
|
16
|
+
const server = this.get(id);
|
|
17
|
+
if (server && !this.isPartial(id))
|
|
18
|
+
return server;
|
|
19
|
+
const data = await this.client.api.get(`/servers/${id}`, {
|
|
20
|
+
include_channels: true,
|
|
21
|
+
});
|
|
22
|
+
return batch(() => {
|
|
23
|
+
for (const channel of data.channels) {
|
|
24
|
+
if (typeof channel !== "string") {
|
|
25
|
+
this.client.channels.getOrCreate(channel._id, channel);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return this.getOrCreate(data._id, data);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get or create
|
|
33
|
+
* @param id Id
|
|
34
|
+
* @param data Data
|
|
35
|
+
* @param isNew Whether this object is new
|
|
36
|
+
*/
|
|
37
|
+
getOrCreate(id, data, isNew = false) {
|
|
38
|
+
if (this.has(id) && !this.isPartial(id)) {
|
|
39
|
+
return this.get(id);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const instance = new Server(this, id);
|
|
43
|
+
this.create(id, "server", instance, this.client, data);
|
|
44
|
+
isNew && this.client.emit("serverCreate", instance);
|
|
45
|
+
return instance;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get or return partial
|
|
50
|
+
* @param id Id
|
|
51
|
+
*/
|
|
52
|
+
getOrPartial(id) {
|
|
53
|
+
if (this.has(id)) {
|
|
54
|
+
return this.get(id);
|
|
55
|
+
}
|
|
56
|
+
else if (this.client.options.partials) {
|
|
57
|
+
const instance = new Server(this, id);
|
|
58
|
+
this.create(id, "server", instance, this.client, {
|
|
59
|
+
id,
|
|
60
|
+
partial: true,
|
|
61
|
+
});
|
|
62
|
+
return instance;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create a server
|
|
67
|
+
* @param data Server options
|
|
68
|
+
* @returns The newly-created server
|
|
69
|
+
*/
|
|
70
|
+
async createServer(data) {
|
|
71
|
+
const { server, channels } = await this.client.api.post(`/servers/create`, data);
|
|
72
|
+
return batch(() => {
|
|
73
|
+
for (const channel of channels) {
|
|
74
|
+
this.client.channels.getOrCreate(channel._id, channel);
|
|
75
|
+
}
|
|
76
|
+
return this.getOrCreate(server._id, server, true);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HydratedServerMember } from "../hydration/index.js";
|
|
2
|
+
import { API, ServerMember } from "../index.js";
|
|
3
|
+
import { ClassCollection } from "./index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collection of Server Members
|
|
6
|
+
*/
|
|
7
|
+
export declare class ServerMemberCollection extends ClassCollection<ServerMember, HydratedServerMember> {
|
|
8
|
+
/**
|
|
9
|
+
* Check if member exists by composite key
|
|
10
|
+
* @param id Id
|
|
11
|
+
* @returns Whether it exists
|
|
12
|
+
*/
|
|
13
|
+
hasByKey(id: API.MemberCompositeKey): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Get member by composite key
|
|
16
|
+
* @param id Id
|
|
17
|
+
* @returns Member
|
|
18
|
+
*/
|
|
19
|
+
getByKey(id: API.MemberCompositeKey): ServerMember | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* check partial status by composite key
|
|
22
|
+
* @param id Id
|
|
23
|
+
* @returns Member
|
|
24
|
+
*/
|
|
25
|
+
isPartialByKey(id: API.MemberCompositeKey): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch server member by Id
|
|
28
|
+
* @param serverId Server Id
|
|
29
|
+
* @param userId User Id
|
|
30
|
+
* @returns Message
|
|
31
|
+
*/
|
|
32
|
+
fetch(serverId: string, userId: string): Promise<ServerMember>;
|
|
33
|
+
/**
|
|
34
|
+
* Get or create
|
|
35
|
+
* @param id Id
|
|
36
|
+
* @param data Data
|
|
37
|
+
*/
|
|
38
|
+
getOrCreate(id: API.MemberCompositeKey, data: API.Member): ServerMember;
|
|
39
|
+
/**
|
|
40
|
+
* Get or return partial
|
|
41
|
+
* @param id Id
|
|
42
|
+
*/
|
|
43
|
+
getOrPartial(id: API.MemberCompositeKey): ServerMember | undefined;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ServerMemberCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerMemberCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ServerMemberCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CACzD,YAAY,EACZ,oBAAoB,CACrB;IACC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAInC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAInC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAIzC;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAepE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM;IAgBxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;CAYxC"}
|