Home Assistant Unofficial Reference 2024.12.1
homeassistant.util.frozen_dataclass_compat.FrozenOrThawed Class Reference
Inheritance diagram for homeassistant.util.frozen_dataclass_compat.FrozenOrThawed:
[legend]
Collaboration diagram for homeassistant.util.frozen_dataclass_compat.FrozenOrThawed:
[legend]

Public Member Functions

None __init__ (cls, str name, tuple[type,...] bases, dict[Any, Any] namespace, **Any kwargs)
 
Any __new__ (mcs, str name, tuple[type,...] bases, dict[Any, Any] namespace, bool frozen_or_thawed=False, **Any kwargs)
 

Private Member Functions

None _make_dataclass (cls, str name, tuple[type,...] bases, bool kw_only)
 

Private Attributes

 __annotations__
 
 __init__
 
 __new__
 
 _dataclass
 

Detailed Description

Metaclass which which makes classes which behave like a dataclass.

This allows child classes to be either mutable or frozen dataclasses.

Definition at line 52 of file frozen_dataclass_compat.py.

Constructor & Destructor Documentation

◆ __init__()

None homeassistant.util.frozen_dataclass_compat.FrozenOrThawed.__init__ (   cls,
str  name,
tuple[type, ...]  bases,
dict[Any, Any]  namespace,
**Any  kwargs 
)
Optionally create a dataclass and store it in cls._dataclass.

A dataclass will be created if frozen_or_thawed is set, if not we assume the
class will be a real dataclass, i.e. it's decorated with @dataclass.

Definition at line 77 of file frozen_dataclass_compat.py.

Member Function Documentation

◆ __new__()

Any homeassistant.util.frozen_dataclass_compat.FrozenOrThawed.__new__ (   mcs,
str  name,
tuple[type, ...]  bases,
dict[Any, Any]  namespace,
bool   frozen_or_thawed = False,
**Any  kwargs 
)
Pop frozen_or_thawed and store it in the namespace.

Definition at line 65 of file frozen_dataclass_compat.py.

◆ _make_dataclass()

None homeassistant.util.frozen_dataclass_compat.FrozenOrThawed._make_dataclass (   cls,
str  name,
tuple[type, ...]  bases,
bool  kw_only 
)
private

Definition at line 58 of file frozen_dataclass_compat.py.

Member Data Documentation

◆ __annotations__

homeassistant.util.frozen_dataclass_compat.FrozenOrThawed.__annotations__
private

Definition at line 100 of file frozen_dataclass_compat.py.

◆ __init__

homeassistant.util.frozen_dataclass_compat.FrozenOrThawed.__init__
private

Definition at line 122 of file frozen_dataclass_compat.py.

◆ __new__

homeassistant.util.frozen_dataclass_compat.FrozenOrThawed.__new__
private

Definition at line 123 of file frozen_dataclass_compat.py.

◆ _dataclass

homeassistant.util.frozen_dataclass_compat.FrozenOrThawed._dataclass
private

Definition at line 61 of file frozen_dataclass_compat.py.


The documentation for this class was generated from the following file: