mirror of
https://codeberg.org/vlw/nicecolor.js.git
synced 2025-09-13 15:53:40 +02:00
Added existing source for inital release
Existing code for version 1.0.0
This commit is contained in:
parent
fbc6e30f88
commit
f424afa537
2 changed files with 108 additions and 0 deletions
54
NiceColor.js
Normal file
54
NiceColor.js
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
class NiceColor {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.hex = [
|
||||||
|
null, // R
|
||||||
|
null, // G
|
||||||
|
null // B
|
||||||
|
],
|
||||||
|
this.selected = this.randomDec(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 8-bit
|
||||||
|
randomHex() {
|
||||||
|
return [...Array(2)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
randomDec(ceil) {
|
||||||
|
return Math.floor(Math.random() * ceil) + 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate a 32-bit hexadecimal RGB string
|
||||||
|
generate() {
|
||||||
|
let binary = this.randomDec(2);
|
||||||
|
|
||||||
|
this.hex[this.selected] = this.randomHex();
|
||||||
|
|
||||||
|
this.hex.forEach((value,index) => {
|
||||||
|
// Continue if index is our special value
|
||||||
|
if(this.hex[index] !== null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign index and ignore if(binary) next run
|
||||||
|
if(binary) {
|
||||||
|
this.hex[index] = "16";
|
||||||
|
binary = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign index and enter if(binary) next run
|
||||||
|
binary = 1;
|
||||||
|
this.hex[index] = "ff";
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate and return HEX-color (#RRGGBB)
|
||||||
|
get() {
|
||||||
|
this.generate();
|
||||||
|
|
||||||
|
return "#" + this.hex.join("");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// Victor Westerlund
|
54
module/NiceColor.mjs
Normal file
54
module/NiceColor.mjs
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
export class NiceColor {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.hex = [
|
||||||
|
null, // R
|
||||||
|
null, // G
|
||||||
|
null // B
|
||||||
|
],
|
||||||
|
this.selected = this.randomDec(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 8-bit
|
||||||
|
randomHex() {
|
||||||
|
return [...Array(2)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
randomDec(ceil) {
|
||||||
|
return Math.floor(Math.random() * ceil) + 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate a 32-bit hexadecimal RGB string
|
||||||
|
generate() {
|
||||||
|
let binary = this.randomDec(2);
|
||||||
|
|
||||||
|
this.hex[this.selected] = this.randomHex();
|
||||||
|
|
||||||
|
this.hex.forEach((value,index) => {
|
||||||
|
// Continue if index is our special value
|
||||||
|
if(this.hex[index] !== null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign index and ignore if(binary) next run
|
||||||
|
if(binary) {
|
||||||
|
this.hex[index] = "16";
|
||||||
|
binary = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign index and enter if(binary) next run
|
||||||
|
binary = 1;
|
||||||
|
this.hex[index] = "ff";
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate and return HEX-color (#RRGGBB)
|
||||||
|
get() {
|
||||||
|
this.generate();
|
||||||
|
|
||||||
|
return "#" + this.hex.join("");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// Victor Westerlund
|
Loading…
Add table
Reference in a new issue