@mostfeatured/dbi 0.1.32 → 0.1.34

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 (38) hide show
  1. package/dist/DBI.d.ts +4 -0
  2. package/dist/DBI.d.ts.map +1 -1
  3. package/dist/DBI.js +15 -71
  4. package/dist/DBI.js.map +1 -1
  5. package/dist/methods/hookInteractionListeners.d.ts.map +1 -1
  6. package/dist/methods/hookInteractionListeners.js +62 -20
  7. package/dist/methods/hookInteractionListeners.js.map +1 -1
  8. package/dist/types/ChatInput/ChatInputOptions.d.ts +1 -1
  9. package/dist/types/ChatInput/ChatInputOptions.d.ts.map +1 -1
  10. package/dist/types/ChatInput/ChatInputOptions.js.map +1 -1
  11. package/dist/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.d.ts +53 -0
  12. package/dist/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.d.ts.map +1 -0
  13. package/dist/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.js +60 -0
  14. package/dist/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.js.map +1 -0
  15. package/dist/types/Components/HTMLComponentsV2/index.d.ts +19 -0
  16. package/dist/types/Components/HTMLComponentsV2/index.d.ts.map +1 -0
  17. package/dist/types/Components/HTMLComponentsV2/index.js +28 -0
  18. package/dist/types/Components/HTMLComponentsV2/index.js.map +1 -0
  19. package/dist/types/Components/HTMLComponentsV2/parser.d.ts +4 -0
  20. package/dist/types/Components/HTMLComponentsV2/parser.d.ts.map +1 -0
  21. package/dist/types/Components/HTMLComponentsV2/parser.js +260 -0
  22. package/dist/types/Components/HTMLComponentsV2/parser.js.map +1 -0
  23. package/dist/types/Interaction.d.ts +6 -4
  24. package/dist/types/Interaction.d.ts.map +1 -1
  25. package/dist/types/Interaction.js.map +1 -1
  26. package/dist/utils/customId.d.ts +2 -1
  27. package/dist/utils/customId.d.ts.map +1 -1
  28. package/dist/utils/customId.js +6 -2
  29. package/dist/utils/customId.js.map +1 -1
  30. package/package.json +7 -4
  31. package/src/DBI.ts +30 -113
  32. package/src/methods/hookInteractionListeners.ts +79 -34
  33. package/src/types/ChatInput/ChatInputOptions.ts +6 -6
  34. package/src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts +78 -0
  35. package/src/types/Components/HTMLComponentsV2/index.ts +43 -0
  36. package/src/types/Components/HTMLComponentsV2/parser.ts +279 -0
  37. package/src/types/Interaction.ts +7 -4
  38. package/src/utils/customId.ts +6 -3
@@ -16,28 +16,32 @@ const componentTypes = [
16
16
  function hookInteractionListeners(dbi) {
17
17
  async function handle(inter) {
18
18
  const dbiInter = inter.dbiChatInput ??
19
- dbi.data.interactions.find((i) => {
19
+ dbi.data.interactions.find((dbiInter) => {
20
20
  let isUsesCustomId = inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit();
21
21
  let parsedId = isUsesCustomId
22
22
  ? (0, customId_1.parseCustomId)(dbi, inter.customId)
23
23
  : null;
24
- return ((i.type == "ChatInput" &&
24
+ return ((dbiInter.type == "ChatInput" &&
25
25
  (inter.isChatInputCommand() || inter.isAutocomplete()) &&
26
- i.name ==
26
+ dbiInter.name ==
27
27
  [
28
28
  inter.commandName,
29
29
  inter.options.getSubcommandGroup(false),
30
30
  inter.options.getSubcommand(false),
31
31
  ]
32
32
  .filter((i) => !!i)
33
- .join(" ")) ||
34
- ((i.type == "MessageContextMenu" || i.type == "UserContextMenu") &&
35
- (inter.isMessageContextMenuCommand() ||
36
- inter.isUserContextMenuCommand()) &&
37
- inter.commandName == i.name) ||
38
- (componentTypes.includes(i.type) &&
39
- isUsesCustomId &&
40
- parsedId?.name == i.name));
33
+ .join(" "))
34
+ ||
35
+ ((dbiInter.type == "MessageContextMenu" || dbiInter.type == "UserContextMenu") &&
36
+ (inter.isMessageContextMenuCommand() ||
37
+ inter.isUserContextMenuCommand()) &&
38
+ inter.commandName == dbiInter.name)
39
+ ||
40
+ (componentTypes.includes(dbiInter.type) &&
41
+ isUsesCustomId &&
42
+ parsedId?.name == dbiInter.name)
43
+ ||
44
+ (parsedId.v2 && dbiInter.type == "HTMLComponentsV2" && parsedId.name == dbiInter.name));
41
45
  });
42
46
  if (!dbiInter)
43
47
  return;
@@ -57,9 +61,11 @@ function hookInteractionListeners(dbi) {
57
61
  user: userLocale,
58
62
  guild: guildLocale,
59
63
  };
60
- let data = inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit()
61
- ? (0, customId_1.parseCustomId)(dbi, inter.customId).data
64
+ let parsedId = inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit()
65
+ ? (0, customId_1.parseCustomId)(dbi, inter.customId)
62
66
  : undefined;
67
+ let data = parsedId?.data;
68
+ let v2 = parsedId?.v2 || false;
63
69
  let other = {};
64
70
  if (!(await dbi.events.trigger("beforeInteraction", {
65
71
  dbi,
@@ -69,6 +75,7 @@ function hookInteractionListeners(dbi) {
69
75
  data,
70
76
  other,
71
77
  dbiInteraction: dbiInter,
78
+ v2
72
79
  })))
73
80
  return;
74
81
  if (inter.isAutocomplete()) {
@@ -84,6 +91,7 @@ function hookInteractionListeners(dbi) {
84
91
  other,
85
92
  locale,
86
93
  step: "Autocomplete",
94
+ v2,
87
95
  });
88
96
  if (Array.isArray(res) && res.length > 0) {
89
97
  await inter.respond(res);
@@ -101,6 +109,7 @@ function hookInteractionListeners(dbi) {
101
109
  data,
102
110
  other,
103
111
  locale,
112
+ v2
104
113
  });
105
114
  await inter.respond(response);
106
115
  }
@@ -132,6 +141,7 @@ function hookInteractionListeners(dbi) {
132
141
  type: key,
133
142
  ...val,
134
143
  },
144
+ v2
135
145
  })) === true)
136
146
  return;
137
147
  }
@@ -192,19 +202,50 @@ function hookInteractionListeners(dbi) {
192
202
  data,
193
203
  // @ts-ignore
194
204
  other,
205
+ v2
195
206
  };
196
- if (dbi.config.strict) {
197
- // @ts-ignore
198
- await dbiInter.onExecute(arg);
207
+ if (dbiInter.type === "HTMLComponentsV2") {
208
+ if (dbi.config.strict) {
209
+ // @ts-ignore
210
+ await dbiInter.onExecute?.(arg);
211
+ const elementName = data.shift();
212
+ dbiInter.handlers.forEach((handler) => {
213
+ if (handler.name === elementName) {
214
+ handler.onExecute(arg);
215
+ }
216
+ });
217
+ }
218
+ else {
219
+ try {
220
+ // @ts-ignore
221
+ await dbiInter.onExecute?.(arg);
222
+ const elementName = data.shift();
223
+ dbiInter.handlers.forEach((handler) => {
224
+ if (handler.name === elementName) {
225
+ handler.onExecute(arg);
226
+ }
227
+ });
228
+ }
229
+ catch (error) {
230
+ // @ts-ignore
231
+ await dbi.events.trigger("interactionError", Object.assign(arg, { error }));
232
+ }
233
+ }
199
234
  }
200
235
  else {
201
- try {
236
+ if (dbi.config.strict) {
202
237
  // @ts-ignore
203
238
  await dbiInter.onExecute(arg);
204
239
  }
205
- catch (error) {
206
- // @ts-ignore
207
- await dbi.events.trigger("interactionError", Object.assign(arg, { error }));
240
+ else {
241
+ try {
242
+ // @ts-ignore
243
+ await dbiInter.onExecute(arg);
244
+ }
245
+ catch (error) {
246
+ // @ts-ignore
247
+ await dbi.events.trigger("interactionError", Object.assign(arg, { error }));
248
+ }
208
249
  }
209
250
  }
210
251
  // @ts-ignore
@@ -216,6 +257,7 @@ function hookInteractionListeners(dbi) {
216
257
  setRateLimit,
217
258
  data,
218
259
  other,
260
+ v2
219
261
  });
220
262
  }
221
263
  dbi.data.clients.forEach((d) => {
@@ -1 +1 @@
1
- {"version":3,"file":"hookInteractionListeners.js","sourceRoot":"","sources":["../../src/methods/hookInteractionListeners.ts"],"names":[],"mappings":"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","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport Discord, { CommandInteractionOption } from \"discord.js\";\r\nimport { parseCustomId } from \"../utils/customId\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\n\r\nconst componentTypes = [\r\n \"Button\",\r\n \"StringSelectMenu\",\r\n \"UserSelectMenu\",\r\n \"RoleSelectMenu\",\r\n \"ChannelSelectMenu\",\r\n \"MentionableSelectMenu\",\r\n \"Modal\",\r\n];\r\n\r\nexport function hookInteractionListeners(dbi: DBI<NamespaceEnums>): () => any {\r\n async function handle(inter: Discord.Interaction<\"cached\">) {\r\n const dbiInter =\r\n (inter as any).dbiChatInput ??\r\n dbi.data.interactions.find((i) => {\r\n let isUsesCustomId =\r\n inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit();\r\n let parsedId = isUsesCustomId\r\n ? parseCustomId(dbi, (inter as any).customId)\r\n : null;\r\n return (\r\n (i.type == \"ChatInput\" &&\r\n (inter.isChatInputCommand() || inter.isAutocomplete()) &&\r\n i.name ==\r\n [\r\n inter.commandName,\r\n inter.options.getSubcommandGroup(false),\r\n inter.options.getSubcommand(false),\r\n ]\r\n .filter((i) => !!i)\r\n .join(\" \")) ||\r\n ((i.type == \"MessageContextMenu\" || i.type == \"UserContextMenu\") &&\r\n (inter.isMessageContextMenuCommand() ||\r\n inter.isUserContextMenuCommand()) &&\r\n inter.commandName == i.name) ||\r\n (componentTypes.includes(i.type) &&\r\n isUsesCustomId &&\r\n parsedId?.name == i.name)\r\n );\r\n });\r\n\r\n if (!dbiInter) return;\r\n\r\n let userLocaleName = inter.locale.split(\"-\")[0];\r\n let userLocale = dbi.data.locales.has(userLocaleName)\r\n ? dbi.data.locales.get(userLocaleName)\r\n : dbi.data.locales.get(dbi.config.defaults.locale.name);\r\n\r\n let guildLocaleName = inter.guild\r\n ? inter.guild.preferredLocale.split(\"-\")[0]\r\n : null;\r\n let guildLocale = guildLocaleName\r\n ? dbi.data.locales.has(guildLocaleName)\r\n ? dbi.data.locales.get(guildLocaleName)\r\n : dbi.data.locales.get(dbi.config.defaults.locale.name)\r\n : null;\r\n\r\n let locale = {\r\n user: userLocale,\r\n guild: guildLocale,\r\n };\r\n\r\n let data =\r\n inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit()\r\n ? parseCustomId(dbi, inter.customId).data\r\n : undefined;\r\n\r\n let other = {};\r\n\r\n if (\r\n !(await dbi.events.trigger(\"beforeInteraction\", {\r\n dbi,\r\n interaction: inter,\r\n locale,\r\n setRateLimit,\r\n data,\r\n other,\r\n dbiInteraction: dbiInter,\r\n }))\r\n )\r\n return;\r\n\r\n if (inter.isAutocomplete()) {\r\n let focussed = inter.options.getFocused(true);\r\n let option = (dbiInter.options as any[]).find(\r\n (i) => i.name == focussed.name\r\n );\r\n if (option?.validate) {\r\n const res = await option.validate({\r\n value: focussed.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n step: \"Autocomplete\",\r\n });\r\n\r\n if (Array.isArray(res) && res.length > 0) {\r\n await inter.respond(res);\r\n return;\r\n }\r\n\r\n if (res !== true) return;\r\n }\r\n\r\n if (option?.onComplete) {\r\n let response = await option.onComplete({\r\n value: focussed.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n });\r\n await inter.respond(response);\r\n }\r\n return;\r\n }\r\n\r\n let rateLimitKeyMap = {\r\n User: `${dbiInter.name}_${inter.user.id}`,\r\n Channel: `${dbiInter.name}_${inter.channelId || \"Channel\"}`,\r\n Guild: `${dbiInter.name}_${inter.guildId || \"Guild\"}`,\r\n Member: `${dbiInter.name}_${inter.user.id}_${inter.guildId || \"Guild\"}`,\r\n Message: `${dbiInter.name}_${(inter as any)?.message?.id}`,\r\n };\r\n\r\n for (const type in rateLimitKeyMap) {\r\n // @ts-ignore\r\n let key = `RateLimit[\"${rateLimitKeyMap[type]}\"]`;\r\n let val = await dbi.config.store.get(key);\r\n if (val && Date.now() > val.at + val.duration) {\r\n await dbi.config.store.delete(key);\r\n val = null;\r\n }\r\n if (val) {\r\n if (\r\n (await dbi.events.trigger(\"interactionRateLimit\", {\r\n dbi,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n locale,\r\n data,\r\n rateLimit: {\r\n type: key,\r\n ...val,\r\n },\r\n })) === true\r\n )\r\n return;\r\n }\r\n }\r\n\r\n async function setRateLimit(type: string, duration: number) {\r\n // @ts-ignore\r\n await dbi.config.store.set(`RateLimit[\"${rateLimitKeyMap[type]}\"]`, {\r\n at: Date.now(),\r\n duration,\r\n });\r\n }\r\n\r\n for (const rateLimit of dbiInter.rateLimits) {\r\n await setRateLimit(rateLimit.type, rateLimit.duration);\r\n }\r\n\r\n if (inter.isChatInputCommand()) {\r\n let dcOptions = (inter.options as any)\r\n ._hoistedOptions as CommandInteractionOption[];\r\n let dbiOptions = dbiInter.options as any[];\r\n for (const dcOption of dcOptions) {\r\n const dbiOption = dbiOptions.find((i) => i.name == dcOption.name);\r\n if (dbiOption?.validate) {\r\n const res = await dbiOption.validate({\r\n value:\r\n dbiOption.type === Discord.ApplicationCommandOptionType.Attachment\r\n ? dcOption.attachment\r\n : dbiOption.type ===\r\n Discord.ApplicationCommandOptionType.Channel\r\n ? dcOption.channel\r\n : dbiOption.type === Discord.ApplicationCommandOptionType.Role\r\n ? dcOption.role\r\n : dbiOption.type === Discord.ApplicationCommandOptionType.User\r\n ? dcOption.user\r\n : dcOption.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n step: \"Result\",\r\n });\r\n if (res !== true) return;\r\n }\r\n }\r\n }\r\n\r\n let arg = {\r\n // @ts-ignore\r\n dbi,\r\n // @ts-ignore\r\n interaction: inter as any,\r\n // @ts-ignore\r\n dbiInteraction: dbiInter,\r\n // @ts-ignore\r\n locale,\r\n // @ts-ignore\r\n setRateLimit,\r\n // @ts-ignore\r\n data,\r\n // @ts-ignore\r\n other,\r\n };\r\n\r\n if (dbi.config.strict) {\r\n // @ts-ignore\r\n await dbiInter.onExecute(arg);\r\n } else {\r\n try {\r\n // @ts-ignore\r\n await dbiInter.onExecute(arg);\r\n } catch (error) {\r\n // @ts-ignore\r\n await dbi.events.trigger(\r\n \"interactionError\",\r\n Object.assign(arg, { error })\r\n );\r\n }\r\n }\r\n\r\n // @ts-ignore\r\n dbi.events.trigger(\"afterInteraction\", {\r\n dbi,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n locale,\r\n setRateLimit,\r\n data,\r\n other,\r\n });\r\n }\r\n\r\n dbi.data.clients.forEach((d) => {\r\n d.client.on(\"interactionCreate\", handle);\r\n });\r\n\r\n return () => {\r\n dbi.data.clients.forEach((d) => {\r\n d.client.off(\"interactionCreate\", handle);\r\n });\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"hookInteractionListeners.js","sourceRoot":"","sources":["../../src/methods/hookInteractionListeners.ts"],"names":[],"mappings":"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","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport Discord, { CommandInteractionOption } from \"discord.js\";\r\nimport { parseCustomId } from \"../utils/customId\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\n\r\nconst componentTypes = [\r\n \"Button\",\r\n \"StringSelectMenu\",\r\n \"UserSelectMenu\",\r\n \"RoleSelectMenu\",\r\n \"ChannelSelectMenu\",\r\n \"MentionableSelectMenu\",\r\n \"Modal\",\r\n];\r\n\r\nexport function hookInteractionListeners(dbi: DBI<NamespaceEnums>): () => any {\r\n async function handle(inter: Discord.Interaction<\"cached\">) {\r\n const dbiInter =\r\n (inter as any).dbiChatInput ??\r\n dbi.data.interactions.find((dbiInter) => {\r\n let isUsesCustomId =\r\n inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit();\r\n let parsedId = isUsesCustomId\r\n ? parseCustomId(dbi, (inter as any).customId)\r\n : null;\r\n return (\r\n (dbiInter.type == \"ChatInput\" &&\r\n (inter.isChatInputCommand() || inter.isAutocomplete()) &&\r\n dbiInter.name ==\r\n [\r\n inter.commandName,\r\n inter.options.getSubcommandGroup(false),\r\n inter.options.getSubcommand(false),\r\n ]\r\n .filter((i) => !!i)\r\n .join(\" \"))\r\n ||\r\n ((dbiInter.type == \"MessageContextMenu\" || dbiInter.type == \"UserContextMenu\") &&\r\n (inter.isMessageContextMenuCommand() ||\r\n inter.isUserContextMenuCommand()) &&\r\n inter.commandName == dbiInter.name)\r\n ||\r\n (componentTypes.includes(dbiInter.type) &&\r\n isUsesCustomId &&\r\n parsedId?.name == dbiInter.name)\r\n ||\r\n (parsedId.v2 && dbiInter.type == \"HTMLComponentsV2\" && parsedId.name == dbiInter.name)\r\n );\r\n });\r\n\r\n if (!dbiInter) return;\r\n\r\n let userLocaleName = inter.locale.split(\"-\")[0];\r\n let userLocale = dbi.data.locales.has(userLocaleName)\r\n ? dbi.data.locales.get(userLocaleName)\r\n : dbi.data.locales.get(dbi.config.defaults.locale.name);\r\n\r\n let guildLocaleName = inter.guild\r\n ? inter.guild.preferredLocale.split(\"-\")[0]\r\n : null;\r\n let guildLocale = guildLocaleName\r\n ? dbi.data.locales.has(guildLocaleName)\r\n ? dbi.data.locales.get(guildLocaleName)\r\n : dbi.data.locales.get(dbi.config.defaults.locale.name)\r\n : null;\r\n\r\n let locale = {\r\n user: userLocale,\r\n guild: guildLocale,\r\n };\r\n\r\n let parsedId = inter.isButton() || inter.isAnySelectMenu() || inter.isModalSubmit()\r\n ? parseCustomId(dbi, inter.customId)\r\n : undefined;\r\n\r\n let data = parsedId?.data;\r\n let v2 = parsedId?.v2 || false;\r\n\r\n let other = {};\r\n\r\n if (\r\n !(await dbi.events.trigger(\"beforeInteraction\", {\r\n dbi,\r\n interaction: inter,\r\n locale,\r\n setRateLimit,\r\n data,\r\n other,\r\n dbiInteraction: dbiInter,\r\n v2\r\n }))\r\n )\r\n return;\r\n\r\n if (inter.isAutocomplete()) {\r\n let focussed = inter.options.getFocused(true);\r\n let option = (dbiInter.options as any[]).find(\r\n (i) => i.name == focussed.name\r\n );\r\n if (option?.validate) {\r\n const res = await option.validate({\r\n value: focussed.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n step: \"Autocomplete\",\r\n v2,\r\n });\r\n\r\n if (Array.isArray(res) && res.length > 0) {\r\n await inter.respond(res);\r\n return;\r\n }\r\n\r\n if (res !== true) return;\r\n }\r\n\r\n if (option?.onComplete) {\r\n let response = await option.onComplete({\r\n value: focussed.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n v2\r\n });\r\n await inter.respond(response);\r\n }\r\n return;\r\n }\r\n\r\n let rateLimitKeyMap = {\r\n User: `${dbiInter.name}_${inter.user.id}`,\r\n Channel: `${dbiInter.name}_${inter.channelId || \"Channel\"}`,\r\n Guild: `${dbiInter.name}_${inter.guildId || \"Guild\"}`,\r\n Member: `${dbiInter.name}_${inter.user.id}_${inter.guildId || \"Guild\"}`,\r\n Message: `${dbiInter.name}_${(inter as any)?.message?.id}`,\r\n };\r\n\r\n for (const type in rateLimitKeyMap) {\r\n // @ts-ignore\r\n let key = `RateLimit[\"${rateLimitKeyMap[type]}\"]`;\r\n let val = await dbi.config.store.get(key);\r\n if (val && Date.now() > val.at + val.duration) {\r\n await dbi.config.store.delete(key);\r\n val = null;\r\n }\r\n if (val) {\r\n if (\r\n (await dbi.events.trigger(\"interactionRateLimit\", {\r\n dbi,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n locale,\r\n data,\r\n rateLimit: {\r\n type: key,\r\n ...val,\r\n },\r\n v2\r\n })) === true\r\n )\r\n return;\r\n }\r\n }\r\n\r\n async function setRateLimit(type: string, duration: number) {\r\n // @ts-ignore\r\n await dbi.config.store.set(`RateLimit[\"${rateLimitKeyMap[type]}\"]`, {\r\n at: Date.now(),\r\n duration,\r\n });\r\n }\r\n\r\n for (const rateLimit of dbiInter.rateLimits) {\r\n await setRateLimit(rateLimit.type, rateLimit.duration);\r\n }\r\n\r\n if (inter.isChatInputCommand()) {\r\n let dcOptions = (inter.options as any)\r\n ._hoistedOptions as CommandInteractionOption[];\r\n let dbiOptions = dbiInter.options as any[];\r\n for (const dcOption of dcOptions) {\r\n const dbiOption = dbiOptions.find((i) => i.name == dcOption.name);\r\n if (dbiOption?.validate) {\r\n const res = await dbiOption.validate({\r\n value:\r\n dbiOption.type === Discord.ApplicationCommandOptionType.Attachment\r\n ? dcOption.attachment\r\n : dbiOption.type ===\r\n Discord.ApplicationCommandOptionType.Channel\r\n ? dcOption.channel\r\n : dbiOption.type === Discord.ApplicationCommandOptionType.Role\r\n ? dcOption.role\r\n : dbiOption.type === Discord.ApplicationCommandOptionType.User\r\n ? dcOption.user\r\n : dcOption.value,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n dbi,\r\n data,\r\n other,\r\n locale,\r\n step: \"Result\",\r\n });\r\n if (res !== true) return;\r\n }\r\n }\r\n }\r\n\r\n let arg = {\r\n // @ts-ignore\r\n dbi,\r\n // @ts-ignore\r\n interaction: inter as any,\r\n // @ts-ignore\r\n dbiInteraction: dbiInter,\r\n // @ts-ignore\r\n locale,\r\n // @ts-ignore\r\n setRateLimit,\r\n // @ts-ignore\r\n data,\r\n // @ts-ignore\r\n other,\r\n v2\r\n };\r\n\r\n\r\n if (dbiInter.type === \"HTMLComponentsV2\") {\r\n if (dbi.config.strict) {\r\n // @ts-ignore\r\n await dbiInter.onExecute?.(arg);\r\n\r\n const elementName = data.shift();\r\n dbiInter.handlers.forEach((handler) => {\r\n if (handler.name === elementName) {\r\n handler.onExecute(arg);\r\n }\r\n });\r\n } else {\r\n try {\r\n // @ts-ignore\r\n await dbiInter.onExecute?.(arg);\r\n\r\n const elementName = data.shift();\r\n dbiInter.handlers.forEach((handler) => {\r\n if (handler.name === elementName) {\r\n handler.onExecute(arg);\r\n }\r\n });\r\n } catch (error) {\r\n // @ts-ignore\r\n await dbi.events.trigger(\r\n \"interactionError\",\r\n Object.assign(arg, { error })\r\n );\r\n }\r\n }\r\n } else {\r\n if (dbi.config.strict) {\r\n // @ts-ignore\r\n await dbiInter.onExecute(arg);\r\n } else {\r\n try {\r\n // @ts-ignore\r\n await dbiInter.onExecute(arg);\r\n } catch (error) {\r\n // @ts-ignore\r\n await dbi.events.trigger(\r\n \"interactionError\",\r\n Object.assign(arg, { error })\r\n );\r\n }\r\n }\r\n }\r\n\r\n // @ts-ignore\r\n dbi.events.trigger(\"afterInteraction\", {\r\n dbi,\r\n interaction: inter,\r\n dbiInteraction: dbiInter,\r\n locale,\r\n setRateLimit,\r\n data,\r\n other,\r\n v2\r\n });\r\n }\r\n\r\n dbi.data.clients.forEach((d) => {\r\n d.client.on(\"interactionCreate\", handle);\r\n });\r\n\r\n return () => {\r\n dbi.data.clients.forEach((d) => {\r\n d.client.off(\"interactionCreate\", handle);\r\n });\r\n };\r\n}\r\n"]}
@@ -25,7 +25,7 @@ export type TDBIValidator<TExtends, TValue, TStep extends string, TExpectedRespo
25
25
  step: TStep;
26
26
  }): Promise<TExpectedResponse> | TExpectedResponse;
27
27
  };
28
- export interface IDBIValuedInteraction<TNamespace extends NamespaceEnums, TInteractionType extends Discord.Interaction, TValueType = string | number> extends IDBIBaseExecuteCtx<TNamespace> {
28
+ export interface IDBIValuedInteraction<TNamespace extends NamespaceEnums, TInteractionType extends Discord.Interaction, TValueType = string | number> extends Omit<IDBIBaseExecuteCtx<TNamespace>, 'interaction'> {
29
29
  value: TValueType;
30
30
  interaction: TInteractionType;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputOptions.d.ts","sourceRoot":"","sources":["../../../src/types/ChatInput/ChatInputOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatInputOptions.d.ts","sourceRoot":"","sources":["../../../src/types/ChatInput/ChatInputOptions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputOptions.js","sourceRoot":"","sources":["../../../src/types/ChatInput/ChatInputOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord from \"discord.js\";\r\nimport { NamespaceEnums } from \"../../../generated/namespaceData\";\r\nimport { DBI } from \"../../DBI\";\r\nimport { IDBIBaseExecuteCtx } from \"../Interaction\";\r\n\r\nexport type TDBIValueName<T> = { value: T; name: string };\r\nexport type TDBIBaseOption = {\r\n name: string;\r\n description: string;\r\n required?: boolean;\r\n};\r\n\r\nexport type TDBIMinMaxLength = { maxLength?: number; minLength?: number };\r\nexport type TDBIMinMaxValue = { maxValue?: number; minValue?: number };\r\n\r\nexport type TDBIValidator<\r\n TExtends,\r\n TValue,\r\n TStep extends string,\r\n TExpectedResponse = boolean\r\n> = {\r\n validate?(\r\n cfg: TExtends & { value: TValue; step: TStep }\r\n ): Promise<TExpectedResponse> | TExpectedResponse;\r\n};\r\n\r\nexport interface IDBIValuedInteraction<\r\n TNamespace extends NamespaceEnums,\r\n TInteractionType extends Discord.Interaction,\r\n TValueType = string | number\r\n> extends IDBIBaseExecuteCtx<TNamespace> {\r\n value: TValueType;\r\n interaction: TInteractionType;\r\n}\r\n\r\nexport type TDBICompleteCtx<\r\n TNamespace extends NamespaceEnums,\r\n TValueType = string | number\r\n> = IDBIValuedInteraction<\r\n TNamespace,\r\n Discord.AutocompleteInteraction,\r\n TValueType\r\n>;\r\n\r\nexport type TDBIValidateCtx<\r\n TNamespace extends NamespaceEnums,\r\n TValueType = string | number\r\n> = IDBIValuedInteraction<TNamespace, Discord.Interaction, TValueType>;\r\n\r\nexport type TDBICompleter<\r\n TNamespace extends NamespaceEnums,\r\n TValueType extends number | string\r\n> = {\r\n onComplete(\r\n ctx: TDBICompleteCtx<TNamespace, string>\r\n ): Promise<TDBIValueName<TValueType>[]> | TDBIValueName<TValueType>[];\r\n};\r\n\r\nexport class DBIChatInputOptions<TNamespace extends NamespaceEnums> {\r\n dbi: DBI<TNamespace>;\r\n constructor(dbi: DBI<TNamespace>) {\r\n this.dbi = dbi;\r\n }\r\n stringAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<string>\r\n > &\r\n TDBICompleter<TNamespace, string>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n stringChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n choices: TDBIValueName<string>[];\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n string(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n messageCommands: cfg.messageCommands,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n numberAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<number>\r\n > &\r\n TDBICompleter<TNamespace, number>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n numberChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n number(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integerAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<number>\r\n > &\r\n TDBICompleter<TNamespace, number>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integerChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integer(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n boolean(cfg: TDBIBaseOption) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Boolean,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n };\r\n }\r\n\r\n attachment(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Attachment>,\r\n Discord.Attachment,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Attachment,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n };\r\n }\r\n\r\n channel(\r\n cfg: TDBIBaseOption & {\r\n channelTypes: Discord.ChannelType[];\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Channel>,\r\n Discord.Channel,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Channel,\r\n name: cfg.name,\r\n description: cfg.description,\r\n channelTypes: cfg.channelTypes,\r\n channel_types: cfg.channelTypes,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n role(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Role>,\r\n Discord.Role,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Role,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n mentionable(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<\r\n TNamespace,\r\n Discord.Role | Discord.Channel | Discord.User\r\n >,\r\n Discord.Role | Discord.Channel | Discord.User,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Mentionable,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n user(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.User>,\r\n Discord.User,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.User,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ChatInputOptions.js","sourceRoot":"","sources":["../../../src/types/ChatInput/ChatInputOptions.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord from \"discord.js\";\r\nimport { NamespaceEnums } from \"../../../generated/namespaceData\";\r\nimport { DBI } from \"../../DBI\";\r\nimport { IDBIBaseExecuteCtx } from \"../Interaction\";\r\n\r\nexport type TDBIValueName<T> = { value: T; name: string };\r\nexport type TDBIBaseOption = {\r\n name: string;\r\n description: string;\r\n required?: boolean;\r\n};\r\n\r\nexport type TDBIMinMaxLength = { maxLength?: number; minLength?: number };\r\nexport type TDBIMinMaxValue = { maxValue?: number; minValue?: number };\r\n\r\nexport type TDBIValidator<\r\n TExtends,\r\n TValue,\r\n TStep extends string,\r\n TExpectedResponse = boolean\r\n> = {\r\n validate?(\r\n cfg: TExtends & { value: TValue; step: TStep }\r\n ): Promise<TExpectedResponse> | TExpectedResponse;\r\n};\r\n\r\nexport interface IDBIValuedInteraction<\r\n TNamespace extends NamespaceEnums,\r\n TInteractionType extends Discord.Interaction,\r\n TValueType = string | number\r\n> extends Omit<IDBIBaseExecuteCtx<TNamespace>, 'interaction'> {\r\n value: TValueType;\r\n interaction: TInteractionType;\r\n}\r\n\r\nexport type TDBICompleteCtx<\r\n TNamespace extends NamespaceEnums,\r\n TValueType = string | number\r\n> = IDBIValuedInteraction<\r\n TNamespace,\r\n Discord.AutocompleteInteraction,\r\n TValueType\r\n>;\r\n\r\nexport type TDBIValidateCtx<\r\n TNamespace extends NamespaceEnums,\r\n TValueType = string | number\r\n> = IDBIValuedInteraction<TNamespace, Discord.Interaction, TValueType>;\r\n\r\nexport type TDBICompleter<\r\n TNamespace extends NamespaceEnums,\r\n TValueType extends number | string\r\n> = {\r\n onComplete(\r\n ctx: TDBICompleteCtx<TNamespace, string>\r\n ): Promise<TDBIValueName<TValueType>[]> | TDBIValueName<TValueType>[];\r\n};\r\n\r\nexport class DBIChatInputOptions<TNamespace extends NamespaceEnums> {\r\n dbi: DBI<TNamespace>;\r\n constructor(dbi: DBI<TNamespace>) {\r\n this.dbi = dbi;\r\n }\r\n stringAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<string>\r\n > &\r\n TDBICompleter<TNamespace, string>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n stringChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n choices: TDBIValueName<string>[];\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n string(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxLength & {\r\n messageCommands?: { rest?: boolean };\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, string>,\r\n string,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.String,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxLength: cfg.maxLength,\r\n max_length: cfg.maxLength,\r\n minLength: cfg.minLength,\r\n min_length: cfg.minLength,\r\n required: cfg.required,\r\n messageCommands: cfg.messageCommands,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n numberAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<number>\r\n > &\r\n TDBICompleter<TNamespace, number>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n numberChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n number(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Number,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integerAutocomplete(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Autocomplete\" | \"Result\",\r\n boolean | TDBIValueName<number>\r\n > &\r\n TDBICompleter<TNamespace, number>\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n autocomplete: true,\r\n onComplete: cfg.onComplete,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integerChoices(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n choices: cfg.choices,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n integer(\r\n cfg: TDBIBaseOption &\r\n TDBIMinMaxValue &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, number>,\r\n number,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Integer,\r\n name: cfg.name,\r\n description: cfg.description,\r\n maxValue: cfg.maxValue,\r\n max_value: cfg.maxValue,\r\n minValue: cfg.minValue,\r\n min_value: cfg.minValue,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n boolean(cfg: TDBIBaseOption) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Boolean,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n };\r\n }\r\n\r\n attachment(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Attachment>,\r\n Discord.Attachment,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Attachment,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n };\r\n }\r\n\r\n channel(\r\n cfg: TDBIBaseOption & {\r\n channelTypes: Discord.ChannelType[];\r\n } & TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Channel>,\r\n Discord.Channel,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Channel,\r\n name: cfg.name,\r\n description: cfg.description,\r\n channelTypes: cfg.channelTypes,\r\n channel_types: cfg.channelTypes,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n role(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.Role>,\r\n Discord.Role,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Role,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n mentionable(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<\r\n TNamespace,\r\n Discord.Role | Discord.Channel | Discord.User\r\n >,\r\n Discord.Role | Discord.Channel | Discord.User,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.Mentionable,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n\r\n user(\r\n cfg: TDBIBaseOption &\r\n TDBIValidator<\r\n TDBIValidateCtx<TNamespace, Discord.User>,\r\n Discord.User,\r\n \"Result\",\r\n boolean\r\n >\r\n ) {\r\n return {\r\n type: Discord.ApplicationCommandOptionType.User,\r\n name: cfg.name,\r\n description: cfg.description,\r\n required: cfg.required,\r\n validate: cfg.validate,\r\n };\r\n }\r\n}\r\n"]}
@@ -0,0 +1,53 @@
1
+ import { NamespaceEnums } from "../../../../generated/namespaceData";
2
+ import { DBI } from "../../../DBI";
3
+ import { IDBIButtonExecuteCtx } from "../Button";
4
+ import { IDBIChannelSelectMenuExecuteCtx } from "../ChannelSelectMenu";
5
+ import { IDBIMentionableSelectMenuExecuteCtx } from "../MentionableSelectMenu";
6
+ import { IDBIModalExecuteCtx } from "../Modal";
7
+ import { IDBIRoleSelectMenuExecuteCtx } from "../RoleSelectMenu";
8
+ import { IDBIStringSelectMenuExecuteCtx } from "../StringSelectMenu";
9
+ import { IDBIUserSelectMenuExecuteCtx } from "../UserSelectMenu";
10
+ export interface IDBIHanlder<TNamespace extends NamespaceEnums, TExecuteCtx> {
11
+ name: string;
12
+ onExecute?: (ctx: TExecuteCtx) => void;
13
+ }
14
+ export declare class DBIHTMLComponentsV2Handlers<TNamespace extends NamespaceEnums> {
15
+ dbi: DBI<TNamespace>;
16
+ constructor(dbi: DBI<TNamespace>);
17
+ button(cfg: IDBIHanlder<TNamespace, IDBIButtonExecuteCtx<TNamespace>>): {
18
+ name: string;
19
+ onExecute: (ctx: IDBIButtonExecuteCtx<TNamespace>) => void;
20
+ type: string;
21
+ };
22
+ channelSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIChannelSelectMenuExecuteCtx<TNamespace>>): {
23
+ name: string;
24
+ onExecute: (ctx: IDBIChannelSelectMenuExecuteCtx<TNamespace>) => void;
25
+ type: string;
26
+ };
27
+ mentionableSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIMentionableSelectMenuExecuteCtx<TNamespace>>): {
28
+ name: string;
29
+ onExecute: (ctx: IDBIMentionableSelectMenuExecuteCtx<TNamespace>) => void;
30
+ type: string;
31
+ };
32
+ modal(cfg: IDBIHanlder<TNamespace, IDBIModalExecuteCtx<TNamespace>>): {
33
+ name: string;
34
+ onExecute: (ctx: IDBIModalExecuteCtx<TNamespace>) => void;
35
+ type: string;
36
+ };
37
+ roleSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIRoleSelectMenuExecuteCtx<TNamespace>>): {
38
+ name: string;
39
+ onExecute: (ctx: IDBIRoleSelectMenuExecuteCtx<TNamespace>) => void;
40
+ type: string;
41
+ };
42
+ stringSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIStringSelectMenuExecuteCtx<TNamespace>>): {
43
+ name: string;
44
+ onExecute: (ctx: IDBIStringSelectMenuExecuteCtx<TNamespace>) => void;
45
+ type: string;
46
+ };
47
+ userSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIUserSelectMenuExecuteCtx<TNamespace>>): {
48
+ name: string;
49
+ onExecute: (ctx: IDBIUserSelectMenuExecuteCtx<TNamespace>) => void;
50
+ type: string;
51
+ };
52
+ }
53
+ //# sourceMappingURL=HTMLComponentsV2Handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLComponentsV2Handlers.d.ts","sourceRoot":"","sources":["../../../../src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,UAAU,SAAS,cAAc,EAAE,WAAW;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC;AAED,qBAAa,2BAA2B,CAAC,UAAU,SAAS,cAAc;IACxE,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAET,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC;IAIhC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;;8DAVnC,IAAI;;;IAkBtC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC;;yEAlBzD,IAAI;;;IA0BtC,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,mCAAmC,CAAC,UAAU,CAAC,CAAC;;6EA1BjE,IAAI;;;IAkCtC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;;6DAlCjC,IAAI;;;IA0CtC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;;sEA1CnD,IAAI;;;IAkDtC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,8BAA8B,CAAC,UAAU,CAAC,CAAC;;wEAlDvD,IAAI;;;IA0DtC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;;sEA1DnD,IAAI;;;CAiEvC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DBIHTMLComponentsV2Handlers = void 0;
4
+ class DBIHTMLComponentsV2Handlers {
5
+ dbi;
6
+ constructor(dbi) {
7
+ this.dbi = dbi;
8
+ }
9
+ button(cfg) {
10
+ return {
11
+ name: cfg.name,
12
+ onExecute: cfg.onExecute,
13
+ type: "Button",
14
+ };
15
+ }
16
+ channelSelectMenu(cfg) {
17
+ return {
18
+ name: cfg.name,
19
+ onExecute: cfg.onExecute,
20
+ type: "ChannelSelectMenu",
21
+ };
22
+ }
23
+ mentionableSelectMenu(cfg) {
24
+ return {
25
+ name: cfg.name,
26
+ onExecute: cfg.onExecute,
27
+ type: "MentionableSelectMenu",
28
+ };
29
+ }
30
+ modal(cfg) {
31
+ return {
32
+ name: cfg.name,
33
+ onExecute: cfg.onExecute,
34
+ type: "Modal",
35
+ };
36
+ }
37
+ roleSelectMenu(cfg) {
38
+ return {
39
+ name: cfg.name,
40
+ onExecute: cfg.onExecute,
41
+ type: "RoleSelectMenu",
42
+ };
43
+ }
44
+ stringSelectMenu(cfg) {
45
+ return {
46
+ name: cfg.name,
47
+ onExecute: cfg.onExecute,
48
+ type: "StringSelectMenu",
49
+ };
50
+ }
51
+ userSelectMenu(cfg) {
52
+ return {
53
+ name: cfg.name,
54
+ onExecute: cfg.onExecute,
55
+ type: "UserSelectMenu",
56
+ };
57
+ }
58
+ }
59
+ exports.DBIHTMLComponentsV2Handlers = DBIHTMLComponentsV2Handlers;
60
+ //# sourceMappingURL=HTMLComponentsV2Handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLComponentsV2Handlers.js","sourceRoot":"","sources":["../../../../src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts"],"names":[],"mappings":";;;AAeA,MAAa,2BAA2B;IACtC,GAAG,CAAkB;IAErB,YAAY,GAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,GAA8D;QACnE,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,QAAQ;SACf,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,GAAyE;QACzF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,mBAAmB;SAC1B,CAAA;IACH,CAAC;IAED,qBAAqB,CAAC,GAA6E;QACjG,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,uBAAuB;SAC9B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAA6D;QACjE,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,OAAO;SACd,CAAA;IACH,CAAC;IAED,cAAc,CAAC,GAAsE;QACnF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,gBAAgB;SACvB,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,GAAwE;QACvF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,kBAAkB;SACzB,CAAA;IACH,CAAC;IAED,cAAc,CAAC,GAAsE;QACnF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,gBAAgB;SACvB,CAAA;IACH,CAAC;CACF;AA9DD,kEA8DC","sourcesContent":["import { NamespaceEnums } from \"../../../../generated/namespaceData\";\r\nimport { DBI } from \"../../../DBI\";\r\nimport { IDBIButtonExecuteCtx } from \"../Button\";\r\nimport { IDBIChannelSelectMenuExecuteCtx } from \"../ChannelSelectMenu\";\r\nimport { IDBIMentionableSelectMenuExecuteCtx } from \"../MentionableSelectMenu\";\r\nimport { IDBIModalExecuteCtx } from \"../Modal\";\r\nimport { IDBIRoleSelectMenuExecuteCtx } from \"../RoleSelectMenu\";\r\nimport { IDBIStringSelectMenuExecuteCtx } from \"../StringSelectMenu\";\r\nimport { IDBIUserSelectMenuExecuteCtx } from \"../UserSelectMenu\";\r\n\r\nexport interface IDBIHanlder<TNamespace extends NamespaceEnums, TExecuteCtx> {\r\n name: string;\r\n onExecute?: (ctx: TExecuteCtx) => void;\r\n}\r\n\r\nexport class DBIHTMLComponentsV2Handlers<TNamespace extends NamespaceEnums> {\r\n dbi: DBI<TNamespace>;\r\n\r\n constructor(dbi: DBI<TNamespace>) {\r\n this.dbi = dbi;\r\n }\r\n\r\n button(cfg: IDBIHanlder<TNamespace, IDBIButtonExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"Button\",\r\n }\r\n }\r\n\r\n channelSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIChannelSelectMenuExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"ChannelSelectMenu\",\r\n }\r\n }\r\n\r\n mentionableSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIMentionableSelectMenuExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"MentionableSelectMenu\",\r\n }\r\n }\r\n\r\n modal(cfg: IDBIHanlder<TNamespace, IDBIModalExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"Modal\",\r\n }\r\n }\r\n\r\n roleSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIRoleSelectMenuExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"RoleSelectMenu\",\r\n }\r\n }\r\n\r\n stringSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIStringSelectMenuExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"StringSelectMenu\",\r\n }\r\n }\r\n\r\n userSelectMenu(cfg: IDBIHanlder<TNamespace, IDBIUserSelectMenuExecuteCtx<TNamespace>>) {\r\n return {\r\n name: cfg.name,\r\n onExecute: cfg.onExecute,\r\n type: \"UserSelectMenu\",\r\n }\r\n }\r\n}"]}
@@ -0,0 +1,19 @@
1
+ import { NamespaceEnums } from "../../../../generated/namespaceData";
2
+ import { DBI } from "../../../DBI";
3
+ import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "../../Interaction";
4
+ export type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, "type" | "dbi" | "toJSON">;
5
+ export type TDBIHTMLComponentsV2ToJSONArgs = {
6
+ data?: Record<string, any>;
7
+ };
8
+ export interface IDBIHTMLComponentsV2ExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
9
+ data: TDBIReferencedData[];
10
+ }
11
+ export declare class DBIHTMLComponentsV2<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
12
+ template?: string;
13
+ file?: string;
14
+ constructor(dbi: DBI<TNamespace>, args: TDBIHTMLComponentsV2Omitted<TNamespace>);
15
+ toJSON(arg?: TDBIHTMLComponentsV2ToJSONArgs): any;
16
+ onExecute?(ctx: IDBIHTMLComponentsV2ExecuteCtx<TNamespace>): void;
17
+ handlers?: any[];
18
+ }
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/Components/HTMLComponentsV2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAgB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI7G,MAAM,MAAM,2BAA2B,CAAC,UAAU,SAAS,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAE9I,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAA;AAED,MAAM,WAAW,8BAA8B,CAAC,UAAU,SAAS,cAAc,CAAE,SAAQ,kBAAkB,CAAC,UAAU,CAAC;IACvH,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,qBAAa,mBAAmB,CAAC,UAAU,SAAS,cAAc,CAAE,SAAQ,kBAAkB,CAAC,UAAU,CAAC;IACxG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,2BAA2B,CAAC,UAAU,CAAC;IAUtE,MAAM,CAAC,GAAG,GAAE,8BAAmC,GAAG,GAAG;IASrD,SAAS,CAAC,CAAC,GAAG,EAAE,8BAA8B,CAAC,UAAU,CAAC;IAEnE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAM;CACvB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DBIHTMLComponentsV2 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const Interaction_1 = require("../../Interaction");
6
+ const parser_1 = require("./parser");
7
+ const fs_1 = tslib_1.__importDefault(require("fs"));
8
+ class DBIHTMLComponentsV2 extends Interaction_1.DBIBaseInteraction {
9
+ template;
10
+ file;
11
+ constructor(dbi, args) {
12
+ super(dbi, {
13
+ ...args,
14
+ type: "HTMLComponentsV2",
15
+ });
16
+ this.template = args.template || fs_1.default.readFileSync(args.file || "", "utf-8");
17
+ this.name = args.name;
18
+ this.handlers = args.handlers || [];
19
+ }
20
+ toJSON(arg = {}) {
21
+ return (0, parser_1.parseHTMLComponentsV2)(this.dbi, this.template, this.name, { data: arg.data });
22
+ }
23
+ onExecute(ctx) { }
24
+ ;
25
+ handlers = [];
26
+ }
27
+ exports.DBIHTMLComponentsV2 = DBIHTMLComponentsV2;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/types/Components/HTMLComponentsV2/index.ts"],"names":[],"mappings":";;;;AAEA,mDAA6G;AAC7G,qCAAiD;AACjD,oDAAoB;AAYpB,MAAa,mBAAuD,SAAQ,gCAA8B;IACxG,QAAQ,CAAU;IAClB,IAAI,CAAU;IAEd,YAAY,GAAoB,EAAE,IAA6C;QAC7E,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,CAAC;IAEQ,MAAM,CAAC,MAAsC,EAAE;QACtD,OAAO,IAAA,8BAAqB,EAC1B,IAAI,CAAC,GAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAI,EACT,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACnB,CAAA;IACH,CAAC;IAEQ,SAAS,CAAE,GAA+C,IAAI,CAAC;IAAA,CAAC;IAEzE,QAAQ,GAAW,EAAE,CAAC;CACvB;AA1BD,kDA0BC","sourcesContent":["import { NamespaceEnums } from \"../../../../generated/namespaceData\";\r\nimport { DBI } from \"../../../DBI\";\r\nimport { DBIBaseInteraction, DBIRateLimit, IDBIBaseExecuteCtx, TDBIReferencedData } from \"../../Interaction\";\r\nimport { parseHTMLComponentsV2 } from \"./parser\";\r\nimport fs from \"fs\";\r\n\r\nexport type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, \"type\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport type TDBIHTMLComponentsV2ToJSONArgs = {\r\n data?: Record<string, any>;\r\n}\r\n\r\nexport interface IDBIHTMLComponentsV2ExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport class DBIHTMLComponentsV2<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {\r\n template?: string;\r\n file?: string;\r\n\r\n constructor(dbi: DBI<TNamespace>, args: TDBIHTMLComponentsV2Omitted<TNamespace>) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"HTMLComponentsV2\",\r\n });\r\n this.template = args.template || fs.readFileSync(args.file || \"\", \"utf-8\");\r\n this.name = args.name;\r\n this.handlers = args.handlers || [];\r\n }\r\n\r\n override toJSON(arg: TDBIHTMLComponentsV2ToJSONArgs = {}): any {\r\n return parseHTMLComponentsV2(\r\n this.dbi as any,\r\n this.template,\r\n this.name,\r\n { data: arg.data }\r\n )\r\n }\r\n\r\n override onExecute?(ctx: IDBIHTMLComponentsV2ExecuteCtx<TNamespace>) { };\r\n\r\n handlers?: any[] = [];\r\n}"]}
@@ -0,0 +1,4 @@
1
+ import { DBI } from "../../../DBI";
2
+ import { NamespaceEnums } from "../../../../generated/namespaceData";
3
+ export declare function parseHTMLComponentsV2(dbi: DBI<NamespaceEnums>, template: string, dbiName: string, { data }?: any): any[];
4
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/types/Components/HTMLComponentsV2/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAwQrE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAE,GAAQ,SAWpH"}