UNPKG

wonder.js

Version:
39 lines (33 loc) 1.3 kB
'use strict'; 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 */