def _visualize()

in commands/FBVisualizationCommands.py [0:0]


def _visualize(target):
    target = fb.evaluateInputExpression(target)

    if fb.evaluateBooleanExpression(
        "(unsigned long)CFGetTypeID((CFTypeRef)"
        + target
        + ") == (unsigned long)CGImageGetTypeID()"
    ):
        _showImage("(id)[UIImage imageWithCGImage:" + target + "]")
    elif fb.evaluateBooleanExpression(
        "(unsigned long)CFGetTypeID((CFTypeRef)"
        + target
        + ") == (unsigned long)CVPixelBufferGetTypeID()"
    ):
        _showPixelBuffer(target)
    else:
        if objectHelpers.isKindOfClass(target, "UIImage"):
            _showImage(target)
        elif objectHelpers.isKindOfClass(target, "UIView"):
            _showLayer("[(id)" + target + " layer]")
        elif objectHelpers.isKindOfClass(target, "CALayer"):
            _showLayer(target)
        elif (
            objectHelpers.isKindOfClass(target, "UIColor")
            or objectHelpers.isKindOfClass(target, "CIColor")
            or _colorIsCGColorRef(target)
        ):
            _showColor(target)
        elif objectHelpers.isKindOfClass(target, "NSData"):
            if _dataIsImage(target):
                _showImage("(id)[UIImage imageWithData:" + target + "]")
            elif _dataIsString(target):
                print(
                    fb.describeObject(
                        "[[NSString alloc] initWithData:" + target + " encoding:4]"
                    )
                )
            else:
                print("Data isn't an image and isn't a string.")
        else:
            print(
                "{} isn't supported. You can visualize UIImage, CGImageRef, UIView, CALayer, NSData, UIColor, CIColor, or CGColorRef.".format(
                    objectHelpers.className(target)
                )
            )