@jubbio/core 1.3.3 → 1.3.5
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/Client.js +50 -10
- package/dist/rest/REST.d.ts +1 -0
- package/dist/rest/REST.js +1 -1
- package/dist/structures/Channel.d.ts +1 -1
- package/dist/structures/Channel.js +11 -4
- package/dist/structures/Guild.d.ts +1 -1
- package/dist/structures/Guild.js +7 -3
- package/dist/structures/Interaction.js +11 -3
- package/dist/structures/Message.d.ts +2 -0
- package/dist/structures/Message.js +13 -33
- package/package.json +4 -14
- package/dist/cjs/Client.d.ts +0 -157
- package/dist/cjs/Client.js +0 -640
- package/dist/cjs/builders/ActionRowBuilder.d.ts +0 -53
- package/dist/cjs/builders/ActionRowBuilder.js +0 -68
- package/dist/cjs/builders/ButtonBuilder.d.ts +0 -77
- package/dist/cjs/builders/ButtonBuilder.js +0 -96
- package/dist/cjs/builders/EmbedBuilder.d.ts +0 -157
- package/dist/cjs/builders/EmbedBuilder.js +0 -208
- package/dist/cjs/builders/ModalBuilder.d.ts +0 -122
- package/dist/cjs/builders/ModalBuilder.js +0 -162
- package/dist/cjs/builders/SelectMenuBuilder.d.ts +0 -123
- package/dist/cjs/builders/SelectMenuBuilder.js +0 -165
- package/dist/cjs/builders/SlashCommandBuilder.d.ts +0 -197
- package/dist/cjs/builders/SlashCommandBuilder.js +0 -324
- package/dist/cjs/builders/index.d.ts +0 -9
- package/dist/cjs/builders/index.js +0 -26
- package/dist/cjs/enums.d.ts +0 -191
- package/dist/cjs/enums.js +0 -211
- package/dist/cjs/index.d.ts +0 -25
- package/dist/cjs/index.js +0 -130
- package/dist/cjs/managers/BaseManager.d.ts +0 -69
- package/dist/cjs/managers/BaseManager.js +0 -106
- package/dist/cjs/managers/ChannelManager.d.ts +0 -95
- package/dist/cjs/managers/ChannelManager.js +0 -205
- package/dist/cjs/managers/GuildMemberManager.d.ts +0 -74
- package/dist/cjs/managers/GuildMemberManager.js +0 -157
- package/dist/cjs/managers/RoleManager.d.ts +0 -84
- package/dist/cjs/managers/RoleManager.js +0 -207
- package/dist/cjs/managers/index.d.ts +0 -7
- package/dist/cjs/managers/index.js +0 -24
- package/dist/cjs/rest/REST.d.ts +0 -527
- package/dist/cjs/rest/REST.js +0 -904
- package/dist/cjs/rest/index.d.ts +0 -1
- package/dist/cjs/rest/index.js +0 -18
- package/dist/cjs/sharding/ShardingManager.d.ts +0 -179
- package/dist/cjs/sharding/ShardingManager.js +0 -375
- package/dist/cjs/sharding/index.d.ts +0 -4
- package/dist/cjs/sharding/index.js +0 -21
- package/dist/cjs/structures/Channel.d.ts +0 -122
- package/dist/cjs/structures/Channel.js +0 -240
- package/dist/cjs/structures/Collection.d.ts +0 -53
- package/dist/cjs/structures/Collection.js +0 -115
- package/dist/cjs/structures/Guild.d.ts +0 -59
- package/dist/cjs/structures/Guild.js +0 -94
- package/dist/cjs/structures/GuildMember.d.ts +0 -174
- package/dist/cjs/structures/GuildMember.js +0 -311
- package/dist/cjs/structures/Interaction.d.ts +0 -245
- package/dist/cjs/structures/Interaction.js +0 -450
- package/dist/cjs/structures/Message.d.ts +0 -98
- package/dist/cjs/structures/Message.js +0 -195
- package/dist/cjs/structures/User.d.ts +0 -37
- package/dist/cjs/structures/User.js +0 -65
- package/dist/cjs/structures/index.d.ts +0 -7
- package/dist/cjs/structures/index.js +0 -25
- package/dist/cjs/structures.d.ts +0 -1
- package/dist/cjs/structures.js +0 -19
- package/dist/cjs/types.d.ts +0 -255
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/utils/BitField.d.ts +0 -66
- package/dist/cjs/utils/BitField.js +0 -138
- package/dist/cjs/utils/Collection.d.ts +0 -116
- package/dist/cjs/utils/Collection.js +0 -265
- package/dist/cjs/utils/Collector.d.ts +0 -152
- package/dist/cjs/utils/Collector.js +0 -314
- package/dist/cjs/utils/DataResolver.d.ts +0 -61
- package/dist/cjs/utils/DataResolver.js +0 -146
- package/dist/cjs/utils/Formatters.d.ts +0 -145
- package/dist/cjs/utils/Formatters.js +0 -213
- package/dist/cjs/utils/IntentsBitField.d.ts +0 -85
- package/dist/cjs/utils/IntentsBitField.js +0 -99
- package/dist/cjs/utils/Partials.d.ts +0 -104
- package/dist/cjs/utils/Partials.js +0 -148
- package/dist/cjs/utils/PermissionsBitField.d.ts +0 -118
- package/dist/cjs/utils/PermissionsBitField.js +0 -145
- package/dist/cjs/utils/SnowflakeUtil.d.ts +0 -63
- package/dist/cjs/utils/SnowflakeUtil.js +0 -93
- package/dist/cjs/utils/Sweepers.d.ts +0 -119
- package/dist/cjs/utils/Sweepers.js +0 -249
- package/dist/cjs/utils/index.d.ts +0 -13
- package/dist/cjs/utils/index.js +0 -30
- package/dist/esm/Client.js +0 -634
- package/dist/esm/builders/ActionRowBuilder.js +0 -64
- package/dist/esm/builders/ButtonBuilder.js +0 -92
- package/dist/esm/builders/EmbedBuilder.js +0 -204
- package/dist/esm/builders/ModalBuilder.js +0 -157
- package/dist/esm/builders/SelectMenuBuilder.js +0 -161
- package/dist/esm/builders/SlashCommandBuilder.js +0 -311
- package/dist/esm/builders/index.js +0 -10
- package/dist/esm/enums.js +0 -208
- package/dist/esm/index.js +0 -34
- package/dist/esm/managers/BaseManager.js +0 -100
- package/dist/esm/managers/ChannelManager.js +0 -200
- package/dist/esm/managers/GuildMemberManager.js +0 -153
- package/dist/esm/managers/RoleManager.js +0 -203
- package/dist/esm/managers/index.js +0 -8
- package/dist/esm/rest/REST.js +0 -900
- package/dist/esm/rest/index.js +0 -2
- package/dist/esm/sharding/ShardingManager.js +0 -366
- package/dist/esm/sharding/index.js +0 -5
- package/dist/esm/structures/Channel.js +0 -232
- package/dist/esm/structures/Collection.js +0 -111
- package/dist/esm/structures/Guild.js +0 -90
- package/dist/esm/structures/GuildMember.js +0 -306
- package/dist/esm/structures/Interaction.js +0 -438
- package/dist/esm/structures/Message.js +0 -191
- package/dist/esm/structures/User.js +0 -61
- package/dist/esm/structures/index.js +0 -9
- package/dist/esm/structures.js +0 -3
- package/dist/esm/types.js +0 -2
- package/dist/esm/utils/BitField.js +0 -134
- package/dist/esm/utils/Collection.js +0 -261
- package/dist/esm/utils/Collector.js +0 -305
- package/dist/esm/utils/DataResolver.js +0 -142
- package/dist/esm/utils/Formatters.js +0 -191
- package/dist/esm/utils/IntentsBitField.js +0 -93
- package/dist/esm/utils/Partials.js +0 -137
- package/dist/esm/utils/PermissionsBitField.js +0 -141
- package/dist/esm/utils/SnowflakeUtil.js +0 -89
- package/dist/esm/utils/Sweepers.js +0 -245
- package/dist/esm/utils/index.js +0 -14
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { APIChannel, APIEmbed } from '../types';
|
|
2
|
-
import { ChannelType } from '../enums';
|
|
3
|
-
import type { Client } from '../Client';
|
|
4
|
-
import { Message } from './Message';
|
|
5
|
-
import { Collection } from './Collection';
|
|
6
|
-
import { MessageCollector, MessageCollectorOptions } from '../utils/Collector';
|
|
7
|
-
import { EmbedBuilder } from '../builders/EmbedBuilder';
|
|
8
|
-
/**
|
|
9
|
-
* Await messages options
|
|
10
|
-
*/
|
|
11
|
-
export interface AwaitMessagesOptions extends MessageCollectorOptions {
|
|
12
|
-
/** Errors to reject on */
|
|
13
|
-
errors?: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Base channel class
|
|
17
|
-
*/
|
|
18
|
-
export declare class BaseChannel {
|
|
19
|
-
/** Reference to the client */
|
|
20
|
-
readonly client: Client;
|
|
21
|
-
/** Channel ID */
|
|
22
|
-
readonly id: string;
|
|
23
|
-
/** Channel type */
|
|
24
|
-
readonly type: ChannelType;
|
|
25
|
-
constructor(client: Client, data: APIChannel);
|
|
26
|
-
/**
|
|
27
|
-
* Check if this is a text-based channel
|
|
28
|
-
*/
|
|
29
|
-
isTextBased(): this is TextChannel;
|
|
30
|
-
/**
|
|
31
|
-
* Check if this is a voice-based channel
|
|
32
|
-
*/
|
|
33
|
-
isVoiceBased(): this is VoiceChannel;
|
|
34
|
-
/**
|
|
35
|
-
* Convert to string (mention format)
|
|
36
|
-
*/
|
|
37
|
-
toString(): string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Text channel
|
|
41
|
-
*/
|
|
42
|
-
export declare class TextChannel extends BaseChannel {
|
|
43
|
-
/** Guild ID */
|
|
44
|
-
guildId?: string;
|
|
45
|
-
/** Channel name */
|
|
46
|
-
name?: string;
|
|
47
|
-
/** Channel topic */
|
|
48
|
-
topic?: string;
|
|
49
|
-
/** Channel position */
|
|
50
|
-
position?: number;
|
|
51
|
-
/** Parent category ID */
|
|
52
|
-
parentId?: string;
|
|
53
|
-
constructor(client: Client, data: APIChannel);
|
|
54
|
-
/**
|
|
55
|
-
* Send a message to this channel
|
|
56
|
-
*/
|
|
57
|
-
send(options: string | MessageCreateOptions): Promise<Message>;
|
|
58
|
-
/**
|
|
59
|
-
* Create a message collector
|
|
60
|
-
*/
|
|
61
|
-
createMessageCollector(options?: MessageCollectorOptions): MessageCollector;
|
|
62
|
-
/**
|
|
63
|
-
* Await messages in this channel
|
|
64
|
-
*/
|
|
65
|
-
awaitMessages(options?: AwaitMessagesOptions): Promise<Collection<string, Message>>;
|
|
66
|
-
/**
|
|
67
|
-
* Bulk delete messages
|
|
68
|
-
*/
|
|
69
|
-
bulkDelete(messages: number | string[] | Collection<string, Message>, filterOld?: boolean): Promise<Collection<string, Message>>;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Voice channel
|
|
73
|
-
*/
|
|
74
|
-
export declare class VoiceChannel extends BaseChannel {
|
|
75
|
-
/** Guild ID */
|
|
76
|
-
guildId?: string;
|
|
77
|
-
/** Channel name */
|
|
78
|
-
name?: string;
|
|
79
|
-
/** Channel position */
|
|
80
|
-
position?: number;
|
|
81
|
-
/** Parent category ID */
|
|
82
|
-
parentId?: string;
|
|
83
|
-
/** User limit */
|
|
84
|
-
userLimit?: number;
|
|
85
|
-
/** Bitrate */
|
|
86
|
-
bitrate?: number;
|
|
87
|
-
constructor(client: Client, data: APIChannel & {
|
|
88
|
-
user_limit?: number;
|
|
89
|
-
bitrate?: number;
|
|
90
|
-
});
|
|
91
|
-
/**
|
|
92
|
-
* Check if the bot can join this voice channel
|
|
93
|
-
*/
|
|
94
|
-
get joinable(): boolean;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* DM channel
|
|
98
|
-
*/
|
|
99
|
-
export declare class DMChannel extends BaseChannel {
|
|
100
|
-
/** Recipient user ID */
|
|
101
|
-
recipientId?: string;
|
|
102
|
-
constructor(client: Client, data: APIChannel & {
|
|
103
|
-
recipient_id?: string;
|
|
104
|
-
});
|
|
105
|
-
/**
|
|
106
|
-
* Send a message to this DM
|
|
107
|
-
*/
|
|
108
|
-
send(options: string | MessageCreateOptions): Promise<Message>;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Message create options
|
|
112
|
-
*/
|
|
113
|
-
export interface MessageCreateOptions {
|
|
114
|
-
content?: string;
|
|
115
|
-
embeds?: (APIEmbed | EmbedBuilder)[];
|
|
116
|
-
components?: any[];
|
|
117
|
-
files?: any[];
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Create appropriate channel class based on type
|
|
121
|
-
*/
|
|
122
|
-
export declare function createChannel(client: Client, data: APIChannel): BaseChannel;
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DMChannel = exports.VoiceChannel = exports.TextChannel = exports.BaseChannel = void 0;
|
|
4
|
-
exports.createChannel = createChannel;
|
|
5
|
-
const enums_1 = require("../enums");
|
|
6
|
-
const Message_1 = require("./Message");
|
|
7
|
-
const Collection_1 = require("./Collection");
|
|
8
|
-
const Collector_1 = require("../utils/Collector");
|
|
9
|
-
const EmbedBuilder_1 = require("../builders/EmbedBuilder");
|
|
10
|
-
/** Resolve EmbedBuilder instances to plain API objects */
|
|
11
|
-
function resolveEmbeds(embeds) {
|
|
12
|
-
if (!embeds)
|
|
13
|
-
return undefined;
|
|
14
|
-
return embeds.map(e => e instanceof EmbedBuilder_1.EmbedBuilder ? e.toJSON() : e);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Base channel class
|
|
18
|
-
*/
|
|
19
|
-
class BaseChannel {
|
|
20
|
-
/** Reference to the client */
|
|
21
|
-
client;
|
|
22
|
-
/** Channel ID */
|
|
23
|
-
id;
|
|
24
|
-
/** Channel type */
|
|
25
|
-
type;
|
|
26
|
-
constructor(client, data) {
|
|
27
|
-
this.client = client;
|
|
28
|
-
this.id = data.id;
|
|
29
|
-
this.type = data.type;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Check if this is a text-based channel
|
|
33
|
-
*/
|
|
34
|
-
isTextBased() {
|
|
35
|
-
return [
|
|
36
|
-
enums_1.ChannelType.GuildText,
|
|
37
|
-
enums_1.ChannelType.DM,
|
|
38
|
-
enums_1.ChannelType.GroupDM,
|
|
39
|
-
enums_1.ChannelType.GuildAnnouncement
|
|
40
|
-
].includes(this.type);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Check if this is a voice-based channel
|
|
44
|
-
*/
|
|
45
|
-
isVoiceBased() {
|
|
46
|
-
return [
|
|
47
|
-
enums_1.ChannelType.GuildVoice,
|
|
48
|
-
enums_1.ChannelType.GuildStageVoice
|
|
49
|
-
].includes(this.type);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Convert to string (mention format)
|
|
53
|
-
*/
|
|
54
|
-
toString() {
|
|
55
|
-
return `<#${this.id}>`;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.BaseChannel = BaseChannel;
|
|
59
|
-
/**
|
|
60
|
-
* Text channel
|
|
61
|
-
*/
|
|
62
|
-
class TextChannel extends BaseChannel {
|
|
63
|
-
/** Guild ID */
|
|
64
|
-
guildId;
|
|
65
|
-
/** Channel name */
|
|
66
|
-
name;
|
|
67
|
-
/** Channel topic */
|
|
68
|
-
topic;
|
|
69
|
-
/** Channel position */
|
|
70
|
-
position;
|
|
71
|
-
/** Parent category ID */
|
|
72
|
-
parentId;
|
|
73
|
-
constructor(client, data) {
|
|
74
|
-
super(client, data);
|
|
75
|
-
this.guildId = data.guild_id;
|
|
76
|
-
this.name = data.name;
|
|
77
|
-
this.topic = data.topic;
|
|
78
|
-
this.position = data.position;
|
|
79
|
-
this.parentId = data.parent_id;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Send a message to this channel
|
|
83
|
-
*/
|
|
84
|
-
async send(options) {
|
|
85
|
-
const content = typeof options === 'string' ? options : options.content;
|
|
86
|
-
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
87
|
-
const components = typeof options === 'string' ? undefined : options.components;
|
|
88
|
-
const data = await this.client.rest.createMessage(this.guildId || '', this.id, {
|
|
89
|
-
content,
|
|
90
|
-
embeds,
|
|
91
|
-
components,
|
|
92
|
-
});
|
|
93
|
-
return new Message_1.Message(this.client, data);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Create a message collector
|
|
97
|
-
*/
|
|
98
|
-
createMessageCollector(options) {
|
|
99
|
-
return new Collector_1.MessageCollector(this.client, this.id, options);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Await messages in this channel
|
|
103
|
-
*/
|
|
104
|
-
awaitMessages(options) {
|
|
105
|
-
return new Promise((resolve, reject) => {
|
|
106
|
-
const collector = this.createMessageCollector(options);
|
|
107
|
-
collector.once('end', (collected, reason) => {
|
|
108
|
-
if (options?.errors?.includes(reason)) {
|
|
109
|
-
reject(collected);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
resolve(collected);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Bulk delete messages
|
|
119
|
-
*/
|
|
120
|
-
async bulkDelete(messages, filterOld = true) {
|
|
121
|
-
let messageIds;
|
|
122
|
-
if (typeof messages === 'number') {
|
|
123
|
-
// Fetch messages first
|
|
124
|
-
const fetched = await this.client.rest.getMessages(this.guildId || '', this.id, { limit: messages });
|
|
125
|
-
messageIds = fetched.map(m => m.id);
|
|
126
|
-
}
|
|
127
|
-
else if (messages instanceof Collection_1.Collection) {
|
|
128
|
-
messageIds = [...messages.keys()];
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
messageIds = messages;
|
|
132
|
-
}
|
|
133
|
-
// Filter old messages (older than 14 days)
|
|
134
|
-
if (filterOld) {
|
|
135
|
-
const twoWeeksAgo = Date.now() - 14 * 24 * 60 * 60 * 1000;
|
|
136
|
-
messageIds = messageIds.filter(id => {
|
|
137
|
-
// Extract timestamp from snowflake
|
|
138
|
-
const timestamp = Number(BigInt(id) >> 22n) + 1420070400000;
|
|
139
|
-
return timestamp > twoWeeksAgo;
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
if (messageIds.length === 0) {
|
|
143
|
-
return new Collection_1.Collection();
|
|
144
|
-
}
|
|
145
|
-
if (messageIds.length === 1) {
|
|
146
|
-
await this.client.rest.deleteMessage(this.guildId || '', this.id, messageIds[0]);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
await this.client.rest.bulkDeleteMessages(this.guildId || '', this.id, messageIds);
|
|
150
|
-
}
|
|
151
|
-
// Return deleted messages as collection
|
|
152
|
-
const deleted = new Collection_1.Collection();
|
|
153
|
-
// Note: We don't have the actual message objects here
|
|
154
|
-
return deleted;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
exports.TextChannel = TextChannel;
|
|
158
|
-
/**
|
|
159
|
-
* Voice channel
|
|
160
|
-
*/
|
|
161
|
-
class VoiceChannel extends BaseChannel {
|
|
162
|
-
/** Guild ID */
|
|
163
|
-
guildId;
|
|
164
|
-
/** Channel name */
|
|
165
|
-
name;
|
|
166
|
-
/** Channel position */
|
|
167
|
-
position;
|
|
168
|
-
/** Parent category ID */
|
|
169
|
-
parentId;
|
|
170
|
-
/** User limit */
|
|
171
|
-
userLimit;
|
|
172
|
-
/** Bitrate */
|
|
173
|
-
bitrate;
|
|
174
|
-
constructor(client, data) {
|
|
175
|
-
super(client, data);
|
|
176
|
-
this.guildId = data.guild_id;
|
|
177
|
-
this.name = data.name;
|
|
178
|
-
this.position = data.position;
|
|
179
|
-
this.parentId = data.parent_id;
|
|
180
|
-
this.userLimit = data.user_limit;
|
|
181
|
-
this.bitrate = data.bitrate;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Check if the bot can join this voice channel
|
|
185
|
-
*/
|
|
186
|
-
get joinable() {
|
|
187
|
-
if (!this.guildId || !this.client.user)
|
|
188
|
-
return false;
|
|
189
|
-
const guild = this.client.guilds.get(this.guildId);
|
|
190
|
-
if (!guild)
|
|
191
|
-
return false;
|
|
192
|
-
const me = guild.members.get(String(this.client.user.id));
|
|
193
|
-
if (!me)
|
|
194
|
-
return true; // No cached member — optimistic, server will reject if not allowed
|
|
195
|
-
return me.permissions.has('Connect');
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
exports.VoiceChannel = VoiceChannel;
|
|
199
|
-
/**
|
|
200
|
-
* DM channel
|
|
201
|
-
*/
|
|
202
|
-
class DMChannel extends BaseChannel {
|
|
203
|
-
/** Recipient user ID */
|
|
204
|
-
recipientId;
|
|
205
|
-
constructor(client, data) {
|
|
206
|
-
super(client, data);
|
|
207
|
-
this.recipientId = data.recipient_id;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Send a message to this DM
|
|
211
|
-
*/
|
|
212
|
-
async send(options) {
|
|
213
|
-
const content = typeof options === 'string' ? options : options.content;
|
|
214
|
-
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
215
|
-
const data = await this.client.rest.createDMMessage(this.id, {
|
|
216
|
-
content,
|
|
217
|
-
embeds
|
|
218
|
-
});
|
|
219
|
-
return new Message_1.Message(this.client, data);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
exports.DMChannel = DMChannel;
|
|
223
|
-
/**
|
|
224
|
-
* Create appropriate channel class based on type
|
|
225
|
-
*/
|
|
226
|
-
function createChannel(client, data) {
|
|
227
|
-
switch (data.type) {
|
|
228
|
-
case enums_1.ChannelType.GuildText:
|
|
229
|
-
case enums_1.ChannelType.GuildAnnouncement:
|
|
230
|
-
return new TextChannel(client, data);
|
|
231
|
-
case enums_1.ChannelType.GuildVoice:
|
|
232
|
-
case enums_1.ChannelType.GuildStageVoice:
|
|
233
|
-
return new VoiceChannel(client, data);
|
|
234
|
-
case enums_1.ChannelType.DM:
|
|
235
|
-
return new DMChannel(client, data);
|
|
236
|
-
default:
|
|
237
|
-
return new BaseChannel(client, data);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJ1Y3R1cmVzL0NoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNlFBLHNDQWFDO0FBelJELG9DQUF1QztBQUV2Qyx1Q0FBb0M7QUFDcEMsNkNBQTBDO0FBQzFDLGtEQUErRTtBQUMvRSwyREFBcUY7QUFFckYsMERBQTBEO0FBQzFELFNBQVMsYUFBYSxDQUFDLE1BQTJDO0lBQ2hFLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDOUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQVVEOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBQ3RCLDhCQUE4QjtJQUNkLE1BQU0sQ0FBUztJQUUvQixpQkFBaUI7SUFDRCxFQUFFLENBQVM7SUFFM0IsbUJBQW1CO0lBQ0gsSUFBSSxDQUFjO0lBRWxDLFlBQVksTUFBYyxFQUFFLElBQWdCO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU87WUFDTCxtQkFBVyxDQUFDLFNBQVM7WUFDckIsbUJBQVcsQ0FBQyxFQUFFO1lBQ2QsbUJBQVcsQ0FBQyxPQUFPO1lBQ25CLG1CQUFXLENBQUMsaUJBQWlCO1NBQzlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FB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IEFQSUNoYW5uZWwsIEFQSU1lc3NhZ2UsIEFQSUVtYmVkIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBDaGFubmVsVHlwZSB9IGZyb20gJy4uL2VudW1zJztcclxuaW1wb3J0IHR5cGUgeyBDbGllbnQgfSBmcm9tICcuLi9DbGllbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi9NZXNzYWdlJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VDb2xsZWN0b3IsIE1lc3NhZ2VDb2xsZWN0b3JPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvQ29sbGVjdG9yJztcclxuaW1wb3J0IHsgRW1iZWRCdWlsZGVyLCBBUElFbWJlZCBhcyBCdWlsZGVyQVBJRW1iZWQgfSBmcm9tICcuLi9idWlsZGVycy9FbWJlZEJ1aWxkZXInO1xyXG5cclxuLyoqIFJlc29sdmUgRW1iZWRCdWlsZGVyIGluc3RhbmNlcyB0byBwbGFpbiBBUEkgb2JqZWN0cyAqL1xyXG5mdW5jdGlvbiByZXNvbHZlRW1iZWRzKGVtYmVkcz86IChCdWlsZGVyQVBJRW1iZWQgfCBFbWJlZEJ1aWxkZXIpW10pOiBCdWlsZGVyQVBJRW1iZWRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFlbWJlZHMpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgcmV0dXJuIGVtYmVkcy5tYXAoZSA9PiBlIGluc3RhbmNlb2YgRW1iZWRCdWlsZGVyID8gZS50b0pTT04oKSA6IGUpO1xyXG59XHJcblxyXG4vKipcclxuICogQXdhaXQgbWVzc2FnZXMgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBd2FpdE1lc3NhZ2VzT3B0aW9ucyBleHRlbmRzIE1lc3NhZ2VDb2xsZWN0b3JPcHRpb25zIHtcclxuICAvKiogRXJyb3JzIHRvIHJlamVjdCBvbiAqL1xyXG4gIGVycm9ycz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogQmFzZSBjaGFubmVsIGNsYXNzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNsaWVudCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IENsaWVudDtcclxuICBcclxuICAvKiogQ2hhbm5lbCBJRCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIHR5cGUgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogQ2hhbm5lbFR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBkYXRhOiBBUElDaGFubmVsKSB7XHJcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcclxuICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xyXG4gICAgdGhpcy50eXBlID0gZGF0YS50eXBlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdGhpcyBpcyBhIHRleHQtYmFzZWQgY2hhbm5lbFxyXG4gICAqL1xyXG4gIGlzVGV4dEJhc2VkKCk6IHRoaXMgaXMgVGV4dENoYW5uZWwge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRUZXh0LFxyXG4gICAgICBDaGFubmVsVHlwZS5ETSxcclxuICAgICAgQ2hhbm5lbFR5cGUuR3JvdXBETSxcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRBbm5vdW5jZW1lbnRcclxuICAgIF0uaW5jbHVkZXModGhpcy50eXBlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoaXMgaXMgYSB2b2ljZS1iYXNlZCBjaGFubmVsXHJcbiAgICovXHJcbiAgaXNWb2ljZUJhc2VkKCk6IHRoaXMgaXMgVm9pY2VDaGFubmVsIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIENoYW5uZWxUeXBlLkd1aWxkVm9pY2UsXHJcbiAgICAgIENoYW5uZWxUeXBlLkd1aWxkU3RhZ2VWb2ljZVxyXG4gICAgXS5pbmNsdWRlcyh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCB0byBzdHJpbmcgKG1lbnRpb24gZm9ybWF0KVxyXG4gICAqL1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYDwjJHt0aGlzLmlkfT5gO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRleHQgY2hhbm5lbFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRleHRDaGFubmVsIGV4dGVuZHMgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBHdWlsZCBJRCAqL1xyXG4gIHB1YmxpYyBndWlsZElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIG5hbWUgKi9cclxuICBwdWJsaWMgbmFtZT86IHN0cmluZztcclxuICBcclxuICAvKiogQ2hhbm5lbCB0b3BpYyAqL1xyXG4gIHB1YmxpYyB0b3BpYz86IHN0cmluZztcclxuICBcclxuICAvKiogQ2hhbm5lbCBwb3NpdGlvbiAqL1xyXG4gIHB1YmxpYyBwb3NpdGlvbj86IG51bWJlcjtcclxuICBcclxuICAvKiogUGFyZW50IGNhdGVnb3J5IElEICovXHJcbiAgcHVibGljIHBhcmVudElkPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgZGF0YTogQVBJQ2hhbm5lbCkge1xyXG4gICAgc3VwZXIoY2xpZW50LCBkYXRhKTtcclxuICAgIHRoaXMuZ3VpbGRJZCA9IGRhdGEuZ3VpbGRfaWQ7XHJcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XHJcbiAgICB0aGlzLnRvcGljID0gZGF0YS50b3BpYztcclxuICAgIHRoaXMucG9zaXRpb24gPSBkYXRhLnBvc2l0aW9uO1xyXG4gICAgdGhpcy5wYXJlbnRJZCA9IGRhdGEucGFyZW50X2lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2UgdG8gdGhpcyBjaGFubmVsXHJcbiAgICovXHJcbiAgYXN5bmMgc2VuZChvcHRpb25zOiBzdHJpbmcgfCBNZXNzYWdlQ3JlYXRlT3B0aW9ucyk6IFByb21pc2U8TWVzc2FnZT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IG9wdGlvbnMgOiBvcHRpb25zLmNvbnRlbnQ7XHJcbiAgICBjb25zdCBlbWJlZHMgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyB1bmRlZmluZWQgOiByZXNvbHZlRW1iZWRzKG9wdGlvbnMuZW1iZWRzKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyB1bmRlZmluZWQgOiBvcHRpb25zLmNvbXBvbmVudHM7XHJcbiAgICBcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmNyZWF0ZU1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmlkLCB7XHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICAgIGVtYmVkcyxcclxuICAgICAgY29tcG9uZW50cyxcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICByZXR1cm4gbmV3IE1lc3NhZ2UodGhpcy5jbGllbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgbWVzc2FnZSBjb2xsZWN0b3JcclxuICAgKi9cclxuICBjcmVhdGVNZXNzYWdlQ29sbGVjdG9yKG9wdGlvbnM/OiBNZXNzYWdlQ29sbGVjdG9yT3B0aW9ucyk6IE1lc3NhZ2VDb2xsZWN0b3Ige1xyXG4gICAgcmV0dXJuIG5ldyBNZXNzYWdlQ29sbGVjdG9yKHRoaXMuY2xpZW50LCB0aGlzLmlkLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF3YWl0IG1lc3NhZ2VzIGluIHRoaXMgY2hhbm5lbFxyXG4gICAqL1xyXG4gIGF3YWl0TWVzc2FnZXMob3B0aW9ucz86IEF3YWl0TWVzc2FnZXNPcHRpb25zKTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgTWVzc2FnZT4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbGxlY3RvciA9IHRoaXMuY3JlYXRlTWVzc2FnZUNvbGxlY3RvcihvcHRpb25zKTtcclxuICAgICAgXHJcbiAgICAgIGNvbGxlY3Rvci5vbmNlKCdlbmQnLCAoY29sbGVjdGVkLCByZWFzb24pID0+IHtcclxuICAgICAgICBpZiAob3B0aW9ucz8uZXJyb3JzPy5pbmNsdWRlcyhyZWFzb24pKSB7XHJcbiAgICAgICAgICByZWplY3QoY29sbGVjdGVkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVzb2x2ZShjb2xsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1bGsgZGVsZXRlIG1lc3NhZ2VzXHJcbiAgICovXHJcbiAgYXN5bmMgYnVsa0RlbGV0ZShtZXNzYWdlczogbnVtYmVyIHwgc3RyaW5nW10gfCBDb2xsZWN0aW9uPHN0cmluZywgTWVzc2FnZT4sIGZpbHRlck9sZCA9IHRydWUpOiBQcm9taXNlPENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPj4ge1xyXG4gICAgbGV0IG1lc3NhZ2VJZHM6IHN0cmluZ1tdO1xyXG4gICAgXHJcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2VzID09PSAnbnVtYmVyJykge1xyXG4gICAgICAvLyBGZXRjaCBtZXNzYWdlcyBmaXJzdFxyXG4gICAgICBjb25zdCBmZXRjaGVkID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5nZXRNZXNzYWdlcyh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuaWQsIHsgbGltaXQ6IG1lc3NhZ2VzIH0pO1xyXG4gICAgICBtZXNzYWdlSWRzID0gZmV0Y2hlZC5tYXAobSA9PiBtLmlkKTtcclxuICAgIH0gZWxzZSBpZiAobWVzc2FnZXMgaW5zdGFuY2VvZiBDb2xsZWN0aW9uKSB7XHJcbiAgICAgIG1lc3NhZ2VJZHMgPSBbLi4ubWVzc2FnZXMua2V5cygpXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1lc3NhZ2VJZHMgPSBtZXNzYWdlcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBGaWx0ZXIgb2xkIG1lc3NhZ2VzIChvbGRlciB0aGFuIDE0IGRheXMpXHJcbiAgICBpZiAoZmlsdGVyT2xkKSB7XHJcbiAgICAgIGNvbnN0IHR3b1dlZWtzQWdvID0gRGF0ZS5ub3coKSAtIDE0ICogMjQgKiA2MCAqIDYwICogMTAwMDtcclxuICAgICAgbWVzc2FnZUlkcyA9IG1lc3NhZ2VJZHMuZmlsdGVyKGlkID0+IHtcclxuICAgICAgICAvLyBFeHRyYWN0IHRpbWVzdGFtcCBmcm9tIHNub3dmbGFrZVxyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IE51bWJlcihCaWdJbnQoaWQpID4+IDIybikgKyAxNDIwMDcwNDAwMDAwO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXAgPiB0d29XZWVrc0FnbztcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lc3NhZ2VJZHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtZXNzYWdlSWRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmRlbGV0ZU1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmlkLCBtZXNzYWdlSWRzWzBdKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuYnVsa0RlbGV0ZU1lc3NhZ2VzKHRoaXMuZ3VpbGRJZCB8fCAnJywgdGhpcy5pZCwgbWVzc2FnZUlkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJuIGRlbGV0ZWQgbWVzc2FnZXMgYXMgY29sbGVjdGlvblxyXG4gICAgY29uc3QgZGVsZXRlZCA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgTWVzc2FnZT4oKTtcclxuICAgIC8vIE5vdGU6IFdlIGRvbid0IGhhdmUgdGhlIGFjdHVhbCBtZXNzYWdlIG9iamVjdHMgaGVyZVxyXG4gICAgcmV0dXJuIGRlbGV0ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVm9pY2UgY2hhbm5lbFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZvaWNlQ2hhbm5lbCBleHRlbmRzIEJhc2VDaGFubmVsIHtcclxuICAvKiogR3VpbGQgSUQgKi9cclxuICBwdWJsaWMgZ3VpbGRJZD86IHN0cmluZztcclxuICBcclxuICAvKiogQ2hhbm5lbCBuYW1lICovXHJcbiAgcHVibGljIG5hbWU/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgcG9zaXRpb24gKi9cclxuICBwdWJsaWMgcG9zaXRpb24/OiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqIFBhcmVudCBjYXRlZ29yeSBJRCAqL1xyXG4gIHB1YmxpYyBwYXJlbnRJZD86IHN0cmluZztcclxuICBcclxuICAvKiogVXNlciBsaW1pdCAqL1xyXG4gIHB1YmxpYyB1c2VyTGltaXQ/OiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqIEJpdHJhdGUgKi9cclxuICBwdWJsaWMgYml0cmF0ZT86IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwgJiB7IHVzZXJfbGltaXQ/OiBudW1iZXI7IGJpdHJhdGU/OiBudW1iZXIgfSkge1xyXG4gICAgc3VwZXIoY2xpZW50LCBkYXRhKTtcclxuICAgIHRoaXMuZ3VpbGRJZCA9IGRhdGEuZ3VpbGRfaWQ7XHJcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcclxuICAgIHRoaXMucGFyZW50SWQgPSBkYXRhLnBhcmVudF9pZDtcclxuICAgIHRoaXMudXNlckxpbWl0ID0gZGF0YS51c2VyX2xpbWl0O1xyXG4gICAgdGhpcy5iaXRyYXRlID0gZGF0YS5iaXRyYXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdGhlIGJvdCBjYW4gam9pbiB0aGlzIHZvaWNlIGNoYW5uZWxcclxuICAgKi9cclxuICBnZXQgam9pbmFibGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZ3VpbGRJZCB8fCAhdGhpcy5jbGllbnQudXNlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgZ3VpbGQgPSB0aGlzLmNsaWVudC5ndWlsZHMuZ2V0KHRoaXMuZ3VpbGRJZCk7XHJcbiAgICBpZiAoIWd1aWxkKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBtZSA9IGd1aWxkLm1lbWJlcnMuZ2V0KFN0cmluZyh0aGlzLmNsaWVudC51c2VyLmlkKSk7XHJcbiAgICBpZiAoIW1lKSByZXR1cm4gdHJ1ZTsgLy8gTm8gY2FjaGVkIG1lbWJlciDigJQgb3B0aW1pc3RpYywgc2VydmVyIHdpbGwgcmVqZWN0IGlmIG5vdCBhbGxvd2VkXHJcbiAgICByZXR1cm4gbWUucGVybWlzc2lvbnMuaGFzKCdDb25uZWN0Jyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRE0gY2hhbm5lbFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERNQ2hhbm5lbCBleHRlbmRzIEJhc2VDaGFubmVsIHtcclxuICAvKiogUmVjaXBpZW50IHVzZXIgSUQgKi9cclxuICBwdWJsaWMgcmVjaXBpZW50SWQ/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBkYXRhOiBBUElDaGFubmVsICYgeyByZWNpcGllbnRfaWQ/OiBzdHJpbmcgfSkge1xyXG4gICAgc3VwZXIoY2xpZW50LCBkYXRhKTtcclxuICAgIHRoaXMucmVjaXBpZW50SWQgPSBkYXRhLnJlY2lwaWVudF9pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgYSBtZXNzYWdlIHRvIHRoaXMgRE1cclxuICAgKi9cclxuICBhc3luYyBzZW5kKG9wdGlvbnM6IHN0cmluZyB8IE1lc3NhZ2VDcmVhdGVPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gb3B0aW9ucyA6IG9wdGlvbnMuY29udGVudDtcclxuICAgIGNvbnN0IGVtYmVkcyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IHJlc29sdmVFbWJlZHMob3B0aW9ucy5lbWJlZHMpO1xyXG4gICAgXHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5jcmVhdGVETU1lc3NhZ2UodGhpcy5pZCwge1xyXG4gICAgICBjb250ZW50LFxyXG4gICAgICBlbWJlZHNcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICByZXR1cm4gbmV3IE1lc3NhZ2UodGhpcy5jbGllbnQsIGRhdGEpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1lc3NhZ2UgY3JlYXRlIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUNyZWF0ZU9wdGlvbnMge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZW1iZWRzPzogKEFQSUVtYmVkIHwgRW1iZWRCdWlsZGVyKVtdO1xyXG4gIGNvbXBvbmVudHM/OiBhbnlbXTtcclxuICBmaWxlcz86IGFueVtdO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGFwcHJvcHJpYXRlIGNoYW5uZWwgY2xhc3MgYmFzZWQgb24gdHlwZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNoYW5uZWwoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwpOiBCYXNlQ2hhbm5lbCB7XHJcbiAgc3dpdGNoIChkYXRhLnR5cGUpIHtcclxuICAgIGNhc2UgQ2hhbm5lbFR5cGUuR3VpbGRUZXh0OlxyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZEFubm91bmNlbWVudDpcclxuICAgICAgcmV0dXJuIG5ldyBUZXh0Q2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZFZvaWNlOlxyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZFN0YWdlVm9pY2U6XHJcbiAgICAgIHJldHVybiBuZXcgVm9pY2VDaGFubmVsKGNsaWVudCwgZGF0YSk7XHJcbiAgICBjYXNlIENoYW5uZWxUeXBlLkRNOlxyXG4gICAgICByZXR1cm4gbmV3IERNQ2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG5ldyBCYXNlQ2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Map with utility methods
|
|
3
|
-
*/
|
|
4
|
-
export declare class Collection<K, V> extends Map<K, V> {
|
|
5
|
-
/**
|
|
6
|
-
* Get the first value in the collection
|
|
7
|
-
*/
|
|
8
|
-
first(): V | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* Get the last value in the collection
|
|
11
|
-
*/
|
|
12
|
-
last(): V | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* Get a random value from the collection
|
|
15
|
-
*/
|
|
16
|
-
random(): V | undefined;
|
|
17
|
-
/**
|
|
18
|
-
* Find a value matching a predicate
|
|
19
|
-
*/
|
|
20
|
-
find(fn: (value: V, key: K, collection: this) => boolean): V | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Filter values matching a predicate
|
|
23
|
-
*/
|
|
24
|
-
filter(fn: (value: V, key: K, collection: this) => boolean): Collection<K, V>;
|
|
25
|
-
/**
|
|
26
|
-
* Map values to a new array
|
|
27
|
-
*/
|
|
28
|
-
map<T>(fn: (value: V, key: K, collection: this) => T): T[];
|
|
29
|
-
/**
|
|
30
|
-
* Check if some values match a predicate
|
|
31
|
-
*/
|
|
32
|
-
some(fn: (value: V, key: K, collection: this) => boolean): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Check if every value matches a predicate
|
|
35
|
-
*/
|
|
36
|
-
every(fn: (value: V, key: K, collection: this) => boolean): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Reduce the collection to a single value
|
|
39
|
-
*/
|
|
40
|
-
reduce<T>(fn: (accumulator: T, value: V, key: K, collection: this) => T, initialValue: T): T;
|
|
41
|
-
/**
|
|
42
|
-
* Convert to array
|
|
43
|
-
*/
|
|
44
|
-
toArray(): V[];
|
|
45
|
-
/**
|
|
46
|
-
* Clone the collection
|
|
47
|
-
*/
|
|
48
|
-
clone(): Collection<K, V>;
|
|
49
|
-
/**
|
|
50
|
-
* Concat with another collection
|
|
51
|
-
*/
|
|
52
|
-
concat(...collections: Collection<K, V>[]): Collection<K, V>;
|
|
53
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Collection = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Extended Map with utility methods
|
|
6
|
-
*/
|
|
7
|
-
class Collection extends Map {
|
|
8
|
-
/**
|
|
9
|
-
* Get the first value in the collection
|
|
10
|
-
*/
|
|
11
|
-
first() {
|
|
12
|
-
return this.values().next().value;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Get the last value in the collection
|
|
16
|
-
*/
|
|
17
|
-
last() {
|
|
18
|
-
const arr = [...this.values()];
|
|
19
|
-
return arr[arr.length - 1];
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get a random value from the collection
|
|
23
|
-
*/
|
|
24
|
-
random() {
|
|
25
|
-
const arr = [...this.values()];
|
|
26
|
-
return arr[Math.floor(Math.random() * arr.length)];
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Find a value matching a predicate
|
|
30
|
-
*/
|
|
31
|
-
find(fn) {
|
|
32
|
-
for (const [key, val] of this) {
|
|
33
|
-
if (fn(val, key, this))
|
|
34
|
-
return val;
|
|
35
|
-
}
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Filter values matching a predicate
|
|
40
|
-
*/
|
|
41
|
-
filter(fn) {
|
|
42
|
-
const results = new Collection();
|
|
43
|
-
for (const [key, val] of this) {
|
|
44
|
-
if (fn(val, key, this))
|
|
45
|
-
results.set(key, val);
|
|
46
|
-
}
|
|
47
|
-
return results;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Map values to a new array
|
|
51
|
-
*/
|
|
52
|
-
map(fn) {
|
|
53
|
-
const results = [];
|
|
54
|
-
for (const [key, val] of this) {
|
|
55
|
-
results.push(fn(val, key, this));
|
|
56
|
-
}
|
|
57
|
-
return results;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Check if some values match a predicate
|
|
61
|
-
*/
|
|
62
|
-
some(fn) {
|
|
63
|
-
for (const [key, val] of this) {
|
|
64
|
-
if (fn(val, key, this))
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Check if every value matches a predicate
|
|
71
|
-
*/
|
|
72
|
-
every(fn) {
|
|
73
|
-
for (const [key, val] of this) {
|
|
74
|
-
if (!fn(val, key, this))
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Reduce the collection to a single value
|
|
81
|
-
*/
|
|
82
|
-
reduce(fn, initialValue) {
|
|
83
|
-
let accumulator = initialValue;
|
|
84
|
-
for (const [key, val] of this) {
|
|
85
|
-
accumulator = fn(accumulator, val, key, this);
|
|
86
|
-
}
|
|
87
|
-
return accumulator;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Convert to array
|
|
91
|
-
*/
|
|
92
|
-
toArray() {
|
|
93
|
-
return [...this.values()];
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Clone the collection
|
|
97
|
-
*/
|
|
98
|
-
clone() {
|
|
99
|
-
return new Collection(this);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Concat with another collection
|
|
103
|
-
*/
|
|
104
|
-
concat(...collections) {
|
|
105
|
-
const newColl = this.clone();
|
|
106
|
-
for (const coll of collections) {
|
|
107
|
-
for (const [key, val] of coll) {
|
|
108
|
-
newColl.set(key, val);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return newColl;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
exports.Collection = Collection;
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJ1Y3R1cmVzL0NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLFVBQWlCLFNBQVEsR0FBUztJQUM3Qzs7T0FFRztJQUNILEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0IsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEVBQW1EO1FBQ3RELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztnQkFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQW1EO1FBQ3hELE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxFQUFRLENBQUM7UUFDdkMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlCLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUksRUFBNkM7UUFDbEQsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxFQUFtRDtRQUN0RCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUIsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEVBQW1EO1FBQ3ZELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBSSxFQUE2RCxFQUFFLFlBQWU7UUFDdEYsSUFBSSxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQy9CLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixXQUFXLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsV0FBK0I7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLEtBQUssTUFBTSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7WUFDL0IsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQWpIRCxnQ0FpSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRXh0ZW5kZWQgTWFwIHdpdGggdXRpbGl0eSBtZXRob2RzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbjxLLCBWPiBleHRlbmRzIE1hcDxLLCBWPiB7XHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgY29sbGVjdGlvblxyXG4gICAqL1xyXG4gIGZpcnN0KCk6IFYgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBsYXN0IHZhbHVlIGluIHRoZSBjb2xsZWN0aW9uXHJcbiAgICovXHJcbiAgbGFzdCgpOiBWIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGFyciA9IFsuLi50aGlzLnZhbHVlcygpXTtcclxuICAgIHJldHVybiBhcnJbYXJyLmxlbmd0aCAtIDFdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGEgcmFuZG9tIHZhbHVlIGZyb20gdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICByYW5kb20oKTogViB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBhcnIgPSBbLi4udGhpcy52YWx1ZXMoKV07XHJcbiAgICByZXR1cm4gYXJyW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFyci5sZW5ndGgpXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmQgYSB2YWx1ZSBtYXRjaGluZyBhIHByZWRpY2F0ZVxyXG4gICAqL1xyXG4gIGZpbmQoZm46ICh2YWx1ZTogViwga2V5OiBLLCBjb2xsZWN0aW9uOiB0aGlzKSA9PiBib29sZWFuKTogViB8IHVuZGVmaW5lZCB7XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcykge1xyXG4gICAgICBpZiAoZm4odmFsLCBrZXksIHRoaXMpKSByZXR1cm4gdmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciB2YWx1ZXMgbWF0Y2hpbmcgYSBwcmVkaWNhdGVcclxuICAgKi9cclxuICBmaWx0ZXIoZm46ICh2YWx1ZTogViwga2V5OiBLLCBjb2xsZWN0aW9uOiB0aGlzKSA9PiBib29sZWFuKTogQ29sbGVjdGlvbjxLLCBWPiB7XHJcbiAgICBjb25zdCByZXN1bHRzID0gbmV3IENvbGxlY3Rpb248SywgVj4oKTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsXSBvZiB0aGlzKSB7XHJcbiAgICAgIGlmIChmbih2YWwsIGtleSwgdGhpcykpIHJlc3VsdHMuc2V0KGtleSwgdmFsKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHZhbHVlcyB0byBhIG5ldyBhcnJheVxyXG4gICAqL1xyXG4gIG1hcDxUPihmbjogKHZhbHVlOiBWLCBrZXk6IEssIGNvbGxlY3Rpb246IHRoaXMpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgcmVzdWx0czogVFtdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcykge1xyXG4gICAgICByZXN1bHRzLnB1c2goZm4odmFsLCBrZXksIHRoaXMpKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgc29tZSB2YWx1ZXMgbWF0Y2ggYSBwcmVkaWNhdGVcclxuICAgKi9cclxuICBzb21lKGZuOiAodmFsdWU6IFYsIGtleTogSywgY29sbGVjdGlvbjogdGhpcykgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWxdIG9mIHRoaXMpIHtcclxuICAgICAgaWYgKGZuKHZhbCwga2V5LCB0aGlzKSkgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBldmVyeSB2YWx1ZSBtYXRjaGVzIGEgcHJlZGljYXRlXHJcbiAgICovXHJcbiAgZXZlcnkoZm46ICh2YWx1ZTogViwga2V5OiBLLCBjb2xsZWN0aW9uOiB0aGlzKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcykge1xyXG4gICAgICBpZiAoIWZuKHZhbCwga2V5LCB0aGlzKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWR1Y2UgdGhlIGNvbGxlY3Rpb24gdG8gYSBzaW5nbGUgdmFsdWVcclxuICAgKi9cclxuICByZWR1Y2U8VD4oZm46IChhY2N1bXVsYXRvcjogVCwgdmFsdWU6IFYsIGtleTogSywgY29sbGVjdGlvbjogdGhpcykgPT4gVCwgaW5pdGlhbFZhbHVlOiBUKTogVCB7XHJcbiAgICBsZXQgYWNjdW11bGF0b3IgPSBpbml0aWFsVmFsdWU7XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcykge1xyXG4gICAgICBhY2N1bXVsYXRvciA9IGZuKGFjY3VtdWxhdG9yLCB2YWwsIGtleSwgdGhpcyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRvIGFycmF5XHJcbiAgICovXHJcbiAgdG9BcnJheSgpOiBWW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLnZhbHVlcygpXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb25lIHRoZSBjb2xsZWN0aW9uXHJcbiAgICovXHJcbiAgY2xvbmUoKTogQ29sbGVjdGlvbjxLLCBWPiB7XHJcbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhpcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25jYXQgd2l0aCBhbm90aGVyIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBjb25jYXQoLi4uY29sbGVjdGlvbnM6IENvbGxlY3Rpb248SywgVj5bXSk6IENvbGxlY3Rpb248SywgVj4ge1xyXG4gICAgY29uc3QgbmV3Q29sbCA9IHRoaXMuY2xvbmUoKTtcclxuICAgIGZvciAoY29uc3QgY29sbCBvZiBjb2xsZWN0aW9ucykge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgY29sbCkge1xyXG4gICAgICAgIG5ld0NvbGwuc2V0KGtleSwgdmFsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld0NvbGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { APIGuild, APIChannel, APIGuildMember } from '../types';
|
|
2
|
-
import { Collection } from './Collection';
|
|
3
|
-
import { GuildMember } from './GuildMember';
|
|
4
|
-
import type { Client } from '../Client';
|
|
5
|
-
/**
|
|
6
|
-
* Represents a guild
|
|
7
|
-
*/
|
|
8
|
-
export declare class Guild {
|
|
9
|
-
/** Reference to the client */
|
|
10
|
-
readonly client: Client;
|
|
11
|
-
/** Guild ID */
|
|
12
|
-
readonly id: string;
|
|
13
|
-
/** Guild name */
|
|
14
|
-
name: string;
|
|
15
|
-
/** Guild icon URL */
|
|
16
|
-
icon?: string;
|
|
17
|
-
/** Owner ID */
|
|
18
|
-
ownerId: string;
|
|
19
|
-
/** Whether the guild is unavailable */
|
|
20
|
-
unavailable: boolean;
|
|
21
|
-
/** Cached members */
|
|
22
|
-
members: Collection<string, GuildMember>;
|
|
23
|
-
/** Cached channels */
|
|
24
|
-
channels: Collection<string, APIChannel>;
|
|
25
|
-
constructor(client: Client, data: APIGuild);
|
|
26
|
-
/**
|
|
27
|
-
* Get the guild icon URL
|
|
28
|
-
*/
|
|
29
|
-
iconURL(options?: {
|
|
30
|
-
size?: number;
|
|
31
|
-
}): string | null;
|
|
32
|
-
/**
|
|
33
|
-
* Get the voice adapter creator for @jubbio/voice
|
|
34
|
-
*/
|
|
35
|
-
get voiceAdapterCreator(): ((methods: {
|
|
36
|
-
onVoiceServerUpdate(data: any): void;
|
|
37
|
-
onVoiceStateUpdate(data: any): void;
|
|
38
|
-
destroy(): void;
|
|
39
|
-
}) => {
|
|
40
|
-
sendPayload(payload: any): boolean;
|
|
41
|
-
destroy(): void;
|
|
42
|
-
}) | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Fetch a member by ID
|
|
45
|
-
*/
|
|
46
|
-
fetchMember(userId: string): Promise<GuildMember>;
|
|
47
|
-
/**
|
|
48
|
-
* Convert to string
|
|
49
|
-
*/
|
|
50
|
-
toString(): string;
|
|
51
|
-
/**
|
|
52
|
-
* Update guild data
|
|
53
|
-
*/
|
|
54
|
-
_patch(data: Partial<APIGuild>): void;
|
|
55
|
-
/**
|
|
56
|
-
* Add a member to cache
|
|
57
|
-
*/
|
|
58
|
-
_addMember(data: APIGuildMember): GuildMember;
|
|
59
|
-
}
|