static solveToInt(hueDegrees, chroma, lstar) {
        if (chroma < 0.0001 || lstar < 0.0001 || lstar > 99.9999) {
            return argbFromLstar(lstar);
        }
        hueDegrees = sanitizeDegreesDouble(hueDegrees);
        const hueRadians = hueDegrees / 180 * Math.PI;
        const y = yFromLstar(lstar);
        const exactAnswer = HctSolver.findResultByJ(hueRadians, chroma, y);
        if (exactAnswer !== 0) {
            return exactAnswer;
        }
        const linrgb = HctSolver.bisectToLimit(y, hueRadians);
        return argbFromLinrgb(linrgb);
    }
Finds an sRGB color with the given hue, chroma, and L*, if
possible.

@param hueDegrees The desired hue, in degrees.
@param chroma The desired chroma.
@param lstar The desired L*.
@return A hexadecimal representing the sRGB color. The color
has sufficiently close hue, chroma, and L* to the desired
values, if possible; otherwise, the hue and L* will be
sufficiently close, and chroma will be maximized.