@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.
- package/README.md +5 -0
- package/dist/CLI/Bootstrap.d.ts +2 -0
- package/dist/CLI/Bootstrap.d.ts.map +1 -0
- package/dist/CLI/Bootstrap.js +71 -0
- package/dist/CLI/Bootstrap.js.map +1 -0
- package/dist/CLI/Localize.d.ts +2 -0
- package/dist/CLI/Localize.d.ts.map +1 -0
- package/dist/CLI/Localize.js +248 -0
- package/dist/CLI/Localize.js.map +1 -0
- package/dist/CLI/Translate.d.ts +2 -0
- package/dist/CLI/Translate.d.ts.map +1 -0
- package/dist/CLI/Translate.js +82 -0
- package/dist/CLI/Translate.js.map +1 -0
- package/dist/CLI/bin.d.ts +3 -0
- package/dist/CLI/bin.d.ts.map +1 -0
- package/dist/CLI/bin.js +36 -0
- package/dist/CLI/bin.js.map +1 -0
- package/dist/Emojis/EmojiLoader.d.ts +4 -0
- package/dist/Emojis/EmojiLoader.d.ts.map +1 -0
- package/dist/Emojis/EmojiLoader.js +262 -0
- package/dist/Emojis/EmojiLoader.js.map +1 -0
- package/dist/Emojis/Pool.d.ts +3 -0
- package/dist/Emojis/Pool.d.ts.map +1 -0
- package/dist/Emojis/Pool.js +33 -0
- package/dist/Emojis/Pool.js.map +1 -0
- package/dist/Emojis/index.d.ts +3 -0
- package/dist/Emojis/index.d.ts.map +1 -0
- package/dist/Emojis/index.js +9 -0
- package/dist/Emojis/index.js.map +1 -0
- package/dist/Emojis/types.d.ts +15 -0
- package/dist/Emojis/types.d.ts.map +1 -0
- package/dist/Emojis/types.js +3 -0
- package/dist/Emojis/types.js.map +1 -0
- package/dist/I18n/index.d.ts +34 -0
- package/dist/I18n/index.d.ts.map +1 -0
- package/dist/I18n/index.js +77 -0
- package/dist/I18n/index.js.map +1 -0
- package/dist/Logger/Color.d.ts +15 -0
- package/dist/Logger/Color.d.ts.map +1 -0
- package/dist/Logger/Color.js +54 -0
- package/dist/Logger/Color.js.map +1 -0
- package/dist/Logger/index.d.ts +38 -0
- package/dist/Logger/index.d.ts.map +1 -0
- package/dist/Logger/index.js +577 -0
- package/dist/Logger/index.js.map +1 -0
- package/dist/Modules/Bots/index.d.ts +4 -0
- package/dist/Modules/Bots/index.d.ts.map +1 -0
- package/dist/Modules/Bots/index.js +45 -0
- package/dist/Modules/Bots/index.js.map +1 -0
- package/dist/Modules/Component/index.d.ts +14 -0
- package/dist/Modules/Component/index.d.ts.map +1 -0
- package/dist/Modules/Component/index.js +32 -0
- package/dist/Modules/Component/index.js.map +1 -0
- package/dist/Modules/Config/index.d.ts +5 -0
- package/dist/Modules/Config/index.d.ts.map +1 -0
- package/dist/Modules/Config/index.js +13 -0
- package/dist/Modules/Config/index.js.map +1 -0
- package/dist/Modules/Database/index.d.ts +15 -0
- package/dist/Modules/Database/index.d.ts.map +1 -0
- package/dist/Modules/Database/index.js +22 -0
- package/dist/Modules/Database/index.js.map +1 -0
- package/dist/Modules/Diagnostics/ModuleDiagnostics.d.ts +18 -0
- package/dist/Modules/Diagnostics/ModuleDiagnostics.d.ts.map +1 -0
- package/dist/Modules/Diagnostics/ModuleDiagnostics.js +101 -0
- package/dist/Modules/Diagnostics/ModuleDiagnostics.js.map +1 -0
- package/dist/Modules/Diagnostics/index.d.ts +3 -0
- package/dist/Modules/Diagnostics/index.d.ts.map +1 -0
- package/dist/Modules/Diagnostics/index.js +7 -0
- package/dist/Modules/Diagnostics/index.js.map +1 -0
- package/dist/Modules/Logs/index.d.ts +4 -0
- package/dist/Modules/Logs/index.d.ts.map +1 -0
- package/dist/Modules/Logs/index.js +11 -0
- package/dist/Modules/Logs/index.js.map +1 -0
- package/dist/Modules/Storage/index.d.ts +3 -0
- package/dist/Modules/Storage/index.d.ts.map +1 -0
- package/dist/Modules/Storage/index.js +11 -0
- package/dist/Modules/Storage/index.js.map +1 -0
- package/dist/Modules/index.d.ts +8 -0
- package/dist/Modules/index.d.ts.map +1 -0
- package/dist/Modules/index.js +45 -0
- package/dist/Modules/index.js.map +1 -0
- package/dist/Shared/Autocomplete.d.ts +31 -0
- package/dist/Shared/Autocomplete.d.ts.map +1 -0
- package/dist/Shared/Autocomplete.js +37 -0
- package/dist/Shared/Autocomplete.js.map +1 -0
- package/dist/Shared/ChannelLoader.d.ts +4 -0
- package/dist/Shared/ChannelLoader.d.ts.map +1 -0
- package/dist/Shared/ChannelLoader.js +133 -0
- package/dist/Shared/ChannelLoader.js.map +1 -0
- package/dist/Shared/Client.d.ts +30 -0
- package/dist/Shared/Client.d.ts.map +1 -0
- package/dist/Shared/Client.js +517 -0
- package/dist/Shared/Client.js.map +1 -0
- package/dist/Shared/ComponentAutoDeploy.d.ts +3 -0
- package/dist/Shared/ComponentAutoDeploy.d.ts.map +1 -0
- package/dist/Shared/ComponentAutoDeploy.js +230 -0
- package/dist/Shared/ComponentAutoDeploy.js.map +1 -0
- package/dist/Shared/ComponentRuntime.d.ts +43 -0
- package/dist/Shared/ComponentRuntime.d.ts.map +1 -0
- package/dist/Shared/ComponentRuntime.js +393 -0
- package/dist/Shared/ComponentRuntime.js.map +1 -0
- package/dist/Shared/Config.d.ts +6 -0
- package/dist/Shared/Config.d.ts.map +1 -0
- package/dist/Shared/Config.js +15 -0
- package/dist/Shared/Config.js.map +1 -0
- package/dist/Shared/ConfigLoader.d.ts +2 -0
- package/dist/Shared/ConfigLoader.d.ts.map +1 -0
- package/dist/Shared/ConfigLoader.js +74 -0
- package/dist/Shared/ConfigLoader.js.map +1 -0
- package/dist/Shared/ConfigProxy.d.ts +2 -0
- package/dist/Shared/ConfigProxy.d.ts.map +1 -0
- package/dist/Shared/ConfigProxy.js +46 -0
- package/dist/Shared/ConfigProxy.js.map +1 -0
- package/dist/Shared/ConsoleLog.d.ts +7 -0
- package/dist/Shared/ConsoleLog.d.ts.map +1 -0
- package/dist/Shared/ConsoleLog.js +23 -0
- package/dist/Shared/ConsoleLog.js.map +1 -0
- package/dist/Shared/CooldownManager.d.ts +16 -0
- package/dist/Shared/CooldownManager.d.ts.map +1 -0
- package/dist/Shared/CooldownManager.js +167 -0
- package/dist/Shared/CooldownManager.js.map +1 -0
- package/dist/Shared/Definer.d.ts +10 -0
- package/dist/Shared/Definer.d.ts.map +1 -0
- package/dist/Shared/Definer.js +711 -0
- package/dist/Shared/Definer.js.map +1 -0
- package/dist/Shared/EventBus.d.ts +48 -0
- package/dist/Shared/EventBus.d.ts.map +1 -0
- package/dist/Shared/EventBus.js +181 -0
- package/dist/Shared/EventBus.js.map +1 -0
- package/dist/Shared/InteractionContext.d.ts +12 -0
- package/dist/Shared/InteractionContext.d.ts.map +1 -0
- package/dist/Shared/InteractionContext.js +34 -0
- package/dist/Shared/InteractionContext.js.map +1 -0
- package/dist/Shared/InteractionManager.d.ts +27 -0
- package/dist/Shared/InteractionManager.d.ts.map +1 -0
- package/dist/Shared/InteractionManager.js +256 -0
- package/dist/Shared/InteractionManager.js.map +1 -0
- package/dist/Shared/LocalBotRegistry.d.ts +14 -0
- package/dist/Shared/LocalBotRegistry.d.ts.map +1 -0
- package/dist/Shared/LocalBotRegistry.js +140 -0
- package/dist/Shared/LocalBotRegistry.js.map +1 -0
- package/dist/Shared/LogTransport.d.ts +49 -0
- package/dist/Shared/LogTransport.d.ts.map +1 -0
- package/dist/Shared/LogTransport.js +357 -0
- package/dist/Shared/LogTransport.js.map +1 -0
- package/dist/Shared/Neutrun.d.ts +55 -0
- package/dist/Shared/Neutrun.d.ts.map +1 -0
- package/dist/Shared/Neutrun.js +269 -0
- package/dist/Shared/Neutrun.js.map +1 -0
- package/dist/Shared/Plugin.d.ts +8 -0
- package/dist/Shared/Plugin.d.ts.map +1 -0
- package/dist/Shared/Plugin.js +3 -0
- package/dist/Shared/Plugin.js.map +1 -0
- package/dist/Shared/Pool.d.ts +3 -0
- package/dist/Shared/Pool.d.ts.map +1 -0
- package/dist/Shared/Pool.js +29 -0
- package/dist/Shared/Pool.js.map +1 -0
- package/dist/Shared/ProcessManager.d.ts +11 -0
- package/dist/Shared/ProcessManager.d.ts.map +1 -0
- package/dist/Shared/ProcessManager.js +56 -0
- package/dist/Shared/ProcessManager.js.map +1 -0
- package/dist/Shared/QueueManager.d.ts +9 -0
- package/dist/Shared/QueueManager.d.ts.map +1 -0
- package/dist/Shared/QueueManager.js +65 -0
- package/dist/Shared/QueueManager.js.map +1 -0
- package/dist/Shared/RoleLoader.d.ts +4 -0
- package/dist/Shared/RoleLoader.d.ts.map +1 -0
- package/dist/Shared/RoleLoader.js +138 -0
- package/dist/Shared/RoleLoader.js.map +1 -0
- package/dist/Shared/Supervisor.d.ts +67 -0
- package/dist/Shared/Supervisor.d.ts.map +1 -0
- package/dist/Shared/Supervisor.js +308 -0
- package/dist/Shared/Supervisor.js.map +1 -0
- package/dist/Shared/TelemetryService.d.ts +63 -0
- package/dist/Shared/TelemetryService.d.ts.map +1 -0
- package/dist/Shared/TelemetryService.js +631 -0
- package/dist/Shared/TelemetryService.js.map +1 -0
- package/dist/Shared/Utils.d.ts +94 -0
- package/dist/Shared/Utils.d.ts.map +1 -0
- package/dist/Shared/Utils.js +390 -0
- package/dist/Shared/Utils.js.map +1 -0
- package/dist/Shared/WebSocket.d.ts +15 -0
- package/dist/Shared/WebSocket.d.ts.map +1 -0
- package/dist/Shared/WebSocket.js +599 -0
- package/dist/Shared/WebSocket.js.map +1 -0
- package/dist/Types/Client.Type.d.ts +130 -0
- package/dist/Types/Client.Type.d.ts.map +1 -0
- package/dist/Types/Client.Type.js +182 -0
- package/dist/Types/Client.Type.js.map +1 -0
- package/dist/Types/Command.Type.d.ts +28 -0
- package/dist/Types/Command.Type.d.ts.map +1 -0
- package/dist/Types/Command.Type.js +4 -0
- package/dist/Types/Command.Type.js.map +1 -0
- package/dist/Types/Definer.Type.d.ts +37 -0
- package/dist/Types/Definer.Type.d.ts.map +1 -0
- package/dist/Types/Definer.Type.js +4 -0
- package/dist/Types/Definer.Type.js.map +1 -0
- package/dist/Types/InputInteraction.Type.d.ts +90 -0
- package/dist/Types/InputInteraction.Type.d.ts.map +1 -0
- package/dist/Types/InputInteraction.Type.js +339 -0
- package/dist/Types/InputInteraction.Type.js.map +1 -0
- package/dist/Types/Interaction.Type.d.ts +47 -0
- package/dist/Types/Interaction.Type.d.ts.map +1 -0
- package/dist/Types/Interaction.Type.js +4 -0
- package/dist/Types/Interaction.Type.js.map +1 -0
- package/dist/Types/Log.Type.d.ts +28 -0
- package/dist/Types/Log.Type.d.ts.map +1 -0
- package/dist/Types/Log.Type.js +3 -0
- package/dist/Types/Log.Type.js.map +1 -0
- package/dist/Types/Permission.Type.d.ts +17 -0
- package/dist/Types/Permission.Type.d.ts.map +1 -0
- package/dist/Types/Permission.Type.js +13 -0
- package/dist/Types/Permission.Type.js.map +1 -0
- package/dist/Types/PrefixCommandBuilder.Type.d.ts +81 -0
- package/dist/Types/PrefixCommandBuilder.Type.d.ts.map +1 -0
- package/dist/Types/PrefixCommandBuilder.Type.js +203 -0
- package/dist/Types/PrefixCommandBuilder.Type.js.map +1 -0
- package/dist/Types/TaskDefiner.Type.d.ts +14 -0
- package/dist/Types/TaskDefiner.Type.d.ts.map +1 -0
- package/dist/Types/TaskDefiner.Type.js +4 -0
- package/dist/Types/TaskDefiner.Type.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,393 @@
|
|
|
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.clear = exports.resolve = exports.attachRequests = exports.requestPaginator = exports.requestPrompt = exports.registerPaginatorDefinition = exports.registerPromptDefinition = exports.registerPrompt = exports.registerPaginator = void 0;
|
|
7
|
+
const discord_js_1 = require("discord.js");
|
|
8
|
+
const Color_1 = __importDefault(require("../Logger/Color"));
|
|
9
|
+
const componentbuilder_1 = require("@ninenity/componentbuilder");
|
|
10
|
+
// Prompts são one-shot: se o usuário nunca clicar (mensagem ignorada ou
|
|
11
|
+
// apagada), o registro — e todo o grafo de documentos dele — ficaria na
|
|
12
|
+
// memória para sempre. Paginators NÃO expiram: podem estar em painéis
|
|
13
|
+
// estáticos de longa vida.
|
|
14
|
+
const PROMPT_TTL_MS = 24 * 60 * 60 * 1000;
|
|
15
|
+
const DEFAULT_RUNTIME_KEY = 'default';
|
|
16
|
+
const normalizeRuntimeKey = (runtimeKey) => String(runtimeKey || DEFAULT_RUNTIME_KEY);
|
|
17
|
+
const scopedKey = (runtimeKey, id) => `${normalizeRuntimeKey(runtimeKey)}\u0000${id}`;
|
|
18
|
+
const registrations = new Map();
|
|
19
|
+
const promptDefinitions = new Map();
|
|
20
|
+
const paginatorDefinitions = new Map();
|
|
21
|
+
const remove = (id, registration) => {
|
|
22
|
+
if (registration.ttlTimer) {
|
|
23
|
+
clearTimeout(registration.ttlTimer);
|
|
24
|
+
registration.ttlTimer = undefined;
|
|
25
|
+
}
|
|
26
|
+
const key = scopedKey(registration.runtimeKey, id);
|
|
27
|
+
const list = registrations.get(key);
|
|
28
|
+
if (!list)
|
|
29
|
+
return;
|
|
30
|
+
const index = list.indexOf(registration);
|
|
31
|
+
if (index >= 0)
|
|
32
|
+
list.splice(index, 1);
|
|
33
|
+
if (list.length === 0)
|
|
34
|
+
registrations.delete(key);
|
|
35
|
+
};
|
|
36
|
+
const matches = (registration, interaction) => {
|
|
37
|
+
if (registration.ownerId && registration.ownerId !== interaction?.user?.id)
|
|
38
|
+
return false;
|
|
39
|
+
if (registration.guildId && registration.guildId !== interaction?.guildId)
|
|
40
|
+
return false;
|
|
41
|
+
return true;
|
|
42
|
+
};
|
|
43
|
+
const register = (kind, value, options = {}) => {
|
|
44
|
+
const id = value.id;
|
|
45
|
+
const registration = {
|
|
46
|
+
kind,
|
|
47
|
+
value,
|
|
48
|
+
ownerId: options.ownerId,
|
|
49
|
+
guildId: options.guildId,
|
|
50
|
+
runtimeKey: normalizeRuntimeKey(options.runtimeKey),
|
|
51
|
+
pageIndex: Math.max(0, options.pageIndex ?? 0),
|
|
52
|
+
onPrompt: options.onPrompt
|
|
53
|
+
};
|
|
54
|
+
const key = scopedKey(registration.runtimeKey, id);
|
|
55
|
+
const list = registrations.get(key) ?? [];
|
|
56
|
+
list.push(registration);
|
|
57
|
+
registrations.set(key, list);
|
|
58
|
+
if (kind === 'prompt') {
|
|
59
|
+
registration.ttlTimer = setTimeout(() => remove(id, registration), PROMPT_TTL_MS);
|
|
60
|
+
registration.ttlTimer.unref?.();
|
|
61
|
+
}
|
|
62
|
+
return () => remove(id, registration);
|
|
63
|
+
};
|
|
64
|
+
/** Registers an already-created paginator instance for one message. */
|
|
65
|
+
const registerPaginator = (paginator, options) => register('paginator', paginator, options);
|
|
66
|
+
exports.registerPaginator = registerPaginator;
|
|
67
|
+
/** Registers an already-created prompt instance for one message. */
|
|
68
|
+
const registerPrompt = (prompt, options) => register('prompt', prompt, options);
|
|
69
|
+
exports.registerPrompt = registerPrompt;
|
|
70
|
+
/** Registers a reusable prompt definition by the id used by promptRequest. */
|
|
71
|
+
const registerPromptDefinition = (id, definition, runtimeKey = DEFAULT_RUNTIME_KEY) => {
|
|
72
|
+
const normalizedId = normalizeDefinitionId(id);
|
|
73
|
+
const key = scopedKey(runtimeKey, normalizedId);
|
|
74
|
+
promptDefinitions.set(key, definition);
|
|
75
|
+
return () => {
|
|
76
|
+
if (promptDefinitions.get(key) === definition) {
|
|
77
|
+
promptDefinitions.delete(key);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.registerPromptDefinition = registerPromptDefinition;
|
|
82
|
+
/** Registers a reusable paginator definition by the id used by paginatorRequest. */
|
|
83
|
+
const registerPaginatorDefinition = (id, definition, runtimeKey = DEFAULT_RUNTIME_KEY) => {
|
|
84
|
+
const normalizedId = normalizeDefinitionId(id);
|
|
85
|
+
const key = scopedKey(runtimeKey, normalizedId);
|
|
86
|
+
paginatorDefinitions.set(key, definition);
|
|
87
|
+
return () => {
|
|
88
|
+
if (paginatorDefinitions.get(key) === definition) {
|
|
89
|
+
paginatorDefinitions.delete(key);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
exports.registerPaginatorDefinition = registerPaginatorDefinition;
|
|
94
|
+
const requestPrompt = async (interaction, id, options = {}) => {
|
|
95
|
+
const normalizedId = normalizeDefinitionId(id);
|
|
96
|
+
const runtimeKey = normalizeRuntimeKey(options.runtimeKey);
|
|
97
|
+
const definition = promptDefinitions.get(scopedKey(runtimeKey, normalizedId));
|
|
98
|
+
if (!definition)
|
|
99
|
+
throw new Error(`Prompt "${normalizedId}" is not registered.`);
|
|
100
|
+
const context = createDefinitionContext(normalizedId, interaction, runtimeKey);
|
|
101
|
+
const resolved = await resolveDefinition(definition, context);
|
|
102
|
+
const prompt = resolved instanceof Object && isPrompt(resolved)
|
|
103
|
+
? resolved
|
|
104
|
+
: createPromptFromPages(resolved, context);
|
|
105
|
+
const unregister = (0, exports.registerPrompt)(prompt, {
|
|
106
|
+
ownerId: context.ownerId,
|
|
107
|
+
guildId: context.guildId,
|
|
108
|
+
runtimeKey,
|
|
109
|
+
pageIndex: options.pageIndex
|
|
110
|
+
});
|
|
111
|
+
try {
|
|
112
|
+
return await replyWithDocument(interaction, prompt.render().document(), options);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
unregister();
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
exports.requestPrompt = requestPrompt;
|
|
120
|
+
const requestPaginator = async (interaction, id, options = {}) => {
|
|
121
|
+
const normalizedId = normalizeDefinitionId(id);
|
|
122
|
+
const runtimeKey = normalizeRuntimeKey(options.runtimeKey);
|
|
123
|
+
const definition = paginatorDefinitions.get(scopedKey(runtimeKey, normalizedId));
|
|
124
|
+
if (!definition)
|
|
125
|
+
throw new Error(`Paginator "${normalizedId}" is not registered.`);
|
|
126
|
+
const context = createDefinitionContext(normalizedId, interaction, runtimeKey);
|
|
127
|
+
const resolved = await resolveDefinition(definition, context);
|
|
128
|
+
const paginator = resolved instanceof Object && isPaginator(resolved)
|
|
129
|
+
? resolved
|
|
130
|
+
: createPaginatorFromPages(normalizedId, resolved, context);
|
|
131
|
+
const unregister = (0, exports.registerPaginator)(paginator, {
|
|
132
|
+
ownerId: context.ownerId,
|
|
133
|
+
guildId: context.guildId,
|
|
134
|
+
runtimeKey,
|
|
135
|
+
pageIndex: options.pageIndex
|
|
136
|
+
});
|
|
137
|
+
const pageIndex = Math.max(0, options.pageIndex ?? 0);
|
|
138
|
+
try {
|
|
139
|
+
return await replyWithDocument(interaction, await paginator.renderDocument(pageIndex), options);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
unregister();
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
exports.requestPaginator = requestPaginator;
|
|
147
|
+
/** Adds promptRequest/paginatorRequest to every normalized command interaction. */
|
|
148
|
+
const attachRequests = (interaction, runtimeKey = DEFAULT_RUNTIME_KEY) => {
|
|
149
|
+
const target = interaction;
|
|
150
|
+
if (typeof target.promptRequest !== 'function') {
|
|
151
|
+
target.promptRequest = (id, options) => (0, exports.requestPrompt)(target, id, { ...(options || {}), runtimeKey });
|
|
152
|
+
}
|
|
153
|
+
if (typeof target.paginatorRequest !== 'function') {
|
|
154
|
+
target.paginatorRequest = (id, options) => (0, exports.requestPaginator)(target, id, { ...(options || {}), runtimeKey });
|
|
155
|
+
}
|
|
156
|
+
return target;
|
|
157
|
+
};
|
|
158
|
+
exports.attachRequests = attachRequests;
|
|
159
|
+
const resolve = async (interaction, runtimeKey = DEFAULT_RUNTIME_KEY) => {
|
|
160
|
+
const customId = String(interaction?.customId || '');
|
|
161
|
+
const baseId = customId.split(':', 1)[0];
|
|
162
|
+
const candidates = registrations.get(scopedKey(runtimeKey, baseId));
|
|
163
|
+
if (!candidates?.length)
|
|
164
|
+
return resolveCallback(interaction, customId);
|
|
165
|
+
const registration = [...candidates]
|
|
166
|
+
.reverse()
|
|
167
|
+
.find((candidate) => matches(candidate, interaction));
|
|
168
|
+
if (!registration) {
|
|
169
|
+
if (!interaction?.replied && !interaction?.deferred) {
|
|
170
|
+
await interaction
|
|
171
|
+
.reply({
|
|
172
|
+
content: 'Você não pode interagir com este componente.',
|
|
173
|
+
ephemeral: true
|
|
174
|
+
})
|
|
175
|
+
.catch(() => { });
|
|
176
|
+
}
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
if (registration.kind === 'paginator') {
|
|
180
|
+
const paginator = registration.value;
|
|
181
|
+
const nextPage = paginator.resolveAction(customId, registration.pageIndex);
|
|
182
|
+
if (nextPage === null)
|
|
183
|
+
return resolveCallback(interaction, customId);
|
|
184
|
+
registration.pageIndex = nextPage;
|
|
185
|
+
const document = await paginator.renderDocument(nextPage);
|
|
186
|
+
await interaction
|
|
187
|
+
.update((0, componentbuilder_1.toDiscordMessagePayload)(document))
|
|
188
|
+
.catch(async () => {
|
|
189
|
+
await interaction.deferUpdate?.().catch(() => { });
|
|
190
|
+
});
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
const prompt = registration.value;
|
|
194
|
+
const option = prompt.resolveOption(customId);
|
|
195
|
+
if (!option)
|
|
196
|
+
return false;
|
|
197
|
+
const targetPage = prompt.resolvePage(option.id);
|
|
198
|
+
if (targetPage) {
|
|
199
|
+
await interaction
|
|
200
|
+
.update((0, componentbuilder_1.toDiscordMessagePayload)(targetPage.document()))
|
|
201
|
+
.catch(async () => {
|
|
202
|
+
await interaction.deferUpdate?.().catch(() => { });
|
|
203
|
+
});
|
|
204
|
+
await executeCallback(interaction, customId, true);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
const execution = await executeCallback(interaction, customId, true);
|
|
208
|
+
if (!interaction?.replied && !interaction?.deferred) {
|
|
209
|
+
await interaction.deferUpdate?.().catch(() => { });
|
|
210
|
+
}
|
|
211
|
+
if (!execution.mutated)
|
|
212
|
+
await deleteInteractionResponse(interaction);
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
await registration.onPrompt?.(option.id, interaction);
|
|
216
|
+
}
|
|
217
|
+
finally {
|
|
218
|
+
remove(baseId, registration);
|
|
219
|
+
}
|
|
220
|
+
return true;
|
|
221
|
+
};
|
|
222
|
+
exports.resolve = resolve;
|
|
223
|
+
const resolveCallback = async (interaction, customId) => {
|
|
224
|
+
const execution = await executeCallback(interaction, customId);
|
|
225
|
+
if (!execution.handled)
|
|
226
|
+
return false;
|
|
227
|
+
if (!interaction?.replied && !interaction?.deferred) {
|
|
228
|
+
await Promise.resolve(interaction?.deferUpdate?.()).catch(() => { });
|
|
229
|
+
}
|
|
230
|
+
return true;
|
|
231
|
+
};
|
|
232
|
+
const executeCallback = async (interaction, customId, trackMutations = false) => {
|
|
233
|
+
const callback = (0, componentbuilder_1.getComponentCallback)(customId);
|
|
234
|
+
if (!callback)
|
|
235
|
+
return { handled: false, mutated: false };
|
|
236
|
+
const values = Array.isArray(interaction?.values)
|
|
237
|
+
? interaction.values.map((value) => String(value))
|
|
238
|
+
: [];
|
|
239
|
+
const tracked = trackMutations
|
|
240
|
+
? trackInteractionMutations(interaction)
|
|
241
|
+
: undefined;
|
|
242
|
+
const typedInteraction = (tracked?.interaction ??
|
|
243
|
+
interaction);
|
|
244
|
+
const context = {
|
|
245
|
+
customId,
|
|
246
|
+
interaction: typedInteraction,
|
|
247
|
+
values,
|
|
248
|
+
...(values[0] === undefined ? {} : { value: values[0] }),
|
|
249
|
+
...(interaction?.componentType === undefined
|
|
250
|
+
? {}
|
|
251
|
+
: { componentType: interaction.componentType })
|
|
252
|
+
};
|
|
253
|
+
try {
|
|
254
|
+
await callback(typedInteraction, (0, componentbuilder_1.getComponentActionId)(customId), context);
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
console.log(Color_1.default.red(`[ComponentRuntime] Erro no callback ${customId}:`), error);
|
|
258
|
+
}
|
|
259
|
+
return { handled: true, mutated: tracked?.mutated() ?? false };
|
|
260
|
+
};
|
|
261
|
+
const trackInteractionMutations = (interaction) => {
|
|
262
|
+
let changed = false;
|
|
263
|
+
const mutatingMethods = new Set([
|
|
264
|
+
'reply',
|
|
265
|
+
'update',
|
|
266
|
+
'deferUpdate',
|
|
267
|
+
'deferReply',
|
|
268
|
+
'editReply',
|
|
269
|
+
'followUp',
|
|
270
|
+
'deleteReply'
|
|
271
|
+
]);
|
|
272
|
+
const trackObject = (value, trackDelete = false) => {
|
|
273
|
+
if (!value || typeof value !== 'object')
|
|
274
|
+
return value;
|
|
275
|
+
return new Proxy(value, {
|
|
276
|
+
get(target, property, receiver) {
|
|
277
|
+
const result = Reflect.get(target, property, receiver);
|
|
278
|
+
const shouldTrack = mutatingMethods.has(String(property)) ||
|
|
279
|
+
(trackDelete && property === 'delete');
|
|
280
|
+
if (!shouldTrack || typeof result !== 'function')
|
|
281
|
+
return result;
|
|
282
|
+
return (...args) => {
|
|
283
|
+
changed = true;
|
|
284
|
+
return result.apply(target, args);
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
};
|
|
289
|
+
const tracked = new Proxy(interaction, {
|
|
290
|
+
get(target, property, receiver) {
|
|
291
|
+
if (property === 'message')
|
|
292
|
+
return trackObject(Reflect.get(target, property, receiver), true);
|
|
293
|
+
return Reflect.get(target, property, receiver);
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
return { interaction: tracked, mutated: () => changed };
|
|
297
|
+
};
|
|
298
|
+
const deleteInteractionResponse = async (interaction) => {
|
|
299
|
+
if (typeof interaction?.deleteReply === 'function') {
|
|
300
|
+
await interaction.deleteReply().catch(() => { });
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (typeof interaction?.message?.delete === 'function') {
|
|
304
|
+
await interaction.message.delete().catch(() => { });
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
const normalizeDefinitionId = (id) => {
|
|
308
|
+
const normalized = String(id || '').trim();
|
|
309
|
+
if (!normalized || normalized.length > 100 || normalized.includes(':')) {
|
|
310
|
+
throw new Error('Component definition id must be a non-empty name without ":".');
|
|
311
|
+
}
|
|
312
|
+
return normalized;
|
|
313
|
+
};
|
|
314
|
+
const createDefinitionContext = (id, interaction, runtimeKey = DEFAULT_RUNTIME_KEY) => ({
|
|
315
|
+
id,
|
|
316
|
+
interaction,
|
|
317
|
+
ownerId: interaction?.user?.id,
|
|
318
|
+
guildId: interaction?.guildId ?? interaction?.guild?.id ?? undefined,
|
|
319
|
+
runtimeKey: normalizeRuntimeKey(runtimeKey)
|
|
320
|
+
});
|
|
321
|
+
const resolveDefinition = async (definition, context) => typeof definition === 'function'
|
|
322
|
+
? await definition(context)
|
|
323
|
+
: definition;
|
|
324
|
+
const isPrompt = (value) => {
|
|
325
|
+
return (!!value &&
|
|
326
|
+
typeof value === 'object' &&
|
|
327
|
+
typeof value.render === 'function' &&
|
|
328
|
+
typeof value.resolveOption === 'function');
|
|
329
|
+
};
|
|
330
|
+
const isPaginator = (value) => {
|
|
331
|
+
return (!!value &&
|
|
332
|
+
typeof value === 'object' &&
|
|
333
|
+
typeof value.renderDocument === 'function' &&
|
|
334
|
+
typeof value.resolveAction === 'function');
|
|
335
|
+
};
|
|
336
|
+
const createPromptFromPages = (pages, context) => {
|
|
337
|
+
if (!Array.isArray(pages) || pages.length === 0) {
|
|
338
|
+
throw new Error(`Prompt "${context.id}" has no pages.`);
|
|
339
|
+
}
|
|
340
|
+
return componentbuilder_1.Prompt.fromPages([...pages], {
|
|
341
|
+
ownerId: context.ownerId,
|
|
342
|
+
guildId: context.guildId
|
|
343
|
+
});
|
|
344
|
+
};
|
|
345
|
+
const createPaginatorFromPages = (id, pages, context) => {
|
|
346
|
+
if (!Array.isArray(pages) || pages.length === 0) {
|
|
347
|
+
throw new Error(`Paginator "${id}" has no pages.`);
|
|
348
|
+
}
|
|
349
|
+
const templates = pages.map((page) => isPromptPage(page) ? page.template : page);
|
|
350
|
+
return componentbuilder_1.Paginator.static({
|
|
351
|
+
id,
|
|
352
|
+
ownerId: context.ownerId,
|
|
353
|
+
guildId: context.guildId,
|
|
354
|
+
pages: templates
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
const isPromptPage = (value) => {
|
|
358
|
+
return !!value && typeof value === 'object' && 'template' in value;
|
|
359
|
+
};
|
|
360
|
+
const replyWithDocument = async (interaction, document, options) => {
|
|
361
|
+
if (typeof interaction?.reply !== 'function') {
|
|
362
|
+
throw new Error('The interaction does not support reply().');
|
|
363
|
+
}
|
|
364
|
+
const flags = (options.flags ?? discord_js_1.MessageFlags.IsComponentsV2) |
|
|
365
|
+
(options.ephemeral ? discord_js_1.MessageFlags.Ephemeral : 0);
|
|
366
|
+
return interaction.reply({
|
|
367
|
+
...(0, componentbuilder_1.toDiscordMessagePayload)(document),
|
|
368
|
+
flags
|
|
369
|
+
});
|
|
370
|
+
};
|
|
371
|
+
const clear = (runtimeKey) => {
|
|
372
|
+
if (!runtimeKey) {
|
|
373
|
+
registrations.clear();
|
|
374
|
+
promptDefinitions.clear();
|
|
375
|
+
paginatorDefinitions.clear();
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
const prefix = `${normalizeRuntimeKey(runtimeKey)}\u0000`;
|
|
379
|
+
for (const key of registrations.keys()) {
|
|
380
|
+
if (key.startsWith(prefix))
|
|
381
|
+
registrations.delete(key);
|
|
382
|
+
}
|
|
383
|
+
for (const key of promptDefinitions.keys()) {
|
|
384
|
+
if (key.startsWith(prefix))
|
|
385
|
+
promptDefinitions.delete(key);
|
|
386
|
+
}
|
|
387
|
+
for (const key of paginatorDefinitions.keys()) {
|
|
388
|
+
if (key.startsWith(prefix))
|
|
389
|
+
paginatorDefinitions.delete(key);
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
exports.clear = clear;
|
|
393
|
+
//# sourceMappingURL=ComponentRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentRuntime.js","sourceRoot":"","sources":["../../src/Shared/ComponentRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Shared/Config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;CAGT,CAAA;AAEV,eAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Config = void 0;
|
|
4
|
+
// ────────────────────────────────────────────────────────────────────────────────
|
|
5
|
+
const isDevelopment = process.env.NODE_ENV === 'development';
|
|
6
|
+
const DEFAULT_API_URL = 'https://connext.tefutaki.com';
|
|
7
|
+
const DEFAULT_WS_URL = 'wss://connext.tefutaki.com';
|
|
8
|
+
exports.Config = {
|
|
9
|
+
API_URL: process.env.API_URL || DEFAULT_API_URL,
|
|
10
|
+
WS_URL: process.env.WS_URL || DEFAULT_WS_URL
|
|
11
|
+
};
|
|
12
|
+
// ────────────────────────────────────────────────────────────────────────────────
|
|
13
|
+
exports.default = exports.Config;
|
|
14
|
+
// ────────────────────────────────────────────────────────────────────────────────
|
|
15
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Shared/Config.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAA;AAE5D,MAAM,eAAe,GAAG,8BAA8B,CAAA;AACtD,MAAM,cAAc,GAAG,4BAA4B,CAAA;AAEtC,QAAA,MAAM,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe;IAC/C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,cAAc;CACpC,CAAA;AACV,mFAAmF;AACnF,kBAAe,cAAM,CAAA;AACrB,mFAAmF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/Shared/ConfigLoader.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,IAmDpE,CAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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.GenerateConfigFile = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const ConsoleLog_1 = require("./ConsoleLog");
|
|
10
|
+
const Neutrun_1 = __importDefault(require("./Neutrun"));
|
|
11
|
+
const formatType = (value, indentLevel = 1) => {
|
|
12
|
+
if (value === null || value === undefined)
|
|
13
|
+
return 'any';
|
|
14
|
+
if (Array.isArray(value)) {
|
|
15
|
+
if (value.length > 0)
|
|
16
|
+
return `${formatType(value[0], indentLevel)}[]`;
|
|
17
|
+
return 'any[]';
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === 'object') {
|
|
20
|
+
const keys = Object.keys(value);
|
|
21
|
+
const indent = ' '.repeat(indentLevel);
|
|
22
|
+
const nextIndent = ' '.repeat(indentLevel + 1);
|
|
23
|
+
const props = keys
|
|
24
|
+
.map((k) => `${nextIndent}'${k}'?: ${formatType(value[k], indentLevel + 1)}`)
|
|
25
|
+
.join('\n');
|
|
26
|
+
const indexSig = `${nextIndent}[key: string]: any`;
|
|
27
|
+
if (keys.length === 0) {
|
|
28
|
+
return `{\n${indexSig}\n${indent}}`;
|
|
29
|
+
}
|
|
30
|
+
return `{\n${props}\n${indexSig}\n${indent}}`;
|
|
31
|
+
}
|
|
32
|
+
return typeof value;
|
|
33
|
+
};
|
|
34
|
+
const GenerateConfigFile = (configData) => {
|
|
35
|
+
if (process.env.NODE_ENV === 'production')
|
|
36
|
+
return; // Optional: disable in prod
|
|
37
|
+
const FilePath = Neutrun_1.default.getGeneratedPath('Config.ts');
|
|
38
|
+
const OutputDir = path_1.default.dirname(FilePath);
|
|
39
|
+
if (!fs_1.default.existsSync(OutputDir)) {
|
|
40
|
+
fs_1.default.mkdirSync(OutputDir, { recursive: true });
|
|
41
|
+
}
|
|
42
|
+
const Lines = [];
|
|
43
|
+
Lines.push('// ────────────────────────────────────────────────────────────────────────────────');
|
|
44
|
+
Lines.push('// AUTOGENERATED BY NINENITY/NEUTRUN - DO NOT EDIT MANUALLY');
|
|
45
|
+
Lines.push('// ────────────────────────────────────────────────────────────────────────────────');
|
|
46
|
+
Lines.push('');
|
|
47
|
+
Lines.push('export interface AppConfig {');
|
|
48
|
+
const Names = Object.keys(configData).sort();
|
|
49
|
+
for (const Name of Names) {
|
|
50
|
+
// skip mongoose internals
|
|
51
|
+
if (Name.startsWith('_') || Name === 'id' || Name === '__v')
|
|
52
|
+
continue;
|
|
53
|
+
const value = configData[Name];
|
|
54
|
+
const typeStr = formatType(value);
|
|
55
|
+
Lines.push(` '${Name}'?: ${typeStr}`);
|
|
56
|
+
}
|
|
57
|
+
Lines.push('}');
|
|
58
|
+
Lines.push('');
|
|
59
|
+
Lines.push('const Config: AppConfig = {}');
|
|
60
|
+
Lines.push('export default Config');
|
|
61
|
+
Lines.push('');
|
|
62
|
+
// Apenas reescrever se o conteúdo mudou para evitar loop de restart do nodemon
|
|
63
|
+
let existing = '';
|
|
64
|
+
if (fs_1.default.existsSync(FilePath)) {
|
|
65
|
+
existing = fs_1.default.readFileSync(FilePath, 'utf-8');
|
|
66
|
+
}
|
|
67
|
+
const newContent = Lines.join('\n');
|
|
68
|
+
if (existing !== newContent) {
|
|
69
|
+
fs_1.default.writeFileSync(FilePath, newContent, 'utf-8');
|
|
70
|
+
(0, ConsoleLog_1.logSuccess)('Tipagem do Client.config (AppConfig) atualizada.', 'Generator');
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
exports.GenerateConfigFile = GenerateConfigFile;
|
|
74
|
+
//# sourceMappingURL=ConfigLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/Shared/ConfigLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigProxy.d.ts","sourceRoot":"","sources":["../../src/Shared/ConfigProxy.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAG,CA0C1E,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateSafeProxy = void 0;
|
|
4
|
+
// ────────────────────────────────────────────────────────────────────────────────
|
|
5
|
+
const CreateSafeProxy = (target) => {
|
|
6
|
+
if (!target || typeof target !== 'object') {
|
|
7
|
+
return target;
|
|
8
|
+
}
|
|
9
|
+
return new Proxy(target, {
|
|
10
|
+
get: (obj, prop) => {
|
|
11
|
+
let value;
|
|
12
|
+
try {
|
|
13
|
+
value = obj[prop];
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
// Apply Array Proxy for Channels and Roles
|
|
19
|
+
if (prop === 'channels' || prop === 'roles') {
|
|
20
|
+
const source = value && typeof value === 'object' && !Array.isArray(value)
|
|
21
|
+
? value
|
|
22
|
+
: {};
|
|
23
|
+
return new Proxy(source, {
|
|
24
|
+
get: (innerObj, innerProp) => {
|
|
25
|
+
if (typeof innerProp === 'symbol')
|
|
26
|
+
return innerObj[innerProp];
|
|
27
|
+
try {
|
|
28
|
+
if (Object.prototype.hasOwnProperty.call(innerObj, innerProp) &&
|
|
29
|
+
innerObj[innerProp]) {
|
|
30
|
+
return [innerObj[innerProp]].flat().filter(Boolean);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
exports.CreateSafeProxy = CreateSafeProxy;
|
|
45
|
+
// ────────────────────────────────────────────────────────────────────────────────
|
|
46
|
+
//# sourceMappingURL=ConfigProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigProxy.js","sourceRoot":"","sources":["../../src/Shared/ConfigProxy.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AAC5E,MAAM,eAAe,GAAG,CAAgC,MAAS,EAAK,EAAE;IAC7E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACjB,IAAI,KAAU,CAAA;YACd,IAAI,CAAC;gBACH,KAAK,GAAG,GAAG,CAAC,IAAe,CAAC,CAAA;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,2CAA2C;YAC3C,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5C,MAAM,MAAM,GACV,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACzD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,EAAE,CAAA;gBAER,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;oBACvB,GAAG,EAAE,CAAC,QAAa,EAAE,SAA0B,EAAE,EAAE;wBACjD,IAAI,OAAO,SAAS,KAAK,QAAQ;4BAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;wBAC7D,IAAI,CAAC;4BACH,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;gCACzD,QAAQ,CAAC,SAAS,CAAC,EACnB,CAAC;gCACD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;4BACrD,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,EAAE,CAAA;wBACX,CAAC;wBACD,OAAO,EAAE,CAAA;oBACX,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAM,CAAA;AACT,CAAC,CAAA;AA1CY,QAAA,eAAe,mBA0C3B;AACD,mFAAmF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type LogMessage = string | number | boolean | null | undefined;
|
|
2
|
+
export declare const logInfo: (message: LogMessage, tag?: string) => void;
|
|
3
|
+
export declare const logSuccess: (message: LogMessage, tag?: string) => void;
|
|
4
|
+
export declare const logWarn: (message: LogMessage, tag?: string) => void;
|
|
5
|
+
export declare const logError: (message: LogMessage, tag?: string) => void;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=ConsoleLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleLog.d.ts","sourceRoot":"","sources":["../../src/Shared/ConsoleLog.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;AAW9D,eAAO,MAAM,OAAO,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,KAAG,IAC3B,CAAA;AAEjC,eAAO,MAAM,UAAU,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,KAAG,IAC7B,CAAA;AAElC,eAAO,MAAM,OAAO,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,KAAG,IACzB,CAAA;AAEnC,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,KAAG,IAC7B,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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.logError = exports.logWarn = exports.logSuccess = exports.logInfo = void 0;
|
|
7
|
+
const Color_1 = __importDefault(require("../Logger/Color"));
|
|
8
|
+
const formatMessage = (message, tag) => {
|
|
9
|
+
const value = String(message ?? '');
|
|
10
|
+
return tag ? `[${tag}] ${value}` : value;
|
|
11
|
+
};
|
|
12
|
+
const print = (message, tag, color) => {
|
|
13
|
+
console.log(color(formatMessage(message, tag)));
|
|
14
|
+
};
|
|
15
|
+
const logInfo = (message, tag) => print(message, tag, Color_1.default.cyan);
|
|
16
|
+
exports.logInfo = logInfo;
|
|
17
|
+
const logSuccess = (message, tag) => print(message, tag, Color_1.default.green);
|
|
18
|
+
exports.logSuccess = logSuccess;
|
|
19
|
+
const logWarn = (message, tag) => print(message, tag, Color_1.default.yellow);
|
|
20
|
+
exports.logWarn = logWarn;
|
|
21
|
+
const logError = (message, tag) => print(message, tag, Color_1.default.red);
|
|
22
|
+
exports.logError = logError;
|
|
23
|
+
//# sourceMappingURL=ConsoleLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleLog.js","sourceRoot":"","sources":["../../src/Shared/ConsoleLog.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AAInC,MAAM,aAAa,GAAG,CAAC,OAAmB,EAAE,GAAY,EAAU,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACnC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,OAAmB,EAAE,GAAuB,EAAE,KAAgC,EAAQ,EAAE;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAEM,MAAM,OAAO,GAAG,CAAC,OAAmB,EAAE,GAAY,EAAQ,EAAE,CACjE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAK,CAAC,IAAI,CAAC,CAAA;AADpB,QAAA,OAAO,WACa;AAE1B,MAAM,UAAU,GAAG,CAAC,OAAmB,EAAE,GAAY,EAAQ,EAAE,CACpE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAK,CAAC,KAAK,CAAC,CAAA;AADrB,QAAA,UAAU,cACW;AAE3B,MAAM,OAAO,GAAG,CAAC,OAAmB,EAAE,GAAY,EAAQ,EAAE,CACjE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAK,CAAC,MAAM,CAAC,CAAA;AADtB,QAAA,OAAO,WACe;AAE5B,MAAM,QAAQ,GAAG,CAAC,OAAmB,EAAE,GAAY,EAAQ,EAAE,CAClE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAK,CAAC,GAAG,CAAC,CAAA;AADnB,QAAA,QAAQ,YACW"}
|