@mostfeatured/dbi 0.1.19 โ†’ 0.1.21

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 (64) hide show
  1. package/dist/DBI.js.map +1 -1
  2. package/dist/Events.d.ts.map +1 -1
  3. package/dist/Events.js.map +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/methods/handleMessageCommands.js +1 -2
  7. package/dist/methods/handleMessageCommands.js.map +1 -1
  8. package/dist/methods/hookEventListeners.js +1 -2
  9. package/dist/methods/hookEventListeners.js.map +1 -1
  10. package/dist/methods/hookInteractionListeners.js +1 -2
  11. package/dist/methods/hookInteractionListeners.js.map +1 -1
  12. package/dist/methods/publishInteractions.js +3 -4
  13. package/dist/methods/publishInteractions.js.map +1 -1
  14. package/dist/types/Builders/ButtonBuilder.d.ts +4 -4
  15. package/dist/types/Builders/ButtonBuilder.d.ts.map +1 -1
  16. package/dist/types/Builders/ButtonBuilder.js.map +1 -1
  17. package/dist/types/Builders/ChannelSelectMenuBuilder.d.ts +4 -4
  18. package/dist/types/Builders/ChannelSelectMenuBuilder.d.ts.map +1 -1
  19. package/dist/types/Builders/ChannelSelectMenuBuilder.js.map +1 -1
  20. package/dist/types/Builders/MentionableSelectMenuBuilder.d.ts +4 -4
  21. package/dist/types/Builders/MentionableSelectMenuBuilder.d.ts.map +1 -1
  22. package/dist/types/Builders/MentionableSelectMenuBuilder.js.map +1 -1
  23. package/dist/types/Builders/ModalBuilder.d.ts +4 -4
  24. package/dist/types/Builders/ModalBuilder.d.ts.map +1 -1
  25. package/dist/types/Builders/ModalBuilder.js.map +1 -1
  26. package/dist/types/Builders/RoleSelectMenuBuilder.d.ts +4 -4
  27. package/dist/types/Builders/RoleSelectMenuBuilder.d.ts.map +1 -1
  28. package/dist/types/Builders/RoleSelectMenuBuilder.js.map +1 -1
  29. package/dist/types/Builders/StringSelectMenuBuilder.d.ts +4 -4
  30. package/dist/types/Builders/StringSelectMenuBuilder.d.ts.map +1 -1
  31. package/dist/types/Builders/StringSelectMenuBuilder.js.map +1 -1
  32. package/dist/types/Builders/UserSelectMenuBuilder.d.ts +4 -4
  33. package/dist/types/Builders/UserSelectMenuBuilder.d.ts.map +1 -1
  34. package/dist/types/Builders/UserSelectMenuBuilder.js.map +1 -1
  35. package/dist/types/ChatInput/ChatInputOptions.d.ts +16 -16
  36. package/dist/types/ChatInput/ChatInputOptions.d.ts.map +1 -1
  37. package/dist/types/other/FakeMessageInteraction.js.map +1 -1
  38. package/dist/types/other/Locale.js +2 -2
  39. package/dist/types/other/Locale.js.map +1 -1
  40. package/dist/utils/MemoryStore.js.map +1 -1
  41. package/dist/utils/UtilTypes.d.ts +1 -1
  42. package/dist/utils/UtilTypes.d.ts.map +1 -1
  43. package/dist/utils/UtilTypes.js.map +1 -1
  44. package/dist/utils/customId.d.ts.map +1 -1
  45. package/dist/utils/customId.js +14 -3
  46. package/dist/utils/customId.js.map +1 -1
  47. package/dist/utils/permissions.js +1 -2
  48. package/dist/utils/permissions.js.map +1 -1
  49. package/dist/utils/recursiveImport.js +1 -2
  50. package/dist/utils/recursiveImport.js.map +1 -1
  51. package/dist/utils/recursiveUnload.js +1 -2
  52. package/dist/utils/recursiveUnload.js.map +1 -1
  53. package/dist/utils/unloadModule.js +1 -2
  54. package/dist/utils/unloadModule.js.map +1 -1
  55. package/package.json +3 -2
  56. package/src/types/Builders/ButtonBuilder.ts +4 -4
  57. package/src/types/Builders/ChannelSelectMenuBuilder.ts +5 -5
  58. package/src/types/Builders/MentionableSelectMenuBuilder.ts +5 -5
  59. package/src/types/Builders/ModalBuilder.ts +4 -4
  60. package/src/types/Builders/RoleSelectMenuBuilder.ts +5 -5
  61. package/src/types/Builders/StringSelectMenuBuilder.ts +5 -5
  62. package/src/types/Builders/UserSelectMenuBuilder.ts +5 -5
  63. package/src/utils/UtilTypes.ts +1 -1
  64. package/src/utils/customId.ts +8 -2
@@ -1 +1 @@
1
- {"version":3,"file":"customId.js","sourceRoot":"","sources":["../../src/utils/customId.ts"],"names":[],"mappings":";;;;AACA,uDAAiC;AAGjC,SAAgB,aAAa,CAAC,GAAwB,EAAE,IAAY,EAAE,IAAW,EAAE,GAAW;IAC5F,IAAI,QAAQ,GAAG;QACb,IAAI;QACJ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,OAAO,KAAK,IAAI,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC3C,IAAI,OAAO,KAAK,IAAI,QAAQ;gBAAE,OAAO,IAAI,KAAK,EAAE,CAAC;YACjD,IAAI,OAAO,KAAK,IAAI,SAAS;gBAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACnB,IAAI,EAAE,EAAE;gBACR,MAAM,KAAK,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAA;YACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;KACH,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM;QAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAC7F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnBD,sCAmBC;AAED,SAAgB,aAAa,CAAC,GAAwB,EAAE,QAAgB;IACtE,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,IAAI;KACL,CAAA;AACH,CAAC;AAbD,sCAaC","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport * as stuffs from \"stuffs\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\n\r\nexport function buildCustomId(dbi: DBI<NamespaceEnums>, name: string, data: any[], ttl?:number): string {\r\n let customId = [\r\n name,\r\n ...data.map(value => {\r\n if (typeof value == \"string\") return value;\r\n if (typeof value == \"number\") return `ฯ€${value}`;\r\n if (typeof value == \"boolean\") return `๐žซ${value ? 1 : 0}`;\r\n let id = stuffs.randomString(8);\r\n Object.assign(value, {\r\n $ref: id,\r\n $unRef() { return dbi.data.refs.delete(id); },\r\n })\r\n dbi.data.refs.set(id, { at: Date.now(), value, ttl });\r\n return `ยค${id}`;\r\n })\r\n ].join(\"โ€”\");\r\n if (!dbi.config.strict) customId = customId.slice(0, 100);\r\n if (customId.length > 100) throw new Error(\"Custom id cannot be longer than 100 characters.\")\r\n return customId;\r\n}\r\n\r\nexport function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): {name: string, data: any[]} {\r\n let splitted = customId.split(\"โ€”\");\r\n let name = splitted.shift();\r\n let data = splitted.map(value => {\r\n if (value.startsWith(\"ฯ€\")) return Number(value.slice(1));\r\n if (value.startsWith(\"๐žซ\")) return !!Number(value.slice(1));\r\n if (value.startsWith(\"ยค\")) return dbi.data.refs.get(value.slice(1))?.value;\r\n return value;\r\n });\r\n return {\r\n name,\r\n data\r\n }\r\n}"]}
1
+ {"version":3,"file":"customId.js","sourceRoot":"","sources":["../../src/utils/customId.ts"],"names":[],"mappings":"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","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport * as stuffs from \"stuffs\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\n\r\nexport function buildCustomId(dbi: DBI<NamespaceEnums>, name: string, data: any[], ttl?: number): string {\r\n let customId = [\r\n name,\r\n ...data.map(value => {\r\n if (typeof value == \"string\") return value;\r\n if (typeof value == \"number\") return `ฯ€${value}`;\r\n if (typeof value == \"bigint\") return `แ™–${value.toString()}`;\r\n if (typeof value == \"boolean\") return `๐žซ${value ? 1 : 0}`;\r\n if (typeof value == \"undefined\") return \"๐Ÿ—ถu\";\r\n if (value === null) return \"๐Ÿ—ถn\";\r\n let id = stuffs.randomString(8);\r\n Object.assign(value, {\r\n $ref: id,\r\n $unRef() { return dbi.data.refs.delete(id); },\r\n })\r\n dbi.data.refs.set(id, { at: Date.now(), value, ttl });\r\n return `ยค${id}`;\r\n })\r\n ].join(\"โ€”\");\r\n if (!dbi.config.strict) customId = customId.slice(0, 100);\r\n if (customId.length > 100) throw new Error(\"Custom id cannot be longer than 100 characters.\")\r\n return customId;\r\n}\r\n\r\nexport function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): { name: string, data: any[] } {\r\n let splitted = customId.split(\"โ€”\");\r\n let name = splitted.shift();\r\n let data = splitted.map(value => {\r\n if (value.startsWith(\"ฯ€\")) return Number(value.slice(1));\r\n if (value.startsWith(\"๐žซ\")) return !!Number(value.slice(1));\r\n if (value.startsWith(\"แ™–\")) return BigInt(value.slice(1));\r\n if (value.startsWith(\"ยค\")) return dbi.data.refs.get(value.slice(1))?.value;\r\n if (value == \"๐Ÿ—ถu\") return undefined;\r\n if (value == \"๐Ÿ—ถn\") return null;\r\n return value;\r\n });\r\n return {\r\n name,\r\n data\r\n }\r\n}"]}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reducePermissions = void 0;
3
+ exports.reducePermissions = reducePermissions;
4
4
  const discord_js_1 = require("discord.js");
5
5
  function reducePermissions(permStrings = []) {
6
6
  return permStrings.reduce((all, curr) => discord_js_1.PermissionFlagsBits[curr] | all, 0n);
7
7
  }
8
- exports.reducePermissions = reducePermissions;
9
8
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AAEpE,SAAgB,iBAAiB,CAAC,cAAmC,EAAE;IACrE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,gCAAmB,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAFD,8CAEC","sourcesContent":["import { PermissionFlagsBits, PermissionsString } from \"discord.js\";\r\n\r\nexport function reducePermissions(permStrings: PermissionsString[] = []): bigint {\r\n return permStrings.reduce((all, curr) => PermissionFlagsBits[curr] | all, 0n);\r\n}"]}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":";;AAEA,8CAEC;AAJD,2CAAoE;AAEpE,SAAgB,iBAAiB,CAAC,cAAmC,EAAE;IACrE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,gCAAmB,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { PermissionFlagsBits, PermissionsString } from \"discord.js\";\r\n\r\nexport function reducePermissions(permStrings: PermissionsString[] = []): bigint {\r\n return permStrings.reduce((all, curr) => PermissionFlagsBits[curr] | all, 0n);\r\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recursiveImport = void 0;
3
+ exports.recursiveImport = recursiveImport;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs_1 = tslib_1.__importDefault(require("fs"));
6
6
  const path_1 = tslib_1.__importDefault(require("path"));
@@ -24,5 +24,4 @@ async function recursiveImport(folderPath, exts = [".js"], ignore = [".d.ts", ".
24
24
  }
25
25
  }
26
26
  }
27
- exports.recursiveImport = recursiveImport;
28
27
  //# sourceMappingURL=recursiveImport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recursiveImport.js","sourceRoot":"","sources":["../../src/utils/recursiveImport.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AAExB;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,OAAiB,CAAC,KAAK,CAAC,EAAE,SAAmB,CAAC,OAAO,EAAC,SAAS,EAAC,WAAW,CAAC;IACpI,IAAI,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAI,CAAC,GAAG,GAAG,CAAC,EAAE;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;aACtC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5F,yBAAa,QAAQ,+CAAC,CAAC;aACxB;SACF;KACF;AACH,CAAC;AAfD,0CAeC","sourcesContent":["import fs from \"fs\";\r\nimport path from \"path\";\r\n\r\n/**\r\n * @example\r\n * await recursiveImport(\"./src\", [\".js\"], [\".d.ts\"])\r\n */\r\nexport async function recursiveImport(folderPath: string, exts: string[] = [\".js\"], ignore: string[] = [\".d.ts\",\".js.map\",\".d.ts.map\"]): Promise<any> {\r\n let files = await fs.promises.readdir(folderPath, { withFileTypes: true });\r\n let dirName = __dirname;\r\n\r\n for (const file of files) {\r\n let filePath = path.resolve(folderPath, file.name);\r\n let relative = path.relative(dirName, filePath);\r\n if (!relative.includes(`${path.sep}-`)) {\r\n if (file.isDirectory()) {\r\n await recursiveImport(filePath, exts)\r\n } else if (exts.some(i => file.name.endsWith(i)) && !ignore.some(i => file.name.endsWith(i))) {\r\n await import(filePath);\r\n }\r\n }\r\n }\r\n}"]}
1
+ {"version":3,"file":"recursiveImport.js","sourceRoot":"","sources":["../../src/utils/recursiveImport.ts"],"names":[],"mappings":";;AAOA,0CAeC;;AAtBD,oDAAoB;AACpB,wDAAwB;AAExB;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,OAAiB,CAAC,KAAK,CAAC,EAAE,SAAmB,CAAC,OAAO,EAAC,SAAS,EAAC,WAAW,CAAC;IACpI,IAAI,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,yBAAa,QAAQ,+CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import fs from \"fs\";\r\nimport path from \"path\";\r\n\r\n/**\r\n * @example\r\n * await recursiveImport(\"./src\", [\".js\"], [\".d.ts\"])\r\n */\r\nexport async function recursiveImport(folderPath: string, exts: string[] = [\".js\"], ignore: string[] = [\".d.ts\",\".js.map\",\".d.ts.map\"]): Promise<any> {\r\n let files = await fs.promises.readdir(folderPath, { withFileTypes: true });\r\n let dirName = __dirname;\r\n\r\n for (const file of files) {\r\n let filePath = path.resolve(folderPath, file.name);\r\n let relative = path.relative(dirName, filePath);\r\n if (!relative.includes(`${path.sep}-`)) {\r\n if (file.isDirectory()) {\r\n await recursiveImport(filePath, exts)\r\n } else if (exts.some(i => file.name.endsWith(i)) && !ignore.some(i => file.name.endsWith(i))) {\r\n await import(filePath);\r\n }\r\n }\r\n }\r\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recursiveUnload = void 0;
3
+ exports.recursiveUnload = recursiveUnload;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs_1 = tslib_1.__importDefault(require("fs"));
6
6
  const path_1 = tslib_1.__importDefault(require("path"));
@@ -26,5 +26,4 @@ async function recursiveUnload(folderPath, exts = [".js"], ignore = [".d.ts", ".
26
26
  }
27
27
  }
28
28
  }
29
- exports.recursiveUnload = recursiveUnload;
30
29
  //# sourceMappingURL=recursiveUnload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recursiveUnload.js","sourceRoot":"","sources":["../../src/utils/recursiveUnload.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AACxB,iDAA8C;AAE9C;;;;GAIG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,OAAiB,CAAC,KAAK,CAAC,EAAE,SAAmB,CAAC,OAAO,EAAC,SAAS,EAAC,WAAW,CAAC;IACpI,IAAI,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAI,CAAC,GAAG,GAAG,CAAC,EAAE;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;aACtC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5F,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAA;aACvB;SACF;KACF;AACH,CAAC;AAfD,0CAeC","sourcesContent":["import fs from \"fs\";\r\nimport path from \"path\";\r\nimport { unloadModule } from \"./unloadModule\";\r\n\r\n/**\r\n * @example\r\n * await recursiveUnload(\"./src\", [\".js\"], [\".d.ts\"])\r\n * await dbi.unload()\r\n */\r\nexport async function recursiveUnload(folderPath: string, exts: string[] = [\".js\"], ignore: string[] = [\".d.ts\",\".js.map\",\".d.ts.map\"]): Promise<any> {\r\n let files = await fs.promises.readdir(folderPath, { withFileTypes: true });\r\n let dirName = __dirname;\r\n\r\n for (const file of files) {\r\n let filePath = path.resolve(folderPath, file.name);\r\n let relative = path.relative(dirName, filePath);\r\n if (!relative.includes(`${path.sep}-`)) {\r\n if (file.isDirectory()) {\r\n await recursiveUnload(filePath, exts)\r\n } else if (exts.some(i => file.name.endsWith(i)) && !ignore.some(i => file.name.endsWith(i))) {\r\n unloadModule(filePath)\r\n }\r\n }\r\n }\r\n}"]}
1
+ {"version":3,"file":"recursiveUnload.js","sourceRoot":"","sources":["../../src/utils/recursiveUnload.ts"],"names":[],"mappings":";;AASA,0CAeC;;AAxBD,oDAAoB;AACpB,wDAAwB;AACxB,iDAA8C;AAE9C;;;;GAIG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,OAAiB,CAAC,KAAK,CAAC,EAAE,SAAmB,CAAC,OAAO,EAAC,SAAS,EAAC,WAAW,CAAC;IACpI,IAAI,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,cAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import fs from \"fs\";\r\nimport path from \"path\";\r\nimport { unloadModule } from \"./unloadModule\";\r\n\r\n/**\r\n * @example\r\n * await recursiveUnload(\"./src\", [\".js\"], [\".d.ts\"])\r\n * await dbi.unload()\r\n */\r\nexport async function recursiveUnload(folderPath: string, exts: string[] = [\".js\"], ignore: string[] = [\".d.ts\",\".js.map\",\".d.ts.map\"]): Promise<any> {\r\n let files = await fs.promises.readdir(folderPath, { withFileTypes: true });\r\n let dirName = __dirname;\r\n\r\n for (const file of files) {\r\n let filePath = path.resolve(folderPath, file.name);\r\n let relative = path.relative(dirName, filePath);\r\n if (!relative.includes(`${path.sep}-`)) {\r\n if (file.isDirectory()) {\r\n await recursiveUnload(filePath, exts)\r\n } else if (exts.some(i => file.name.endsWith(i)) && !ignore.some(i => file.name.endsWith(i))) {\r\n unloadModule(filePath)\r\n }\r\n }\r\n }\r\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unloadModule = void 0;
3
+ exports.unloadModule = unloadModule;
4
4
  function unloadModule(modulePath) {
5
5
  let nodeModule = require.cache[modulePath];
6
6
  if (nodeModule) {
@@ -9,5 +9,4 @@ function unloadModule(modulePath) {
9
9
  }
10
10
  delete require.cache[modulePath];
11
11
  }
12
- exports.unloadModule = unloadModule;
13
12
  //# sourceMappingURL=unloadModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unloadModule.js","sourceRoot":"","sources":["../../src/utils/unloadModule.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,UAAU;IACrC,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,UAAU,CAAC,QAAQ;YAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAC/D;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAND,oCAMC","sourcesContent":["export function unloadModule(modulePath) {\r\n let nodeModule = require.cache[modulePath];\r\n if (nodeModule) {\r\n for (let child of nodeModule.children) unloadModule(child.id);\r\n }\r\n delete require.cache[modulePath];\r\n}"]}
1
+ {"version":3,"file":"unloadModule.js","sourceRoot":"","sources":["../../src/utils/unloadModule.ts"],"names":[],"mappings":";;AAAA,oCAMC;AAND,SAAgB,YAAY,CAAC,UAAU;IACrC,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,IAAI,KAAK,IAAI,UAAU,CAAC,QAAQ;YAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC","sourcesContent":["export function unloadModule(modulePath) {\r\n let nodeModule = require.cache[modulePath];\r\n if (nodeModule) {\r\n for (let child of nodeModule.children) unloadModule(child.id);\r\n }\r\n delete require.cache[modulePath];\r\n}"]}
package/package.json CHANGED
@@ -8,10 +8,11 @@
8
8
  "lodash": "^4.17.21",
9
9
  "plsargs": "^0.1.6",
10
10
  "snakecase-keys": "^5.4.2",
11
- "stuffs": "^0.1.21"
11
+ "stuffs": "^0.1.21",
12
+ "tslib": "^2.6.3"
12
13
  },
13
14
  "name": "@mostfeatured/dbi",
14
- "version": "0.1.19",
15
+ "version": "0.1.21",
15
16
  "main": "dist/index.js",
16
17
  "type": "commonjs",
17
18
  "private": false,
@@ -9,8 +9,8 @@ export type DBIButtonOverrides = RecursivePartial<{ style?: ButtonStyle } & Omit
9
9
  export class DBIButtonBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIButton<TNamespace>
11
11
  overrides: DBIButtonOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIButton<TNamespace>, overrides?: DBIButtonOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIButton<TNamespace>, overrides?: DBIButtonOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIButtonBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIButtonBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIButtonBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIButtonBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIButtonBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -4,13 +4,13 @@ import { NamespaceEnums } from "../../../generated/namespaceData";
4
4
  import { DBIChannelSelectMenu } from "../Components/ChannelSelectMenu";
5
5
  import { RecursivePartial } from "../../utils/UtilTypes";
6
6
 
7
- export type DBIChannelSelectMenuOverrides = RecursivePartial<Omit<ChannelSelectMenuComponentData, "customId" | "type">>
7
+ export type DBIChannelSelectMenuOverrides = RecursivePartial<Omit<ChannelSelectMenuComponentData, "customId" | "type">>
8
8
 
9
9
  export class DBIChannelSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIChannelSelectMenu<TNamespace>
11
11
  overrides: DBIChannelSelectMenuOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIChannelSelectMenu<TNamespace>, overrides?: DBIChannelSelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIChannelSelectMenu<TNamespace>, overrides?: DBIChannelSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIChannelSelectMenuBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIChannelSelectMenuBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIChannelSelectMenuBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIChannelSelectMenuBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIChannelSelectMenuBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -4,13 +4,13 @@ import { NamespaceEnums } from "../../../generated/namespaceData";
4
4
  import { DBIMentionableSelectMenu } from "../Components/MentionableSelectMenu";
5
5
  import { RecursivePartial } from "../../utils/UtilTypes";
6
6
 
7
- export type DBIMentionableSelectMenuOverrides = RecursivePartial<Omit<MentionableSelectMenuComponentData, "customId" | "type">>
7
+ export type DBIMentionableSelectMenuOverrides = RecursivePartial<Omit<MentionableSelectMenuComponentData, "customId" | "type">>
8
8
 
9
9
  export class DBIMentionableSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIMentionableSelectMenu<TNamespace>
11
11
  overrides: DBIMentionableSelectMenuOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIMentionableSelectMenu<TNamespace>, overrides?: DBIMentionableSelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIMentionableSelectMenu<TNamespace>, overrides?: DBIMentionableSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIMentionableSelectMenuBuilder<TNamespace extends NamespaceEnums>
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -9,8 +9,8 @@ export type DBIModalOverrides = RecursivePartial<{ components?: (JSONEncodable<A
9
9
  export class DBIModalBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIModal<TNamespace>
11
11
  overrides: DBIModalOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIModal<TNamespace>, overrides?: DBIModalOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIModal<TNamespace>, overrides?: DBIModalOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIModalBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIModalBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIModalBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIModalBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIModalBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -4,13 +4,13 @@ import { NamespaceEnums } from "../../../generated/namespaceData";
4
4
  import { DBIRoleSelectMenu } from "../Components/RoleSelectMenu";
5
5
  import { RecursivePartial } from "../../utils/UtilTypes";
6
6
 
7
- export type DBIRoleSelectMenuOverrides = RecursivePartial<Omit<RoleSelectMenuComponentData, "customId" | "type">>
7
+ export type DBIRoleSelectMenuOverrides = RecursivePartial<Omit<RoleSelectMenuComponentData, "customId" | "type">>
8
8
 
9
9
  export class DBIRoleSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIRoleSelectMenu<TNamespace>
11
11
  overrides: Partial<DBIRoleSelectMenuOverrides>;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIRoleSelectMenu<TNamespace>, overrides?: DBIRoleSelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIRoleSelectMenu<TNamespace>, overrides?: DBIRoleSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIRoleSelectMenuBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIRoleSelectMenuBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIRoleSelectMenuBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIRoleSelectMenuBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIRoleSelectMenuBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -4,13 +4,13 @@ import { NamespaceEnums } from "../../../generated/namespaceData";
4
4
  import { DBIStringSelectMenu } from "../Components/StringSelectMenu";
5
5
  import { RecursivePartial } from "../../utils/UtilTypes";
6
6
 
7
- export type DBIStringSelectMenuOverrides = RecursivePartial<Omit<StringSelectMenuComponentData, "customId" | "type">>
7
+ export type DBIStringSelectMenuOverrides = RecursivePartial<Omit<StringSelectMenuComponentData, "customId" | "type">>
8
8
 
9
9
  export class DBIStringSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIStringSelectMenu<TNamespace>
11
11
  overrides: DBIStringSelectMenuOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIStringSelectMenu<TNamespace>, overrides?: DBIStringSelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIStringSelectMenu<TNamespace>, overrides?: DBIStringSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIStringSelectMenuBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIStringSelectMenuBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIStringSelectMenuBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIStringSelectMenuBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIStringSelectMenuBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -4,13 +4,13 @@ import { NamespaceEnums } from "../../../generated/namespaceData";
4
4
  import { DBIUserSelectMenu } from "../Components/UserSelectMenu";
5
5
  import { RecursivePartial } from "../../utils/UtilTypes";
6
6
 
7
- export type DBIUserSelectMenuOverrides = RecursivePartial<Omit<UserSelectMenuComponentData, "customId" | "type">>
7
+ export type DBIUserSelectMenuOverrides = RecursivePartial<Omit<UserSelectMenuComponentData, "customId" | "type">>
8
8
 
9
9
  export class DBIUserSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
10
  component: DBIUserSelectMenu<TNamespace>
11
11
  overrides: DBIUserSelectMenuOverrides;
12
- reference: { data: (string | number | object)[], ttl?: number };
13
- constructor(arg: { component: DBIUserSelectMenu<TNamespace>, overrides?: DBIUserSelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
12
+ reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
+ constructor(arg: { component: DBIUserSelectMenu<TNamespace>, overrides?: DBIUserSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
14
  this.component = arg.component;
15
15
  this.overrides = arg.overrides ?? {};
16
16
  this.reference = arg.reference ?? { data: [] };
@@ -26,12 +26,12 @@ export class DBIUserSelectMenuBuilder<TNamespace extends NamespaceEnums> {
26
26
  return this;
27
27
  }
28
28
 
29
- setData(...data: (string | number | object)[]): DBIUserSelectMenuBuilder<TNamespace> {
29
+ setData(...data: (string | number | object | boolean | null | undefined)[]): DBIUserSelectMenuBuilder<TNamespace> {
30
30
  this.reference.data = data;
31
31
  return this;
32
32
  }
33
33
 
34
- addData(...data: (string | number | object)[]): DBIUserSelectMenuBuilder<TNamespace> {
34
+ addData(...data: (string | number | object | boolean | null | undefined)[]): DBIUserSelectMenuBuilder<TNamespace> {
35
35
  this.reference.data = [...this.reference.data, ...data];
36
36
  return this;
37
37
  }
@@ -1,7 +1,7 @@
1
1
  export interface IDBIToJSONArgs<T> {
2
2
  reference?: {
3
3
  ttl?: number;
4
- data: (string | number | object)[];
4
+ data: (string | number | object | boolean | null | undefined)[];
5
5
  };
6
6
  overrides?: RecursivePartial<T>;
7
7
  }
@@ -2,13 +2,16 @@ import { DBI } from "../DBI";
2
2
  import * as stuffs from "stuffs";
3
3
  import { NamespaceEnums } from "../../generated/namespaceData";
4
4
 
5
- export function buildCustomId(dbi: DBI<NamespaceEnums>, name: string, data: any[], ttl?:number): string {
5
+ export function buildCustomId(dbi: DBI<NamespaceEnums>, name: string, data: any[], ttl?: number): string {
6
6
  let customId = [
7
7
  name,
8
8
  ...data.map(value => {
9
9
  if (typeof value == "string") return value;
10
10
  if (typeof value == "number") return `ฯ€${value}`;
11
+ if (typeof value == "bigint") return `แ™–${value.toString()}`;
11
12
  if (typeof value == "boolean") return `๐žซ${value ? 1 : 0}`;
13
+ if (typeof value == "undefined") return "๐Ÿ—ถu";
14
+ if (value === null) return "๐Ÿ—ถn";
12
15
  let id = stuffs.randomString(8);
13
16
  Object.assign(value, {
14
17
  $ref: id,
@@ -23,13 +26,16 @@ export function buildCustomId(dbi: DBI<NamespaceEnums>, name: string, data: any[
23
26
  return customId;
24
27
  }
25
28
 
26
- export function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): {name: string, data: any[]} {
29
+ export function parseCustomId(dbi: DBI<NamespaceEnums>, customId: string): { name: string, data: any[] } {
27
30
  let splitted = customId.split("โ€”");
28
31
  let name = splitted.shift();
29
32
  let data = splitted.map(value => {
30
33
  if (value.startsWith("ฯ€")) return Number(value.slice(1));
31
34
  if (value.startsWith("๐žซ")) return !!Number(value.slice(1));
35
+ if (value.startsWith("แ™–")) return BigInt(value.slice(1));
32
36
  if (value.startsWith("ยค")) return dbi.data.refs.get(value.slice(1))?.value;
37
+ if (value == "๐Ÿ—ถu") return undefined;
38
+ if (value == "๐Ÿ—ถn") return null;
33
39
  return value;
34
40
  });
35
41
  return {