Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Simple color conversion library based on simplicity and stability
Create a new instance of the Colr class
// create a empty instance
var colr = new Colr();
// create from hex
var colr = Colr.fromHex('#abc123');
// create from rgb
var colr = Colr.fromRgb(20, 30, 40);
var colr = Colr.fromRgbArray([20, 30, 40]);
var colr = Colr.fromRgbObject({r:20, g:30, b:40});
// create from hsl
var colr = Colr.fromHsl(320, 20, 90);
var colr = Colr.fromHslArray([320, 20, 90]);
var colr = Colr.fromHslObject({h:320, s:20, l:90});
// create from grayscale
var colr = Colr.fromGrayscale(128);
Change the color of an existing Colr instance.
All methods return the colr
instance and can be chained.
var colr = new Colr();
// import from hex
colr.fromHex('#abc123');
// import from rgb
colr.fromRgb(20, 30, 40);
colr.fromRgbArray([20, 30, 40]);
colr.fromRgbObject({r:20, g:30, b:40});
// import from hsl
colr.fromHsl(320, 20, 90);
colr.fromHslArray([320, 20, 90]);
colr.fromHslObject({h:320, s:20, l:90});
// import from hsv/hsb
colr.fromHsv(30, 80, 20);
colr.fromHsvArray([30, 80, 20]);
colr.fromHsvObject({h:30, s:80, v:20});
// create from grayscale
colr.fromGrayscale(128);
Convert the color to another format
var colr = Colr().fromHex('bada55');
colr.toHex(); // "#BADA55"
colr.toRgbArray(); // [186, 218, 85]
colr.toRgbObject(); // {r:186, g:218, b:85}
colr.toRawRgbArray(); // [186, 218, 85]
colr.toRawRgbObject(); // {r:186, g:218, b:85}
colr.toHslArray(); // [74, 64, 59]
colr.toHslObject(); // {h:74, s:64, l:59}
colr.toRawHslArray(); // {74.4360902255639, 64.25120772946859, 59.411764705882355]
colr.toRawHslObject(); // {r:74.4360902255639, g:64.25120772946859, b:59.411764705882355}
colr.toHsvArray(); // [74, 61, 85]
colr.toHsvObject(); //{h: 74, s: 61, l: 85}
colr.toRawHsvArray(); // [74.4360902255639, 61.00917431192661, 85.49019607843137]
colr.toRawHsvObject(); // {r:74.4360902255639, g:61.00917431192661, b:85.49019607843137}
colr.toGrayscale(); // 193.27
All methods return the colr
instance and can be chained.
var colr = Colr.fromHex('000').lighter(20);
colr.toHex(); // "#333333"
var colr = Colr.fromHex('FFF').darker(20);
colr.toHex(); // "#CCCCCC"
var a = Colr.fromHex('#000');
var b = a.clone();
a.lighter(20);
a.toHex(); // '#333333'
b.toHex(); // '#000000'
$ node benchmark.js
# FromHsv -> ToRgb
colr x 4,552,216 ops/sec ±0.75% (102 runs sampled)
color x 334,029 ops/sec ±0.40% (98 runs sampled)
tinycolor x 1,018,397 ops/sec ±0.45% (102 runs sampled)
chroma x 346,686 ops/sec ±0.36% (97 runs sampled)
Fastest is colr
# FromHex -> Lighten -> ToHex
colr x 1,400,992 ops/sec ±0.27% (102 runs sampled)
color x 61,486 ops/sec ±0.39% (102 runs sampled)
tinycolor x 80,712 ops/sec ±0.96% (97 runs sampled)
chroma x 100,885 ops/sec ±0.73% (100 runs sampled)
Fastest is colr
# FromHex -> Lighten -> Darken -> ToHex
colr x 1,334,580 ops/sec ±0.72% (98 runs sampled)
color x 47,224 ops/sec ±0.86% (101 runs sampled)
tinycolor x 54,639 ops/sec ±1.07% (101 runs sampled)
chroma x 65,039 ops/sec ±0.93% (101 runs sampled)
Fastest is colr
# FromHex -> ToHex
colr x 2,192,730 ops/sec ±0.77% (98 runs sampled)
color x 92,882 ops/sec ±0.87% (101 runs sampled)
tinycolor x 201,324 ops/sec ±0.98% (98 runs sampled)
chroma x 266,279 ops/sec ±0.89% (98 runs sampled)
Fastest is colr
# FromHsv -> ToRgb -> ToHex
colr x 1,680,538 ops/sec ±0.68% (97 runs sampled)
color x 155,721 ops/sec ±0.48% (101 runs sampled)
tinycolor x 530,777 ops/sec ±0.81% (99 runs sampled)
chroma x 235,950 ops/sec ±1.00% (95 runs sampled)
Fastest is colr
# FromHsv -> ToHsl
colr x 4,387,198 ops/sec ±0.45% (99 runs sampled)
color x 201,875 ops/sec ±0.73% (101 runs sampled)
tinycolor x 434,277 ops/sec ±0.65% (102 runs sampled)
chroma x 306,594 ops/sec ±1.21% (92 runs sampled)
Fastest is colr
# FromHsl -> ToHsv
colr x 4,296,682 ops/sec ±0.69% (95 runs sampled)
color x 187,083 ops/sec ±0.72% (102 runs sampled)
tinycolor x 471,617 ops/sec ±0.59% (102 runs sampled)
chroma x 229,835 ops/sec ±0.52% (100 runs sampled)
Fastest is colr
FAQs
Fast and simple color conversion
The npm package colr receives a total of 4,378 weekly downloads. As such, colr popularity was classified as popular.
We found that colr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.