Comparing version 1.0.0 to 1.1.0
{ | ||
"name": "color-seed", | ||
"description": "Predictable colors generator from a seed", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"author": "Julien Bouquillon <julien@revolunet.com>", | ||
@@ -17,5 +17,12 @@ "license": "MIT", | ||
"dependencies": { | ||
"nice-color-palettes": "^2.0.0", | ||
"chroma-js": "^1.3.4", | ||
"seedrandom": "^2.4.3" | ||
}, | ||
"devDependencies": { | ||
"color-pairs-picker": "^1.3.6", | ||
"mocha": "^3.4.2" | ||
}, | ||
"scripts": { | ||
"test": "mocha" | ||
} | ||
} |
@@ -5,6 +5,8 @@ # color-seed | ||
Predictable colors generator from given seed. | ||
Stable colors generator from given seed(s). | ||
Based on [seedrandom](https://github.com/davidbau/seedrandom) and [nice-color-palettes](https://github.com/Jam3/nice-color-palettes). | ||
Based on [seedrandom](https://github.com/davidbau/seedrandom) and [chroma-js](http://gka.github.io/chroma.js) Spectral scale. | ||
![sample](./sample.png) | ||
## Install | ||
@@ -14,15 +16,16 @@ | ||
## Usage | ||
```js | ||
``` | ||
colorSeed | ||
colorSeed.getColor : single seed | ||
✓ getColor("Paris") should return #a70b44 | ||
✓ getColor("Marseille") should return #7acaa5 | ||
✓ getColor("Bordeaux") should return #9ed8a4 | ||
colorSeed.getColors : multiple seed | ||
✓ getColors(["Paris", "Marseille", "Bordeaux"]) should return #a70b44, #7acaa5, #9ed8a4 | ||
✓ getColors(["Paris", "Marseille", "Bordeaux", "xxx"]) should return #a70b44, #7acaa5, #9ed8a4, #3683bb | ||
var getColor = require('color-seed'); | ||
5 passing (13ms) | ||
console.log(getColor('Paris')); // always #c8c8a9 | ||
console.log(getColor('Bordeaux')); // always #535233 | ||
console.log(getColor('Marseille')); // always #9dc9ac | ||
``` | ||
@@ -29,0 +32,0 @@ |
var seedrandom = require('seedrandom'); | ||
var chroma = require("chroma-js") | ||
var colors = require('nice-color-palettes').reduce((a, c) => { | ||
a.push(...c) | ||
return a | ||
}, []) | ||
const getRandomColor = seed => { | ||
const getPredictibleRandom = seed => { | ||
Math.seedrandom(seed); | ||
const random = Math.random(); | ||
const color = colors[Math.floor(random * colors.length)] | ||
return color; | ||
return Math.random(); | ||
} | ||
module.exports = getRandomColor | ||
const DEFAULT_SCALE = chroma.scale('Spectral') | ||
const getColor = (seed) => DEFAULT_SCALE(getPredictibleRandom(seed)).hex() | ||
const getColors = seeds => seeds.map(r => getColor(r)); | ||
module.exports = { | ||
default: getColor, | ||
getColor, | ||
getColors | ||
} |
19
test.js
@@ -1,7 +0,18 @@ | ||
var getColor = require('./src'); | ||
var colorSeed = require('./src'); | ||
var pairPicker = require('color-pairs-picker'); | ||
console.log(getColor('Paris')); // always #c8c8a9 | ||
const showColor = (seed, color) => { | ||
const fgColor = pairPicker(color).fg; | ||
return `<div style="text-align:center;font-size:14px;padding:3px;display:inline-block;background:${color};width:80px ;height:20px ;border:1px solid silver; border-radius:3px;margin:1px;color:${fgColor}">${seed}</div>`; | ||
} | ||
console.log(getColor('Bordeaux')); // always #535233 | ||
const seeds = [ | ||
"Paris", | ||
"Berlin", | ||
"Bordeaux", | ||
"London", | ||
"Mirleft" | ||
] | ||
console.log(getColor('Marseille')); // always #9dc9ac | ||
console.log(colorSeed.getColors(seeds).map((color, i) => showColor(seeds[i], color)).join('\n')); // always #9dc9ac | ||
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
30832
8
64
32
2
+ Addedchroma-js@^1.3.4
+ Addedchroma-js@1.4.1(transitive)
- Removednice-color-palettes@^2.0.0
- Removedbuffer-to-arraybuffer@0.0.5(transitive)
- Removeddecode-uri-component@0.2.2(transitive)
- Removeddecompress-response@3.3.0(transitive)
- Removeddom-walk@0.1.2(transitive)
- Removedglobal@4.4.0(transitive)
- Removedis-function@1.0.2(transitive)
- Removedmap-limit@0.0.1(transitive)
- Removedmimic-response@1.0.1(transitive)
- Removedmin-document@2.19.0(transitive)
- Removedminimist@1.2.8(transitive)
- Removednew-array@1.0.0(transitive)
- Removednice-color-palettes@2.0.0(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedonce@1.3.3(transitive)
- Removedparse-headers@2.0.5(transitive)
- Removedprocess@0.11.10(transitive)
- Removedquery-string@5.1.1(transitive)
- Removedsimple-concat@1.0.1(transitive)
- Removedsimple-get@2.8.2(transitive)
- Removedstrict-uri-encode@1.1.0(transitive)
- Removedtimed-out@4.0.1(transitive)
- Removedurl-set-query@1.0.0(transitive)
- Removedwrappy@1.0.2(transitive)
- Removedxhr@2.6.0(transitive)
- Removedxhr-request@1.1.0(transitive)
- Removedxtend@4.0.2(transitive)