From 7dfa195cd109dd61c81c303ed5727fa6d8a25c6c Mon Sep 17 00:00:00 2001 From: jangxx Date: Sat, 2 Mar 2019 13:33:58 +0100 Subject: [PATCH] cleaned up the code a bit --- HCMagicHome.js | 52 +++++++++++++++++++++++------------------------ package-lock.json | 9 ++++---- package.json | 2 +- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/HCMagicHome.js b/HCMagicHome.js index 0a0445f..e94cdad 100644 --- a/HCMagicHome.js +++ b/HCMagicHome.js @@ -236,24 +236,15 @@ class HCMagicHome extends HCColorLamp { module.exports = HCMagicHome; function HSL_to_RGB(hsl) { - var h = hsl.hue / 360; - var s = hsl.sat / 100; - var l = hsl.l / 100; + let h = hsl.hue / 360; + let s = hsl.sat / 100; + let l = hsl.l / 100; - var r, g, b; + let r, g, b; if (s == 0) { r = g = b = l; // achromatic } else { - function hue2rgb(p, q, t) { - if (t < 0) t += 1; - if (t > 1) t -= 1; - if (t < 1/6) return p + (q - p) * 6 * t; - if (t < 1/2) return q; - if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; - return p; - } - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; var p = 2 * l - q; @@ -269,12 +260,21 @@ function HSL_to_RGB(hsl) { }; } -function RGB_to_HSL(rgb) { - var r = rgb.red / 255; - var g = rgb.green / 255; - var b = rgb.blue / 255; +function hue2rgb(p, q, t) { + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1/6) return p + (q - p) * 6 * t; + if (t < 1/2) return q; + if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; +} - var max = Math.max(r, g, b), min = Math.min(r, g, b); +function RGB_to_HSL(rgb) { + let r = rgb.red / 255; + let g = rgb.green / 255; + let b = rgb.blue / 255; + + let max = Math.max(r, g, b), min = Math.min(r, g, b); if (max == min || max - min < 0.01) { h = s = 0; // achromatic @@ -291,7 +291,7 @@ function RGB_to_HSL(rgb) { h /= 6; } - var l = 1 - 0.5 * s; + let l = 1 - 0.5 * s; return { hue: Math.round(h * 360), @@ -301,13 +301,13 @@ function RGB_to_HSL(rgb) { } function extractBrightness(rgb) { - var max = Math.max(rgb.red, rgb.green, rgb.blue); + let max = Math.max(rgb.red, rgb.green, rgb.blue); return (max / 255) * 100; } function removeBrightness(rgb) { - var max = Math.max(rgb.red, rgb.green, rgb.blue); - var scale = (max > 0) ? 255 / max : 0; + let max = Math.max(rgb.red, rgb.green, rgb.blue); + let scale = (max > 0) ? 255 / max : 0; return { red: rgb.red * scale, @@ -322,9 +322,9 @@ function fillPartialHSL(newcolor, oldcolor) { } //console.log(newcolor, oldcolor); - var color = {}; - color["hue"] = (newcolor.hue != null) ? newcolor.hue : oldcolor.hue; - color["sat"] = (newcolor.sat != null) ? newcolor.sat : oldcolor.sat; - color["l"] = (newcolor.l != null) ? newcolor.l : oldcolor.l; + let color = {}; + color.hue = (newcolor.hue != null) ? newcolor.hue : oldcolor.hue; + color.sat = (newcolor.sat != null) ? newcolor.sat : oldcolor.sat; + color.l = (newcolor.l != null) ? newcolor.l : oldcolor.l; return color; } diff --git a/package-lock.json b/package-lock.json index 8ea7245..f8b3f36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,14 @@ { "name": "hc-magichome", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { "homecontrol-control-base": { "version": "git+https://git.literalchaos.de/jan/homecontrol-control-base.git#b7ed807affe888d61efd9dbff3d55bcc128215b7", - "from": "git+https://git.literalchaos.de/jan/homecontrol-control-base.git", "requires": { - "merge-options": "^1.0.1", - "node-object-hash": "^1.4.1" + "merge-options": "1.0.1", + "node-object-hash": "1.4.2" } }, "is-plain-obj": { @@ -27,7 +26,7 @@ "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", "requires": { - "is-plain-obj": "^1.1" + "is-plain-obj": "1.1.0" } }, "node-object-hash": { diff --git a/package.json b/package.json index e6087d2..dfc06cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hc-magichome", - "version": "1.0.2", + "version": "1.0.3", "description": "Magic Home Plugin for Homecontrol", "main": "HCMagicHome.js", "scripts": {