rrggbbaa
Version:
Color code utility and converter library for NodeJS.
114 lines (85 loc) • 3.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _defaultOptions = require("./default-options");
var _defaultOptions2 = _interopRequireDefault(_defaultOptions);
var _components = require("./components");
var _converters = require("./converters");
var _parse = require("./parse");
var _parse2 = _interopRequireDefault(_parse);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var rrggbbaa = function rrggbbaa(input, opts) {
var _this = this;
_classCallCheck(this, rrggbbaa);
this.alter = function (component, value) {
if (value) {
if ((0, _components.validateComponent)(component, value)) {
_this.set(component, value);
}
return _this; // chain
}
return _this.get(component);
};
this.red = function (value) {
return _this.alter(_components.Components.RED, value);
};
this.green = function (value) {
return _this.alter(_components.Components.GREEN, value);
};
this.blue = function (value) {
return _this.alter(_components.Components.BLUE, value);
};
this.alpha = function (value) {
return _this.alter(_components.Components.ALPHA, value);
};
this.inverse = function () {
_this.red(255 - _this.red());
_this.green(255 - _this.green());
_this.blue(255 - _this.blue());
return _this;
};
this.toRgb = function () {
var red = _this.red();
var green = _this.green();
var blue = _this.blue();
return "rgb(" + red + "," + green + "," + blue + ")";
};
this.toRgba = function () {
var red = _this.red();
var green = _this.green();
var blue = _this.blue();
var alpha = _this.alpha() / 100;
return "rgba(" + red + "," + green + "," + blue + "," + alpha + ")";
};
this.toHex = function () {
var red = (0, _converters.integerToHex)(_this.red());
var green = (0, _converters.integerToHex)(_this.green());
var blue = (0, _converters.integerToHex)(_this.blue());
return "#" + red + green + blue;
};
this.toHexa = function () {
var red = (0, _converters.integerToHex)(_this.red());
var green = (0, _converters.integerToHex)(_this.green());
var blue = (0, _converters.integerToHex)(_this.blue());
var alpha = (0, _converters.integerToHex)((0, _converters.scale100To255)(_this.alpha()));
return "#" + red + green + blue + alpha;
};
this.toString = function () {
return _this.alpha() !== 100 ? _this.toRgba() : _this.toRgb();
};
this.options = _extends({}, _defaultOptions2.default, opts);
// private data and getter/setter
var data = (0, _parse2.default)(input);
this.get = function (key) {
return data[key];
};
this.set = function (key, value) {
return data[key] = value;
};
}
// changes a single component value
;
exports.default = rrggbbaa;