Source code for ResSimpy.Utils.factory_methods

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