aboutsummaryrefslogtreecommitdiff
path: root/src/commands/dev/eval.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/dev/eval.ts')
-rw-r--r--src/commands/dev/eval.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/commands/dev/eval.ts b/src/commands/dev/eval.ts
index 19667dd..5b44db2 100644
--- a/src/commands/dev/eval.ts
+++ b/src/commands/dev/eval.ts
@@ -22,6 +22,11 @@ export default class EvalCommand extends BushCommand {
{ id: 'typescript', match: 'flag', flag: '--ts' },
{ id: 'hidden', match: 'flag', flag: '--hidden' },
{ id: 'show_proto', match: 'flag', flag: '--proto' },
+ // {
+ // id: 'show_methods',
+ // match: 'flag',
+ // flag: ['--func', '--function', '--functions', '--meth', '--method', '--methods']
+ // },
{
id: 'code',
match: 'rest',
@@ -38,6 +43,7 @@ export default class EvalCommand extends BushCommand {
{ name: 'typescript', description: 'Whether or not the code is typescript.', type: 'BOOLEAN', required: false },
{ name: 'hidden', description: 'Whether or not to show hidden items.', type: 'BOOLEAN', required: false },
{ name: 'show_proto', description: 'Show prototype.', type: 'BOOLEAN', required: false }
+ // { name: 'show_methods', description: 'Show class functions.', type: 'BOOLEAN', required: false }
],
ownerOnly: true
});
@@ -54,6 +60,7 @@ export default class EvalCommand extends BushCommand {
typescript: boolean;
hidden: boolean;
show_proto: boolean;
+ // show_methods: boolean;
}
): Promise<unknown> {
if (!message.author.isOwner())
@@ -114,11 +121,12 @@ export default class EvalCommand extends BushCommand {
try {
const rawOutput = code[code.lang].replace(/ /g, '').includes('9+10' || '10+9') ? '21' : await eval(code.js);
const output = await util.inspectCleanRedactCodeblock(rawOutput, 'js', {
- depth: args.sel_depth || 0,
+ depth: args.sel_depth ?? 0,
showHidden: args.hidden,
getters: true,
showProxy: true
});
+ // const methods = args.show_methods ? await util.inspectCleanRedactCodeblock(util.getMethods(rawOutput), 'js') : undefined;
const proto = args.show_proto
? await util.inspectCleanRedactCodeblock(Object.getPrototypeOf(rawOutput), 'js', {
depth: 1,
@@ -131,6 +139,7 @@ export default class EvalCommand extends BushCommand {
if (inputTS) embed.addField('📥 Input (typescript)', inputTS).addField('📥 Input (transpiled javascript)', inputJS);
else embed.addField('📥 Input', inputJS);
embed.addField('📤 Output', output);
+ // if (methods) embed.addField('🔧 Methods', methods);
if (proto) embed.addField('⚙️ Proto', proto);
} catch (e) {
embed.setTitle(`${emojis.errorFull} Code was not able to be evaluated.`).setColor(colors.error);