From 044e8466ed725749d1d6e6f1087979bb9f20d96c Mon Sep 17 00:00:00 2001 From: qm3ster Date: Fri, 8 Mar 2019 18:30:38 +0200 Subject: [PATCH] Simplify settings getters --- lib/util/settings.js | 46 +++++++++++++++----------------------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/lib/util/settings.js b/lib/util/settings.js index 581424628..3ae0ddfa9 100644 --- a/lib/util/settings.js +++ b/lib/util/settings.js @@ -143,20 +143,14 @@ function set(path, value) { writeRead(); } -const getDevice = (ieeeAddr) => { - const settings = getSettings(); - return settings.devices ? settings.devices[ieeeAddr] : null; -}; +const getDevices = () => getSettings().devices || []; -const getGroup = (ID) => { - const settings = getSettings(); - return settings.groups ? settings.groups[ID]: null; -}; +const getDevice = (ieeeAddr) => getDevices()[ieeeAddr]; + +const getGroups = () => getSettings().groups || []; + +const getGroup = (ID) => getGroups()[ID]; -const getDevices = () => { - const settings = getSettings(); - return settings.devices ? settings.devices : []; -}; function addDevice(ieeeAddr) { const settings = getSettings(); @@ -170,32 +164,24 @@ function addDevice(ieeeAddr) { function removeDevice(ieeeAddr) { const settings = getSettings(); - if (settings.devices && settings.devices[ieeeAddr]) { - delete settings.devices[ieeeAddr]; - writeRead(); - } + if (!settings.devices || !settings.devices[ieeeAddr]) return; + + delete settings.devices[ieeeAddr]; + writeRead(); } function getIeeeAddrByFriendlyName(friendlyName) { - const settings = getSettings(); - if (!settings.devices) { - return null; - } - - return Object.keys(settings.devices).find((ieeeAddr) => - settings.devices[ieeeAddr].friendly_name === friendlyName + const entry = Object.entries(getDevices()).find(([ieeeAddr, device]) => + device.friendly_name === friendlyName ); + return entry && entry[0]; } function getGroupIDByFriendlyName(friendlyName) { - const settings = getSettings(); - if (!settings.groups) { - return null; - } - - return Object.keys(settings.groups).find((ID) => - settings.groups[ID].friendly_name === friendlyName + const entry = Object.entries(getGroups()).find(([ID, group]) => + group.friendly_name === friendlyName ); + return entry && entry[0]; } function changeDeviceOptions(ieeeAddr, newOptions) {