summaryrefslogtreecommitdiff
path: root/node_modules/color-convert
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-10-14 16:27:06 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-10-14 16:27:06 +0800
commit2db6defc0b555d93d2363ba6c6dfa19df7dc7c11 (patch)
treea92c596973b150bbd1723b55facf38e0ab6258d8 /node_modules/color-convert
parent6dce4e2e8ed35a26af389b7ab388113381350444 (diff)
update
Diffstat (limited to 'node_modules/color-convert')
-rw-r--r--node_modules/color-convert/conversions.js591
-rw-r--r--node_modules/color-convert/index.js51
-rw-r--r--node_modules/color-convert/package.json12
-rw-r--r--node_modules/color-convert/route.js44
4 files changed, 361 insertions, 337 deletions
diff --git a/node_modules/color-convert/conversions.js b/node_modules/color-convert/conversions.js
index 2657f265..32172007 100644
--- a/node_modules/color-convert/conversions.js
+++ b/node_modules/color-convert/conversions.js
@@ -1,17 +1,18 @@
/* MIT license */
-/* eslint-disable no-mixed-operators */
-const cssKeywords = require('color-name');
+var cssKeywords = require('color-name');
// NOTE: conversions should only return primitive values (i.e. arrays, or
// values that give correct `typeof` results).
// do not use box values types (i.e. Number(), String(), etc.)
-const reverseKeywords = {};
-for (const key of Object.keys(cssKeywords)) {
- reverseKeywords[cssKeywords[key]] = key;
+var reverseKeywords = {};
+for (var key in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(key)) {
+ reverseKeywords[cssKeywords[key]] = key;
+ }
}
-const convert = {
+var convert = module.exports = {
rgb: {channels: 3, labels: 'rgb'},
hsl: {channels: 3, labels: 'hsl'},
hsv: {channels: 3, labels: 'hsv'},
@@ -29,38 +30,40 @@ const convert = {
gray: {channels: 1, labels: ['gray']}
};
-module.exports = convert;
+// hide .channels and .labels properties
+for (var model in convert) {
+ if (convert.hasOwnProperty(model)) {
+ if (!('channels' in convert[model])) {
+ throw new Error('missing channels property: ' + model);
+ }
-// Hide .channels and .labels properties
-for (const model of Object.keys(convert)) {
- if (!('channels' in convert[model])) {
- throw new Error('missing channels property: ' + model);
- }
+ if (!('labels' in convert[model])) {
+ throw new Error('missing channel labels property: ' + model);
+ }
- if (!('labels' in convert[model])) {
- throw new Error('missing channel labels property: ' + model);
- }
+ if (convert[model].labels.length !== convert[model].channels) {
+ throw new Error('channel and label counts mismatch: ' + model);
+ }
- if (convert[model].labels.length !== convert[model].channels) {
- throw new Error('channel and label counts mismatch: ' + model);
+ var channels = convert[model].channels;
+ var labels = convert[model].labels;
+ delete convert[model].channels;
+ delete convert[model].labels;
+ Object.defineProperty(convert[model], 'channels', {value: channels});
+ Object.defineProperty(convert[model], 'labels', {value: labels});
}
-
- const {channels, labels} = convert[model];
- delete convert[model].channels;
- delete convert[model].labels;
- Object.defineProperty(convert[model], 'channels', {value: channels});
- Object.defineProperty(convert[model], 'labels', {value: labels});
}
convert.rgb.hsl = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const min = Math.min(r, g, b);
- const max = Math.max(r, g, b);
- const delta = max - min;
- let h;
- let s;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var min = Math.min(r, g, b);
+ var max = Math.max(r, g, b);
+ var delta = max - min;
+ var h;
+ var s;
+ var l;
if (max === min) {
h = 0;
@@ -78,7 +81,7 @@ convert.rgb.hsl = function (rgb) {
h += 360;
}
- const l = (min + max) / 2;
+ l = (min + max) / 2;
if (max === min) {
s = 0;
@@ -92,24 +95,23 @@ convert.rgb.hsl = function (rgb) {
};
convert.rgb.hsv = function (rgb) {
- let rdif;
- let gdif;
- let bdif;
- let h;
- let s;
-
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const v = Math.max(r, g, b);
- const diff = v - Math.min(r, g, b);
- const diffc = function (c) {
+ var rdif;
+ var gdif;
+ var bdif;
+ var h;
+ var s;
+
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var v = Math.max(r, g, b);
+ var diff = v - Math.min(r, g, b);
+ var diffc = function (c) {
return (v - c) / 6 / diff + 1 / 2;
};
if (diff === 0) {
- h = 0;
- s = 0;
+ h = s = 0;
} else {
s = diff / v;
rdif = diffc(r);
@@ -123,7 +125,6 @@ convert.rgb.hsv = function (rgb) {
} else if (b === v) {
h = (2 / 3) + gdif - rdif;
}
-
if (h < 0) {
h += 1;
} else if (h > 1) {
@@ -139,11 +140,11 @@ convert.rgb.hsv = function (rgb) {
};
convert.rgb.hwb = function (rgb) {
- const r = rgb[0];
- const g = rgb[1];
- let b = rgb[2];
- const h = convert.rgb.hsl(rgb)[0];
- const w = 1 / 255 * Math.min(r, Math.min(g, b));
+ var r = rgb[0];
+ var g = rgb[1];
+ var b = rgb[2];
+ var h = convert.rgb.hsl(rgb)[0];
+ var w = 1 / 255 * Math.min(r, Math.min(g, b));
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
@@ -151,48 +152,54 @@ convert.rgb.hwb = function (rgb) {
};
convert.rgb.cmyk = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
-
- const k = Math.min(1 - r, 1 - g, 1 - b);
- const c = (1 - r - k) / (1 - k) || 0;
- const m = (1 - g - k) / (1 - k) || 0;
- const y = (1 - b - k) / (1 - k) || 0;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var c;
+ var m;
+ var y;
+ var k;
+
+ k = Math.min(1 - r, 1 - g, 1 - b);
+ c = (1 - r - k) / (1 - k) || 0;
+ m = (1 - g - k) / (1 - k) || 0;
+ y = (1 - b - k) / (1 - k) || 0;
return [c * 100, m * 100, y * 100, k * 100];
};
+/**
+ * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
+ * */
function comparativeDistance(x, y) {
- /*
- See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
- */
return (
- ((x[0] - y[0]) ** 2) +
- ((x[1] - y[1]) ** 2) +
- ((x[2] - y[2]) ** 2)
+ Math.pow(x[0] - y[0], 2) +
+ Math.pow(x[1] - y[1], 2) +
+ Math.pow(x[2] - y[2], 2)
);
}
convert.rgb.keyword = function (rgb) {
- const reversed = reverseKeywords[rgb];
+ var reversed = reverseKeywords[rgb];
if (reversed) {
return reversed;
}
- let currentClosestDistance = Infinity;
- let currentClosestKeyword;
+ var currentClosestDistance = Infinity;
+ var currentClosestKeyword;
- for (const keyword of Object.keys(cssKeywords)) {
- const value = cssKeywords[keyword];
+ for (var keyword in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(keyword)) {
+ var value = cssKeywords[keyword];
- // Compute comparative distance
- const distance = comparativeDistance(rgb, value);
+ // Compute comparative distance
+ var distance = comparativeDistance(rgb, value);
- // Check if its less, if so set as closest
- if (distance < currentClosestDistance) {
- currentClosestDistance = distance;
- currentClosestKeyword = keyword;
+ // Check if its less, if so set as closest
+ if (distance < currentClosestDistance) {
+ currentClosestDistance = distance;
+ currentClosestKeyword = keyword;
+ }
}
}
@@ -204,50 +211,55 @@ convert.keyword.rgb = function (keyword) {
};
convert.rgb.xyz = function (rgb) {
- let r = rgb[0] / 255;
- let g = rgb[1] / 255;
- let b = rgb[2] / 255;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
- // Assume sRGB
- r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);
- g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);
- b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);
+ // assume sRGB
+ r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
+ g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
+ b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);
- const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
- const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
- const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
+ var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
+ var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
+ var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
return [x * 100, y * 100, z * 100];
};
convert.rgb.lab = function (rgb) {
- const xyz = convert.rgb.xyz(rgb);
- let x = xyz[0];
- let y = xyz[1];
- let z = xyz[2];
+ var xyz = convert.rgb.xyz(rgb);
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
x /= 95.047;
y /= 100;
z /= 108.883;
- x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
- y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
- z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
- const l = (116 * y) - 16;
- const a = 500 * (x - y);
- const b = 200 * (y - z);
+ l = (116 * y) - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
return [l, a, b];
};
convert.hsl.rgb = function (hsl) {
- const h = hsl[0] / 360;
- const s = hsl[1] / 100;
- const l = hsl[2] / 100;
- let t2;
- let t3;
- let val;
+ var h = hsl[0] / 360;
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var t1;
+ var t2;
+ var t3;
+ var rgb;
+ var val;
if (s === 0) {
val = l * 255;
@@ -260,15 +272,14 @@ convert.hsl.rgb = function (hsl) {
t2 = l + s - l * s;
}
- const t1 = 2 * l - t2;
+ t1 = 2 * l - t2;
- const rgb = [0, 0, 0];
- for (let i = 0; i < 3; i++) {
+ rgb = [0, 0, 0];
+ for (var i = 0; i < 3; i++) {
t3 = h + 1 / 3 * -(i - 1);
if (t3 < 0) {
t3++;
}
-
if (t3 > 1) {
t3--;
}
@@ -290,31 +301,33 @@ convert.hsl.rgb = function (hsl) {
};
convert.hsl.hsv = function (hsl) {
- const h = hsl[0];
- let s = hsl[1] / 100;
- let l = hsl[2] / 100;
- let smin = s;
- const lmin = Math.max(l, 0.01);
+ var h = hsl[0];
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var smin = s;
+ var lmin = Math.max(l, 0.01);
+ var sv;
+ var v;
l *= 2;
s *= (l <= 1) ? l : 2 - l;
smin *= lmin <= 1 ? lmin : 2 - lmin;
- const v = (l + s) / 2;
- const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);
+ v = (l + s) / 2;
+ sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);
return [h, sv * 100, v * 100];
};
convert.hsv.rgb = function (hsv) {
- const h = hsv[0] / 60;
- const s = hsv[1] / 100;
- let v = hsv[2] / 100;
- const hi = Math.floor(h) % 6;
-
- const f = h - Math.floor(h);
- const p = 255 * v * (1 - s);
- const q = 255 * v * (1 - (s * f));
- const t = 255 * v * (1 - (s * (1 - f)));
+ var h = hsv[0] / 60;
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var hi = Math.floor(h) % 6;
+
+ var f = h - Math.floor(h);
+ var p = 255 * v * (1 - s);
+ var q = 255 * v * (1 - (s * f));
+ var t = 255 * v * (1 - (s * (1 - f)));
v *= 255;
switch (hi) {
@@ -334,15 +347,16 @@ convert.hsv.rgb = function (hsv) {
};
convert.hsv.hsl = function (hsv) {
- const h = hsv[0];
- const s = hsv[1] / 100;
- const v = hsv[2] / 100;
- const vmin = Math.max(v, 0.01);
- let sl;
- let l;
+ var h = hsv[0];
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var vmin = Math.max(v, 0.01);
+ var lmin;
+ var sl;
+ var l;
l = (2 - s) * v;
- const lmin = (2 - s) * vmin;
+ lmin = (2 - s) * vmin;
sl = s * vmin;
sl /= (lmin <= 1) ? lmin : 2 - lmin;
sl = sl || 0;
@@ -353,83 +367,87 @@ convert.hsv.hsl = function (hsv) {
// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
convert.hwb.rgb = function (hwb) {
- const h = hwb[0] / 360;
- let wh = hwb[1] / 100;
- let bl = hwb[2] / 100;
- const ratio = wh + bl;
- let f;
-
- // Wh + bl cant be > 1
+ var h = hwb[0] / 360;
+ var wh = hwb[1] / 100;
+ var bl = hwb[2] / 100;
+ var ratio = wh + bl;
+ var i;
+ var v;
+ var f;
+ var n;
+
+ // wh + bl cant be > 1
if (ratio > 1) {
wh /= ratio;
bl /= ratio;
}
- const i = Math.floor(6 * h);
- const v = 1 - bl;
+ i = Math.floor(6 * h);
+ v = 1 - bl;
f = 6 * h - i;
if ((i & 0x01) !== 0) {
f = 1 - f;
}
- const n = wh + f * (v - wh); // Linear interpolation
+ n = wh + f * (v - wh); // linear interpolation
- let r;
- let g;
- let b;
- /* eslint-disable max-statements-per-line,no-multi-spaces */
+ var r;
+ var g;
+ var b;
switch (i) {
default:
case 6:
- case 0: r = v; g = n; b = wh; break;
- case 1: r = n; g = v; b = wh; break;
- case 2: r = wh; g = v; b = n; break;
- case 3: r = wh; g = n; b = v; break;
- case 4: r = n; g = wh; b = v; break;
- case 5: r = v; g = wh; b = n; break;
+ case 0: r = v; g = n; b = wh; break;
+ case 1: r = n; g = v; b = wh; break;
+ case 2: r = wh; g = v; b = n; break;
+ case 3: r = wh; g = n; b = v; break;
+ case 4: r = n; g = wh; b = v; break;
+ case 5: r = v; g = wh; b = n; break;
}
- /* eslint-enable max-statements-per-line,no-multi-spaces */
return [r * 255, g * 255, b * 255];
};
convert.cmyk.rgb = function (cmyk) {
- const c = cmyk[0] / 100;
- const m = cmyk[1] / 100;
- const y = cmyk[2] / 100;
- const k = cmyk[3] / 100;
-
- const r = 1 - Math.min(1, c * (1 - k) + k);
- const g = 1 - Math.min(1, m * (1 - k) + k);
- const b = 1 - Math.min(1, y * (1 - k) + k);
+ var c = cmyk[0] / 100;
+ var m = cmyk[1] / 100;
+ var y = cmyk[2] / 100;
+ var k = cmyk[3] / 100;
+ var r;
+ var g;
+ var b;
+
+ r = 1 - Math.min(1, c * (1 - k) + k);
+ g = 1 - Math.min(1, m * (1 - k) + k);
+ b = 1 - Math.min(1, y * (1 - k) + k);
return [r * 255, g * 255, b * 255];
};
convert.xyz.rgb = function (xyz) {
- const x = xyz[0] / 100;
- const y = xyz[1] / 100;
- const z = xyz[2] / 100;
- let r;
- let g;
- let b;
+ var x = xyz[0] / 100;
+ var y = xyz[1] / 100;
+ var z = xyz[2] / 100;
+ var r;
+ var g;
+ var b;
r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);
- // Assume sRGB
+ // assume sRGB
r = r > 0.0031308
- ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)
+ ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)
: r * 12.92;
g = g > 0.0031308
- ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)
+ ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)
: g * 12.92;
b = b > 0.0031308
- ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)
+ ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)
: b * 12.92;
r = Math.min(Math.max(0, r), 1);
@@ -440,40 +458,43 @@ convert.xyz.rgb = function (xyz) {
};
convert.xyz.lab = function (xyz) {
- let x = xyz[0];
- let y = xyz[1];
- let z = xyz[2];
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
x /= 95.047;
y /= 100;
z /= 108.883;
- x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
- y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
- z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
- const l = (116 * y) - 16;
- const a = 500 * (x - y);
- const b = 200 * (y - z);
+ l = (116 * y) - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
return [l, a, b];
};
convert.lab.xyz = function (lab) {
- const l = lab[0];
- const a = lab[1];
- const b = lab[2];
- let x;
- let y;
- let z;
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var x;
+ var y;
+ var z;
y = (l + 16) / 116;
x = a / 500 + y;
z = y - b / 200;
- const y2 = y ** 3;
- const x2 = x ** 3;
- const z2 = z ** 3;
+ var y2 = Math.pow(y, 3);
+ var x2 = Math.pow(x, 3);
+ var z2 = Math.pow(z, 3);
y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
@@ -486,38 +507,45 @@ convert.lab.xyz = function (lab) {
};
convert.lab.lch = function (lab) {
- const l = lab[0];
- const a = lab[1];
- const b = lab[2];
- let h;
-
- const hr = Math.atan2(b, a);
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var hr;
+ var h;
+ var c;
+
+ hr = Math.atan2(b, a);
h = hr * 360 / 2 / Math.PI;
if (h < 0) {
h += 360;
}
- const c = Math.sqrt(a * a + b * b);
+ c = Math.sqrt(a * a + b * b);
return [l, c, h];
};
convert.lch.lab = function (lch) {
- const l = lch[0];
- const c = lch[1];
- const h = lch[2];
+ var l = lch[0];
+ var c = lch[1];
+ var h = lch[2];
+ var a;
+ var b;
+ var hr;
- const hr = h / 360 * 2 * Math.PI;
- const a = c * Math.cos(hr);
- const b = c * Math.sin(hr);
+ hr = h / 360 * 2 * Math.PI;
+ a = c * Math.cos(hr);
+ b = c * Math.sin(hr);
return [l, a, b];
};
-convert.rgb.ansi16 = function (args, saturation = null) {
- const [r, g, b] = args;
- let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization
+convert.rgb.ansi16 = function (args) {
+ var r = args[0];
+ var g = args[1];
+ var b = args[2];
+ var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
value = Math.round(value / 50);
@@ -525,7 +553,7 @@ convert.rgb.ansi16 = function (args, saturation = null) {
return 30;
}
- let ansi = 30
+ var ansi = 30
+ ((Math.round(b / 255) << 2)
| (Math.round(g / 255) << 1)
| Math.round(r / 255));
@@ -538,17 +566,17 @@ convert.rgb.ansi16 = function (args, saturation = null) {
};
convert.hsv.ansi16 = function (args) {
- // Optimization here; we already know the value and don't need to get
+ // optimization here; we already know the value and don't need to get
// it converted for us.
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
};
convert.rgb.ansi256 = function (args) {
- const r = args[0];
- const g = args[1];
- const b = args[2];
+ var r = args[0];
+ var g = args[1];
+ var b = args[2];
- // We use the extended greyscale palette here, with the exception of
+ // we use the extended greyscale palette here, with the exception of
// black and white. normal palette only has 4 greyscale shades.
if (r === g && g === b) {
if (r < 8) {
@@ -562,7 +590,7 @@ convert.rgb.ansi256 = function (args) {
return Math.round(((r - 8) / 247) * 24) + 232;
}
- const ansi = 16
+ var ansi = 16
+ (36 * Math.round(r / 255 * 5))
+ (6 * Math.round(g / 255 * 5))
+ Math.round(b / 255 * 5);
@@ -571,9 +599,9 @@ convert.rgb.ansi256 = function (args) {
};
convert.ansi16.rgb = function (args) {
- let color = args % 10;
+ var color = args % 10;
- // Handle greyscale
+ // handle greyscale
if (color === 0 || color === 7) {
if (args > 50) {
color += 3.5;
@@ -584,71 +612,71 @@ convert.ansi16.rgb = function (args) {
return [color, color, color];
}
- const mult = (~~(args > 50) + 1) * 0.5;
- const r = ((color & 1) * mult) * 255;
- const g = (((color >> 1) & 1) * mult) * 255;
- const b = (((color >> 2) & 1) * mult) * 255;
+ var mult = (~~(args > 50) + 1) * 0.5;
+ var r = ((color & 1) * mult) * 255;
+ var g = (((color >> 1) & 1) * mult) * 255;
+ var b = (((color >> 2) & 1) * mult) * 255;
return [r, g, b];
};
convert.ansi256.rgb = function (args) {
- // Handle greyscale
+ // handle greyscale
if (args >= 232) {
- const c = (args - 232) * 10 + 8;
+ var c = (args - 232) * 10 + 8;
return [c, c, c];
}
args -= 16;
- let rem;
- const r = Math.floor(args / 36) / 5 * 255;
- const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
- const b = (rem % 6) / 5 * 255;
+ var rem;
+ var r = Math.floor(args / 36) / 5 * 255;
+ var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
+ var b = (rem % 6) / 5 * 255;
return [r, g, b];
};
convert.rgb.hex = function (args) {
- const integer = ((Math.round(args[0]) & 0xFF) << 16)
+ var integer = ((Math.round(args[0]) & 0xFF) << 16)
+ ((Math.round(args[1]) & 0xFF) << 8)
+ (Math.round(args[2]) & 0xFF);
- const string = integer.toString(16).toUpperCase();
+ var string = integer.toString(16).toUpperCase();
return '000000'.substring(string.length) + string;
};
convert.hex.rgb = function (args) {
- const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
+ var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if (!match) {
return [0, 0, 0];
}
- let colorString = match[0];
+ var colorString = match[0];
if (match[0].length === 3) {
- colorString = colorString.split('').map(char => {
+ colorString = colorString.split('').map(function (char) {
return char + char;
}).join('');
}
- const integer = parseInt(colorString, 16);
- const r = (integer >> 16) & 0xFF;
- const g = (integer >> 8) & 0xFF;
- const b = integer & 0xFF;
+ var integer = parseInt(colorString, 16);
+ var r = (integer >> 16) & 0xFF;
+ var g = (integer >> 8) & 0xFF;
+ var b = integer & 0xFF;
return [r, g, b];
};
convert.rgb.hcg = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const max = Math.max(Math.max(r, g), b);
- const min = Math.min(Math.min(r, g), b);
- const chroma = (max - min);
- let grayscale;
- let hue;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var max = Math.max(Math.max(r, g), b);
+ var min = Math.min(Math.min(r, g), b);
+ var chroma = (max - min);
+ var grayscale;
+ var hue;
if (chroma < 1) {
grayscale = min / (1 - chroma);
@@ -665,7 +693,7 @@ convert.rgb.hcg = function (rgb) {
if (max === g) {
hue = 2 + (b - r) / chroma;
} else {
- hue = 4 + (r - g) / chroma;
+ hue = 4 + (r - g) / chroma + 4;
}
hue /= 6;
@@ -675,12 +703,17 @@ convert.rgb.hcg = function (rgb) {
};
convert.hsl.hcg = function (hsl) {
- const s = hsl[1] / 100;
- const l = hsl[2] / 100;
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var c = 1;
+ var f = 0;
- const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));
+ if (l < 0.5) {
+ c = 2.0 * s * l;
+ } else {
+ c = 2.0 * s * (1.0 - l);
+ }
- let f = 0;
if (c < 1.0) {
f = (l - 0.5 * c) / (1.0 - c);
}
@@ -689,11 +722,11 @@ convert.hsl.hcg = function (hsl) {
};
convert.hsv.hcg = function (hsv) {
- const s = hsv[1] / 100;
- const v = hsv[2] / 100;
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
- const c = s * v;
- let f = 0;
+ var c = s * v;
+ var f = 0;
if (c < 1.0) {
f = (v - c) / (1 - c);
@@ -703,21 +736,20 @@ convert.hsv.hcg = function (hsv) {
};
convert.hcg.rgb = function (hcg) {
- const h = hcg[0] / 360;
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
+ var h = hcg[0] / 360;
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
if (c === 0.0) {
return [g * 255, g * 255, g * 255];
}
- const pure = [0, 0, 0];
- const hi = (h % 1) * 6;
- const v = hi % 1;
- const w = 1 - v;
- let mg = 0;
+ var pure = [0, 0, 0];
+ var hi = (h % 1) * 6;
+ var v = hi % 1;
+ var w = 1 - v;
+ var mg = 0;
- /* eslint-disable max-statements-per-line */
switch (Math.floor(hi)) {
case 0:
pure[0] = 1; pure[1] = v; pure[2] = 0; break;
@@ -732,7 +764,6 @@ convert.hcg.rgb = function (hcg) {
default:
pure[0] = 1; pure[1] = 0; pure[2] = w;
}
- /* eslint-enable max-statements-per-line */
mg = (1.0 - c) * g;
@@ -744,11 +775,11 @@ convert.hcg.rgb = function (hcg) {
};
convert.hcg.hsv = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
- const v = c + g * (1.0 - c);
- let f = 0;
+ var v = c + g * (1.0 - c);
+ var f = 0;
if (v > 0.0) {
f = c / v;
@@ -758,11 +789,11 @@ convert.hcg.hsv = function (hcg) {
};
convert.hcg.hsl = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
- const l = g * (1.0 - c) + 0.5 * c;
- let s = 0;
+ var l = g * (1.0 - c) + 0.5 * c;
+ var s = 0;
if (l > 0.0 && l < 0.5) {
s = c / (2 * l);
@@ -775,18 +806,18 @@ convert.hcg.hsl = function (hcg) {
};
convert.hcg.hwb = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
- const v = c + g * (1.0 - c);
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var v = c + g * (1.0 - c);
return [hcg[0], (v - c) * 100, (1 - v) * 100];
};
convert.hwb.hcg = function (hwb) {
- const w = hwb[1] / 100;
- const b = hwb[2] / 100;
- const v = 1 - b;
- const c = v - w;
- let g = 0;
+ var w = hwb[1] / 100;
+ var b = hwb[2] / 100;
+ var v = 1 - b;
+ var c = v - w;
+ var g = 0;
if (c < 1) {
g = (v - c) / (1 - c);
@@ -807,12 +838,10 @@ convert.gray.rgb = function (args) {
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
};
-convert.gray.hsl = function (args) {
+convert.gray.hsl = convert.gray.hsv = function (args) {
return [0, 0, args[0]];
};
-convert.gray.hsv = convert.gray.hsl;
-
convert.gray.hwb = function (gray) {
return [0, 100, gray[0]];
};
@@ -826,14 +855,14 @@ convert.gray.lab = function (gray) {
};
convert.gray.hex = function (gray) {
- const val = Math.round(gray[0] / 100 * 255) & 0xFF;
- const integer = (val << 16) + (val << 8) + val;
+ var val = Math.round(gray[0] / 100 * 255) & 0xFF;
+ var integer = (val << 16) + (val << 8) + val;
- const string = integer.toString(16).toUpperCase();
+ var string = integer.toString(16).toUpperCase();
return '000000'.substring(string.length) + string;
};
convert.rgb.gray = function (rgb) {
- const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
+ var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
return [val / 255 * 100];
};
diff --git a/node_modules/color-convert/index.js b/node_modules/color-convert/index.js
index b648e573..e65b5d77 100644
--- a/node_modules/color-convert/index.js
+++ b/node_modules/color-convert/index.js
@@ -1,25 +1,24 @@
-const conversions = require('./conversions');
-const route = require('./route');
+var conversions = require('./conversions');
+var route = require('./route');
-const convert = {};
+var convert = {};
-const models = Object.keys(conversions);
+var models = Object.keys(conversions);
function wrapRaw(fn) {
- const wrappedFn = function (...args) {
- const arg0 = args[0];
- if (arg0 === undefined || arg0 === null) {
- return arg0;
+ var wrappedFn = function (args) {
+ if (args === undefined || args === null) {
+ return args;
}
- if (arg0.length > 1) {
- args = arg0;
+ if (arguments.length > 1) {
+ args = Array.prototype.slice.call(arguments);
}
return fn(args);
};
- // Preserve .conversion property if there is one
+ // preserve .conversion property if there is one
if ('conversion' in fn) {
wrappedFn.conversion = fn.conversion;
}
@@ -28,24 +27,22 @@ function wrapRaw(fn) {
}
function wrapRounded(fn) {
- const wrappedFn = function (...args) {
- const arg0 = args[0];
-
- if (arg0 === undefined || arg0 === null) {
- return arg0;
+ var wrappedFn = function (args) {
+ if (args === undefined || args === null) {
+ return args;
}
- if (arg0.length > 1) {
- args = arg0;
+ if (arguments.length > 1) {
+ args = Array.prototype.slice.call(arguments);
}
- const result = fn(args);
+ var result = fn(args);
- // We're assuming the result is an array here.
+ // we're assuming the result is an array here.
// see notice in conversions.js; don't use box types
// in conversion functions.
if (typeof result === 'object') {
- for (let len = result.length, i = 0; i < len; i++) {
+ for (var len = result.length, i = 0; i < len; i++) {
result[i] = Math.round(result[i]);
}
}
@@ -53,7 +50,7 @@ function wrapRounded(fn) {
return result;
};
- // Preserve .conversion property if there is one
+ // preserve .conversion property if there is one
if ('conversion' in fn) {
wrappedFn.conversion = fn.conversion;
}
@@ -61,17 +58,17 @@ function wrapRounded(fn) {
return wrappedFn;
}
-models.forEach(fromModel => {
+models.forEach(function (fromModel) {
convert[fromModel] = {};
Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
- const routes = route(fromModel);
- const routeModels = Object.keys(routes);
+ var routes = route(fromModel);
+ var routeModels = Object.keys(routes);
- routeModels.forEach(toModel => {
- const fn = routes[toModel];
+ routeModels.forEach(function (toModel) {
+ var fn = routes[toModel];
convert[fromModel][toModel] = wrapRounded(fn);
convert[fromModel][toModel].raw = wrapRaw(fn);
diff --git a/node_modules/color-convert/package.json b/node_modules/color-convert/package.json
index 6e48000c..dfbc4714 100644
--- a/node_modules/color-convert/package.json
+++ b/node_modules/color-convert/package.json
@@ -1,7 +1,7 @@
{
"name": "color-convert",
"description": "Plain color conversion functions",
- "version": "2.0.1",
+ "version": "1.9.3",
"author": "Heather Arthur <fayearthur@gmail.com>",
"license": "MIT",
"repository": "Qix-/color-convert",
@@ -9,9 +9,6 @@
"pretest": "xo",
"test": "node test/basic.js"
},
- "engines": {
- "node": ">=7.0.0"
- },
"keywords": [
"color",
"colour",
@@ -29,6 +26,7 @@
"files": [
"index.js",
"conversions.js",
+ "css-keywords.js",
"route.js"
],
"xo": {
@@ -39,10 +37,10 @@
}
},
"devDependencies": {
- "chalk": "^2.4.2",
- "xo": "^0.24.0"
+ "chalk": "1.1.1",
+ "xo": "0.11.2"
},
"dependencies": {
- "color-name": "~1.1.4"
+ "color-name": "1.1.3"
}
}
diff --git a/node_modules/color-convert/route.js b/node_modules/color-convert/route.js
index 1a08521b..0a1fdea6 100644
--- a/node_modules/color-convert/route.js
+++ b/node_modules/color-convert/route.js
@@ -1,7 +1,7 @@
-const conversions = require('./conversions');
+var conversions = require('./conversions');
/*
- This function routes a model to all other models.
+ this function routes a model to all other models.
all functions that are routed have a property `.conversion` attached
to the returned synthetic function. This property is an array
@@ -12,11 +12,11 @@ const conversions = require('./conversions');
*/
function buildGraph() {
- const graph = {};
+ var graph = {};
// https://jsperf.com/object-keys-vs-for-in-with-closure/3
- const models = Object.keys(conversions);
+ var models = Object.keys(conversions);
- for (let len = models.length, i = 0; i < len; i++) {
+ for (var len = models.length, i = 0; i < len; i++) {
graph[models[i]] = {
// http://jsperf.com/1-vs-infinity
// micro-opt, but this is simple.
@@ -30,18 +30,18 @@ function buildGraph() {
// https://en.wikipedia.org/wiki/Breadth-first_search
function deriveBFS(fromModel) {
- const graph = buildGraph();
- const queue = [fromModel]; // Unshift -> queue -> pop
+ var graph = buildGraph();
+ var queue = [fromModel]; // unshift -> queue -> pop
graph[fromModel].distance = 0;
while (queue.length) {
- const current = queue.pop();
- const adjacents = Object.keys(conversions[current]);
+ var current = queue.pop();
+ var adjacents = Object.keys(conversions[current]);
- for (let len = adjacents.length, i = 0; i < len; i++) {
- const adjacent = adjacents[i];
- const node = graph[adjacent];
+ for (var len = adjacents.length, i = 0; i < len; i++) {
+ var adjacent = adjacents[i];
+ var node = graph[adjacent];
if (node.distance === -1) {
node.distance = graph[current].distance + 1;
@@ -61,10 +61,10 @@ function link(from, to) {
}
function wrapConversion(toModel, graph) {
- const path = [graph[toModel].parent, toModel];
- let fn = conversions[graph[toModel].parent][toModel];
+ var path = [graph[toModel].parent, toModel];
+ var fn = conversions[graph[toModel].parent][toModel];
- let cur = graph[toModel].parent;
+ var cur = graph[toModel].parent;
while (graph[cur].parent) {
path.unshift(graph[cur].parent);
fn = link(conversions[graph[cur].parent][cur], fn);
@@ -76,16 +76,16 @@ function wrapConversion(toModel, graph) {
}
module.exports = function (fromModel) {
- const graph = deriveBFS(fromModel);
- const conversion = {};
+ var graph = deriveBFS(fromModel);
+ var conversion = {};
- const models = Object.keys(graph);
- for (let len = models.length, i = 0; i < len; i++) {
- const toModel = models[i];
- const node = graph[toModel];
+ var models = Object.keys(graph);
+ for (var len = models.length, i = 0; i < len; i++) {
+ var toModel = models[i];
+ var node = graph[toModel];
if (node.parent === null) {
- // No possible conversion, or this node is the source model.
+ // no possible conversion, or this node is the source model.
continue;
}