diff options
Diffstat (limited to 'src/plugins/index.ts')
-rw-r--r-- | src/plugins/index.ts | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/src/plugins/index.ts b/src/plugins/index.ts index e4d0775..e03c588 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -23,37 +23,38 @@ export function startAllPlugins() { } export function startPlugin(p: Plugin) { - if (p.start) { - logger.info("Starting plugin", p.name); - if (p.started) { - logger.warn(`${p.name} already started`); - return false; - } - try { - p.start(); - p.started = true; - return true; - } catch (err: any) { - logger.error(`Failed to start ${p.name}\n`, err); - return false; - } + if (!p.start) return true; + + logger.info("Starting plugin", p.name); + if (p.started) { + logger.warn(`${p.name} already started`); + return false; + } + + try { + p.start(); + p.started = true; + return true; + } catch (err: any) { + logger.error(`Failed to start ${p.name}\n`, err); + return false; } } export function stopPlugin(p: Plugin) { - if (p.stop) { - logger.info("Stopping plugin", p.name); - if (!p.started) { - logger.warn(`${p.name} already stopped / never started`); - return false; - } - try { - p.stop(); - p.started = false; - return true; - } catch (err: any) { - logger.error(`Failed to stop ${p.name}\n`, err); - return false; - } + if (!p.stop) return true; + + logger.info("Stopping plugin", p.name); + if (!p.started) { + logger.warn(`${p.name} already stopped / never started`); + return false; + } + try { + p.stop(); + p.started = false; + return true; + } catch (err: any) { + logger.error(`Failed to stop ${p.name}\n`, err); + return false; } } |