from __future__ import annotations
from enum import Enum
from typing import TYPE_CHECKING, Union
from uuid import UUID
import pandas as pd
if TYPE_CHECKING:
from ResSimpy.Nexus.DataModels.NexusFile import NexusFile
from ResSimpy.Nexus.DataModels.NexusWaterMethod import NexusWaterParams
# Factory methods for generating empty lists with typing
[docs]def get_empty_list_str() -> list[str]:
value: list[str] = []
return value
# Factory method for generating empty dictionary with typing
[docs]def get_empty_dict_union() -> dict[str, Union[str, int, float, Enum, list[str], pd.DataFrame,
dict[str, Union[float, pd.DataFrame]]]]:
value: dict[str, Union[str, int, float, Enum, list[str], pd.DataFrame, dict[str, Union[float, pd.DataFrame]]]] = {}
return value
# Factory method for generating empty dictionary for eos options
[docs]def get_empty_eosopt_dict_union() -> \
dict[str, Union[str, int, float, pd.DataFrame, list[str], dict[str, float], tuple[str, dict[str, float]], dict[
str, pd.DataFrame]]]:
value: dict[str, Union[
str, int, float, pd.DataFrame, list[str], dict[str, float], tuple[str, dict[str, float]], dict[
str, pd.DataFrame]]] = {}
return value
# Factory method for generating empty dictionary for hysteresis parameters
[docs]def get_empty_hysteresis_dict() -> dict[str, Union[str, float, dict[str,
Union[str, float, dict[str, Union[str, float]]]]]]:
value: dict[str, Union[str, float, dict[str, Union[str, float, dict[str, Union[str, float]]]]]] = {}
return value
[docs]def get_empty_list_str_nexus_file() -> list[Union[str, NexusFile]]:
value: list[Union[str, NexusFile]] = []
return value
[docs]def get_empty_list_nexus_file() -> list[NexusFile]:
value: list[NexusFile] = []
return value
[docs]def get_empty_dict_int_nexus_file() -> dict[int, NexusFile]:
value: dict[int, NexusFile] = {}
return value
[docs]def get_empty_dict_uuid_list_int() -> dict[UUID, list[int]]:
value: dict[UUID, list[int]] = {}
return value
[docs]def get_empty_list_nexus_water_params() -> list[NexusWaterParams]:
value: list[NexusWaterParams] = []
return value