Source code for nwp500._base

"""Shared Pydantic base model for all Navien data models.

Centralises the common configuration (camelCase aliases, extra="ignore",
enum serialization) so that both the authentication models and the device
protocol models share a single base class.
"""

from __future__ import annotations

from typing import Any

from pydantic import BaseModel, ConfigDict
from pydantic.alias_generators import to_camel