# One-color.js

## A color object with implicit color space conversion and methods for setting, getting and adjusting any channel in RGB, HSV, HSL and CMYK including alpha

Click me for demo!

We made this color object because we were tired of color conversion functions that required you to serialize to strings all the time. When you want to to a lot of color manipulation in different color spaces, you shouldn't need to serialize to a string representation at intermediary steps.

So this is when we came up with the idea og making Color an object that has manipulation methods for all channels in all installed color spaces, with implicit conversion to the color space that you are manipulating.

This means that you can chain any manipulation of any channel without ever having to think about serialization. When you are done you just run one of the serialization methods depending on the output you want.

### Example

    new one.color.RGB(.4, .3, .9).
        adjustLightness(+.2). // Implicit conversion to HSL
        setRed(-.1). // Implicit conversion back to RGB
        toHex(); // "#00a6f2"

The code is fully documented, and you can use JSdoc to build the documentation.

Link to documenation (TODO)

This color object runs in your browser and in NodeJS.