# Path: clouddq/utils.py
# def assert_not_none_or_empty(value: typing.Any, error_msg: str) -> None:
#     """
# 
#     Args:
#       value: typing.Any:
#       error_msg: str:
# 
#     Returns:
# 
#     """
#     if not value:
#         raise ValueError(error_msg)


from dataclasses import dataclass
from clouddq.utils import assert_not_none_or_empty

@dataclass
class DataplexEntityPartitionSchemaField:
    """ """

    name: str
    type: str

    def to_dict(self: DataplexEntityPartitionSchemaField) -> dict:
        """
        Args:
          self: DataplexEntityPartitionSchemaField:

        Returns:

        """

        output = {
            "name": self.name,
            "type": self.type,
        }

        return dict(output)

    @classmethod
    def from_dict(
        cls: DataplexEntityPartitionSchemaField, entity_id: str, kwargs: dict
    ) -> DataplexEntityPartitionSchemaField:

        name = kwargs.get("name")

# Path: clouddq/utils.py
# def assert_not_none_or_empty(value: typing.Any, error_msg: str) -> None:
#     """
# 
#     Args:
#       value: typing.Any:
#       error_msg: str:
# 
#     Returns:
# 
#     """
#     if not value:
#         raise ValueError(error_msg)


# Path: clouddq/classes/dataplex_entity_schema_partition_fields.py
from dataclasses import dataclass
from clouddq.utils import assert_not_none_or_empty


@dataclass
class DataplexEntityPartitionSchemaField:
    """ """

    name: str
    type: str

    def to_dict(self: DataplexEntityPartitionSchemaField) -> dict:
        """
        Args:
          self: DataplexEntityPartitionSchemaField:

        Returns:

        """

        output = {
            "name": self.name,
            "type": self.type,
        }

        return dict(output)

    @classmethod
    def from_dict(
        cls: DataplexEntityPartitionSchemaField, entity_id: str, kwargs: dict
    ) -> DataplexEntityPartitionSchemaField:

        name = kwargs.get("name")

        assert_not_none_or_empty(