#  Copyright (C) 2021
#  ABM, Moscow
#
#  UNPUBLISHED PROPRIETARY MATERIAL.
#  ALL RIGHTS RESERVED.
#
#  Authors: Mike Orlov <m.orlov@abm-jsc.ru>
#
from init_helpers.annotation import note, try_extract_type_notes
from init_helpers.any_type import TypingGenericAlias, AnyType
from init_helpers.conditional_insert import conditional_set, conditional_append, conditional_add
from init_helpers.conditional_insert import set_if, append_if, add_if
from init_helpers.custom_json import ReprInDumps, custom_dumps, read_json_file_by_path, Jsonable
from init_helpers.dataclass_protocol import DataclassProtocol
from init_helpers.dict_to_dataclass import dict_to_dataclass, get_converter, write_to_dict_or_raise, convert
from init_helpers.eval_forward_refs import eval_forward_refs_in_local_dataclasses, get_evaled_dataclass_fields
from init_helpers.get_instance_id import InstanceIdConfig, get_instance_id
from init_helpers.get_non_generic_args import get_non_generic_args
from init_helpers.ini_reader import read_ini_file_by_path
from init_helpers.init_random import init_random
from init_helpers.init_logs import LogsConfig, init_logs
from init_helpers.is_instance import is_instance, is_collection, is_tuple, is_mapping, get_container_type
from init_helpers.is_none import is_none, is_not_none
from init_helpers.parse_args_as_dataclass import parse_args_as_dataclass
from init_helpers.pickable_dict import PickableDict
from init_helpers.parse_args import parse_args, Arg
from init_helpers.exceptions import repr_exception
from init_helpers.raise_if import raise_if
from init_helpers.read_file_text import read_file_text
from init_helpers.str_to_bool import str_to_bool
from init_helpers.structure_hint import StructureHint, FieldHint, hint_to_ini, dataclass_to_hint
from init_helpers.structure_hint import get_dataclass_field_name_to_field, get_name_from_type
from init_helpers.to_list import to_list
from init_helpers.toml_reader import read_toml_file_by_path
from init_helpers.try_cast import try_cast
from init_helpers.unflatten_dict import unflatten_dict
from init_helpers.update_dict_recursive import update_dict_recursive
from init_helpers.url_to_snake_case import url_to_snake_case
