const store = require("./store"); const { restart } = require("../providers/app-controls"); function getEnabled() { const plugins = store.get("plugins"); const enabledPlugins = Object.entries(plugins).filter(([plugin, options]) => isEnabled(plugin) ); return enabledPlugins; } function isEnabled(plugin) { const pluginConfig = store.get("plugins")[plugin]; return pluginConfig !== undefined && pluginConfig.enabled; } function setOptions(plugin, options) { const plugins = store.get("plugins"); store.set("plugins", { ...plugins, [plugin]: { ...plugins[plugin], ...options, }, }); } function setMenuOptions(plugin, options) { setOptions(plugin, options); if (store.get("options.restartOnConfigChanges")) restart(); } function getOptions(plugin) { return store.get("plugins")[plugin]; } function enable(plugin) { setMenuOptions(plugin, { enabled: true }); } function disable(plugin) { setMenuOptions(plugin, { enabled: false }); } module.exports = { isEnabled, getEnabled, enable, disable, setOptions, setMenuOptions, getOptions, };