@ninenity/neutrun 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +5 -0
  2. package/dist/CLI/Bootstrap.d.ts +2 -0
  3. package/dist/CLI/Bootstrap.d.ts.map +1 -0
  4. package/dist/CLI/Bootstrap.js +71 -0
  5. package/dist/CLI/Bootstrap.js.map +1 -0
  6. package/dist/CLI/Localize.d.ts +2 -0
  7. package/dist/CLI/Localize.d.ts.map +1 -0
  8. package/dist/CLI/Localize.js +248 -0
  9. package/dist/CLI/Localize.js.map +1 -0
  10. package/dist/CLI/Translate.d.ts +2 -0
  11. package/dist/CLI/Translate.d.ts.map +1 -0
  12. package/dist/CLI/Translate.js +82 -0
  13. package/dist/CLI/Translate.js.map +1 -0
  14. package/dist/CLI/bin.d.ts +3 -0
  15. package/dist/CLI/bin.d.ts.map +1 -0
  16. package/dist/CLI/bin.js +36 -0
  17. package/dist/CLI/bin.js.map +1 -0
  18. package/dist/Emojis/EmojiLoader.d.ts +4 -0
  19. package/dist/Emojis/EmojiLoader.d.ts.map +1 -0
  20. package/dist/Emojis/EmojiLoader.js +262 -0
  21. package/dist/Emojis/EmojiLoader.js.map +1 -0
  22. package/dist/Emojis/Pool.d.ts +3 -0
  23. package/dist/Emojis/Pool.d.ts.map +1 -0
  24. package/dist/Emojis/Pool.js +33 -0
  25. package/dist/Emojis/Pool.js.map +1 -0
  26. package/dist/Emojis/index.d.ts +3 -0
  27. package/dist/Emojis/index.d.ts.map +1 -0
  28. package/dist/Emojis/index.js +9 -0
  29. package/dist/Emojis/index.js.map +1 -0
  30. package/dist/Emojis/types.d.ts +15 -0
  31. package/dist/Emojis/types.d.ts.map +1 -0
  32. package/dist/Emojis/types.js +3 -0
  33. package/dist/Emojis/types.js.map +1 -0
  34. package/dist/I18n/index.d.ts +34 -0
  35. package/dist/I18n/index.d.ts.map +1 -0
  36. package/dist/I18n/index.js +77 -0
  37. package/dist/I18n/index.js.map +1 -0
  38. package/dist/Logger/Color.d.ts +15 -0
  39. package/dist/Logger/Color.d.ts.map +1 -0
  40. package/dist/Logger/Color.js +54 -0
  41. package/dist/Logger/Color.js.map +1 -0
  42. package/dist/Logger/index.d.ts +38 -0
  43. package/dist/Logger/index.d.ts.map +1 -0
  44. package/dist/Logger/index.js +577 -0
  45. package/dist/Logger/index.js.map +1 -0
  46. package/dist/Modules/Bots/index.d.ts +4 -0
  47. package/dist/Modules/Bots/index.d.ts.map +1 -0
  48. package/dist/Modules/Bots/index.js +45 -0
  49. package/dist/Modules/Bots/index.js.map +1 -0
  50. package/dist/Modules/Component/index.d.ts +14 -0
  51. package/dist/Modules/Component/index.d.ts.map +1 -0
  52. package/dist/Modules/Component/index.js +32 -0
  53. package/dist/Modules/Component/index.js.map +1 -0
  54. package/dist/Modules/Config/index.d.ts +5 -0
  55. package/dist/Modules/Config/index.d.ts.map +1 -0
  56. package/dist/Modules/Config/index.js +13 -0
  57. package/dist/Modules/Config/index.js.map +1 -0
  58. package/dist/Modules/Database/index.d.ts +15 -0
  59. package/dist/Modules/Database/index.d.ts.map +1 -0
  60. package/dist/Modules/Database/index.js +22 -0
  61. package/dist/Modules/Database/index.js.map +1 -0
  62. package/dist/Modules/Diagnostics/ModuleDiagnostics.d.ts +18 -0
  63. package/dist/Modules/Diagnostics/ModuleDiagnostics.d.ts.map +1 -0
  64. package/dist/Modules/Diagnostics/ModuleDiagnostics.js +101 -0
  65. package/dist/Modules/Diagnostics/ModuleDiagnostics.js.map +1 -0
  66. package/dist/Modules/Diagnostics/index.d.ts +3 -0
  67. package/dist/Modules/Diagnostics/index.d.ts.map +1 -0
  68. package/dist/Modules/Diagnostics/index.js +7 -0
  69. package/dist/Modules/Diagnostics/index.js.map +1 -0
  70. package/dist/Modules/Logs/index.d.ts +4 -0
  71. package/dist/Modules/Logs/index.d.ts.map +1 -0
  72. package/dist/Modules/Logs/index.js +11 -0
  73. package/dist/Modules/Logs/index.js.map +1 -0
  74. package/dist/Modules/Storage/index.d.ts +3 -0
  75. package/dist/Modules/Storage/index.d.ts.map +1 -0
  76. package/dist/Modules/Storage/index.js +11 -0
  77. package/dist/Modules/Storage/index.js.map +1 -0
  78. package/dist/Modules/index.d.ts +8 -0
  79. package/dist/Modules/index.d.ts.map +1 -0
  80. package/dist/Modules/index.js +45 -0
  81. package/dist/Modules/index.js.map +1 -0
  82. package/dist/Shared/Autocomplete.d.ts +31 -0
  83. package/dist/Shared/Autocomplete.d.ts.map +1 -0
  84. package/dist/Shared/Autocomplete.js +37 -0
  85. package/dist/Shared/Autocomplete.js.map +1 -0
  86. package/dist/Shared/ChannelLoader.d.ts +4 -0
  87. package/dist/Shared/ChannelLoader.d.ts.map +1 -0
  88. package/dist/Shared/ChannelLoader.js +133 -0
  89. package/dist/Shared/ChannelLoader.js.map +1 -0
  90. package/dist/Shared/Client.d.ts +30 -0
  91. package/dist/Shared/Client.d.ts.map +1 -0
  92. package/dist/Shared/Client.js +517 -0
  93. package/dist/Shared/Client.js.map +1 -0
  94. package/dist/Shared/ComponentAutoDeploy.d.ts +3 -0
  95. package/dist/Shared/ComponentAutoDeploy.d.ts.map +1 -0
  96. package/dist/Shared/ComponentAutoDeploy.js +230 -0
  97. package/dist/Shared/ComponentAutoDeploy.js.map +1 -0
  98. package/dist/Shared/ComponentRuntime.d.ts +43 -0
  99. package/dist/Shared/ComponentRuntime.d.ts.map +1 -0
  100. package/dist/Shared/ComponentRuntime.js +393 -0
  101. package/dist/Shared/ComponentRuntime.js.map +1 -0
  102. package/dist/Shared/Config.d.ts +6 -0
  103. package/dist/Shared/Config.d.ts.map +1 -0
  104. package/dist/Shared/Config.js +15 -0
  105. package/dist/Shared/Config.js.map +1 -0
  106. package/dist/Shared/ConfigLoader.d.ts +2 -0
  107. package/dist/Shared/ConfigLoader.d.ts.map +1 -0
  108. package/dist/Shared/ConfigLoader.js +74 -0
  109. package/dist/Shared/ConfigLoader.js.map +1 -0
  110. package/dist/Shared/ConfigProxy.d.ts +2 -0
  111. package/dist/Shared/ConfigProxy.d.ts.map +1 -0
  112. package/dist/Shared/ConfigProxy.js +46 -0
  113. package/dist/Shared/ConfigProxy.js.map +1 -0
  114. package/dist/Shared/ConsoleLog.d.ts +7 -0
  115. package/dist/Shared/ConsoleLog.d.ts.map +1 -0
  116. package/dist/Shared/ConsoleLog.js +23 -0
  117. package/dist/Shared/ConsoleLog.js.map +1 -0
  118. package/dist/Shared/CooldownManager.d.ts +16 -0
  119. package/dist/Shared/CooldownManager.d.ts.map +1 -0
  120. package/dist/Shared/CooldownManager.js +167 -0
  121. package/dist/Shared/CooldownManager.js.map +1 -0
  122. package/dist/Shared/Definer.d.ts +10 -0
  123. package/dist/Shared/Definer.d.ts.map +1 -0
  124. package/dist/Shared/Definer.js +711 -0
  125. package/dist/Shared/Definer.js.map +1 -0
  126. package/dist/Shared/EventBus.d.ts +48 -0
  127. package/dist/Shared/EventBus.d.ts.map +1 -0
  128. package/dist/Shared/EventBus.js +181 -0
  129. package/dist/Shared/EventBus.js.map +1 -0
  130. package/dist/Shared/InteractionContext.d.ts +12 -0
  131. package/dist/Shared/InteractionContext.d.ts.map +1 -0
  132. package/dist/Shared/InteractionContext.js +34 -0
  133. package/dist/Shared/InteractionContext.js.map +1 -0
  134. package/dist/Shared/InteractionManager.d.ts +27 -0
  135. package/dist/Shared/InteractionManager.d.ts.map +1 -0
  136. package/dist/Shared/InteractionManager.js +256 -0
  137. package/dist/Shared/InteractionManager.js.map +1 -0
  138. package/dist/Shared/LocalBotRegistry.d.ts +14 -0
  139. package/dist/Shared/LocalBotRegistry.d.ts.map +1 -0
  140. package/dist/Shared/LocalBotRegistry.js +140 -0
  141. package/dist/Shared/LocalBotRegistry.js.map +1 -0
  142. package/dist/Shared/LogTransport.d.ts +49 -0
  143. package/dist/Shared/LogTransport.d.ts.map +1 -0
  144. package/dist/Shared/LogTransport.js +357 -0
  145. package/dist/Shared/LogTransport.js.map +1 -0
  146. package/dist/Shared/Neutrun.d.ts +55 -0
  147. package/dist/Shared/Neutrun.d.ts.map +1 -0
  148. package/dist/Shared/Neutrun.js +269 -0
  149. package/dist/Shared/Neutrun.js.map +1 -0
  150. package/dist/Shared/Plugin.d.ts +8 -0
  151. package/dist/Shared/Plugin.d.ts.map +1 -0
  152. package/dist/Shared/Plugin.js +3 -0
  153. package/dist/Shared/Plugin.js.map +1 -0
  154. package/dist/Shared/Pool.d.ts +3 -0
  155. package/dist/Shared/Pool.d.ts.map +1 -0
  156. package/dist/Shared/Pool.js +29 -0
  157. package/dist/Shared/Pool.js.map +1 -0
  158. package/dist/Shared/ProcessManager.d.ts +11 -0
  159. package/dist/Shared/ProcessManager.d.ts.map +1 -0
  160. package/dist/Shared/ProcessManager.js +56 -0
  161. package/dist/Shared/ProcessManager.js.map +1 -0
  162. package/dist/Shared/QueueManager.d.ts +9 -0
  163. package/dist/Shared/QueueManager.d.ts.map +1 -0
  164. package/dist/Shared/QueueManager.js +65 -0
  165. package/dist/Shared/QueueManager.js.map +1 -0
  166. package/dist/Shared/RoleLoader.d.ts +4 -0
  167. package/dist/Shared/RoleLoader.d.ts.map +1 -0
  168. package/dist/Shared/RoleLoader.js +138 -0
  169. package/dist/Shared/RoleLoader.js.map +1 -0
  170. package/dist/Shared/Supervisor.d.ts +67 -0
  171. package/dist/Shared/Supervisor.d.ts.map +1 -0
  172. package/dist/Shared/Supervisor.js +308 -0
  173. package/dist/Shared/Supervisor.js.map +1 -0
  174. package/dist/Shared/TelemetryService.d.ts +63 -0
  175. package/dist/Shared/TelemetryService.d.ts.map +1 -0
  176. package/dist/Shared/TelemetryService.js +631 -0
  177. package/dist/Shared/TelemetryService.js.map +1 -0
  178. package/dist/Shared/Utils.d.ts +94 -0
  179. package/dist/Shared/Utils.d.ts.map +1 -0
  180. package/dist/Shared/Utils.js +390 -0
  181. package/dist/Shared/Utils.js.map +1 -0
  182. package/dist/Shared/WebSocket.d.ts +15 -0
  183. package/dist/Shared/WebSocket.d.ts.map +1 -0
  184. package/dist/Shared/WebSocket.js +599 -0
  185. package/dist/Shared/WebSocket.js.map +1 -0
  186. package/dist/Types/Client.Type.d.ts +130 -0
  187. package/dist/Types/Client.Type.d.ts.map +1 -0
  188. package/dist/Types/Client.Type.js +182 -0
  189. package/dist/Types/Client.Type.js.map +1 -0
  190. package/dist/Types/Command.Type.d.ts +28 -0
  191. package/dist/Types/Command.Type.d.ts.map +1 -0
  192. package/dist/Types/Command.Type.js +4 -0
  193. package/dist/Types/Command.Type.js.map +1 -0
  194. package/dist/Types/Definer.Type.d.ts +37 -0
  195. package/dist/Types/Definer.Type.d.ts.map +1 -0
  196. package/dist/Types/Definer.Type.js +4 -0
  197. package/dist/Types/Definer.Type.js.map +1 -0
  198. package/dist/Types/InputInteraction.Type.d.ts +90 -0
  199. package/dist/Types/InputInteraction.Type.d.ts.map +1 -0
  200. package/dist/Types/InputInteraction.Type.js +339 -0
  201. package/dist/Types/InputInteraction.Type.js.map +1 -0
  202. package/dist/Types/Interaction.Type.d.ts +47 -0
  203. package/dist/Types/Interaction.Type.d.ts.map +1 -0
  204. package/dist/Types/Interaction.Type.js +4 -0
  205. package/dist/Types/Interaction.Type.js.map +1 -0
  206. package/dist/Types/Log.Type.d.ts +28 -0
  207. package/dist/Types/Log.Type.d.ts.map +1 -0
  208. package/dist/Types/Log.Type.js +3 -0
  209. package/dist/Types/Log.Type.js.map +1 -0
  210. package/dist/Types/Permission.Type.d.ts +17 -0
  211. package/dist/Types/Permission.Type.d.ts.map +1 -0
  212. package/dist/Types/Permission.Type.js +13 -0
  213. package/dist/Types/Permission.Type.js.map +1 -0
  214. package/dist/Types/PrefixCommandBuilder.Type.d.ts +81 -0
  215. package/dist/Types/PrefixCommandBuilder.Type.d.ts.map +1 -0
  216. package/dist/Types/PrefixCommandBuilder.Type.js +203 -0
  217. package/dist/Types/PrefixCommandBuilder.Type.js.map +1 -0
  218. package/dist/Types/TaskDefiner.Type.d.ts +14 -0
  219. package/dist/Types/TaskDefiner.Type.d.ts.map +1 -0
  220. package/dist/Types/TaskDefiner.Type.js +4 -0
  221. package/dist/Types/TaskDefiner.Type.js.map +1 -0
  222. package/dist/index.d.ts +44 -0
  223. package/dist/index.d.ts.map +1 -0
  224. package/dist/index.js +122 -0
  225. package/dist/index.js.map +1 -0
  226. package/package.json +55 -0
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const sharp_1 = __importDefault(require("sharp"));
9
+ const ConsoleLog_1 = require("../Shared/ConsoleLog");
10
+ const Color_1 = __importDefault(require("../Logger/Color"));
11
+ const Neutrun_1 = __importDefault(require("../Shared/Neutrun"));
12
+ const Pool_1 = __importDefault(require("./Pool"));
13
+ const ValidExtensions = ['.png', '.jpg', '.jpeg', '.gif'];
14
+ const MimeTypeMap = {
15
+ '.png': 'image/png',
16
+ '.jpg': 'image/jpeg',
17
+ '.jpeg': 'image/jpeg',
18
+ '.gif': 'image/gif'
19
+ };
20
+ const MAX_EMOJI_SIZE = 262144;
21
+ const MAX_RETRIES = 25;
22
+ const DELETE_CONCURRENCY = 10;
23
+ const COMPRESS_CONCURRENCY = 8;
24
+ const UPLOAD_CONCURRENCY = 5;
25
+ const UNDEFINED_EMOJI_NAME = '__';
26
+ const ReadLocalImages = (imagesDir) => {
27
+ const Images = new Map();
28
+ if (!fs_1.default.existsSync(imagesDir))
29
+ return Images;
30
+ const Files = fs_1.default.readdirSync(imagesDir);
31
+ for (const File of Files) {
32
+ const Ext = path_1.default.extname(File).toLowerCase();
33
+ if (!ValidExtensions.includes(Ext))
34
+ continue;
35
+ const Name = path_1.default.basename(File, Ext);
36
+ Images.set(Name, {
37
+ FilePath: path_1.default.join(imagesDir, File),
38
+ Extension: Ext
39
+ });
40
+ }
41
+ return Images;
42
+ };
43
+ const CompressImage = async (buffer, extension, level) => {
44
+ try {
45
+ const sharpInstance = (0, sharp_1.default)(buffer);
46
+ if (extension === '.gif') {
47
+ return await sharpInstance
48
+ .resize({ width: Math.max(128 - level * 5, 32) })
49
+ .gif({ colours: Math.max(128 - level * 5, 16) })
50
+ .toBuffer();
51
+ }
52
+ if (extension === '.png') {
53
+ return await sharpInstance
54
+ .resize({ width: Math.max(128 - level * 5, 32) })
55
+ .png({ quality: Math.max(80 - level * 5, 10) })
56
+ .toBuffer();
57
+ }
58
+ return await sharpInstance
59
+ .resize({ width: Math.max(128 - level * 16, 32) })
60
+ .jpeg({ quality: Math.max(80 - level * 15, 10) })
61
+ .toBuffer();
62
+ }
63
+ catch (error) {
64
+ (0, ConsoleLog_1.logWarn)(`Falha ao comprimir imagem (level ${level})`);
65
+ return buffer;
66
+ }
67
+ };
68
+ const PrepareEmoji = async (buffer, extension, name) => {
69
+ if (buffer.length <= MAX_EMOJI_SIZE)
70
+ return buffer;
71
+ let Current = buffer;
72
+ let Attempt = 0;
73
+ while (Current.length > MAX_EMOJI_SIZE && Attempt < MAX_RETRIES) {
74
+ Attempt++;
75
+ const SizeKB = Math.round(Current.length / 1024);
76
+ (0, ConsoleLog_1.logInfo)(`Emoji [${name}] muito grande (${SizeKB}KB), comprimindo (tentativa ${Attempt}/${MAX_RETRIES})...`);
77
+ Current = await CompressImage(Current, extension, Attempt);
78
+ }
79
+ if (Current.length > MAX_EMOJI_SIZE) {
80
+ const SizeKB = Math.round(Current.length / 1024);
81
+ (0, ConsoleLog_1.logWarn)(`Emoji [${name}] não comprimiu o suficiente (${SizeKB}KB), pulando`);
82
+ return null;
83
+ }
84
+ return Current;
85
+ };
86
+ const UploadUndefinedEmoji = async (application) => {
87
+ const AppEmojis = await application.emojis.fetch();
88
+ const Existing = AppEmojis.find((E) => E.name === UNDEFINED_EMOJI_NAME);
89
+ if (Existing) {
90
+ const Prefix = Existing.animated ? 'a:' : ':';
91
+ const Markdown = `<${Prefix}${Existing.name}:${Existing.id}>`;
92
+ return {
93
+ Id: Existing.id,
94
+ Markdown,
95
+ Image: Existing.imageURL(),
96
+ toString: () => Markdown
97
+ };
98
+ }
99
+ const FileBuffer = Buffer.from('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==', 'base64');
100
+ const Base64 = FileBuffer.toString('base64');
101
+ const DataUri = `data:image/png;base64,${Base64}`;
102
+ const NewEmoji = await application.emojis.create({
103
+ attachment: DataUri,
104
+ name: UNDEFINED_EMOJI_NAME
105
+ });
106
+ (0, ConsoleLog_1.logSuccess)(`Emoji fallback [${NewEmoji.name}] criado`);
107
+ const Markdown = `<:${NewEmoji.name}:${NewEmoji.id}>`;
108
+ return {
109
+ Id: NewEmoji.id,
110
+ Markdown,
111
+ Image: NewEmoji.imageURL(),
112
+ toString: () => Markdown
113
+ };
114
+ };
115
+ const GenerateEmojisFile = (emojisData) => {
116
+ const FilePath = Neutrun_1.default.getGeneratedPath('Emojis.ts');
117
+ const OutputDir = path_1.default.dirname(FilePath);
118
+ if (!fs_1.default.existsSync(OutputDir)) {
119
+ fs_1.default.mkdirSync(OutputDir, { recursive: true });
120
+ }
121
+ const Names = Object.keys(emojisData).sort();
122
+ const Lines = [];
123
+ Lines.push("import type { EmojiData } from '@ninenity/neutrun'");
124
+ Lines.push('');
125
+ Lines.push('export interface AppEmojis {');
126
+ for (const Name of Names) {
127
+ Lines.push(` readonly ${Name}: EmojiData`);
128
+ }
129
+ Lines.push('}');
130
+ Lines.push('');
131
+ Lines.push('const Emojis: AppEmojis = {');
132
+ for (const Name of Names) {
133
+ const Emoji = emojisData[Name];
134
+ Lines.push(` ${Name}: {`);
135
+ Lines.push(` Id: '${Emoji.Id}',`);
136
+ Lines.push(` Markdown: '${Emoji.Markdown}',`);
137
+ Lines.push(` Image: '${Emoji.Image}',`);
138
+ Lines.push(` toString: () => '${Emoji.Markdown}'`);
139
+ Lines.push(' },');
140
+ }
141
+ Lines.push('}');
142
+ Lines.push('');
143
+ Lines.push('export default Emojis');
144
+ Lines.push('export type EmojiName = keyof AppEmojis');
145
+ const NewContent = Lines.join('\n');
146
+ const ExistingContent = fs_1.default.existsSync(FilePath)
147
+ ? fs_1.default.readFileSync(FilePath, 'utf-8')
148
+ : '';
149
+ if (ExistingContent !== NewContent) {
150
+ fs_1.default.writeFileSync(FilePath, NewContent, 'utf-8');
151
+ (0, ConsoleLog_1.logSuccess)(`Arquivo ${(0, Color_1.default)('Emojis.ts', 'cyan', 'bold')} gerado em .ninenity/Generated/`, 'Emojis');
152
+ }
153
+ };
154
+ const LoadEmojis = async (client) => {
155
+ if (!client.application) {
156
+ (0, ConsoleLog_1.logError)('Client não possui aplicação válida para sincronizar emojis.');
157
+ return;
158
+ }
159
+ const application = client.application;
160
+ const ImagesDir = path_1.default.join(process.cwd(), 'src', 'Shared', 'Emojis');
161
+ const LocalEmojis = ReadLocalImages(ImagesDir);
162
+ const UndefinedEmoji = await UploadUndefinedEmoji(application);
163
+ let AppEmojis = await application.emojis.fetch();
164
+ const deletePool = (0, Pool_1.default)(DELETE_CONCURRENCY);
165
+ const deletePromises = [];
166
+ for (const [EmojiId, AppEmoji] of AppEmojis) {
167
+ if (!AppEmoji.name ||
168
+ (!LocalEmojis.has(AppEmoji.name) &&
169
+ AppEmoji.name !== UNDEFINED_EMOJI_NAME)) {
170
+ deletePromises.push(deletePool(async () => {
171
+ try {
172
+ await application.emojis.delete(EmojiId);
173
+ (0, ConsoleLog_1.logInfo)(`Emoji [${AppEmoji.name || EmojiId}] removido`);
174
+ }
175
+ catch (error) {
176
+ (0, ConsoleLog_1.logError)(`Erro ao deletar emoji [${AppEmoji.name || EmojiId}]: ${error.message || error}`);
177
+ }
178
+ }));
179
+ }
180
+ }
181
+ await Promise.all(deletePromises);
182
+ if (deletePromises.length > 0) {
183
+ AppEmojis = await application.emojis.fetch();
184
+ }
185
+ const toUpload = [];
186
+ const compressPool = (0, Pool_1.default)(COMPRESS_CONCURRENCY);
187
+ const compressPromises = [];
188
+ for (const [Name, Info] of LocalEmojis.entries()) {
189
+ const Existing = AppEmojis.find((E) => E.name === Name);
190
+ if (Existing)
191
+ continue;
192
+ compressPromises.push(compressPool(async () => {
193
+ const FileBuffer = fs_1.default.readFileSync(Info.FilePath);
194
+ const Prepared = await PrepareEmoji(FileBuffer, Info.Extension, Name);
195
+ if (Prepared) {
196
+ toUpload.push({
197
+ Name,
198
+ Extension: Info.Extension,
199
+ Buffer: Prepared
200
+ });
201
+ }
202
+ }));
203
+ }
204
+ await Promise.all(compressPromises);
205
+ if (toUpload.length === 0) {
206
+ (0, ConsoleLog_1.logSuccess)('Todos os emojis foram sincronizados', 'Emojis');
207
+ }
208
+ else {
209
+ let SyncedCount = 0;
210
+ const uploadPool = (0, Pool_1.default)(UPLOAD_CONCURRENCY);
211
+ const uploadPromises = [];
212
+ for (const emoji of toUpload) {
213
+ uploadPromises.push(uploadPool(async () => {
214
+ try {
215
+ const Base64 = emoji.Buffer.toString('base64');
216
+ const MimeType = MimeTypeMap[emoji.Extension] || 'image/png';
217
+ const DataUri = `data:${MimeType};base64,${Base64}`;
218
+ const NewEmoji = await application.emojis.create({
219
+ attachment: DataUri,
220
+ name: emoji.Name
221
+ });
222
+ SyncedCount++;
223
+ (0, ConsoleLog_1.logSuccess)(`Emoji [${NewEmoji.name}] criado com sucesso`);
224
+ }
225
+ catch (error) {
226
+ (0, ConsoleLog_1.logError)(`Erro ao fazer upload do emoji [${emoji.Name}]: ${error.message || error}`);
227
+ }
228
+ }));
229
+ }
230
+ await Promise.all(uploadPromises);
231
+ (0, ConsoleLog_1.logInfo)(`${SyncedCount} emojis adicionados`);
232
+ }
233
+ AppEmojis = await application.emojis.fetch();
234
+ const EmojisData = {};
235
+ for (const [_, Emoji] of AppEmojis) {
236
+ if (!Emoji.name || Emoji.name === UNDEFINED_EMOJI_NAME)
237
+ continue;
238
+ const IsAnimated = Emoji.animated;
239
+ const Prefix = IsAnimated ? 'a:' : ':';
240
+ const Markdown = `<${Prefix}${Emoji.name}:${Emoji.id}>`;
241
+ EmojisData[Emoji.name] = {
242
+ Id: Emoji.id,
243
+ Markdown,
244
+ Image: Emoji.imageURL(),
245
+ toString: () => Markdown
246
+ };
247
+ }
248
+ GenerateEmojisFile(EmojisData);
249
+ const appEmojisProxy = new Proxy(EmojisData, {
250
+ get(target, prop) {
251
+ const key = String(prop);
252
+ if (key in target)
253
+ return target[key];
254
+ return UndefinedEmoji;
255
+ }
256
+ });
257
+ const Total = Object.keys(EmojisData).length;
258
+ client.appEmojis = appEmojisProxy;
259
+ (0, ConsoleLog_1.logSuccess)(`${(0, Color_1.default)(String(Total), 'cyan', 'bold')} emojis carregados`, 'Emojis');
260
+ };
261
+ exports.default = LoadEmojis;
262
+ //# sourceMappingURL=EmojiLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiLoader.js","sourceRoot":"","sources":["../../src/Emojis/EmojiLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const CreatePool: (concurrency: number) => <T>(task: () => Promise<T>) => Promise<T>;
2
+ export default CreatePool;
3
+ //# sourceMappingURL=Pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../../src/Emojis/Pool.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,GAAI,aAAa,MAAM,MAYvB,CAAC,EAAE,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAgBpD,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const CreatePool = (concurrency) => {
4
+ let active = 0;
5
+ const queue = [];
6
+ const next = () => {
7
+ if (active < concurrency && queue.length > 0) {
8
+ active++;
9
+ const fn = queue.shift();
10
+ fn();
11
+ }
12
+ };
13
+ return async (task) => {
14
+ return new Promise((resolve, reject) => {
15
+ queue.push(async () => {
16
+ try {
17
+ const res = await task();
18
+ resolve(res);
19
+ }
20
+ catch (err) {
21
+ reject(err);
22
+ }
23
+ finally {
24
+ active--;
25
+ next();
26
+ }
27
+ });
28
+ next();
29
+ });
30
+ };
31
+ };
32
+ exports.default = CreatePool;
33
+ //# sourceMappingURL=Pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Emojis/Pool.ts"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,EAAE;IACzC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,KAAK,GAAmB,EAAE,CAAA;IAEhC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,MAAM,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,EAAE,CAAA;YACR,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;YACzB,EAAE,EAAE,CAAA;QACN,CAAC;IACH,CAAC,CAAA;IAED,OAAO,KAAK,EAAK,IAAsB,EAAc,EAAE;QACrD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;oBACxB,OAAO,CAAC,GAAG,CAAC,CAAA;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC;wBAAS,CAAC;oBACT,MAAM,EAAE,CAAA;oBACR,IAAI,EAAE,CAAA;gBACR,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { default as EmojiLoader } from './EmojiLoader';
2
+ export type * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Emojis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EmojiLoader = void 0;
7
+ var EmojiLoader_1 = require("./EmojiLoader");
8
+ Object.defineProperty(exports, "EmojiLoader", { enumerable: true, get: function () { return __importDefault(EmojiLoader_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Emojis/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAsD;AAA7C,2HAAA,OAAO,OAAe"}
@@ -0,0 +1,15 @@
1
+ import { Client } from 'discord.js';
2
+ export interface EmojiData {
3
+ Id: string;
4
+ Markdown: string;
5
+ Image: string;
6
+ toString: () => string;
7
+ }
8
+ export interface AppEmojis {
9
+ readonly [key: string]: EmojiData;
10
+ }
11
+ export type EmojiName = string;
12
+ export interface EmojiClient extends Client {
13
+ appEmojis?: Record<string, EmojiData>;
14
+ }
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Emojis/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACtC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Emojis/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ export type Locale = 'pt-BR' | 'en-US' | 'es-ES' | string;
2
+ export interface TranslationDictionary {
3
+ [key: string]: string | TranslationDictionary;
4
+ }
5
+ export type LocalesMap = Record<string, TranslationDictionary>;
6
+ declare class I18nManager {
7
+ private locales;
8
+ private defaultLocale;
9
+ /**
10
+ * Define o idioma padrão do sistema
11
+ */
12
+ setDefaultLocale(locale: Locale): void;
13
+ /**
14
+ * Retorna o idioma padrão
15
+ */
16
+ getDefaultLocale(): Locale;
17
+ /**
18
+ * Carrega e registra dicionários de tradução por idioma
19
+ */
20
+ loadLocales(locales: LocalesMap): void;
21
+ /**
22
+ * Adiciona ou mescla um dicionário para determinado idioma
23
+ */
24
+ setLocale(locale: Locale, dict: TranslationDictionary): void;
25
+ /**
26
+ * Obtém a tradução de uma chave (suporta dot notation: "commands.ping.description")
27
+ * Substitui variáveis passadas no objeto params: t('welcome', { user: 'Troick' }) -> "Bem-vindo, Troick!"
28
+ */
29
+ t(key: string, params?: Record<string, any>, locale?: Locale): string;
30
+ private resolveKey;
31
+ }
32
+ export declare const I18n: I18nManager;
33
+ export default I18n;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/I18n/index.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,qBAAqB,CAAA;CAC9C;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;AAE9D,cAAM,WAAW;IACf,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,aAAa,CAAkB;IAEvC;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAIjC;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAM7C;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAKnE;;;OAGG;IACI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA0B5E,OAAO,CAAC,UAAU;CAenB;AAED,eAAO,MAAM,IAAI,aAAoB,CAAA;AACrC,eAAe,IAAI,CAAA"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.I18n = void 0;
4
+ class I18nManager {
5
+ locales = new Map();
6
+ defaultLocale = 'en-US';
7
+ /**
8
+ * Define o idioma padrão do sistema
9
+ */
10
+ setDefaultLocale(locale) {
11
+ this.defaultLocale = locale;
12
+ }
13
+ /**
14
+ * Retorna o idioma padrão
15
+ */
16
+ getDefaultLocale() {
17
+ return this.defaultLocale;
18
+ }
19
+ /**
20
+ * Carrega e registra dicionários de tradução por idioma
21
+ */
22
+ loadLocales(locales) {
23
+ for (const [locale, dict] of Object.entries(locales)) {
24
+ this.locales.set(locale, dict);
25
+ }
26
+ }
27
+ /**
28
+ * Adiciona ou mescla um dicionário para determinado idioma
29
+ */
30
+ setLocale(locale, dict) {
31
+ const existing = this.locales.get(locale) || {};
32
+ this.locales.set(locale, { ...existing, ...dict });
33
+ }
34
+ /**
35
+ * Obtém a tradução de uma chave (suporta dot notation: "commands.ping.description")
36
+ * Substitui variáveis passadas no objeto params: t('welcome', { user: 'Troick' }) -> "Bem-vindo, Troick!"
37
+ */
38
+ t(key, params, locale) {
39
+ const targetLocale = locale || this.defaultLocale;
40
+ let translation = this.resolveKey(this.locales.get(targetLocale), key);
41
+ // Fallback para o idioma padrão se não encontrar no idioma informado
42
+ if (!translation && targetLocale !== this.defaultLocale) {
43
+ translation = this.resolveKey(this.locales.get(this.defaultLocale), key);
44
+ }
45
+ // Se ainda não encontrou, retorna a própria chave
46
+ if (!translation) {
47
+ return key;
48
+ }
49
+ // Interpolação de parâmetros ex: {{user}} ou {user}
50
+ if (params) {
51
+ for (const [paramKey, val] of Object.entries(params)) {
52
+ const escapedKey = paramKey.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
53
+ const regex = new RegExp(`{\\s*${escapedKey}\\s*}|{{\\s*${escapedKey}\\s*}}`, 'g');
54
+ translation = translation.replace(regex, String(val));
55
+ }
56
+ }
57
+ return translation;
58
+ }
59
+ resolveKey(dict, key) {
60
+ if (!dict)
61
+ return null;
62
+ const parts = key.split('.');
63
+ let current = dict;
64
+ for (const part of parts) {
65
+ if (current && typeof current === 'object' && part in current) {
66
+ current = current[part];
67
+ }
68
+ else {
69
+ return null;
70
+ }
71
+ }
72
+ return typeof current === 'string' ? current : null;
73
+ }
74
+ }
75
+ exports.I18n = new I18nManager();
76
+ exports.default = exports.I18n;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/I18n/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type ColorToken = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'lightRed' | 'lightGreen' | 'lightYellow' | 'lightBlue' | 'lightMagenta' | 'lightCyan' | 'lightWhite' | 'bold' | 'dim' | 'italic' | 'underline' | 'strikethrough' | 'inverse' | 'hidden' | 'visible';
2
+ export interface ColorChain {
3
+ (text?: string): string | ColorChain;
4
+ text(value: unknown): string;
5
+ value(): string;
6
+ toString(): string;
7
+ [key: string]: any;
8
+ }
9
+ export interface ColorFunction {
10
+ (text?: string, ...styles: ColorToken[]): string | ColorChain;
11
+ [key: string]: any;
12
+ }
13
+ declare const Color: ColorFunction;
14
+ export default Color;
15
+ //# sourceMappingURL=Color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../src/Logger/Color.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GACrF,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,YAAY,GACrG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhG,MAAM,WAAW,UAAU;IACzB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IACpC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,KAAK,IAAI,MAAM,CAAA;IACf,QAAQ,IAAI,MAAM,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,UAAU,CAAA;IAC7D,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AA8CD,QAAA,MAAM,KAAK,EAGL,aAAa,CAAA;AASnB,eAAe,KAAK,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const util_1 = require("util");
8
+ const aliases = {
9
+ lightRed: 'redBright',
10
+ lightGreen: 'greenBright',
11
+ lightYellow: 'yellowBright',
12
+ lightBlue: 'blueBright',
13
+ lightMagenta: 'magentaBright',
14
+ lightCyan: 'cyanBright',
15
+ lightWhite: 'whiteBright'
16
+ };
17
+ const tokens = [
18
+ 'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'gray',
19
+ 'lightRed', 'lightGreen', 'lightYellow', 'lightBlue', 'lightMagenta', 'lightCyan', 'lightWhite',
20
+ 'bold', 'dim', 'italic', 'underline', 'strikethrough', 'inverse', 'hidden', 'visible'
21
+ ];
22
+ const apply = (text, styles) => {
23
+ let formatter = chalk_1.default;
24
+ for (const style of styles)
25
+ formatter = formatter[aliases[style] || style];
26
+ return formatter(String(text ?? ''));
27
+ };
28
+ const createChain = (text, styles) => {
29
+ const chain = ((nextText) => nextText === undefined ? apply(text, styles) : apply(nextText, styles));
30
+ chain.text = (value) => apply(value, styles);
31
+ chain.value = () => apply(text, styles);
32
+ chain.toString = () => apply(text, styles);
33
+ chain[util_1.inspect.custom] = () => apply(text, styles);
34
+ for (const token of tokens) {
35
+ Object.defineProperty(chain, token, {
36
+ enumerable: false,
37
+ value: (nextText) => createChain(nextText === undefined ? text : nextText, [...styles, token])
38
+ });
39
+ }
40
+ return chain;
41
+ };
42
+ const Color = ((text, ...styles) => {
43
+ if (typeof text === 'string' && styles.length > 0)
44
+ return apply(text, styles);
45
+ return createChain(text || '', styles);
46
+ });
47
+ for (const token of tokens) {
48
+ Object.defineProperty(Color, token, {
49
+ enumerable: true,
50
+ value: (text) => createChain(text || '', [token])
51
+ });
52
+ }
53
+ exports.default = Color;
54
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.js","sourceRoot":"","sources":["../../src/Logger/Color.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import ora from 'ora';
2
+ import type { LogSink } from '../Types/Log.Type';
3
+ import Color from './Color';
4
+ declare global {
5
+ interface Console {
6
+ line(...args: ConsoleLineArgument[]): void;
7
+ success(...args: any[]): void;
8
+ }
9
+ }
10
+ type ChalkStyle = 'bold' | 'dim' | 'italic' | 'underline' | 'strikethrough';
11
+ type ChalkColor = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'redBright' | 'greenBright' | 'yellowBright' | 'blueBright' | 'magentaBright' | 'cyanBright';
12
+ interface ProgressOptions {
13
+ Total: number;
14
+ Label?: string;
15
+ }
16
+ type ConsoleLineArgument = string | number;
17
+ declare const Logger: {
18
+ color: (text: string, ...styles: (ChalkColor | ChalkStyle)[]) => string;
19
+ onEvent: (sink: LogSink) => (() => void);
20
+ log: (message: string) => void;
21
+ success: (message: string, tag?: string) => void;
22
+ spinner: (text: string) => ora.Ora;
23
+ progress: (label: string, options: ProgressOptions) => {
24
+ update: (current: number) => void;
25
+ finish: (msg?: string) => void;
26
+ };
27
+ box: (title: string, rows: Record<string, string>) => void;
28
+ line: (...args: ConsoleLineArgument[]) => void;
29
+ divisor: () => void;
30
+ clear: () => void;
31
+ startGroup: (name?: string) => void;
32
+ endGroup: () => void;
33
+ group: <T>(name: string, fn: () => Promise<T> | T) => Promise<T>;
34
+ captureConsole: () => (() => void);
35
+ };
36
+ export { Color };
37
+ export default Logger;
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Logger/index.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAA;AAKrB,OAAO,KAAK,EAAsB,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO;QACf,IAAI,CAAC,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAA;QAC1C,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAC9B;CACF;AAED,KAAK,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,eAAe,CAAA;AAC3E,KAAK,UAAU,GACX,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,YAAY,CAAA;AAEhB,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAWD,KAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAA;AAypB1C,QAAA,MAAM,MAAM;kBAzmBJ,MAAM,aACD,CAAC,UAAU,GAAG,UAAU,CAAC,EAAE,KACrC,MAAM;oBApCc,OAAO,KAAG,CAAC,MAAM,IAAI,CAAC;mBAkiBvB,MAAM;uBAQF,MAAM,QAAQ,MAAM;oBAcvB,MAAM;sBAQJ,MAAM,WAAW,eAAe;0BAcnC,MAAM;uBAGT,MAAM;;iBASL,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBA6BjC,mBAAmB,EAAE;;;wBA7jBlB,MAAM;;YA2DX,CAAC,QAAQ,MAAM,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;0BA2NhD,CAAC,MAAM,IAAI,CAAC;CA0UtC,CAAA;AAKD,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,eAAe,MAAM,CAAA"}