culori
Advanced tools
Comparing version 0.2.1 to 0.2.2
@@ -9,13 +9,24 @@ (function (global, factory) { | ||
function from_hsl({ h, s, l, a }) { | ||
let m1 = l + s * (l < 0.5 ? l : 1 - l); | ||
let m2 = m1 - (m1 - l) * 2 * Math.abs(h/60 % 2 - 1); | ||
let res; | ||
switch (Math.floor(h/60)) { | ||
case 0: res = { r: m1, g: m2, b: 2 * l - m1 }; break; | ||
case 1: res = { r: m2, g: m1, b: 2 * l - m1 }; break; | ||
case 2: res = { r: 2 * l - m1, g: m1, b: m2 }; break; | ||
case 3: res = { r: 2 * l - m1, g: m2, b: m1 }; break; | ||
case 4: res = { r: m2, g: 2 * l - m1, b: m1 }; break; | ||
case 5: res = { r: m1, g: 2 * l - m1, b: m2 }; break; | ||
function from_hsl (_ref) { | ||
var h = _ref.h, | ||
s = _ref.s, | ||
l = _ref.l, | ||
a = _ref.a; | ||
var m1 = l + s * (l < 0.5 ? l : 1 - l); | ||
var m2 = m1 - (m1 - l) * 2 * Math.abs(h / 60 % 2 - 1); | ||
var res = void 0; | ||
switch (Math.floor(h / 60)) { | ||
case 0: | ||
res = { r: m1, g: m2, b: 2 * l - m1 };break; | ||
case 1: | ||
res = { r: m2, g: m1, b: 2 * l - m1 };break; | ||
case 2: | ||
res = { r: 2 * l - m1, g: m1, b: m2 };break; | ||
case 3: | ||
res = { r: 2 * l - m1, g: m2, b: m1 };break; | ||
case 4: | ||
res = { r: m2, g: 2 * l - m1, b: m1 };break; | ||
case 5: | ||
res = { r: m1, g: 2 * l - m1, b: m2 };break; | ||
} | ||
@@ -31,12 +42,23 @@ res['mode'] = 'rgb'; | ||
function from_hsv({ h, s, v, a }) { | ||
let f = Math.abs(h/60 % 2 - 1); | ||
let res; | ||
switch (Math.floor(h/60)) { | ||
case 0: res = { r: v, g: v * (1 - s * f), b: v * (1 - s) }; break; | ||
case 1: res = { r: v * (1 - s * f), g: v, b: v * (1 - s) }; break; | ||
case 2: res = { r: v * (1 - s), g: v, b: v * (1 - s * f) }; break; | ||
case 3: res = { r: v * (1 - s), g: v * (1 - s * f), b: v }; break; | ||
case 4: res = { r: v * (1 - s * f), g: v * (1 - s), b: v }; break; | ||
case 5: res = { r: v, g: v * (1 - s), b: v * (1 - s * f) }; break; | ||
function from_hsv (_ref) { | ||
var h = _ref.h, | ||
s = _ref.s, | ||
v = _ref.v, | ||
a = _ref.a; | ||
var f = Math.abs(h / 60 % 2 - 1); | ||
var res = void 0; | ||
switch (Math.floor(h / 60)) { | ||
case 0: | ||
res = { r: v, g: v * (1 - s * f), b: v * (1 - s) };break; | ||
case 1: | ||
res = { r: v * (1 - s * f), g: v, b: v * (1 - s) };break; | ||
case 2: | ||
res = { r: v * (1 - s), g: v, b: v * (1 - s * f) };break; | ||
case 3: | ||
res = { r: v * (1 - s), g: v * (1 - s * f), b: v };break; | ||
case 4: | ||
res = { r: v * (1 - s * f), g: v * (1 - s), b: v };break; | ||
case 5: | ||
res = { r: v, g: v * (1 - s), b: v * (1 - s * f) };break; | ||
} | ||
@@ -52,45 +74,50 @@ res['mode'] = 'rgb'; | ||
function from_hsi ({ h, s, i, a }) { | ||
let f = Math.abs(h/60 % 2 - 1); | ||
let res; | ||
switch (Math.floor(h/60)) { | ||
case 0: | ||
function from_hsi (_ref) { | ||
var h = _ref.h, | ||
s = _ref.s, | ||
i = _ref.i, | ||
a = _ref.a; | ||
var f = Math.abs(h / 60 % 2 - 1); | ||
var res = void 0; | ||
switch (Math.floor(h / 60)) { | ||
case 0: | ||
res = { | ||
r: i * (1 + s * (3 / (2 - f) - 1)), | ||
g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
r: i * (1 + s * (3 / (2 - f) - 1)), | ||
g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
b: i * (1 - s) | ||
}; | ||
break; | ||
case 1: | ||
case 1: | ||
res = { | ||
r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
g: i * (1 + s * (3 / (2 - f) - 1)), | ||
r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
g: i * (1 + s * (3 / (2 - f) - 1)), | ||
b: i * (1 - s) | ||
}; | ||
break; | ||
case 2: | ||
case 2: | ||
res = { | ||
r: i * (1 - s), | ||
g: i * (1 + s * (3 / (2 - f) - 1)), | ||
r: i * (1 - s), | ||
g: i * (1 + s * (3 / (2 - f) - 1)), | ||
b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)) | ||
}; | ||
break; | ||
case 3: | ||
case 3: | ||
res = { | ||
r: i * (1 - s), | ||
g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
r: i * (1 - s), | ||
g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
b: i * (1 + s * (3 / (2 - f) - 1)) | ||
}; | ||
break; | ||
case 4: | ||
case 4: | ||
res = { | ||
r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
g: i * (1 - s), | ||
r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)), | ||
g: i * (1 - s), | ||
b: i * (1 + s * (3 / (2 - f) - 1)) | ||
}; | ||
break; | ||
case 5: | ||
case 5: | ||
res = { | ||
r: i * (1 + s * (3 / (2 - f) - 1)), | ||
g: i * (1 - s), | ||
r: i * (1 + s * (3 / (2 - f) - 1)), | ||
g: i * (1 - s), | ||
b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)) | ||
@@ -109,6 +136,12 @@ }; | ||
function to_hsl({ r, g, b, a }) { | ||
function to_hsl (_ref) { | ||
var r = _ref.r, | ||
g = _ref.g, | ||
b = _ref.b, | ||
a = _ref.a; | ||
// if (flags & IS_CULORI && flags & IS_HSL) return arguments[0]; | ||
let M = Math.max(r, g, b), m = Math.min(r, g, b); | ||
let res = { | ||
var M = Math.max(r, g, b), | ||
m = Math.min(r, g, b); | ||
var res = { | ||
mode: 'hsl', | ||
@@ -129,6 +162,12 @@ s: M === m ? 0 : (M - m) / (1 - Math.abs(M + m - 1)), | ||
function to_hsv({ r, g, b, a }) { | ||
function to_hsv (_ref) { | ||
var r = _ref.r, | ||
g = _ref.g, | ||
b = _ref.b, | ||
a = _ref.a; | ||
// if (flags & IS_CULORI && flags & IS_HSV) return arguments[0]; | ||
let M = Math.max(r, g, b), m = Math.min(r, g, b); | ||
let res = { | ||
var M = Math.max(r, g, b), | ||
m = Math.min(r, g, b); | ||
var res = { | ||
mode: 'hsv', | ||
@@ -149,6 +188,12 @@ s: M === 0 ? 0 : 1 - m / M, | ||
function to_hsi({ r, g, b, a }) { | ||
function to_hsi (_ref) { | ||
var r = _ref.r, | ||
g = _ref.g, | ||
b = _ref.b, | ||
a = _ref.a; | ||
// if (flags & IS_CULORI && flags & IS_HSI) return arguments[0]; | ||
let M = Math.max(r, g, b), m = Math.min(r, g, b); | ||
let res = { | ||
var M = Math.max(r, g, b), | ||
m = Math.min(r, g, b); | ||
var res = { | ||
mode: 'hsi', | ||
@@ -167,3 +212,3 @@ s: r + g + b === 0 ? 0 : 1 - 3 * m / (r + g + b), | ||
const convert = (color, mode) => { | ||
var convert = function convert(color, mode) { | ||
@@ -181,32 +226,31 @@ if (color === undefined) { | ||
// for converting between formats. | ||
let rgb; | ||
switch(color.mode) { | ||
case 'rgb': rgb = color; break; | ||
case 'hsl': rgb = from_hsl(color); break; | ||
case 'hsv': rgb = from_hsv(color); break; | ||
case 'hsi': rgb = from_hsi(color); break; | ||
default: return undefined; | ||
var rgb = void 0; | ||
switch (color.mode) { | ||
case 'rgb': | ||
rgb = color;break; | ||
case 'hsl': | ||
rgb = from_hsl(color);break; | ||
case 'hsv': | ||
rgb = from_hsv(color);break; | ||
case 'hsi': | ||
rgb = from_hsi(color);break; | ||
default: | ||
return undefined; | ||
} | ||
switch(mode) { | ||
case 'rgb': return rgb; | ||
case 'hsl': return to_hsl(rgb); | ||
case 'hsv': return to_hsv(rgb); | ||
case 'hsi': return to_hsi(rgb); | ||
default: return undefined; | ||
} | ||
}; | ||
switch (mode) { | ||
case 'rgb': | ||
return rgb; | ||
case 'hsl': | ||
return to_hsl(rgb); | ||
case 'hsv': | ||
return to_hsv(rgb); | ||
case 'hsi': | ||
return to_hsi(rgb); | ||
default: | ||
return undefined; | ||
}}; | ||
const mixin = (obj, mixin) => { | ||
Object.keys(mixin).forEach(function(key) { | ||
obj[key] = mixin[key]; | ||
}); | ||
}; | ||
var parseNumber = (function (color, len) { | ||
function mixin$1(obj, ...mixins) { | ||
mixins.forEach(m => mixin(obj, m)); | ||
} | ||
var parseNumber = (color, len) => { | ||
if (typeof color !== 'number') return; | ||
@@ -218,5 +262,5 @@ | ||
mode: 'rgb', | ||
r: ((color >> 8 & 0xF) | (color >> 4 & 0xF0)) / 255, | ||
g: ((color >> 4 & 0xF) | (color & 0xF0)) / 255, | ||
b: ((color & 0xF) | (color << 4 & 0xF0)) / 255 | ||
r: (color >> 8 & 0xF | color >> 4 & 0xF0) / 255, | ||
g: (color >> 4 & 0xF | color & 0xF0) / 255, | ||
b: (color & 0xF | color << 4 & 0xF0) / 255 | ||
}; | ||
@@ -229,9 +273,9 @@ } | ||
mode: 'rgb', | ||
r: ((color >> 12 & 0xF) | (color >> 8 & 0xF0)) / 255, | ||
g: ((color >> 8 & 0xF) | (color >> 4 & 0xF0)) / 255, | ||
b: ((color >> 4 & 0xF) | (color & 0xF0)) / 255, | ||
a: ((color & 0xF) | (color << 4 & 0xF0)) / 255 | ||
r: (color >> 12 & 0xF | color >> 8 & 0xF0) / 255, | ||
g: (color >> 8 & 0xF | color >> 4 & 0xF0) / 255, | ||
b: (color >> 4 & 0xF | color & 0xF0) / 255, | ||
a: (color & 0xF | color << 4 & 0xF0) / 255 | ||
}; | ||
} | ||
// hex6: #f0f1f2 | ||
@@ -241,4 +285,4 @@ if (len === 6) { | ||
mode: 'rgb', | ||
r: (color >> 16 & 0xFF) / 255, | ||
g: (color >> 8 & 0xFF) / 255, | ||
r: (color >> 16 & 0xFF) / 255, | ||
g: (color >> 8 & 0xFF) / 255, | ||
b: (color & 0xFF) / 255 | ||
@@ -252,9 +296,9 @@ }; | ||
mode: 'rgb', | ||
r: (color >> 24 & 0xFF) / 255, | ||
g: (color >> 16 & 0xFF) / 255, | ||
b: (color >> 8 & 0xFF) / 255, | ||
r: (color >> 24 & 0xFF) / 255, | ||
g: (color >> 16 & 0xFF) / 255, | ||
b: (color >> 8 & 0xFF) / 255, | ||
a: (color & 0xFF) / 255 | ||
}; | ||
} | ||
} | ||
}); | ||
@@ -382,3 +426,3 @@ var named = { | ||
// Added in CSS Colors Level 4: https://drafts.csswg.org/css-color/#changes-from-3 | ||
rebeccapurple: 0x663399, | ||
rebeccapurple: 0x663399, | ||
red: 0xff0000, | ||
@@ -416,48 +460,49 @@ rosybrown: 0xbc8f8f, | ||
// https://drafts.csswg.org/css-color/#transparent-black | ||
var parseNamed = color => { | ||
return (typeof color === 'string' && parseNumber(named[color.toLowerCase()], 6)) || undefined; | ||
} | ||
var parseNamed = (function (color) { | ||
return typeof color === 'string' && parseNumber(named[color.toLowerCase()], 6) || undefined; | ||
}); | ||
// converts a regexp to string | ||
// (does not cover all cases, but for our purposes it works) | ||
const s = r => r.toString().replace(/^\/|\/$/g, ''); | ||
var s = function s(r) { | ||
return r.toString().replace(/^\/|\/$/g, ''); | ||
}; | ||
// matches a number | ||
const n = /([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)/; | ||
var n = /([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)/; | ||
// matches a percentage | ||
const p = /([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%/; | ||
const sp = s(p); | ||
var p = /([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%/; | ||
var sp = s(p); | ||
// matches a percentage or number | ||
const pn = `(?:${s(p)}|${s(n)})`; | ||
var pn = '(?:' + s(p) + '|' + s(n) + ')'; | ||
// hue can be a number or an angle (number + angle unit) | ||
const hue = `(?:${s(n)}(deg|grad|rad|turn)|${s(n)})`; | ||
var hue = '(?:' + s(n) + '(deg|grad|rad|turn)|' + s(n) + ')'; | ||
// Reference: | ||
// https://drafts.csswg.org/css-color/#rgb-functions | ||
const rgb_legacy = new RegExp(`^rgba?\\(\\s*${pn}\\s*,\\s*${pn}\\s*,\\s*${pn}\\s*(?:,\\s*${pn}\\s*)?\\)$`); | ||
const rgb_current = new RegExp(`^rgba?\\(\\s*${pn}\\s+${pn}\\s+${pn}\\s*(?:\\/\\s*${pn}\\s*)?\\)$`); | ||
var rgb_legacy = new RegExp('^rgba?\\(\\s*' + pn + '\\s*,\\s*' + pn + '\\s*,\\s*' + pn + '\\s*(?:,\\s*' + pn + '\\s*)?\\)$'); | ||
var rgb_current = new RegExp('^rgba?\\(\\s*' + pn + '\\s+' + pn + '\\s+' + pn + '\\s*(?:\\/\\s*' + pn + '\\s*)?\\)$'); | ||
// Reference: | ||
// https://drafts.csswg.org/css-color/#the-hsl-notation | ||
const hsl_legacy = new RegExp(`^hsla?\\(\\s*${hue}\\s*,\\s*${sp}\\s*,\\s*${sp}\\s*(?:,\\s*${pn}\\s*)?\\)$`); | ||
const hsl_current = new RegExp(`^hsla?\\(\\s*${hue}\\s+${sp}\\s+${sp}\\s*(?:\\/\\s*${pn}\\s*)?\\)$`); | ||
var hsl_legacy = new RegExp('^hsla?\\(\\s*' + hue + '\\s*,\\s*' + sp + '\\s*,\\s*' + sp + '\\s*(?:,\\s*' + pn + '\\s*)?\\)$'); | ||
var hsl_current = new RegExp('^hsla?\\(\\s*' + hue + '\\s+' + sp + '\\s+' + sp + '\\s*(?:\\/\\s*' + pn + '\\s*)?\\)$'); | ||
const hex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i; | ||
var hex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i; | ||
var parseHex = color => { | ||
var parseHex = (function (color) { | ||
var match; | ||
return (match = color.match(hex)) ? parseNumber(parseInt(match[1], 16), match[1].length) : undefined; | ||
} | ||
}); | ||
var parseRgb = color => { | ||
var parseRgb = (function (color) { | ||
var match = match = color.match(rgb_legacy) || color.match(rgb_current); | ||
if (!match) return; | ||
let res = { | ||
var res = { | ||
mode: 'rgb', | ||
r: match[1] === undefined ? match[2] / 255 : match[1] / 100, | ||
g: match[3] === undefined ? match[4] / 255 : match[3] / 100, | ||
r: match[1] === undefined ? match[2] / 255 : match[1] / 100, | ||
g: match[3] === undefined ? match[4] / 255 : match[3] / 100, | ||
b: match[5] === undefined ? match[6] / 255 : match[5] / 100 | ||
@@ -471,20 +516,24 @@ }; | ||
} | ||
return res; | ||
}; | ||
}); | ||
const hue$1 = (val, unit) => { | ||
var hue$1 = function hue(val, unit) { | ||
switch (unit) { | ||
case 'deg': return val; | ||
case 'rad': return val / Math.PI * 180; | ||
case 'grad': return val / 10 * 9; | ||
case 'turn': return val * 360; | ||
case 'deg': | ||
return val; | ||
case 'rad': | ||
return val / Math.PI * 180; | ||
case 'grad': | ||
return val / 10 * 9; | ||
case 'turn': | ||
return val * 360; | ||
} | ||
}; | ||
var parseHsl = color => { | ||
var parseHsl = (function (color) { | ||
if (typeof color !== 'string') return; | ||
let match = color.match(hsl_legacy) || color.match(hsl_current); | ||
var match = color.match(hsl_legacy) || color.match(hsl_current); | ||
if (!match) return; | ||
let res = { | ||
var res = { | ||
mode: 'hsl', | ||
@@ -502,15 +551,9 @@ h: match[3] === undefined ? +hue$1(match[1], match[2]) : +match[3], | ||
return to_hsl(from_hsl(res)); | ||
} | ||
}); | ||
const parse = color => { | ||
return ( | ||
parseHex(color) || | ||
parseRgb(color) || | ||
parseHsl(color) || | ||
parseNamed(color) || | ||
(color === 'transparent' ? parseNumber(0, 8) : undefined) | ||
); | ||
var parse = function parse(color) { | ||
return parseHex(color) || parseRgb(color) || parseHsl(color) || parseNamed(color) || (color === 'transparent' ? parseNumber(0, 8) : undefined); | ||
}; | ||
mixin$1(parse, { | ||
Object.assign(parse, { | ||
number: parseNumber, | ||
@@ -523,19 +566,52 @@ named: parseNamed, | ||
var prepare = (color, mode) => | ||
typeof color !== 'object' ? parse(color) | ||
: color.mode === undefined ? {...color, mode: mode } : color; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { | ||
return typeof obj; | ||
} : function (obj) { | ||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; | ||
}; | ||
var hsl = color => convert(prepare(color, 'hsl'), 'hsl'); | ||
var _extends = Object.assign || function (target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i]; | ||
var hsv = color => convert(prepare(color, 'hsv'), 'hsv'); | ||
for (var key in source) { | ||
if (Object.prototype.hasOwnProperty.call(source, key)) { | ||
target[key] = source[key]; | ||
} | ||
} | ||
} | ||
var hsi = color => convert(prepare(color, 'hsi'), 'hsi'); | ||
return target; | ||
}; | ||
var rgb = color => convert(prepare(color, 'rgb'), 'rgb'); | ||
var prepare = (function (color, mode) { | ||
return (typeof color === 'undefined' ? 'undefined' : _typeof(color)) !== 'object' ? parse(color) : color.mode === undefined ? _extends({}, color, { mode: mode }) : color; | ||
}); | ||
// See: https://github.com/d3/d3-format/issues/32 | ||
const r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision; | ||
var hsl = (function (color) { | ||
return convert(prepare(color, 'hsl'), 'hsl'); | ||
}); | ||
function round(value, precision = 4) { | ||
var hsv = (function (color) { | ||
return convert(prepare(color, 'hsv'), 'hsv'); | ||
}); | ||
var hsi = (function (color) { | ||
return convert(prepare(color, 'hsi'), 'hsi'); | ||
}); | ||
var rgb = (function (color) { | ||
return convert(prepare(color, 'rgb'), 'rgb'); | ||
}); | ||
// From: https://github.com/d3/d3-format/issues/32 | ||
var r = function r(value, precision) { | ||
return Math.round(value * (precision = Math.pow(10, precision))) / precision; | ||
}; | ||
function round(value) { | ||
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4; | ||
if (value === undefined) { | ||
@@ -553,15 +629,19 @@ return undefined; | ||
if (typeof value === 'object') { | ||
return Object.keys(value).reduce((o, k) => (o[k] = round(value[k]), o), {}); | ||
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { | ||
return Object.keys(value).reduce(function (o, k) { | ||
return o[k] = round(value[k]), o; | ||
}, {}); | ||
} | ||
} | ||
var css = (c, format = 'rgb') => { | ||
var css = (function (c) { | ||
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'rgb'; | ||
let color = rgb(c); | ||
let r = Math.round(color.r * 255); | ||
let g = Math.round(color.g * 255); | ||
let b = Math.round(color.b * 255); | ||
var color = rgb(c); | ||
var r = Math.round(color.r * 255); | ||
var g = Math.round(color.g * 255); | ||
var b = Math.round(color.b * 255); | ||
if (format === 'hex') { | ||
@@ -574,31 +654,29 @@ return '#' + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1); | ||
// opaque color | ||
return `rgb(${r}, ${g}, ${b})`; | ||
return 'rgb(' + r + ', ' + g + ', ' + b + ')'; | ||
} else { | ||
// transparent color | ||
return `rgba(${r}, ${g}, ${b}, ${ color['a'] })`; | ||
return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + color['a'] + ')'; | ||
} | ||
} | ||
} | ||
}); | ||
var colors = { | ||
named | ||
named: named | ||
}; | ||
const culori = color => rgb(color); | ||
var culori = function culori(color) { | ||
return rgb(color); | ||
}; | ||
mixin$1( | ||
culori, | ||
colors, | ||
{ | ||
hsl, | ||
hsv, | ||
hsi, | ||
rgb, | ||
css, | ||
convert, | ||
prepare, | ||
parse, | ||
round | ||
} | ||
); | ||
Object.assign(culori, colors, { | ||
hsl: hsl, | ||
hsv: hsv, | ||
hsi: hsi, | ||
rgb: rgb, | ||
css: css, | ||
convert: convert, | ||
prepare: prepare, | ||
parse: parse, | ||
round: round | ||
}); | ||
@@ -605,0 +683,0 @@ return culori; |
@@ -0,1 +1,5 @@ | ||
# Version 0.2.2 | ||
Published to NPM in UMD format (normal + minified) + ES6 modules. | ||
# Version 0.2.0 | ||
@@ -2,0 +6,0 @@ |
{ | ||
"name": "culori", | ||
"version": "0.2.1", | ||
"version": "0.2.2", | ||
"main": "build/culori.js", | ||
@@ -11,4 +11,9 @@ "module": "index.js", | ||
"devDependencies": { | ||
"babel-core": "^6.26.0", | ||
"babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"babel-preset-es2015-rollup": "^3.0.0", | ||
"nyc": "^11.6.0", | ||
"rollup": "^0.57.1", | ||
"rollup-plugin-babel": "^3.0.3", | ||
"rollup-plugin-uglify": "^3.0.0", | ||
"tap-spec": "^4.1.1", | ||
@@ -19,11 +24,10 @@ "tape": "^4.9.0" | ||
"build": "rollup -c", | ||
"build:min": "NODE_ENV=production rollup -c", | ||
"pretest": "yarn build", | ||
"test": "tape test/tests/*.js | tap-spec", | ||
"benchmark": "node test/benchmarks/index.js", | ||
"coverage:report" : "nyc report --reporter=lcov", | ||
"prepublishOnly": "yarn build && yarn build:min", | ||
"coverage:report": "nyc report --reporter=lcov", | ||
"coverage:test": "nyc --produce-source-map tape test/tests/*.js | tap-spec" | ||
}, | ||
"nyc": { | ||
"sourceMap": true | ||
} | ||
} |
@@ -0,8 +1,15 @@ | ||
import babel from 'rollup-plugin-babel'; | ||
import uglify from 'rollup-plugin-uglify'; | ||
export default { | ||
input: 'index.js', | ||
output: { | ||
file: 'build/culori.js', | ||
format: 'umd', | ||
name: 'culori' | ||
} | ||
}; | ||
input: "index.js", | ||
output: { | ||
file: process.env.NODE_ENV === 'production' ? 'build/culori.min.js' : 'build/culori.js', | ||
format: 'umd', | ||
name: 'culori', | ||
}, | ||
plugins: [ | ||
babel(), | ||
(process.env.NODE_ENV === 'production' && uglify()) | ||
] | ||
}; |
@@ -1,3 +0,1 @@ | ||
import mixin from '../util/mixin'; | ||
import parseNumber from '../parsers/number'; | ||
@@ -19,3 +17,3 @@ import parseNamed from '../parsers/named'; | ||
mixin(parse, { | ||
Object.assign(parse, { | ||
number: parseNumber, | ||
@@ -22,0 +20,0 @@ named: parseNamed, |
@@ -5,2 +5,2 @@ import parse from './parse'; | ||
typeof color !== 'object' ? parse(color) | ||
: color.mode === undefined ? {...color, mode: mode } : color; | ||
: color.mode === undefined ? {...color, mode: mode } : color; |
@@ -1,2 +0,4 @@ | ||
// See: https://github.com/d3/d3-format/issues/32 | ||
// From: https://github.com/d3/d3-format/issues/32 | ||
const r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision; | ||
@@ -3,0 +5,0 @@ |
@@ -12,7 +12,5 @@ import hsl from './api/hsl'; | ||
import mixin from './util/mixin'; | ||
const culori = color => rgb(color); | ||
mixin( | ||
Object.assign( | ||
culori, | ||
@@ -19,0 +17,0 @@ colors, |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
1173
50269
9
33
3