@buape/carbon 0.4.1 → 0.5.0

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.
Files changed (121) hide show
  1. package/README.md +26 -19
  2. package/dist/package.json +1 -1
  3. package/dist/src/abstracts/BaseChannel.d.ts +22 -21
  4. package/dist/src/abstracts/BaseChannel.d.ts.map +1 -1
  5. package/dist/src/abstracts/BaseChannel.js +37 -27
  6. package/dist/src/abstracts/BaseChannel.js.map +1 -1
  7. package/dist/src/abstracts/BaseComponentInteraction.d.ts +3 -2
  8. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
  9. package/dist/src/abstracts/BaseComponentInteraction.js +3 -4
  10. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
  11. package/dist/src/abstracts/BaseGuildChannel.d.ts +12 -10
  12. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  13. package/dist/src/abstracts/BaseGuildChannel.js +35 -22
  14. package/dist/src/abstracts/BaseGuildChannel.js.map +1 -1
  15. package/dist/src/abstracts/BaseGuildTextChannel.d.ts +13 -9
  16. package/dist/src/abstracts/BaseGuildTextChannel.d.ts.map +1 -1
  17. package/dist/src/abstracts/BaseGuildTextChannel.js +25 -9
  18. package/dist/src/abstracts/BaseGuildTextChannel.js.map +1 -1
  19. package/dist/src/abstracts/BaseInteraction.d.ts +7 -23
  20. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  21. package/dist/src/abstracts/BaseInteraction.js +12 -12
  22. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  23. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +14 -13
  24. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  25. package/dist/src/abstracts/GuildThreadOnlyChannel.js +31 -16
  26. package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
  27. package/dist/src/classes/Button.d.ts +0 -4
  28. package/dist/src/classes/Button.d.ts.map +1 -1
  29. package/dist/src/classes/Button.js +6 -0
  30. package/dist/src/classes/Button.js.map +1 -1
  31. package/dist/src/classes/Client.d.ts +35 -0
  32. package/dist/src/classes/Client.d.ts.map +1 -1
  33. package/dist/src/classes/Client.js +52 -0
  34. package/dist/src/classes/Client.js.map +1 -1
  35. package/dist/src/factories/channelFactory.d.ts +1 -1
  36. package/dist/src/factories/channelFactory.d.ts.map +1 -1
  37. package/dist/src/internals/AutocompleteInteraction.d.ts +2 -3
  38. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  39. package/dist/src/internals/AutocompleteInteraction.js +2 -8
  40. package/dist/src/internals/AutocompleteInteraction.js.map +1 -1
  41. package/dist/src/internals/CommandHandler.d.ts.map +1 -1
  42. package/dist/src/internals/CommandHandler.js +4 -2
  43. package/dist/src/internals/CommandHandler.js.map +1 -1
  44. package/dist/src/internals/CommandInteraction.d.ts +3 -4
  45. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  46. package/dist/src/internals/CommandInteraction.js +6 -12
  47. package/dist/src/internals/CommandInteraction.js.map +1 -1
  48. package/dist/src/internals/ModalInteraction.d.ts +3 -2
  49. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  50. package/dist/src/internals/ModalInteraction.js +3 -3
  51. package/dist/src/internals/ModalInteraction.js.map +1 -1
  52. package/dist/src/internals/OptionsHandler.d.ts +8 -12
  53. package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
  54. package/dist/src/internals/OptionsHandler.js +27 -9
  55. package/dist/src/internals/OptionsHandler.js.map +1 -1
  56. package/dist/src/structures/DmChannel.d.ts +7 -6
  57. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  58. package/dist/src/structures/DmChannel.js +7 -6
  59. package/dist/src/structures/DmChannel.js.map +1 -1
  60. package/dist/src/structures/GroupDmChannel.d.ts +17 -19
  61. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
  62. package/dist/src/structures/GroupDmChannel.js +48 -41
  63. package/dist/src/structures/GroupDmChannel.js.map +1 -1
  64. package/dist/src/structures/Guild.d.ts +29 -28
  65. package/dist/src/structures/Guild.d.ts.map +1 -1
  66. package/dist/src/structures/Guild.js +82 -57
  67. package/dist/src/structures/Guild.js.map +1 -1
  68. package/dist/src/structures/GuildAnnouncementChannel.d.ts +3 -4
  69. package/dist/src/structures/GuildAnnouncementChannel.d.ts.map +1 -1
  70. package/dist/src/structures/GuildAnnouncementChannel.js +1 -3
  71. package/dist/src/structures/GuildAnnouncementChannel.js.map +1 -1
  72. package/dist/src/structures/GuildCategoryChannel.d.ts +3 -3
  73. package/dist/src/structures/GuildCategoryChannel.d.ts.map +1 -1
  74. package/dist/src/structures/GuildCategoryChannel.js +0 -1
  75. package/dist/src/structures/GuildCategoryChannel.js.map +1 -1
  76. package/dist/src/structures/GuildForumChannel.d.ts +4 -3
  77. package/dist/src/structures/GuildForumChannel.d.ts.map +1 -1
  78. package/dist/src/structures/GuildForumChannel.js +4 -3
  79. package/dist/src/structures/GuildForumChannel.js.map +1 -1
  80. package/dist/src/structures/GuildMediaChannel.d.ts +3 -7
  81. package/dist/src/structures/GuildMediaChannel.d.ts.map +1 -1
  82. package/dist/src/structures/GuildMediaChannel.js +1 -6
  83. package/dist/src/structures/GuildMediaChannel.js.map +1 -1
  84. package/dist/src/structures/GuildMember.d.ts +28 -26
  85. package/dist/src/structures/GuildMember.d.ts.map +1 -1
  86. package/dist/src/structures/GuildMember.js +95 -57
  87. package/dist/src/structures/GuildMember.js.map +1 -1
  88. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts +12 -11
  89. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts.map +1 -1
  90. package/dist/src/structures/GuildStageOrVoiceChannel.js +22 -13
  91. package/dist/src/structures/GuildStageOrVoiceChannel.js.map +1 -1
  92. package/dist/src/structures/GuildTextChannel.d.ts +6 -6
  93. package/dist/src/structures/GuildTextChannel.d.ts.map +1 -1
  94. package/dist/src/structures/GuildTextChannel.js +9 -7
  95. package/dist/src/structures/GuildTextChannel.js.map +1 -1
  96. package/dist/src/structures/GuildThreadChannel.d.ts +14 -13
  97. package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -1
  98. package/dist/src/structures/GuildThreadChannel.js +59 -28
  99. package/dist/src/structures/GuildThreadChannel.js.map +1 -1
  100. package/dist/src/structures/Message.d.ts +52 -43
  101. package/dist/src/structures/Message.d.ts.map +1 -1
  102. package/dist/src/structures/Message.js +165 -95
  103. package/dist/src/structures/Message.js.map +1 -1
  104. package/dist/src/structures/Role.d.ts +27 -25
  105. package/dist/src/structures/Role.d.ts.map +1 -1
  106. package/dist/src/structures/Role.js +100 -61
  107. package/dist/src/structures/Role.js.map +1 -1
  108. package/dist/src/structures/User.d.ts +34 -32
  109. package/dist/src/structures/User.d.ts.map +1 -1
  110. package/dist/src/structures/User.js +97 -64
  111. package/dist/src/structures/User.js.map +1 -1
  112. package/dist/src/types.d.ts +37 -0
  113. package/dist/src/types.d.ts.map +1 -0
  114. package/dist/src/types.js +2 -0
  115. package/dist/src/types.js.map +1 -0
  116. package/dist/src/utils.d.ts +16 -0
  117. package/dist/src/utils.d.ts.map +1 -1
  118. package/dist/src/utils.js +9 -0
  119. package/dist/src/utils.js.map +1 -1
  120. package/dist/tsconfig.tsbuildinfo +1 -1
  121. package/package.json +2 -2
@@ -1,11 +1,35 @@
1
1
  import { Routes } from "discord-api-types/v10";
2
2
  import { Base } from "../abstracts/Base.js";
3
+ import { Embed } from "../classes/Embed.js";
3
4
  import { channelFactory } from "../factories/channelFactory.js";
4
5
  import { GuildThreadChannel } from "./GuildThreadChannel.js";
5
- import { User } from "./User.js";
6
- import { Embed } from "../classes/Embed.js";
7
6
  import { Role } from "./Role.js";
7
+ import { User } from "./User.js";
8
8
  export class Message extends Base {
9
+ constructor(client, rawDataOrIds) {
10
+ super(client);
11
+ if (Object.keys(rawDataOrIds).length === 2) {
12
+ this.id = rawDataOrIds.id;
13
+ this.channelId = rawDataOrIds["channelId"];
14
+ }
15
+ else {
16
+ const data = rawDataOrIds;
17
+ this.id = data.id;
18
+ this.channelId = data.channel_id;
19
+ this.setData(data);
20
+ }
21
+ }
22
+ rawData = null;
23
+ setData(data) {
24
+ this.rawData = data;
25
+ if (!data)
26
+ throw new Error("Cannot set data without having data... smh");
27
+ }
28
+ // private setField(key: keyof APIMessage, value: unknown) {
29
+ // if (!this.rawData)
30
+ // throw new Error("Cannot set field without having data... smh")
31
+ // Reflect.set(this.rawData, key, value)
32
+ // }
9
33
  /**
10
34
  * The ID of the message
11
35
  */
@@ -18,114 +42,199 @@ export class Message extends Base {
18
42
  * Whether the message is a partial message (meaning it does not have all the data).
19
43
  * If this is true, you should use {@link Message.fetch} to get the full data of the message.
20
44
  */
21
- partial;
45
+ get partial() {
46
+ return (this.rawData === null);
47
+ }
22
48
  /**
23
49
  * If this message is a response to an interaction, this is the ID of the interaction's application
24
50
  */
25
- applicationId;
51
+ get applicationId() {
52
+ if (!this.rawData)
53
+ return undefined;
54
+ return this.rawData.application_id;
55
+ }
26
56
  /**
27
57
  * The attachments of the message
28
58
  */
29
- attachments;
59
+ get attachments() {
60
+ if (!this.rawData)
61
+ return undefined;
62
+ return this.rawData.attachments ?? [];
63
+ }
30
64
  /**
31
65
  * The components of the message
32
66
  */
33
- components;
67
+ get components() {
68
+ if (!this.rawData)
69
+ return undefined;
70
+ return this.rawData.components ?? [];
71
+ }
34
72
  /**
35
73
  * The content of the message
36
74
  */
37
- content;
75
+ get content() {
76
+ if (!this.rawData)
77
+ return undefined;
78
+ return this.rawData.content ?? "";
79
+ }
80
+ get embeds() {
81
+ if (!this.rawData)
82
+ return undefined;
83
+ if (!this.rawData?.embeds)
84
+ return [];
85
+ return this.rawData.embeds.map((embed) => new Embed(embed));
86
+ }
38
87
  /**
39
88
  * If this message was edited, this is the timestamp of the edit
40
89
  */
41
- editedTimestamp;
90
+ get editedTimestamp() {
91
+ if (!this.rawData)
92
+ return undefined;
93
+ return this.rawData.edited_timestamp;
94
+ }
42
95
  /**
43
96
  * The flags of the message
44
97
  */
45
- flags;
98
+ get flags() {
99
+ if (!this.rawData)
100
+ return undefined;
101
+ return this.rawData.flags;
102
+ }
46
103
  /**
47
104
  * The interaction metadata of the message
48
105
  */
49
- interactionMetadata;
106
+ get interactionMetadata() {
107
+ if (!this.rawData)
108
+ return undefined;
109
+ return this.rawData.interaction_metadata;
110
+ }
50
111
  /**
51
112
  * Whether the message mentions everyone
52
113
  */
53
- mentionedEveryone;
114
+ get mentionedEveryone() {
115
+ if (!this.rawData)
116
+ return undefined;
117
+ return this.rawData.mention_everyone;
118
+ }
119
+ /**
120
+ * The users mentioned in the message
121
+ */
122
+ get mentionedUsers() {
123
+ if (!this.rawData)
124
+ return undefined;
125
+ if (!this.rawData?.mentions)
126
+ return [];
127
+ return this.rawData.mentions.map((mention) => new User(this.client, mention));
128
+ }
129
+ /**
130
+ * The roles mentioned in the message
131
+ */
132
+ get mentionedRoles() {
133
+ if (!this.rawData)
134
+ return undefined;
135
+ if (!this.rawData?.mention_roles)
136
+ return [];
137
+ return this.rawData.mention_roles.map((mention) => new Role(this.client, mention));
138
+ }
54
139
  /**
55
140
  * The data about the referenced message. You can use {@link Message.referencedMessage} to get the referenced message itself.
56
141
  */
57
- messageReference;
142
+ get messageReference() {
143
+ if (!this.rawData)
144
+ return undefined;
145
+ return this.rawData.message_reference;
146
+ }
147
+ /**
148
+ * The referenced message itself
149
+ */
150
+ get referencedMessage() {
151
+ if (!this.rawData?.referenced_message)
152
+ return null;
153
+ return new Message(this.client, this.rawData?.referenced_message);
154
+ }
58
155
  /**
59
156
  * Whether the message is pinned
60
157
  */
61
- pinned;
158
+ get pinned() {
159
+ if (!this.rawData)
160
+ return undefined;
161
+ return this.rawData.pinned;
162
+ }
62
163
  /**
63
164
  * The poll contained in the message
64
165
  */
65
- poll;
166
+ get poll() {
167
+ if (!this.rawData)
168
+ return undefined;
169
+ return this.rawData.poll;
170
+ }
66
171
  /**
67
172
  * The approximate position of the message in the channel
68
173
  */
69
- position;
174
+ get position() {
175
+ if (!this.rawData)
176
+ return undefined;
177
+ return this.rawData.position;
178
+ }
70
179
  /**
71
180
  * The reactions on the message
72
181
  */
73
- reactions;
182
+ get reactions() {
183
+ if (!this.rawData)
184
+ return undefined;
185
+ return this.rawData.reactions ?? [];
186
+ }
74
187
  /**
75
188
  * The stickers in the message
76
189
  */
77
- stickers;
190
+ get stickers() {
191
+ if (!this.rawData)
192
+ return undefined;
193
+ return this.rawData.sticker_items ?? [];
194
+ }
78
195
  /**
79
196
  * The timestamp of the original message
80
197
  */
81
- timestamp;
198
+ get timestamp() {
199
+ if (!this.rawData)
200
+ return undefined;
201
+ return this.rawData.timestamp;
202
+ }
82
203
  /**
83
204
  * Whether the message is a TTS message
84
205
  */
85
- tts;
206
+ get tts() {
207
+ if (!this.rawData)
208
+ return undefined;
209
+ return this.rawData.tts;
210
+ }
86
211
  /**
87
212
  * The type of the message
88
213
  */
89
- type;
214
+ get type() {
215
+ if (!this.rawData)
216
+ return undefined;
217
+ return this.rawData.type;
218
+ }
90
219
  /**
91
- * If a webhook is used to send the message, this is the ID of the webhook
220
+ * Get the author of the message
92
221
  */
93
- webhookId;
94
- rawData = null;
95
- constructor(client, rawDataOrIds) {
96
- super(client);
97
- this.id = rawDataOrIds.id;
98
- this.channelId = rawDataOrIds.channel_id;
99
- if (Object.keys(rawDataOrIds).length === 2) {
100
- this.partial = true;
101
- }
102
- else {
103
- this.partial = false;
104
- this.setData(rawDataOrIds);
105
- }
222
+ get author() {
223
+ if (!this.rawData)
224
+ return null;
225
+ if (this.rawData?.webhook_id)
226
+ return null; // TODO: Add webhook user
227
+ return new User(this.client, this.rawData.author);
106
228
  }
107
- setData(data) {
108
- this.rawData = data;
109
- if (!data)
110
- throw new Error("Cannot set data without having data... smh");
111
- this.applicationId = data.application_id;
112
- this.attachments = data.attachments;
113
- this.components = data.components;
114
- this.content = data.content;
115
- this.editedTimestamp = data.edited_timestamp;
116
- this.flags = data.flags;
117
- this.interactionMetadata = data.interaction_metadata;
118
- this.mentionedEveryone = data.mention_everyone;
119
- this.messageReference = data.message_reference;
120
- this.pinned = data.pinned;
121
- this.poll = data.poll;
122
- this.position = data.position;
123
- this.reactions = data.reactions;
124
- this.stickers = data.stickers;
125
- this.timestamp = data.timestamp;
126
- this.tts = data.tts;
127
- this.type = data.type;
128
- this.webhookId = data.webhook_id;
229
+ /**
230
+ * Get the thread associated with this message, if there is one
231
+ */
232
+ get thread() {
233
+ if (!this.rawData)
234
+ return null;
235
+ if (!this.rawData?.thread)
236
+ return null;
237
+ return channelFactory(this.client, this.rawData?.thread);
129
238
  }
130
239
  /**
131
240
  * Fetch updated data for this message.
@@ -144,20 +253,6 @@ export class Message extends Base {
144
253
  async delete() {
145
254
  return await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
146
255
  }
147
- /**
148
- * Get the author of the message
149
- */
150
- get author() {
151
- if (this.rawData?.webhook_id)
152
- return null; // TODO: Add webhook user
153
- // Check if we have an additional property on the author object, in which case we have a full user object
154
- if (this.rawData?.author.username)
155
- return new User(this.client, this.rawData.author);
156
- // This means we only have a partial user object
157
- if (this.rawData?.author.id)
158
- return new User(this.client, this.rawData.author.id);
159
- return null;
160
- }
161
256
  /**
162
257
  * Get the channel the message was sent in
163
258
  */
@@ -187,16 +282,6 @@ export class Message extends Base {
187
282
  }));
188
283
  return new GuildThreadChannel(this.client, thread);
189
284
  }
190
- get thread() {
191
- if (!this.rawData?.thread)
192
- return null;
193
- return channelFactory(this.client, this.rawData?.thread);
194
- }
195
- get embeds() {
196
- if (!this.rawData?.embeds)
197
- return [];
198
- return this.rawData.embeds.map((embed) => new Embed(embed));
199
- }
200
285
  async edit(data) {
201
286
  await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), {
202
287
  body: {
@@ -207,20 +292,5 @@ export class Message extends Base {
207
292
  }
208
293
  });
209
294
  }
210
- get mentionedUsers() {
211
- if (!this.rawData?.mentions)
212
- return [];
213
- return this.rawData.mentions.map((mention) => new User(this.client, mention));
214
- }
215
- get mentionedRoles() {
216
- if (!this.rawData?.mention_roles)
217
- return [];
218
- return this.rawData.mention_roles.map((mention) => new Role(this.client, mention));
219
- }
220
- get referencedMessage() {
221
- if (!this.rawData?.referenced_message)
222
- return null;
223
- return new Message(this.client, this.rawData?.referenced_message);
224
- }
225
295
  }
226
296
  //# sourceMappingURL=Message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/structures/Message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/structures/Message.ts"],"names":[],"mappings":"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"}
@@ -1,66 +1,72 @@
1
1
  import { type APIRole, type APIRoleTags, type RoleFlags } from "discord-api-types/v10";
2
2
  import { Base } from "../abstracts/Base.js";
3
3
  import type { Client } from "../classes/Client.js";
4
- export declare class Role extends Base {
4
+ import type { IfPartial } from "../utils.js";
5
+ export declare class Role<IsPartial extends boolean = false> extends Base {
6
+ constructor(client: Client, rawDataOrId: IsPartial extends true ? string : APIRole);
7
+ private rawData;
8
+ private setData;
9
+ private setField;
5
10
  /**
6
11
  * The ID of the role.
7
12
  */
8
- id: string;
13
+ readonly id: string;
14
+ /**
15
+ * Whether the role is a partial role (meaning it does not have all the data).
16
+ * If this is true, you should use {@link Role.fetch} to get the full data of the role.
17
+ */
18
+ get partial(): IsPartial;
9
19
  /**
10
20
  * The name of the role.
11
21
  */
12
- name?: string | null;
22
+ get name(): IfPartial<IsPartial, string>;
13
23
  /**
14
24
  * The color of the role.
15
25
  */
16
- color?: number | null;
26
+ get color(): IfPartial<IsPartial, number>;
17
27
  /**
18
28
  * The icon hash of the role.
19
29
  * You can use {@link Role.iconUrl} to get the URL of the icon.
20
30
  */
21
- icon?: string | null;
31
+ get icon(): IfPartial<IsPartial, string | null>;
32
+ /**
33
+ * Get the URL of the role's icon
34
+ */
35
+ get iconUrl(): IfPartial<IsPartial, string | null>;
22
36
  /**
23
37
  * If this role is mentionable.
24
38
  */
25
- mentionable?: boolean | null;
39
+ get mentionable(): IfPartial<IsPartial, boolean>;
26
40
  /**
27
41
  * If this role is hoisted.
28
42
  */
29
- hoisted?: boolean | null;
43
+ get hoisted(): IfPartial<IsPartial, boolean>;
30
44
  /**
31
45
  * The position of the role.
32
46
  */
33
- position?: number | null;
47
+ get position(): IfPartial<IsPartial, number>;
34
48
  /**
35
49
  * The permissions of the role.
36
50
  */
37
- permissions?: string | null;
51
+ get permissions(): IfPartial<IsPartial, string>;
38
52
  /**
39
53
  * If this role is managed by an integration.
40
54
  */
41
- managed?: boolean | null;
55
+ get managed(): IfPartial<IsPartial, boolean>;
42
56
  /**
43
57
  * The unicode emoji for the role.
44
58
  */
45
- unicodeEmoji?: string | null;
59
+ get unicodeEmoji(): IfPartial<IsPartial, string | null>;
46
60
  /**
47
61
  * The flags of this role.
48
62
  * @see https://discord.com/developers/docs/topics/permissions#role-object-role-flags
49
63
  */
50
- flags?: RoleFlags | null;
64
+ get flags(): IfPartial<IsPartial, RoleFlags>;
51
65
  /**
52
66
  * The tags of this role.
53
67
  * @see https://discord.com/developers/docs/topics/permissions#role-object-role-tags-structure
54
68
  */
55
- tags?: APIRoleTags | null;
56
- /**
57
- * Whether the role is a partial role (meaning it does not have all the data).
58
- * If this is true, you should use {@link Role.fetch} to get the full data of the role.
59
- */
60
- partial: boolean;
61
- private rawData;
62
- constructor(client: Client, rawDataOrId: APIRole | string);
63
- private setData;
69
+ get tags(): IfPartial<IsPartial, APIRoleTags | undefined>;
64
70
  /**
65
71
  * Fetch updated data for this role.
66
72
  * If the role is partial, this will fetch all the data for the role and populate the fields.
@@ -98,9 +104,5 @@ export declare class Role extends Base {
98
104
  */
99
105
  setPermissions(guildId: string, permissions: string): Promise<void>;
100
106
  delete(guildId: string): Promise<void>;
101
- /**
102
- * Get the URL of the role's icon
103
- */
104
- get iconUrl(): string | null;
105
107
  }
106
108
  //# sourceMappingURL=Role.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/structures/Role.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,qBAAa,IAAK,SAAQ,IAAI;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAEzB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM;IAazD,OAAO,CAAC,OAAO;IAiBf;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM;IAS3B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAS3C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAO7C;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO3C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAO1D;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAOlD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOnD;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOnD,MAAM,CAAC,OAAO,EAAE,MAAM;IAI5B;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAI3B;CACD"}
1
+ {"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/structures/Role.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,qBAAa,IAAI,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK,CAAE,SAAQ,IAAI;gBAE/D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,SAAS,IAAI,GAAG,MAAM,GAAG,OAAO;IAYvD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAMhB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,IAAI,OAAO,IAAI,SAAS,CAEvB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAGvC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAGxC;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAG9C;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAIjD;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAG/C;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAG3C;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAG3C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAG9C;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAG3C;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAGtD;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAG3C;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC,CAGxD;IAED;;;;OAIG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM;IAS3B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAS3C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAO7C;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO3C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IAO1D;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAOlD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOnD;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOnD,MAAM,CAAC,OAAO,EAAE,MAAM;CAG5B"}