wonder.js
Version:
39 lines (33 loc) • 1.3 kB
JavaScript
;
var Curry = require("bs-platform/lib/js/curry.js");
var Js_math = require("bs-platform/lib/js/js_math.js");
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Log$WonderLog = require("wonder-log/lib/js/src/Log.js");
var NumberService$Wonderjs = require("../primitive/NumberService.js");
var regex_num = (/^\#([0-9a-f]{6})$/i);
function _handleInValidHexStr(hexStr) {
return Log$WonderLog.fatal(Log$WonderLog.buildFatalMessage("convert16HexToRGBA", "color should be #xxxxxx, but actual is " + (String(hexStr) + ""), "", "", ""));
}
function convert16HexToRGBA(hexStr) {
var match = regex_num.exec(hexStr);
if (match !== null) {
var match$1 = Caml_array.caml_array_get(match, 1);
if (match$1 == null) {
return _handleInValidHexStr(hexStr);
} else {
var hex = Js_math.floor(Curry._1(NumberService$Wonderjs.hexFloat_of_string, match$1));
return /* tuple */[
((hex >>> 16) & 255) / 255,
((hex >>> 8) & 255) / 255,
(hex & 255) / 255,
1
];
}
} else {
return _handleInValidHexStr(hexStr);
}
}
exports.regex_num = regex_num;
exports._handleInValidHexStr = _handleInValidHexStr;
exports.convert16HexToRGBA = convert16HexToRGBA;
/* regex_num Not a pure module */