Skip to content

Commit

Permalink
More fixes for "type" inclusion
Browse files Browse the repository at this point in the history
  • Loading branch information
christiansandberg committed Sep 19, 2024
1 parent fdcc59a commit c32432b
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions onedm/sdf/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ class DataQualities(CommonQualities, ABC):
default: Any | None = None
choices: dict[str, Data] | None = Field(None, alias="sdfChoice")

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.CoreSchema:
"""Implemented by sub-classes."""
raise NotImplementedError
Expand Down Expand Up @@ -71,6 +67,10 @@ class NumberData(DataQualities):
const: float | None = None
default: float | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.FloatSchema | core_schema.DatetimeSchema:
if self.sdf_type == "unix-time":
return core_schema.datetime_schema(
Expand Down Expand Up @@ -119,6 +119,10 @@ class IntegerData(DataQualities):
const: int | None = None
default: int | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.IntSchema:
return core_schema.int_schema(
ge=self.minimum,
Expand All @@ -137,6 +141,10 @@ class BooleanData(DataQualities):
const: bool | None = None
default: bool | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.BoolSchema:
return core_schema.bool_schema()

Expand All @@ -156,6 +164,10 @@ class StringData(DataQualities):
const: str | None = None
default: str | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(
self,
) -> core_schema.StringSchema | core_schema.BytesSchema | core_schema.LiteralSchema:
Expand Down Expand Up @@ -194,6 +206,10 @@ class ArrayData(DataQualities):
const: list | None = None
default: list | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.ListSchema | core_schema.SetSchema:
if self.unique_items:
return core_schema.set_schema(
Expand All @@ -218,6 +234,10 @@ class ObjectData(DataQualities):
const: dict[str, Any] | None = None
default: dict[str, Any] | None = None

@field_serializer("type")
def always_include_type(self, type: str, _):
return type

def _get_base_schema(self) -> core_schema.TypedDictSchema:
required = self.required or []
fields = {
Expand Down

0 comments on commit c32432b

Please sign in to comment.