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
package/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# hischool.js
|
|
2
|
+
|
|
3
|
+
**hischool.js** is a JavaScript (TypeScript) library for interacting with Hischool.
|
|
4
|
+
|
|
5
|
+
## Example Usage
|
|
6
|
+
|
|
7
|
+
```javascript
|
|
8
|
+
// esm / typescript
|
|
9
|
+
import { Client } from "hischool.js";
|
|
10
|
+
// ...or commonjs
|
|
11
|
+
const { Client } = require("hischool.js");
|
|
12
|
+
|
|
13
|
+
let client = new Client();
|
|
14
|
+
|
|
15
|
+
client.on("ready", async () =>
|
|
16
|
+
console.info(`Logged in as ${client.user.username}!`)
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
client.on("messageCreate", async (message) => {
|
|
20
|
+
if (message.content === "hello") {
|
|
21
|
+
message.channel.sendMessage("world");
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
client.loginBot("..");
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Reactivity with Signals & Solid.js Primitives
|
|
29
|
+
|
|
30
|
+
All objects have reactivity built-in and can be dropped straight into any Solid.js project.
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
const client = new Client();
|
|
34
|
+
// initialise the client
|
|
35
|
+
|
|
36
|
+
function MyApp() {
|
|
37
|
+
return (
|
|
38
|
+
<h1>Your username is: {client.user?.username ?? "[logging in...]"}</h1>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
```
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { DataLogin, HischoolConfig } from "./api";
|
|
2
|
+
import { API, Role } from "./api";
|
|
3
|
+
import { Channel, Emoji, Message, Server, ServerMember, User } from "./classes/index.js";
|
|
4
|
+
import { AccountCollection } from "./collections/AccountCollection.js";
|
|
5
|
+
import { BotCollection, ChannelCollection, ChannelUnreadCollection, ChannelWebhookCollection, EmojiCollection, MessageCollection, ServerCollection, ServerMemberCollection, SessionCollection, UserCollection } from "./collections/index.js";
|
|
6
|
+
import { EventClient, EventClientOptions } from "./events/index.js";
|
|
7
|
+
import { HydratedChannel, HydratedEmoji, HydratedMessage, HydratedServer, HydratedServerMember, HydratedUser } from "./hydration/index.js";
|
|
8
|
+
import EventEmitter from "eventemitter3";
|
|
9
|
+
import { Accessor } from "solid-js";
|
|
10
|
+
export type Session = {
|
|
11
|
+
_id: string;
|
|
12
|
+
token: string;
|
|
13
|
+
user_id: string;
|
|
14
|
+
} | string;
|
|
15
|
+
/**
|
|
16
|
+
* Events provided by the client
|
|
17
|
+
*/
|
|
18
|
+
export type Events = {
|
|
19
|
+
error(error: Error): void;
|
|
20
|
+
connected(): void;
|
|
21
|
+
connecting(): void;
|
|
22
|
+
disconnected(): void;
|
|
23
|
+
ready(): void;
|
|
24
|
+
logout(): void;
|
|
25
|
+
messageCreate(message: Message): void;
|
|
26
|
+
messageUpdate(message: Message, previousMessage: HydratedMessage): void;
|
|
27
|
+
messageDelete(message: HydratedMessage): void;
|
|
28
|
+
messageDeleteBulk(messages: HydratedMessage[], channel?: Channel): void;
|
|
29
|
+
messageReactionAdd(message: Message, userId: string, emoji: string): void;
|
|
30
|
+
messageReactionRemove(message: Message, userId: string, emoji: string): void;
|
|
31
|
+
messageReactionRemoveEmoji(message: Message, emoji: string): void;
|
|
32
|
+
channelCreate(channel: Channel): void;
|
|
33
|
+
channelUpdate(channel: Channel, previousChannel: HydratedChannel): void;
|
|
34
|
+
channelDelete(channel: HydratedChannel): void;
|
|
35
|
+
channelGroupJoin(channel: Channel, user: User): void;
|
|
36
|
+
channelGroupLeave(channel: Channel, user?: User): void;
|
|
37
|
+
channelStartTyping(channel: Channel, user?: User): void;
|
|
38
|
+
channelStopTyping(channel: Channel, user?: User): void;
|
|
39
|
+
channelAcknowledged(channel: Channel, messageId: string): void;
|
|
40
|
+
serverCreate(server: Server): void;
|
|
41
|
+
serverUpdate(server: Server, previousServer: HydratedServer): void;
|
|
42
|
+
serverDelete(server: HydratedServer): void;
|
|
43
|
+
serverLeave(server: HydratedServer): void;
|
|
44
|
+
serverRoleUpdate(server: Server, roleId: string, previousRole: Role): void;
|
|
45
|
+
serverRoleDelete(server: Server, roleId: string, role: Role): void;
|
|
46
|
+
serverMemberUpdate(member: ServerMember, previousMember: HydratedServerMember): void;
|
|
47
|
+
serverMemberJoin(member: ServerMember): void;
|
|
48
|
+
serverMemberLeave(member: HydratedServerMember): void;
|
|
49
|
+
userUpdate(user: User, previousUser: HydratedUser): void;
|
|
50
|
+
userSettingsUpdate(id: string, update: Record<string, [number, string]>): void;
|
|
51
|
+
emojiCreate(emoji: Emoji): void;
|
|
52
|
+
emojiDelete(emoji: HydratedEmoji): void;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Client options object
|
|
56
|
+
*/
|
|
57
|
+
export type ClientOptions = Partial<EventClientOptions> & {
|
|
58
|
+
/**
|
|
59
|
+
* Base URL of the API server
|
|
60
|
+
*/
|
|
61
|
+
baseURL: string;
|
|
62
|
+
/**
|
|
63
|
+
* Whether to allow partial objects to emit from events
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
partials: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to eagerly fetch users and members for incoming events
|
|
69
|
+
* @default true
|
|
70
|
+
* @deprecated
|
|
71
|
+
*/
|
|
72
|
+
eagerFetching: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Whether to automatically sync unreads information
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
syncUnreads: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Whether to reconnect when disconnected
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
autoReconnect: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Whether to rewrite sent messages that include identifiers such as @silent
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
messageRewrites: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Retry delay function
|
|
90
|
+
* @param retryCount Count
|
|
91
|
+
* @returns Delay in seconds
|
|
92
|
+
* @default (2^x-1) ±20%
|
|
93
|
+
*/
|
|
94
|
+
retryDelayFunction(retryCount: number): number;
|
|
95
|
+
/**
|
|
96
|
+
* Check whether a channel is muted
|
|
97
|
+
* @param channel Channel
|
|
98
|
+
* @return Whether it is muted
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
channelIsMuted(channel: Channel): boolean;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Hischool.js Clients
|
|
105
|
+
*/
|
|
106
|
+
export declare class Client extends EventEmitter<Events> {
|
|
107
|
+
#private;
|
|
108
|
+
readonly account: AccountCollection;
|
|
109
|
+
readonly bots: BotCollection;
|
|
110
|
+
readonly channels: ChannelCollection;
|
|
111
|
+
readonly channelUnreads: ChannelUnreadCollection;
|
|
112
|
+
readonly channelWebhooks: ChannelWebhookCollection;
|
|
113
|
+
readonly emojis: EmojiCollection;
|
|
114
|
+
readonly messages: MessageCollection;
|
|
115
|
+
readonly servers: ServerCollection;
|
|
116
|
+
readonly serverMembers: ServerMemberCollection;
|
|
117
|
+
readonly sessions: SessionCollection;
|
|
118
|
+
readonly users: UserCollection;
|
|
119
|
+
readonly api: API;
|
|
120
|
+
readonly options: ClientOptions;
|
|
121
|
+
readonly events: EventClient<1>;
|
|
122
|
+
configuration: HischoolConfig | undefined;
|
|
123
|
+
user: User | undefined;
|
|
124
|
+
readonly ready: Accessor<boolean>;
|
|
125
|
+
readonly connectionFailureCount: Accessor<number>;
|
|
126
|
+
/**
|
|
127
|
+
* Create Hischool.js Client
|
|
128
|
+
*/
|
|
129
|
+
constructor(options?: Partial<ClientOptions>, configuration?: HischoolConfig);
|
|
130
|
+
/**
|
|
131
|
+
* Current session id
|
|
132
|
+
*/
|
|
133
|
+
get sessionId(): string | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* Connect to Hischool
|
|
136
|
+
*/
|
|
137
|
+
connect(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Log in with auth data, creating a new session in the process.
|
|
140
|
+
* @param details Login data object
|
|
141
|
+
* @returns An on-boarding function if on-boarding is required, undefined otherwise
|
|
142
|
+
*/
|
|
143
|
+
login(details: DataLogin): Promise<void>;
|
|
144
|
+
/**
|
|
145
|
+
* Use an existing session
|
|
146
|
+
*/
|
|
147
|
+
useExistingSession(session: Session): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Log in as a bot
|
|
150
|
+
* @param token Bot token
|
|
151
|
+
*/
|
|
152
|
+
loginBot(token: string): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Prepare a markdown-based message to be displayed to the user as plain text.
|
|
155
|
+
* @param source Source markdown text
|
|
156
|
+
* @returns Modified plain text
|
|
157
|
+
*/
|
|
158
|
+
markdownToText(source: string): string;
|
|
159
|
+
/**
|
|
160
|
+
* Proxy a file through January.
|
|
161
|
+
* @param url URL to proxy
|
|
162
|
+
* @returns Proxied media URL
|
|
163
|
+
*/
|
|
164
|
+
proxyFile(url: string): string | undefined;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
12
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
13
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
16
|
+
};
|
|
17
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
18
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
var _Client_instances, _Client_session, _Client_setReady, _Client_setConnectionFailureCount, _Client_reconnectTimeout, _Client_fetchConfiguration, _Client_updateHeaders;
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.Client = void 0;
|
|
28
|
+
const api_1 = require("./api");
|
|
29
|
+
const AccountCollection_js_1 = require("./collections/AccountCollection.js");
|
|
30
|
+
const index_js_1 = require("./collections/index.js");
|
|
31
|
+
const index_js_2 = require("./events/index.js");
|
|
32
|
+
const regex_js_1 = require("./lib/regex.js");
|
|
33
|
+
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
34
|
+
const solid_js_1 = require("solid-js");
|
|
35
|
+
/**
|
|
36
|
+
* Hischool.js Clients
|
|
37
|
+
*/
|
|
38
|
+
class Client extends eventemitter3_1.default {
|
|
39
|
+
/**
|
|
40
|
+
* Create Hischool.js Client
|
|
41
|
+
*/
|
|
42
|
+
constructor(options, configuration) {
|
|
43
|
+
super();
|
|
44
|
+
_Client_instances.add(this);
|
|
45
|
+
_Client_session.set(this, void 0);
|
|
46
|
+
_Client_setReady.set(this, void 0);
|
|
47
|
+
_Client_setConnectionFailureCount.set(this, void 0);
|
|
48
|
+
_Client_reconnectTimeout.set(this, void 0);
|
|
49
|
+
this.options = Object.assign({ baseURL: "https://api.hischool.mn", partials: false, eagerFetching: true, syncUnreads: false, autoReconnect: true, messageRewrites: true,
|
|
50
|
+
/**
|
|
51
|
+
* Retry delay function
|
|
52
|
+
* @param retryCount Count
|
|
53
|
+
* @returns Delay in seconds
|
|
54
|
+
*/
|
|
55
|
+
retryDelayFunction(retryCount) {
|
|
56
|
+
return (Math.pow(2, retryCount) - 1) * (0.8 + Math.random() * 0.4);
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* Check whether a channel is muted
|
|
60
|
+
* @param channel Channel
|
|
61
|
+
* @return Whether it is muted
|
|
62
|
+
*/
|
|
63
|
+
channelIsMuted() {
|
|
64
|
+
return false;
|
|
65
|
+
} }, options);
|
|
66
|
+
this.configuration = configuration;
|
|
67
|
+
this.api = new api_1.API({
|
|
68
|
+
baseURL: this.options.baseURL,
|
|
69
|
+
});
|
|
70
|
+
const [ready, setReady] = (0, solid_js_1.createSignal)(false);
|
|
71
|
+
this.ready = ready;
|
|
72
|
+
__classPrivateFieldSet(this, _Client_setReady, setReady, "f");
|
|
73
|
+
const [connectionFailureCount, setConnectionFailureCount] = (0, solid_js_1.createSignal)(0);
|
|
74
|
+
this.connectionFailureCount = connectionFailureCount;
|
|
75
|
+
__classPrivateFieldSet(this, _Client_setConnectionFailureCount, setConnectionFailureCount, "f");
|
|
76
|
+
this.account = new AccountCollection_js_1.AccountCollection(this);
|
|
77
|
+
this.bots = new index_js_1.BotCollection(this);
|
|
78
|
+
this.channels = new index_js_1.ChannelCollection(this);
|
|
79
|
+
this.channelUnreads = new index_js_1.ChannelUnreadCollection(this);
|
|
80
|
+
this.channelWebhooks = new index_js_1.ChannelWebhookCollection(this);
|
|
81
|
+
this.emojis = new index_js_1.EmojiCollection(this);
|
|
82
|
+
this.messages = new index_js_1.MessageCollection(this);
|
|
83
|
+
this.servers = new index_js_1.ServerCollection(this);
|
|
84
|
+
this.serverMembers = new index_js_1.ServerMemberCollection(this);
|
|
85
|
+
this.sessions = new index_js_1.SessionCollection(this);
|
|
86
|
+
this.users = new index_js_1.UserCollection(this);
|
|
87
|
+
this.events = new index_js_2.EventClient(1, "json", this.options);
|
|
88
|
+
this.events.on("error", (error) => this.emit("error", error));
|
|
89
|
+
this.events.on("state", (state) => {
|
|
90
|
+
switch (state) {
|
|
91
|
+
case index_js_2.ConnectionState.Connected:
|
|
92
|
+
(0, solid_js_1.batch)(() => {
|
|
93
|
+
this.servers.forEach((server) => server.resetSyncStatus());
|
|
94
|
+
__classPrivateFieldGet(this, _Client_setConnectionFailureCount, "f").call(this, 0);
|
|
95
|
+
this.emit("connected");
|
|
96
|
+
});
|
|
97
|
+
break;
|
|
98
|
+
case index_js_2.ConnectionState.Connecting:
|
|
99
|
+
this.emit("connecting");
|
|
100
|
+
break;
|
|
101
|
+
case index_js_2.ConnectionState.Disconnected:
|
|
102
|
+
this.emit("disconnected");
|
|
103
|
+
if (this.options.autoReconnect) {
|
|
104
|
+
__classPrivateFieldSet(this, _Client_reconnectTimeout, setTimeout(() => this.connect(), this.options.retryDelayFunction(this.connectionFailureCount()) *
|
|
105
|
+
1e3), "f");
|
|
106
|
+
__classPrivateFieldGet(this, _Client_setConnectionFailureCount, "f").call(this, (count) => count + 1);
|
|
107
|
+
}
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
this.events.on("event", (event) => (0, index_js_2.handleEventV1)(this, event, __classPrivateFieldGet(this, _Client_setReady, "f")));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Current session id
|
|
115
|
+
*/
|
|
116
|
+
get sessionId() {
|
|
117
|
+
var _a;
|
|
118
|
+
return typeof __classPrivateFieldGet(this, _Client_session, "f") === "string" ? undefined : (_a = __classPrivateFieldGet(this, _Client_session, "f")) === null || _a === void 0 ? void 0 : _a._id;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Connect to Hischool
|
|
122
|
+
*/
|
|
123
|
+
connect() {
|
|
124
|
+
var _a, _b;
|
|
125
|
+
clearTimeout(__classPrivateFieldGet(this, _Client_reconnectTimeout, "f"));
|
|
126
|
+
this.events.disconnect();
|
|
127
|
+
__classPrivateFieldGet(this, _Client_setReady, "f").call(this, false);
|
|
128
|
+
this.events.connect((_b = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.ws) !== null && _b !== void 0 ? _b : "wss://ws.hischool.mn", typeof __classPrivateFieldGet(this, _Client_session, "f") === "string" ? __classPrivateFieldGet(this, _Client_session, "f") : __classPrivateFieldGet(this, _Client_session, "f").token);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Log in with auth data, creating a new session in the process.
|
|
132
|
+
* @param details Login data object
|
|
133
|
+
* @returns An on-boarding function if on-boarding is required, undefined otherwise
|
|
134
|
+
*/
|
|
135
|
+
login(details) {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
yield __classPrivateFieldGet(this, _Client_instances, "m", _Client_fetchConfiguration).call(this);
|
|
138
|
+
const data = yield this.api.post("/auth/session/login", details);
|
|
139
|
+
if (data.result === "Success") {
|
|
140
|
+
__classPrivateFieldSet(this, _Client_session, data, "f");
|
|
141
|
+
// TODO: return await this.connect();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
throw "MFA not implemented!";
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Use an existing session
|
|
150
|
+
*/
|
|
151
|
+
useExistingSession(session) {
|
|
152
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
__classPrivateFieldSet(this, _Client_session, session, "f");
|
|
154
|
+
__classPrivateFieldGet(this, _Client_instances, "m", _Client_updateHeaders).call(this);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Log in as a bot
|
|
159
|
+
* @param token Bot token
|
|
160
|
+
*/
|
|
161
|
+
loginBot(token) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
yield __classPrivateFieldGet(this, _Client_instances, "m", _Client_fetchConfiguration).call(this);
|
|
164
|
+
__classPrivateFieldSet(this, _Client_session, token, "f");
|
|
165
|
+
__classPrivateFieldGet(this, _Client_instances, "m", _Client_updateHeaders).call(this);
|
|
166
|
+
this.connect();
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Prepare a markdown-based message to be displayed to the user as plain text.
|
|
171
|
+
* @param source Source markdown text
|
|
172
|
+
* @returns Modified plain text
|
|
173
|
+
*/
|
|
174
|
+
markdownToText(source) {
|
|
175
|
+
return source
|
|
176
|
+
.replace(regex_js_1.RE_MENTIONS, (sub, id) => {
|
|
177
|
+
const user = this.users.get(id);
|
|
178
|
+
if (user) {
|
|
179
|
+
return `@${user.username}`;
|
|
180
|
+
}
|
|
181
|
+
return sub;
|
|
182
|
+
})
|
|
183
|
+
.replace(regex_js_1.RE_CHANNELS, (sub, id) => {
|
|
184
|
+
const channel = this.channels.get(id);
|
|
185
|
+
if (channel) {
|
|
186
|
+
return `#${channel.displayName}`;
|
|
187
|
+
}
|
|
188
|
+
return sub;
|
|
189
|
+
})
|
|
190
|
+
.replace(regex_js_1.RE_SPOILER, "<spoiler>");
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Proxy a file through January.
|
|
194
|
+
* @param url URL to proxy
|
|
195
|
+
* @returns Proxied media URL
|
|
196
|
+
*/
|
|
197
|
+
proxyFile(url) {
|
|
198
|
+
var _a;
|
|
199
|
+
if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.features.january.enabled) {
|
|
200
|
+
return `${this.configuration.features.january.url}/proxy?url=${encodeURIComponent(url)}`;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
return url;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.Client = Client;
|
|
208
|
+
_Client_session = new WeakMap(), _Client_setReady = new WeakMap(), _Client_setConnectionFailureCount = new WeakMap(), _Client_reconnectTimeout = new WeakMap(), _Client_instances = new WeakSet(), _Client_fetchConfiguration = function _Client_fetchConfiguration() {
|
|
209
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
+
if (!this.configuration) {
|
|
211
|
+
this.configuration = yield this.api.get("/");
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}, _Client_updateHeaders = function _Client_updateHeaders() {
|
|
215
|
+
this.api = new api_1.API({
|
|
216
|
+
baseURL: this.options.baseURL,
|
|
217
|
+
authentication: {
|
|
218
|
+
hischool: __classPrivateFieldGet(this, _Client_session, "f"),
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseURL.d.ts","sourceRoot":"","sources":["../../../src/api/baseURL.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { APIRoutes } from "./routes";
|
|
2
|
+
import type { AxiosRequestConfig } from "axios";
|
|
3
|
+
export * from "./types";
|
|
4
|
+
type Methods = APIRoutes["method"];
|
|
5
|
+
type PickRoutes<Method extends Methods> = APIRoutes & {
|
|
6
|
+
method: Method;
|
|
7
|
+
};
|
|
8
|
+
type GetRoutes = PickRoutes<"get">;
|
|
9
|
+
type PatchRoutes = PickRoutes<"patch">;
|
|
10
|
+
type PutRoutes = PickRoutes<"put">;
|
|
11
|
+
type DeleteRoutes = PickRoutes<"delete">;
|
|
12
|
+
type PostRoutes = PickRoutes<"post">;
|
|
13
|
+
type Count<Str extends string, SubStr extends string, Matches extends null[] = []> = Str extends `${infer _}${SubStr}${infer After}` ? Count<After, SubStr, [...Matches, null]> : Matches["length"];
|
|
14
|
+
/**
|
|
15
|
+
* Get the specific path name of any given path.
|
|
16
|
+
* @param anyPath Any path
|
|
17
|
+
* @returns Specific path
|
|
18
|
+
*/
|
|
19
|
+
export declare function getPathName(anyPath: string): string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Client configuration options
|
|
22
|
+
*/
|
|
23
|
+
export interface Options {
|
|
24
|
+
/**
|
|
25
|
+
* Base URL of the Hischool node
|
|
26
|
+
*/
|
|
27
|
+
baseURL: string;
|
|
28
|
+
/**
|
|
29
|
+
* Authentication used for requests
|
|
30
|
+
*/
|
|
31
|
+
authentication: {
|
|
32
|
+
rauth?: string | undefined;
|
|
33
|
+
hischool?: {
|
|
34
|
+
token: string;
|
|
35
|
+
} | string | undefined;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* API Client
|
|
40
|
+
*/
|
|
41
|
+
export declare class API {
|
|
42
|
+
private baseURL;
|
|
43
|
+
private authentication;
|
|
44
|
+
constructor({ baseURL, authentication }?: Partial<Options>);
|
|
45
|
+
/**
|
|
46
|
+
* Generate authentication options.
|
|
47
|
+
*/
|
|
48
|
+
get auth(): AxiosRequestConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Generate config to pass through to API.
|
|
51
|
+
*/
|
|
52
|
+
get config(): AxiosRequestConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Send any arbitrary request.
|
|
55
|
+
* @param method HTTP Method
|
|
56
|
+
* @param path Path
|
|
57
|
+
* @param params Body or Query Parameters
|
|
58
|
+
* @param config Axios configuration
|
|
59
|
+
* @returns Typed Response Data
|
|
60
|
+
*/
|
|
61
|
+
req<Method extends Methods, Routes extends PickRoutes<Method>, Path extends Routes["path"], Route extends Routes & {
|
|
62
|
+
path: Path;
|
|
63
|
+
parts: Count<Path, "/">;
|
|
64
|
+
}>(method: Method, path: Path, params: Route["params"], config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
65
|
+
/**
|
|
66
|
+
* Send HTTP GET request.
|
|
67
|
+
* @param path Path
|
|
68
|
+
* @param params Body or Query Parameters
|
|
69
|
+
* @param config Axios configuration
|
|
70
|
+
* @returns Typed Response Data
|
|
71
|
+
*/
|
|
72
|
+
get<Path extends GetRoutes["path"], Route extends GetRoutes & {
|
|
73
|
+
path: Path;
|
|
74
|
+
parts: Count<Path, "/">;
|
|
75
|
+
}>(path: Path, params: Route["params"], config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
76
|
+
/**
|
|
77
|
+
* Send HTTP GET request.
|
|
78
|
+
* @param path Path
|
|
79
|
+
* @returns Typed Response Data
|
|
80
|
+
*/
|
|
81
|
+
get<Path extends (GetRoutes & {
|
|
82
|
+
params: undefined;
|
|
83
|
+
})["path"], Route extends GetRoutes & {
|
|
84
|
+
path: Path;
|
|
85
|
+
parts: Count<Path, "/">;
|
|
86
|
+
}>(path: Path): Promise<Route["response"]>;
|
|
87
|
+
/**
|
|
88
|
+
* Send HTTP PATCH request.
|
|
89
|
+
* @param path Path
|
|
90
|
+
* @param params Body or Query Parameters
|
|
91
|
+
* @param config Axios configuration
|
|
92
|
+
* @returns Typed Response Data
|
|
93
|
+
*/
|
|
94
|
+
patch<Path extends PatchRoutes["path"], Route extends PatchRoutes & {
|
|
95
|
+
path: Path;
|
|
96
|
+
parts: Count<Path, "/">;
|
|
97
|
+
}>(path: Path, params: Route["params"], config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
98
|
+
/**
|
|
99
|
+
* Send HTTP PATCH request.
|
|
100
|
+
* @param path Path
|
|
101
|
+
* @returns Typed Response Data
|
|
102
|
+
*/
|
|
103
|
+
patch<Path extends (PatchRoutes & {
|
|
104
|
+
params: undefined;
|
|
105
|
+
})["path"], Route extends PatchRoutes & {
|
|
106
|
+
path: Path;
|
|
107
|
+
parts: Count<Path, "/">;
|
|
108
|
+
}>(path: Path): Promise<Route["response"]>;
|
|
109
|
+
/**
|
|
110
|
+
* Send HTTP PUT request.
|
|
111
|
+
* @param path Path
|
|
112
|
+
* @param params Body or Query Parameters
|
|
113
|
+
* @param config Axios configuration
|
|
114
|
+
* @returns Typed Response Data
|
|
115
|
+
*/
|
|
116
|
+
put<Path extends PutRoutes["path"], Route extends PutRoutes & {
|
|
117
|
+
path: Path;
|
|
118
|
+
parts: Count<Path, "/">;
|
|
119
|
+
}>(path: Path, params: Route["params"], config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
120
|
+
/**
|
|
121
|
+
* Send HTTP PUT request.
|
|
122
|
+
* @param path Path
|
|
123
|
+
* @returns Typed Response Data
|
|
124
|
+
*/
|
|
125
|
+
put<Path extends (PutRoutes & {
|
|
126
|
+
params: undefined;
|
|
127
|
+
})["path"], Route extends PutRoutes & {
|
|
128
|
+
path: Path;
|
|
129
|
+
parts: Count<Path, "/">;
|
|
130
|
+
}>(path: Path): Promise<Route["response"]>;
|
|
131
|
+
/**
|
|
132
|
+
* Send HTTP DELETE request.
|
|
133
|
+
* @param path Path
|
|
134
|
+
* @param params Body or Query Parameters
|
|
135
|
+
* @param config Axios configuration
|
|
136
|
+
* @returns Typed Response Data
|
|
137
|
+
*/
|
|
138
|
+
delete<Path extends DeleteRoutes["path"], Route extends DeleteRoutes & {
|
|
139
|
+
path: Path;
|
|
140
|
+
parts: Count<Path, "/">;
|
|
141
|
+
}>(path: Path, params?: any, config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
142
|
+
/**
|
|
143
|
+
* Send HTTP DELETE request.
|
|
144
|
+
* @param path Path
|
|
145
|
+
* @param params Body or Query Parameters
|
|
146
|
+
* @returns Typed Response Data
|
|
147
|
+
*/
|
|
148
|
+
delete<Path extends (DeleteRoutes & {
|
|
149
|
+
params: undefined;
|
|
150
|
+
})["path"], Route extends DeleteRoutes & {
|
|
151
|
+
path: Path;
|
|
152
|
+
parts: Count<Path, "/">;
|
|
153
|
+
}>(path: Path, params?: any): Promise<Route["response"]>;
|
|
154
|
+
/**
|
|
155
|
+
* Send HTTP POST request.
|
|
156
|
+
* @param path Path
|
|
157
|
+
* @param params Body or Query Parameters
|
|
158
|
+
* @param config Axios configuration
|
|
159
|
+
* @returns Typed Response Data
|
|
160
|
+
*/
|
|
161
|
+
post<Path extends PostRoutes["path"], Route extends PostRoutes & {
|
|
162
|
+
path: Path;
|
|
163
|
+
parts: Count<Path, "/">;
|
|
164
|
+
}>(path: Path, params: Route["params"], config?: AxiosRequestConfig): Promise<Route["response"]>;
|
|
165
|
+
/**
|
|
166
|
+
* Send HTTP POST request.
|
|
167
|
+
* @param path Path
|
|
168
|
+
* @returns Typed Response Data
|
|
169
|
+
*/
|
|
170
|
+
post<Path extends (PostRoutes & {
|
|
171
|
+
params: undefined;
|
|
172
|
+
})["path"], Route extends PostRoutes & {
|
|
173
|
+
path: Path;
|
|
174
|
+
parts: Count<Path, "/">;
|
|
175
|
+
}>(path: Path): Promise<Route["response"]>;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"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"}
|