@mostfeatured/dbi 0.1.34 → 0.1.36
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/methods/hookInteractionListeners.js +1 -1
- package/dist/methods/hookInteractionListeners.js.map +1 -1
- package/dist/types/Components/HTMLComponentsV2/index.d.ts +1 -1
- package/dist/types/Components/HTMLComponentsV2/index.d.ts.map +1 -1
- package/dist/types/Components/HTMLComponentsV2/index.js.map +1 -1
- package/package.json +1 -1
- package/src/methods/hookInteractionListeners.ts +1 -1
- package/src/types/Components/HTMLComponentsV2/index.ts +1 -1
|
@@ -41,7 +41,7 @@ function hookInteractionListeners(dbi) {
|
|
|
41
41
|
isUsesCustomId &&
|
|
42
42
|
parsedId?.name == dbiInter.name)
|
|
43
43
|
||
|
|
44
|
-
(parsedId
|
|
44
|
+
(parsedId?.v2 && dbiInter.type == "HTMLComponentsV2" && parsedId?.name == dbiInter.name));
|
|
45
45
|
});
|
|
46
46
|
if (!dbiInter)
|
|
47
47
|
return;
|
|
@@ -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((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"]}
|
|
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"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NamespaceEnums } from "../../../../generated/namespaceData";
|
|
2
2
|
import { DBI } from "../../../DBI";
|
|
3
3
|
import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "../../Interaction";
|
|
4
|
-
export type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, "type" | "dbi" | "toJSON">;
|
|
4
|
+
export type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, "type" | "dbi" | "toJSON" | "description">;
|
|
5
5
|
export type TDBIHTMLComponentsV2ToJSONArgs = {
|
|
6
6
|
data?: Record<string, any>;
|
|
7
7
|
};
|
|
@@ -1 +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;
|
|
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,GAAG,aAAa,CAAC,CAAC;AAE9J,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"}
|
|
@@ -1 +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}"]}
|
|
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\" | \"description\">;\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}"]}
|
package/package.json
CHANGED
|
@@ -44,7 +44,7 @@ export function hookInteractionListeners(dbi: DBI<NamespaceEnums>): () => any {
|
|
|
44
44
|
isUsesCustomId &&
|
|
45
45
|
parsedId?.name == dbiInter.name)
|
|
46
46
|
||
|
|
47
|
-
(parsedId
|
|
47
|
+
(parsedId?.v2 && dbiInter.type == "HTMLComponentsV2" && parsedId?.name == dbiInter.name)
|
|
48
48
|
);
|
|
49
49
|
});
|
|
50
50
|
|
|
@@ -4,7 +4,7 @@ import { DBIBaseInteraction, DBIRateLimit, IDBIBaseExecuteCtx, TDBIReferencedDat
|
|
|
4
4
|
import { parseHTMLComponentsV2 } from "./parser";
|
|
5
5
|
import fs from "fs";
|
|
6
6
|
|
|
7
|
-
export type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, "type" | "dbi" | "toJSON">;
|
|
7
|
+
export type TDBIHTMLComponentsV2Omitted<TNamespace extends NamespaceEnums> = Omit<DBIHTMLComponentsV2<TNamespace>, "type" | "dbi" | "toJSON" | "description">;
|
|
8
8
|
|
|
9
9
|
export type TDBIHTMLComponentsV2ToJSONArgs = {
|
|
10
10
|
data?: Record<string, any>;
|