def serialize()

in src/sagemaker_core/main/utils.py [0:0]


def serialize(value: Any) -> Any:
    """
    Serialize an object recursively by converting all objects to JSON-serializable types

    Args:
       value (Any): The object to be serialized

    Returns:
        Any: The serialized object
    """
    if value is None or isinstance(value, Unassigned):
        return None
    elif isinstance(value, Dict):
        # if the value is a dict, use _serialize_dict() to serialize it recursively
        return _serialize_dict(value)
    elif isinstance(value, List):
        # if the value is a dict, use _serialize_list() to serialize it recursively
        return _serialize_list(value)
    elif is_not_primitive(value):
        # if the value is a dict, use _serialize_shape() to serialize it recursively
        return _serialize_shape(value)
    else:
        return value