@mostfeatured/dbi 0.0.53 → 0.0.55

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 (78) hide show
  1. package/dist/DBI.d.ts +156 -156
  2. package/dist/DBI.js +332 -332
  3. package/dist/Events.d.ts +53 -53
  4. package/dist/Events.js +58 -58
  5. package/dist/data/eventMap.json +234 -234
  6. package/dist/index.d.ts +6 -6
  7. package/dist/index.js +16 -16
  8. package/dist/methods/hookEventListeners.d.ts +3 -3
  9. package/dist/methods/hookEventListeners.js +87 -87
  10. package/dist/methods/hookInteractionListeners.d.ts +3 -3
  11. package/dist/methods/hookInteractionListeners.js +118 -118
  12. package/dist/methods/publishInteractions.d.ts +7 -7
  13. package/dist/methods/publishInteractions.js +238 -238
  14. package/dist/types/Button.d.ts +18 -16
  15. package/dist/types/Button.d.ts.map +1 -1
  16. package/dist/types/Button.js +31 -27
  17. package/dist/types/Button.js.map +1 -1
  18. package/dist/types/ButtonBuilder.d.ts +30 -0
  19. package/dist/types/ButtonBuilder.d.ts.map +1 -0
  20. package/dist/types/ButtonBuilder.js +43 -0
  21. package/dist/types/ButtonBuilder.js.map +1 -0
  22. package/dist/types/ChatInput/ChatInput.d.ts +15 -15
  23. package/dist/types/ChatInput/ChatInput.js +20 -20
  24. package/dist/types/ChatInput/ChatInputOptions.d.ts +162 -161
  25. package/dist/types/ChatInput/ChatInputOptions.d.ts.map +1 -1
  26. package/dist/types/ChatInput/ChatInputOptions.js +161 -160
  27. package/dist/types/ChatInput/ChatInputOptions.js.map +1 -1
  28. package/dist/types/CustomEvent.d.ts +13 -13
  29. package/dist/types/CustomEvent.js +19 -19
  30. package/dist/types/Event.d.ts +263 -263
  31. package/dist/types/Event.js +22 -22
  32. package/dist/types/Interaction.d.ts +47 -47
  33. package/dist/types/Interaction.js +24 -24
  34. package/dist/types/InteractionLocale.d.ts +25 -25
  35. package/dist/types/InteractionLocale.js +14 -14
  36. package/dist/types/Locale.d.ts +21 -21
  37. package/dist/types/Locale.js +38 -38
  38. package/dist/types/MessageContextMenu.d.ts +14 -14
  39. package/dist/types/MessageContextMenu.js +18 -18
  40. package/dist/types/Modal.d.ts +22 -20
  41. package/dist/types/Modal.d.ts.map +1 -1
  42. package/dist/types/Modal.js +29 -25
  43. package/dist/types/Modal.js.map +1 -1
  44. package/dist/types/ModalBuilder.d.ts +31 -0
  45. package/dist/types/ModalBuilder.d.ts.map +1 -0
  46. package/dist/types/ModalBuilder.js +43 -0
  47. package/dist/types/ModalBuilder.js.map +1 -0
  48. package/dist/types/SelectMenu.d.ts +18 -16
  49. package/dist/types/SelectMenu.d.ts.map +1 -1
  50. package/dist/types/SelectMenu.js +31 -27
  51. package/dist/types/SelectMenu.js.map +1 -1
  52. package/dist/types/SelectMenuBuilder.d.ts +28 -0
  53. package/dist/types/SelectMenuBuilder.d.ts.map +1 -0
  54. package/dist/types/SelectMenuBuilder.js +43 -0
  55. package/dist/types/SelectMenuBuilder.js.map +1 -0
  56. package/dist/types/UserContextMenu.d.ts +14 -14
  57. package/dist/types/UserContextMenu.js +18 -18
  58. package/dist/utils/MemoryStore.d.ts +8 -8
  59. package/dist/utils/MemoryStore.js +29 -29
  60. package/dist/utils/UtilTypes.d.ts +7 -7
  61. package/dist/utils/UtilTypes.d.ts.map +1 -1
  62. package/dist/utils/UtilTypes.js +2 -2
  63. package/dist/utils/UtilTypes.js.map +1 -1
  64. package/dist/utils/customId.d.ts +7 -7
  65. package/dist/utils/customId.js +45 -45
  66. package/dist/utils/permissions.d.ts +2 -2
  67. package/dist/utils/permissions.js +8 -8
  68. package/dist/utils/recursiveImport.d.ts +4 -4
  69. package/dist/utils/recursiveImport.js +26 -26
  70. package/package.json +2 -2
  71. package/src/types/Button.ts +7 -2
  72. package/src/types/ButtonBuilder.ts +52 -0
  73. package/src/types/ChatInput/ChatInputOptions.ts +1 -0
  74. package/src/types/Modal.ts +8 -2
  75. package/src/types/ModalBuilder.ts +52 -0
  76. package/src/types/SelectMenu.ts +8 -2
  77. package/src/types/SelectMenuBuilder.ts +52 -0
  78. package/src/utils/UtilTypes.ts +1 -1
@@ -1,28 +1,32 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBISelectMenu = void 0;
4
- const tslib_1 = require("tslib");
5
- const discord_js_1 = tslib_1.__importDefault(require("discord.js"));
6
- const Interaction_1 = require("./Interaction");
7
- const customId_1 = require("../utils/customId");
8
- const stuffs_1 = tslib_1.__importDefault(require("stuffs"));
9
- class DBISelectMenu extends Interaction_1.DBIBaseInteraction {
10
- constructor(dbi, args) {
11
- super(dbi, {
12
- ...args,
13
- type: "SelectMenu",
14
- });
15
- }
16
- onExecute(ctx) { }
17
- ;
18
- toJSON(arg = {}) {
19
- return {
20
- ...stuffs_1.default.defaultify((arg?.overrides || {}), this.options || {}, true),
21
- customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.ttl),
22
- type: discord_js_1.default.ComponentType.SelectMenu,
23
- };
24
- }
25
- ;
26
- }
27
- exports.DBISelectMenu = DBISelectMenu;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DBISelectMenu = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const discord_js_1 = tslib_1.__importDefault(require("discord.js"));
6
+ const Interaction_1 = require("./Interaction");
7
+ const customId_1 = require("../utils/customId");
8
+ const stuffs_1 = tslib_1.__importDefault(require("stuffs"));
9
+ const SelectMenuBuilder_1 = require("./SelectMenuBuilder");
10
+ class DBISelectMenu extends Interaction_1.DBIBaseInteraction {
11
+ constructor(dbi, args) {
12
+ super(dbi, {
13
+ ...args,
14
+ type: "SelectMenu",
15
+ });
16
+ }
17
+ onExecute(ctx) { }
18
+ ;
19
+ toJSON(arg = {}) {
20
+ return {
21
+ ...stuffs_1.default.defaultify((arg?.overrides || {}), this.options || {}, true),
22
+ customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.ttl),
23
+ type: discord_js_1.default.ComponentType.SelectMenu,
24
+ };
25
+ }
26
+ ;
27
+ createBuilder(arg = {}) {
28
+ return new SelectMenuBuilder_1.DBISelectMenuBuilder({ component: this, ...arg });
29
+ }
30
+ }
31
+ exports.DBISelectMenu = DBISelectMenu;
28
32
  //# sourceMappingURL=SelectMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":";;;;AAAA,oEAAiC;AAEjC,+CAA2F;AAC3F,gDAAoD;AAGpD,4DAA4B;AAU5B,MAAa,aAAiD,SAAQ,gCAA8B;IAClG,YAAY,GAAoB,EAAE,IAAuC;QACvE,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;IAIQ,SAAS,CAAC,GAAyC,IAA0B,CAAC;IAAA,CAAC;IAExF,MAAM,CAAC,MAAkF,EAAS;QAChG,OAAO;YACL,GAAG,gBAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC;YACtE,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;YACtG,IAAI,EAAE,oBAAO,CAAC,aAAa,CAAC,UAAU;SAChC,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AAnBD,sCAmBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\nimport { IDBIToJSONArgs } from \"../utils/UtilTypes\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\nimport stuffs from \"stuffs\";\r\n\r\n\r\nexport interface IDBISelectMenuExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBISelectMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBISelectMenu<TNamespace>, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBISelectMenu<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {\r\n constructor(dbi: DBI<TNamespace>, args: TDBISelectMenuOmitted<TNamespace>) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"SelectMenu\",\r\n });\r\n }\r\n\r\n declare options: Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\">;\r\n\r\n override onExecute(ctx: IDBISelectMenuExecuteCtx<TNamespace>): Promise<void> | void { };\r\n\r\n toJSON(arg: IDBIToJSONArgs<Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\">> = {} as any): Discord.SelectMenuComponentData {\r\n return {\r\n ...stuffs.defaultify((arg?.overrides || {}), this.options || {}, true),\r\n customId: customIdBuilder(this.dbi as any, this.name, arg?.reference?.data || [], arg?.reference?.ttl),\r\n type: Discord.ComponentType.SelectMenu,\r\n } as any;\r\n };\r\n}"]}
1
+ {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":";;;;AAAA,oEAAiC;AAEjC,+CAA2F;AAC3F,gDAAoD;AAGpD,4DAA4B;AAC5B,2DAAmF;AAUnF,MAAa,aAAiD,SAAQ,gCAA8B;IAClG,YAAY,GAAoB,EAAE,IAAuC;QACvE,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;IAIQ,SAAS,CAAC,GAAyC,IAA0B,CAAC;IAAA,CAAC;IAExF,MAAM,CAAC,MAA8C,EAAE;QACrD,OAAO;YACL,GAAG,gBAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC;YACtE,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;YACtG,IAAI,EAAE,oBAAO,CAAC,aAAa,CAAC,UAAU;SAChC,CAAC;IACX,CAAC;IAAA,CAAC;IAEF,aAAa,CAAC,MAA8C,EAAE;QAC5D,OAAO,IAAI,wCAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;IAC9D,CAAC;CAEF;AAxBD,sCAwBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\nimport { IDBIToJSONArgs } from \"../utils/UtilTypes\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\nimport stuffs from \"stuffs\";\r\nimport { DBISelectMenuBuilder, DBISelectMenuOverrides } from \"./SelectMenuBuilder\";\r\n\r\n\r\nexport interface IDBISelectMenuExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBISelectMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBISelectMenu<TNamespace>, \"type\" | \"description\" | \"dbi\" | \"toJSON\" | \"createBuilder\">;\r\n\r\nexport class DBISelectMenu<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {\r\n constructor(dbi: DBI<TNamespace>, args: TDBISelectMenuOmitted<TNamespace>) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"SelectMenu\",\r\n });\r\n }\r\n\r\n declare options: Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\">;\r\n\r\n override onExecute(ctx: IDBISelectMenuExecuteCtx<TNamespace>): Promise<void> | void { };\r\n\r\n toJSON(arg: IDBIToJSONArgs<DBISelectMenuOverrides> = {}): Discord.SelectMenuComponentData {\r\n return {\r\n ...stuffs.defaultify((arg?.overrides || {}), this.options || {}, true),\r\n customId: customIdBuilder(this.dbi as any, this.name, arg?.reference?.data || [], arg?.reference?.ttl),\r\n type: Discord.ComponentType.SelectMenu,\r\n } as any;\r\n };\r\n\r\n createBuilder(arg: IDBIToJSONArgs<DBISelectMenuOverrides> = {}): DBISelectMenuBuilder<TNamespace> {\r\n return new DBISelectMenuBuilder({ component: this, ...arg })\r\n }\r\n\r\n}"]}
@@ -0,0 +1,28 @@
1
+ import { SelectMenuComponentData } from "discord.js";
2
+ import { NamespaceEnums } from "../../generated/namespaceData";
3
+ import { DBISelectMenu } from "./SelectMenu";
4
+ export declare type DBISelectMenuOverrides = Omit<SelectMenuComponentData, "customId" | "type">;
5
+ export declare class DBISelectMenuBuilder<TNamespace extends NamespaceEnums> {
6
+ component: DBISelectMenu<TNamespace>;
7
+ overrides: DBISelectMenuOverrides;
8
+ reference: {
9
+ data: (string | number | object)[];
10
+ ttl?: number;
11
+ };
12
+ constructor(arg: {
13
+ component: DBISelectMenu<TNamespace>;
14
+ overrides?: DBISelectMenuOverrides;
15
+ reference?: {
16
+ data: (string | number | object)[];
17
+ ttl?: number;
18
+ };
19
+ });
20
+ setTTL(ttl: number): DBISelectMenuBuilder<TNamespace>;
21
+ addTTL(ttl: number): DBISelectMenuBuilder<TNamespace>;
22
+ setData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace>;
23
+ addData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace>;
24
+ setOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace>;
25
+ addOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace>;
26
+ toJSON(): SelectMenuComponentData;
27
+ }
28
+ //# sourceMappingURL=SelectMenuBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectMenuBuilder.d.ts","sourceRoot":"","sources":["../../src/types/SelectMenuBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,oBAAY,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAA;AAEvF,qBAAa,oBAAoB,CAAC,UAAU,SAAS,cAAc;IACjE,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACpC,SAAS,EAAE,sBAAsB,CAAC;IAClC,SAAS,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;gBACpD,GAAG,EAAE;QAAE,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;QAAC,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAM/J,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKrD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKrD,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKhF,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKhF,YAAY,CAAC,SAAS,EAAE,sBAAsB,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKjF,YAAY,CAAC,SAAS,EAAE,sBAAsB,GAAG,oBAAoB,CAAC,UAAU,CAAC;IAKjF,MAAM,IAAI,uBAAuB;CAIlC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DBISelectMenuBuilder = void 0;
4
+ const stuffs_1 = require("stuffs");
5
+ class DBISelectMenuBuilder {
6
+ component;
7
+ overrides;
8
+ reference;
9
+ constructor(arg) {
10
+ this.component = arg.component;
11
+ this.overrides = arg.overrides ?? {};
12
+ this.reference = arg.reference ?? { data: [] };
13
+ }
14
+ setTTL(ttl) {
15
+ this.reference.ttl = ttl;
16
+ return this;
17
+ }
18
+ addTTL(ttl) {
19
+ this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
20
+ return this;
21
+ }
22
+ setData(...data) {
23
+ this.reference.data = data;
24
+ return this;
25
+ }
26
+ addData(...data) {
27
+ this.reference.data = [...this.reference.data, ...data];
28
+ return this;
29
+ }
30
+ setOverrides(overrides) {
31
+ this.overrides = overrides;
32
+ return this;
33
+ }
34
+ addOverrides(overrides) {
35
+ this.overrides = (0, stuffs_1.defaultify)(overrides, this.overrides, true);
36
+ return this;
37
+ }
38
+ toJSON() {
39
+ return this.component.toJSON({ overrides: this.overrides, reference: this.reference });
40
+ }
41
+ }
42
+ exports.DBISelectMenuBuilder = DBISelectMenuBuilder;
43
+ //# sourceMappingURL=SelectMenuBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectMenuBuilder.js","sourceRoot":"","sources":["../../src/types/SelectMenuBuilder.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AAMpC,MAAa,oBAAoB;IAC/B,SAAS,CAA2B;IACpC,SAAS,CAAyB;IAClC,SAAS,CAAuD;IAChE,YAAY,GAAmJ;QAC7J,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,IAAkC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,IAAkC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAA,mBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzF,CAAC;CAEF;AA5CD,oDA4CC","sourcesContent":["import { SelectMenuComponentData } from \"discord.js\";\r\nimport { defaultify } from \"stuffs\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\nimport { DBISelectMenu } from \"./SelectMenu\";\r\n\r\nexport type DBISelectMenuOverrides = Omit<SelectMenuComponentData, \"customId\" | \"type\">\r\n\r\nexport class DBISelectMenuBuilder<TNamespace extends NamespaceEnums> {\r\n component: DBISelectMenu<TNamespace>\r\n overrides: DBISelectMenuOverrides;\r\n reference: { data: (string | number | object)[], ttl?: number };\r\n constructor(arg: { component: DBISelectMenu<TNamespace>, overrides?: DBISelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {\r\n this.component = arg.component;\r\n this.overrides = arg.overrides ?? {};\r\n this.reference = arg.reference ?? { data: [] };\r\n }\r\n\r\n setTTL(ttl: number): DBISelectMenuBuilder<TNamespace> {\r\n this.reference.ttl = ttl;\r\n return this;\r\n }\r\n\r\n addTTL(ttl: number): DBISelectMenuBuilder<TNamespace> {\r\n this.reference.ttl = (this.reference.ttl ?? 0) + ttl;\r\n return this;\r\n }\r\n\r\n setData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace> {\r\n this.reference.data = data;\r\n return this;\r\n }\r\n\r\n addData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace> {\r\n this.reference.data = [...this.reference.data, ...data];\r\n return this;\r\n }\r\n\r\n setOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace> {\r\n this.overrides = overrides;\r\n return this;\r\n }\r\n\r\n addOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace> {\r\n this.overrides = defaultify(overrides, this.overrides, true);\r\n return this;\r\n }\r\n\r\n toJSON(): SelectMenuComponentData {\r\n return this.component.toJSON({ overrides: this.overrides, reference: this.reference });\r\n }\r\n\r\n}"]}
@@ -1,15 +1,15 @@
1
- import { DBI } from "../DBI";
2
- import { DBIBaseInteraction, IDBIBaseExecuteCtx } from "./Interaction";
3
- import Discord from "discord.js";
4
- import { NamespaceEnums } from "../../generated/namespaceData";
5
- export declare type TDBIUserContextMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBIUserContextMenu<TNamespace>, "type" | "description" | "dbi" | "options">;
6
- export interface IDBIUserContextMenuExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
7
- interaction: Discord.UserContextMenuCommandInteraction<"cached">;
8
- }
9
- export declare class DBIUserContextMenu<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
10
- constructor(dbi: DBI<TNamespace>, cfg: TDBIUserContextMenuOmitted<TNamespace>);
11
- directMessages?: boolean;
12
- defaultMemberPermissions?: Discord.PermissionsString[];
13
- onExecute(ctx: IDBIUserContextMenuExecuteCtx<TNamespace>): Promise<void> | void;
14
- }
1
+ import { DBI } from "../DBI";
2
+ import { DBIBaseInteraction, IDBIBaseExecuteCtx } from "./Interaction";
3
+ import Discord from "discord.js";
4
+ import { NamespaceEnums } from "../../generated/namespaceData";
5
+ export declare type TDBIUserContextMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBIUserContextMenu<TNamespace>, "type" | "description" | "dbi" | "options">;
6
+ export interface IDBIUserContextMenuExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
7
+ interaction: Discord.UserContextMenuCommandInteraction<"cached">;
8
+ }
9
+ export declare class DBIUserContextMenu<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
10
+ constructor(dbi: DBI<TNamespace>, cfg: TDBIUserContextMenuOmitted<TNamespace>);
11
+ directMessages?: boolean;
12
+ defaultMemberPermissions?: Discord.PermissionsString[];
13
+ onExecute(ctx: IDBIUserContextMenuExecuteCtx<TNamespace>): Promise<void> | void;
14
+ }
15
15
  //# sourceMappingURL=UserContextMenu.d.ts.map
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBIUserContextMenu = void 0;
4
- const Interaction_1 = require("./Interaction");
5
- class DBIUserContextMenu extends Interaction_1.DBIBaseInteraction {
6
- constructor(dbi, cfg) {
7
- super(dbi, {
8
- ...cfg,
9
- type: "UserContextMenu"
10
- });
11
- this.directMessages = cfg.directMessages ?? dbi.config.defaults.directMessages;
12
- this.defaultMemberPermissions = cfg.defaultMemberPermissions ?? dbi.config.defaults.defaultMemberPermissions;
13
- }
14
- directMessages;
15
- defaultMemberPermissions;
16
- onExecute(ctx) { }
17
- }
18
- exports.DBIUserContextMenu = DBIUserContextMenu;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DBIUserContextMenu = void 0;
4
+ const Interaction_1 = require("./Interaction");
5
+ class DBIUserContextMenu extends Interaction_1.DBIBaseInteraction {
6
+ constructor(dbi, cfg) {
7
+ super(dbi, {
8
+ ...cfg,
9
+ type: "UserContextMenu"
10
+ });
11
+ this.directMessages = cfg.directMessages ?? dbi.config.defaults.directMessages;
12
+ this.defaultMemberPermissions = cfg.defaultMemberPermissions ?? dbi.config.defaults.defaultMemberPermissions;
13
+ }
14
+ directMessages;
15
+ defaultMemberPermissions;
16
+ onExecute(ctx) { }
17
+ }
18
+ exports.DBIUserContextMenu = DBIUserContextMenu;
19
19
  //# sourceMappingURL=UserContextMenu.js.map
@@ -1,9 +1,9 @@
1
- export declare class MemoryStore {
2
- store: Record<string, any>;
3
- constructor();
4
- get(key: string, defaultValue?: any): Promise<any>;
5
- set(key: string, value: any): Promise<any>;
6
- delete(key: string): Promise<boolean>;
7
- has(key: string): Promise<boolean>;
8
- }
1
+ export declare class MemoryStore {
2
+ store: Record<string, any>;
3
+ constructor();
4
+ get(key: string, defaultValue?: any): Promise<any>;
5
+ set(key: string, value: any): Promise<any>;
6
+ delete(key: string): Promise<boolean>;
7
+ has(key: string): Promise<boolean>;
8
+ }
9
9
  //# sourceMappingURL=MemoryStore.d.ts.map
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoryStore = void 0;
4
- const tslib_1 = require("tslib");
5
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- class MemoryStore {
7
- store;
8
- constructor() {
9
- this.store = {};
10
- }
11
- async get(key, defaultValue) {
12
- let val = lodash_1.default.get(this.store, key);
13
- if (!val) {
14
- this.set(key, defaultValue);
15
- return defaultValue;
16
- }
17
- return val;
18
- }
19
- async set(key, value) {
20
- return this.store = lodash_1.default.set(this.store, key, value);
21
- }
22
- async delete(key) {
23
- return lodash_1.default.unset(this.store, key);
24
- }
25
- async has(key) {
26
- return lodash_1.default.has(this.store, key);
27
- }
28
- }
29
- exports.MemoryStore = MemoryStore;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryStore = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
+ class MemoryStore {
7
+ store;
8
+ constructor() {
9
+ this.store = {};
10
+ }
11
+ async get(key, defaultValue) {
12
+ let val = lodash_1.default.get(this.store, key);
13
+ if (!val) {
14
+ this.set(key, defaultValue);
15
+ return defaultValue;
16
+ }
17
+ return val;
18
+ }
19
+ async set(key, value) {
20
+ return this.store = lodash_1.default.set(this.store, key, value);
21
+ }
22
+ async delete(key) {
23
+ return lodash_1.default.unset(this.store, key);
24
+ }
25
+ async has(key) {
26
+ return lodash_1.default.has(this.store, key);
27
+ }
28
+ }
29
+ exports.MemoryStore = MemoryStore;
30
30
  //# sourceMappingURL=MemoryStore.js.map
@@ -1,8 +1,8 @@
1
- export interface IDBIToJSONArgs<T> {
2
- reference?: {
3
- ttl?: number;
4
- data: (string | number | object)[];
5
- };
6
- overrides: T;
7
- }
1
+ export interface IDBIToJSONArgs<T> {
2
+ reference?: {
3
+ ttl?: number;
4
+ data: (string | number | object)[];
5
+ };
6
+ overrides?: T;
7
+ }
8
8
  //# sourceMappingURL=UtilTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtilTypes.d.ts","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;KACpC,CAAC;IACF,SAAS,EAAE,CAAC,CAAC;CACd"}
1
+ {"version":3,"file":"UtilTypes.d.ts","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;KACpC,CAAC;IACF,SAAS,CAAC,EAAE,CAAC,CAAC;CACf"}
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=UtilTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtilTypes.js","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"","sourcesContent":["export interface IDBIToJSONArgs<T> {\r\n reference?: {\r\n ttl?: number;\r\n data: (string | number | object)[];\r\n };\r\n overrides: T;\r\n}"]}
1
+ {"version":3,"file":"UtilTypes.js","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"","sourcesContent":["export interface IDBIToJSONArgs<T> {\r\n reference?: {\r\n ttl?: number;\r\n data: (string | number | object)[];\r\n };\r\n overrides?: T;\r\n}"]}
@@ -1,8 +1,8 @@
1
- import { DBI } from "../DBI";
2
- import { NamespaceEnums } from "../../generated/namespaceData";
3
- export declare function customIdBuilder(dbi: DBI<NamespaceEnums>, name: string, customData: any[], ttl?: number): string;
4
- export declare function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): {
5
- name: string;
6
- data: any[];
7
- };
1
+ import { DBI } from "../DBI";
2
+ import { NamespaceEnums } from "../../generated/namespaceData";
3
+ export declare function customIdBuilder(dbi: DBI<NamespaceEnums>, name: string, customData: any[], ttl?: number): string;
4
+ export declare function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): {
5
+ name: string;
6
+ data: any[];
7
+ };
8
8
  //# sourceMappingURL=customId.d.ts.map
@@ -1,46 +1,46 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseCustomId = exports.customIdBuilder = void 0;
4
- const tslib_1 = require("tslib");
5
- const stuffs = tslib_1.__importStar(require("stuffs"));
6
- function customIdBuilder(dbi, name, customData, ttl) {
7
- let customId = [
8
- name,
9
- ...customData.map(value => {
10
- if (typeof value == "string")
11
- return value;
12
- if (typeof value == "number")
13
- return `π${value}`;
14
- let id = stuffs.randomString(8);
15
- Object.assign(value, {
16
- $ref: id,
17
- $unRef() { return dbi.data.refs.delete(id); },
18
- });
19
- dbi.data.refs.set(id, { at: Date.now(), value, ttl });
20
- return `¤${id}`;
21
- })
22
- ].join("—");
23
- if (!dbi.config.strict)
24
- customId = customId.slice(0, 100);
25
- if (customId.length > 100)
26
- throw new Error("Custom id cannot be longer than 100 characters.");
27
- return customId;
28
- }
29
- exports.customIdBuilder = customIdBuilder;
30
- function parseCustomId(dbi, customId) {
31
- let splitted = customId.split("—");
32
- let name = splitted.shift();
33
- let data = splitted.map(value => {
34
- if (value.startsWith("π"))
35
- return Number(value.slice(1));
36
- if (value.startsWith("¤"))
37
- return dbi.data.refs.get(value.slice(1))?.value;
38
- return value;
39
- });
40
- return {
41
- name,
42
- data
43
- };
44
- }
45
- exports.parseCustomId = parseCustomId;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCustomId = exports.customIdBuilder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const stuffs = tslib_1.__importStar(require("stuffs"));
6
+ function customIdBuilder(dbi, name, customData, ttl) {
7
+ let customId = [
8
+ name,
9
+ ...customData.map(value => {
10
+ if (typeof value == "string")
11
+ return value;
12
+ if (typeof value == "number")
13
+ return `π${value}`;
14
+ let id = stuffs.randomString(8);
15
+ Object.assign(value, {
16
+ $ref: id,
17
+ $unRef() { return dbi.data.refs.delete(id); },
18
+ });
19
+ dbi.data.refs.set(id, { at: Date.now(), value, ttl });
20
+ return `¤${id}`;
21
+ })
22
+ ].join("—");
23
+ if (!dbi.config.strict)
24
+ customId = customId.slice(0, 100);
25
+ if (customId.length > 100)
26
+ throw new Error("Custom id cannot be longer than 100 characters.");
27
+ return customId;
28
+ }
29
+ exports.customIdBuilder = customIdBuilder;
30
+ function parseCustomId(dbi, customId) {
31
+ let splitted = customId.split("—");
32
+ let name = splitted.shift();
33
+ let data = splitted.map(value => {
34
+ if (value.startsWith("π"))
35
+ return Number(value.slice(1));
36
+ if (value.startsWith("¤"))
37
+ return dbi.data.refs.get(value.slice(1))?.value;
38
+ return value;
39
+ });
40
+ return {
41
+ name,
42
+ data
43
+ };
44
+ }
45
+ exports.parseCustomId = parseCustomId;
46
46
  //# sourceMappingURL=customId.js.map
@@ -1,3 +1,3 @@
1
- import { PermissionsString } from "discord.js";
2
- export declare function reducePermissions(permStrings?: PermissionsString[]): bigint;
1
+ import { PermissionsString } from "discord.js";
2
+ export declare function reducePermissions(permStrings?: PermissionsString[]): bigint;
3
3
  //# sourceMappingURL=permissions.d.ts.map
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reducePermissions = void 0;
4
- const discord_js_1 = require("discord.js");
5
- function reducePermissions(permStrings = []) {
6
- return permStrings.reduce((all, curr) => discord_js_1.PermissionFlagsBits[curr] | all, 0n);
7
- }
8
- exports.reducePermissions = reducePermissions;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reducePermissions = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ function reducePermissions(permStrings = []) {
6
+ return permStrings.reduce((all, curr) => discord_js_1.PermissionFlagsBits[curr] | all, 0n);
7
+ }
8
+ exports.reducePermissions = reducePermissions;
9
9
  //# sourceMappingURL=permissions.js.map
@@ -1,5 +1,5 @@
1
- /**
2
- * Usage: `await recursiveImport("./src", [".js", ".ts"])`
3
- */
4
- export declare function recursiveImport(folderPath: string, exts?: string[]): Promise<any>;
1
+ /**
2
+ * Usage: `await recursiveImport("./src", [".js", ".ts"])`
3
+ */
4
+ export declare function recursiveImport(folderPath: string, exts?: string[]): Promise<any>;
5
5
  //# sourceMappingURL=recursiveImport.d.ts.map
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recursiveImport = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_1 = tslib_1.__importDefault(require("fs"));
6
- const path_1 = tslib_1.__importDefault(require("path"));
7
- /**
8
- * Usage: `await recursiveImport("./src", [".js", ".ts"])`
9
- */
10
- async function recursiveImport(folderPath, exts = [".js", ".ts"]) {
11
- let files = await fs_1.default.promises.readdir(folderPath, { withFileTypes: true });
12
- let dirName = __dirname;
13
- for (const file of files) {
14
- let filePath = path_1.default.resolve(folderPath, file.name);
15
- let relative = path_1.default.relative(dirName, filePath);
16
- if (!relative.includes(`${path_1.default.sep}-`)) {
17
- if (file.isDirectory()) {
18
- await recursiveImport(filePath, exts);
19
- }
20
- else if (exts.some(i => file.name.endsWith(i))) {
21
- await Promise.resolve().then(() => tslib_1.__importStar(require(filePath)));
22
- }
23
- }
24
- }
25
- }
26
- exports.recursiveImport = recursiveImport;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recursiveImport = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
6
+ const path_1 = tslib_1.__importDefault(require("path"));
7
+ /**
8
+ * Usage: `await recursiveImport("./src", [".js", ".ts"])`
9
+ */
10
+ async function recursiveImport(folderPath, exts = [".js", ".ts"]) {
11
+ let files = await fs_1.default.promises.readdir(folderPath, { withFileTypes: true });
12
+ let dirName = __dirname;
13
+ for (const file of files) {
14
+ let filePath = path_1.default.resolve(folderPath, file.name);
15
+ let relative = path_1.default.relative(dirName, filePath);
16
+ if (!relative.includes(`${path_1.default.sep}-`)) {
17
+ if (file.isDirectory()) {
18
+ await recursiveImport(filePath, exts);
19
+ }
20
+ else if (exts.some(i => file.name.endsWith(i))) {
21
+ await Promise.resolve().then(() => tslib_1.__importStar(require(filePath)));
22
+ }
23
+ }
24
+ }
25
+ }
26
+ exports.recursiveImport = recursiveImport;
27
27
  //# sourceMappingURL=recursiveImport.js.map
package/package.json CHANGED
@@ -3,13 +3,13 @@
3
3
  "@discordjs/rest": "^1.0.1",
4
4
  "discord-api-types": "^0.37.0",
5
5
  "discord-hybrid-sharding": "^1.7.4",
6
- "discord.js": "^14.6.0",
6
+ "discord.js": "^14.7.0",
7
7
  "lodash": "^4.17.21",
8
8
  "snakecase-keys": "^5.4.2",
9
9
  "stuffs": "^0.1.21"
10
10
  },
11
11
  "name": "@mostfeatured/dbi",
12
- "version": "0.0.53",
12
+ "version": "0.0.55",
13
13
  "main": "dist/index.js",
14
14
  "type": "commonjs",
15
15
  "private": false,
@@ -5,13 +5,14 @@ import { customIdBuilder } from "../utils/customId";
5
5
  import { IDBIToJSONArgs } from "../utils/UtilTypes";
6
6
  import { NamespaceEnums } from "../../generated/namespaceData";
7
7
  import stuffs from "stuffs";
8
+ import { DBIButtonBuilder, DBIButtonOverrides } from "./ButtonBuilder";
8
9
 
9
10
  export interface IDBIButtonExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
10
11
  interaction: Discord.ButtonInteraction<"cached">;
11
12
  data: TDBIReferencedData[];
12
13
  }
13
14
 
14
- export type TDBIButtonOmitted<TNamespace extends NamespaceEnums> = Omit<DBIButton<TNamespace>, "type" | "description" | "dbi" | "toJSON">;
15
+ export type TDBIButtonOmitted<TNamespace extends NamespaceEnums> = Omit<DBIButton<TNamespace>, "type" | "description" | "dbi" | "toJSON" | "createBuilder">;
15
16
 
16
17
  export class DBIButton<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
17
18
  constructor(dbi: DBI<TNamespace>, args: TDBIButtonOmitted<TNamespace>) {
@@ -24,11 +25,15 @@ export class DBIButton<TNamespace extends NamespaceEnums> extends DBIBaseInterac
24
25
  declare options?: Omit<Discord.ButtonComponentData, "customId" | "type">;
25
26
 
26
27
  override onExecute(ctx: IDBIButtonExecuteCtx<TNamespace>): Promise<void> | void { };
27
- toJSON(arg: IDBIToJSONArgs<Omit<Discord.ButtonComponentData, "customId" | "type">> = {} as any): Discord.ButtonComponentData {
28
+ toJSON(arg: IDBIToJSONArgs<DBIButtonOverrides> = {}): Discord.ButtonComponentData {
28
29
  return {
29
30
  ...stuffs.defaultify((arg?.overrides || {}), this.options || {}, true),
30
31
  customId: customIdBuilder(this.dbi as any, this.name, arg?.reference?.data || [], arg?.reference?.ttl),
31
32
  type: Discord.ComponentType.Button,
32
33
  } as any;
33
34
  };
35
+ createBuilder(arg: IDBIToJSONArgs<DBIButtonOverrides> = {}): DBIButtonBuilder<TNamespace> {
36
+ return new DBIButtonBuilder({ component: this, ...arg })
37
+ }
38
+
34
39
  }