server-ts: Port services/options

This commit is contained in:
Elian Doran
2024-04-03 23:28:26 +03:00
parent 532ed1d3f9
commit a154dc76ce
4 changed files with 10 additions and 10 deletions

View File

@@ -15,7 +15,7 @@ function getOptionOrNull(name: string): string | null {
return option ? option.value : null;
}
function getOption(name: string): string {
function getOption(name: string) {
const val = getOptionOrNull(name);
if (val === null) {
@@ -44,7 +44,7 @@ function getOptionInt(name: string, defaultValue?: number): number {
function getOptionBool(name: string): boolean {
const val = getOption(name);
if (!['true', 'false'].includes(val)) {
if (typeof val !== "string" || !['true', 'false'].includes(val)) {
throw new Error(`Could not parse '${val}' into boolean for option '${name}'`);
}
@@ -52,7 +52,7 @@ function getOptionBool(name: string): boolean {
}
function setOption(name: string, value: string | number | boolean) {
if (value === true || value === false) {
if (value === true || value === false || typeof value === "number") {
value = value.toString();
}
@@ -68,7 +68,7 @@ function setOption(name: string, value: string | number | boolean) {
}
}
function createOption(name: string, value: string, isSynced: boolean) {
function createOption(name: string, value: string | number, isSynced: boolean) {
// to avoid circular dependency, need to find a better solution
const BOption = require('../becca/entities/boption');
@@ -84,7 +84,7 @@ function getOptions() {
}
function getOptionMap() {
const map: Record<string, string> = {};
const map: Record<string | number, string> = {};
for (const option of Object.values(becca.options)) {
map[option.name] = option.value;