bakit 2.2.4 → 3.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/dist/index.js DELETED
@@ -1,364 +0,0 @@
1
- import { attachEventBus } from '@bakit/utils';
2
- export { Collection, attachEventBus, capitalize, createEventBus, createQueue, isPlainObject, isPromiseLike, promisify, sleep } from '@bakit/utils';
3
- import { ChannelType, GatewayDispatchEvents } from 'discord-api-types/v10';
4
- export { DEFAULT_GATEWAY_MANAGER_OPTIONS, DEFAULT_WORKER_PATH, createGatewayManager, createWorker } from '@bakit/gateway';
5
- export { createREST } from '@bakit/rest';
6
- export { RPCError, createIPCClient, createIPCServer, createService, createTransportClient, createTransportServer, deserializeRPCError, getIPCPath, serializeRPCError } from '@bakit/service';
7
-
8
- // src/lib/client/index.ts
9
-
10
- // src/lib/structures/user.ts
11
- function createUser(client, data) {
12
- return {
13
- get client() {
14
- return client;
15
- },
16
- get id() {
17
- return data.id;
18
- },
19
- get username() {
20
- return data.username;
21
- },
22
- get discriminator() {
23
- return data.discriminator;
24
- },
25
- get globalName() {
26
- return data.global_name;
27
- },
28
- get avatar() {
29
- return data.avatar;
30
- },
31
- get system() {
32
- return data.system;
33
- },
34
- get mfaEnabled() {
35
- return data.mfa_enabled;
36
- },
37
- get banner() {
38
- return data.banner;
39
- },
40
- get accentColor() {
41
- return data.accent_color ?? void 0;
42
- },
43
- get locale() {
44
- return data.locale;
45
- },
46
- get verified() {
47
- return data.verified;
48
- },
49
- get email() {
50
- return data.email;
51
- },
52
- get flags() {
53
- return data.flags;
54
- },
55
- get premiumType() {
56
- return data.premium_type;
57
- },
58
- get publicFlags() {
59
- return data.public_flags;
60
- }
61
- };
62
- }
63
-
64
- // src/lib/structures/message.ts
65
- function createMessage(client, data) {
66
- let author, mentions, referencedMessage;
67
- return {
68
- get client() {
69
- return client;
70
- },
71
- get id() {
72
- return data.id;
73
- },
74
- get channelId() {
75
- return data.channel_id;
76
- },
77
- get guildId() {
78
- if ("guild_id" in data)
79
- return data.guild_id;
80
- },
81
- get author() {
82
- return author || (author = createUser(client, data.author)), author;
83
- },
84
- get content() {
85
- return data.content;
86
- },
87
- get timestamp() {
88
- return data.timestamp;
89
- },
90
- get editedTimestamp() {
91
- return data.edited_timestamp ?? void 0;
92
- },
93
- get tts() {
94
- return data.tts;
95
- },
96
- get mentionEveryone() {
97
- return data.mention_everyone;
98
- },
99
- get mentions() {
100
- return mentions || (mentions = data.mentions.map((x) => createUser(client, x))), mentions;
101
- },
102
- get mentionRoles() {
103
- return data.mention_roles;
104
- },
105
- get nonce() {
106
- return data.nonce;
107
- },
108
- get pinned() {
109
- return data.pinned;
110
- },
111
- get webhookId() {
112
- return data.webhook_id;
113
- },
114
- get type() {
115
- return data.type;
116
- },
117
- get applicationId() {
118
- return data.application_id;
119
- },
120
- get flags() {
121
- return data.flags;
122
- },
123
- get referencedMessage() {
124
- if (data.referenced_message)
125
- return referencedMessage || (referencedMessage = createMessage(client, data.referenced_message)), referencedMessage;
126
- },
127
- get position() {
128
- return data.position;
129
- }
130
- };
131
- }
132
- function createChannel(client, data) {
133
- switch (data.type) {
134
- case ChannelType.GuildText:
135
- return createGuildTextChannel(client, data);
136
- case ChannelType.DM:
137
- return createDMChannel(client, data);
138
- case ChannelType.PublicThread:
139
- return createPublicThreadChannel(client, data);
140
- case ChannelType.PrivateThread:
141
- return createPrivateThreadChannel(client, data);
142
- case ChannelType.GuildVoice:
143
- return createVoiceChannel(client, data);
144
- case ChannelType.GuildStageVoice:
145
- return createStageChannel(client, data);
146
- default:
147
- return createBaseChannel(client, data);
148
- }
149
- }
150
- function createBaseChannel(client, data) {
151
- return {
152
- get client() {
153
- return client;
154
- },
155
- get id() {
156
- return data.id;
157
- },
158
- get type() {
159
- return data.type;
160
- },
161
- isTextBased() {
162
- return data.type === ChannelType.GuildText || data.type === ChannelType.DM || data.type === ChannelType.PublicThread || data.type === ChannelType.PrivateThread;
163
- },
164
- isVoiceBased() {
165
- return data.type === ChannelType.GuildVoice || data.type === ChannelType.GuildStageVoice;
166
- },
167
- isGuildBased() {
168
- return data.type === ChannelType.GuildText || data.type === ChannelType.GuildVoice || data.type === ChannelType.GuildStageVoice || data.type === ChannelType.PublicThread || data.type === ChannelType.PrivateThread;
169
- },
170
- isThreadBased() {
171
- return data.type === ChannelType.PublicThread || data.type === ChannelType.PrivateThread;
172
- },
173
- isDm() {
174
- return data.type === ChannelType.DM;
175
- },
176
- isGuildText() {
177
- return data.type === ChannelType.GuildText;
178
- },
179
- isVoice() {
180
- return data.type === ChannelType.GuildVoice;
181
- },
182
- isStage() {
183
- return data.type === ChannelType.GuildStageVoice;
184
- },
185
- isPublicThread() {
186
- return data.type === ChannelType.PublicThread;
187
- },
188
- isPrivateThread() {
189
- return data.type === ChannelType.PrivateThread;
190
- }
191
- };
192
- }
193
- function createGuildTextChannel(client, data) {
194
- return {
195
- ...createBaseChannel(client, data),
196
- ...createGuildBasedChannelSingleton(data),
197
- ...createTextBasedChannelSingleton(client, data)
198
- };
199
- }
200
- function createDMChannel(client, data) {
201
- let recipients;
202
- return {
203
- ...createBaseChannel(client, data),
204
- ...createTextBasedChannelSingleton(client, data),
205
- get recipients() {
206
- if (data.recipients)
207
- return recipients || (recipients = data.recipients.map((x) => createUser(client, x))), recipients;
208
- }
209
- };
210
- }
211
- function createPublicThreadChannel(client, data) {
212
- return {
213
- ...createBaseChannel(client, data),
214
- ...createThreadBasedChannelSingleton(client, data)
215
- };
216
- }
217
- function createPrivateThreadChannel(client, data) {
218
- return {
219
- ...createBaseChannel(client, data),
220
- ...createThreadBasedChannelSingleton(client, data)
221
- };
222
- }
223
- function createVoiceChannel(client, data) {
224
- return {
225
- ...createBaseChannel(client, data),
226
- ...createVoiceBasedChannelSingleton(),
227
- ...createGuildBasedChannelSingleton(data),
228
- ...createTextBasedChannelSingleton(client, data)
229
- };
230
- }
231
- function createStageChannel(client, data) {
232
- return {
233
- ...createBaseChannel(client, data),
234
- ...createVoiceBasedChannelSingleton(),
235
- ...createGuildBasedChannelSingleton(data),
236
- ...createTextBasedChannelSingleton(client, data)
237
- };
238
- }
239
- function createTextBasedChannelSingleton(client, data) {
240
- return {
241
- get lastMessageId() {
242
- return data.last_message_id ?? void 0;
243
- },
244
- async send(options) {
245
- return client.helpers.channel.createMessage(data.id, options);
246
- }
247
- };
248
- }
249
- function createVoiceBasedChannelSingleton(_client, _data) {
250
- return {
251
- async join() {
252
- }
253
- };
254
- }
255
- function createGuildBasedChannelSingleton(data) {
256
- return {
257
- get name() {
258
- return data.name;
259
- },
260
- get guildId() {
261
- return data.guild_id;
262
- },
263
- get parentId() {
264
- return data.parent_id ?? void 0;
265
- }
266
- };
267
- }
268
- function createGuildTextBasedChannelSingleton(client, data) {
269
- return {
270
- ...createGuildBasedChannelSingleton(data),
271
- ...createTextBasedChannelSingleton(client, data)
272
- };
273
- }
274
- function createThreadBasedChannelSingleton(client, data) {
275
- return {
276
- ...createGuildTextBasedChannelSingleton(client, data),
277
- get messageCount() {
278
- return data.message_count;
279
- },
280
- get memberCount() {
281
- return data.member_count;
282
- },
283
- get ownerId() {
284
- return data.owner_id;
285
- },
286
- get totalMessageSent() {
287
- return data.total_message_sent;
288
- },
289
- get appliedTags() {
290
- return data.applied_tags;
291
- }
292
- };
293
- }
294
-
295
- // src/lib/client/helpers/channel.ts
296
- function createChannelHelpers(client) {
297
- return {
298
- async getById(id) {
299
- try {
300
- let data = await client.rest.get(`/channels/${id}`);
301
- return createChannel(client, data);
302
- } catch {
303
- return;
304
- }
305
- },
306
- async createMessage(channelId, options) {
307
- typeof options == "string" && (options = { content: options });
308
- let message = await client.rest.post(
309
- `/channels/${channelId}/messages`,
310
- {
311
- content: options.content,
312
- flags: options.flags
313
- }
314
- );
315
- return createMessage(client, message);
316
- },
317
- async deleteMessage(channelId, messageId) {
318
- await client.rest.delete(`/channels/${channelId}/messages/${messageId}`);
319
- }
320
- };
321
- }
322
-
323
- // src/lib/client/helpers/user.ts
324
- function createUserHelpers(client) {
325
- return {
326
- async getById(id) {
327
- try {
328
- let data = await client.rest.get(`/users/${id}`);
329
- return createUser(client, data);
330
- } catch {
331
- return;
332
- }
333
- },
334
- async getCurrent() {
335
- let data = await client.rest.get("/users/@me");
336
- return createUser(client, data);
337
- }
338
- };
339
- }
340
-
341
- // src/lib/client/helpers/index.ts
342
- function createHelpers(client) {
343
- return {
344
- user: createUserHelpers(client),
345
- channel: createChannelHelpers(client)
346
- };
347
- }
348
-
349
- // src/lib/client/index.ts
350
- function createClient(rest) {
351
- let self = attachEventBus({
352
- rest,
353
- helpers: void 0
354
- });
355
- return Object.assign(self, { helpers: createHelpers(self) }), self.on("raw", (payload) => {
356
- switch (payload.t) {
357
- case GatewayDispatchEvents.MessageCreate:
358
- self.emit("messageCreate", createMessage(self, payload.d));
359
- return;
360
- }
361
- }), self;
362
- }
363
-
364
- export { createBaseChannel, createChannel, createClient, createDMChannel, createGuildBasedChannelSingleton, createGuildTextBasedChannelSingleton, createGuildTextChannel, createMessage, createPrivateThreadChannel, createPublicThreadChannel, createStageChannel, createTextBasedChannelSingleton, createThreadBasedChannelSingleton, createUser, createVoiceBasedChannelSingleton, createVoiceChannel };