add default value to unnamed args

This commit is contained in:
LenAnderson 2024-06-18 21:51:08 -04:00
parent eb02ca95f9
commit 05c24f6d31

View File

@ -298,40 +298,52 @@ export class SlashCommand {
for (const arg of unnamedArguments) { for (const arg of unnamedArguments) {
const listItem = document.createElement('li'); { const listItem = document.createElement('li'); {
listItem.classList.add('argumentItem'); listItem.classList.add('argumentItem');
const argItem = document.createElement('div'); { const argSpec = document.createElement('div'); {
argItem.classList.add('argument'); argSpec.classList.add('argumentSpec');
argItem.classList.add('unnamedArgument'); const argItem = document.createElement('div'); {
argItem.title = `${arg.isRequired ? '' : 'optional '}unnamed argument`; argItem.classList.add('argument');
if (!arg.isRequired || (arg.defaultValue ?? false)) argItem.classList.add('optional'); argItem.classList.add('unnamedArgument');
if (arg.acceptsMultiple) argItem.classList.add('multiple'); argItem.title = `${arg.isRequired ? '' : 'optional '}unnamed argument`;
if (arg.enumList.length > 0) { if (!arg.isRequired || (arg.defaultValue ?? false)) argItem.classList.add('optional');
const enums = document.createElement('span'); { if (arg.acceptsMultiple) argItem.classList.add('multiple');
enums.classList.add('argument-enums'); if (arg.enumList.length > 0) {
enums.title = `${argItem.title} - accepted values`; const enums = document.createElement('span'); {
for (const e of arg.enumList) { enums.classList.add('argument-enums');
const enumItem = document.createElement('span'); { enums.title = `${argItem.title} - accepted values`;
enumItem.classList.add('argument-enum'); for (const e of arg.enumList) {
enumItem.textContent = e.value; const enumItem = document.createElement('span'); {
enums.append(enumItem); enumItem.classList.add('argument-enum');
enumItem.textContent = e.value;
enums.append(enumItem);
}
} }
argItem.append(enums);
}
} else {
const types = document.createElement('span'); {
types.classList.add('argument-types');
types.title = `${argItem.title} - accepted types`;
for (const t of arg.typeList) {
const type = document.createElement('span'); {
type.classList.add('argument-type');
type.textContent = t;
types.append(type);
}
}
argItem.append(types);
} }
argItem.append(enums);
} }
} else { argSpec.append(argItem);
const types = document.createElement('span'); { }
types.classList.add('argument-types'); if (arg.defaultValue !== null) {
types.title = `${argItem.title} - accepted types`; const argDefault = document.createElement('div'); {
for (const t of arg.typeList) { argDefault.classList.add('argument-default');
const type = document.createElement('span'); { argDefault.title = 'default value';
type.classList.add('argument-type'); argDefault.textContent = arg.defaultValue.toString();
type.textContent = t; argSpec.append(argDefault);
types.append(type);
}
}
argItem.append(types);
} }
} }
listItem.append(argItem); listItem.append(argSpec);
} }
const desc = document.createElement('div'); { const desc = document.createElement('div'); {
desc.classList.add('argument-description'); desc.classList.add('argument-description');