Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

yasoo

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yasoo - npm Package Compare versions

Comparing version
0.12.4
to
0.12.5
+1
-1
PKG-INFO
Metadata-Version: 2.1
Name: yasoo
Version: 0.12.4
Version: 0.12.5
Summary: Yet another serializer of objects

@@ -5,0 +5,0 @@ Home-page: https://github.com/drorvinkler/yasoo

@@ -9,3 +9,3 @@ import setuptools

name="yasoo",
version="0.12.4",
version="0.12.5",
author="Dror A. Vinkler",

@@ -12,0 +12,0 @@ description="Yet another serializer of objects",

Metadata-Version: 2.1
Name: yasoo
Version: 0.12.4
Version: 0.12.5
Summary: Yet another serializer of objects

@@ -5,0 +5,0 @@ Home-page: https://github.com/drorvinkler/yasoo

@@ -1,6 +0,14 @@

from datetime import datetime
from datetime import datetime, time
from yasoo.utils import type_to_string, fully_qualified_string_to_type
from .utils import type_to_string, fully_qualified_string_to_type
def serialize_time(t: time) -> dict:
return {"time": t.isoformat()}
def deserialize_time(d: dict) -> time:
return _time_from_iso_format(d["time"])
def serialize_datetime(d: datetime) -> dict:

@@ -20,1 +28,14 @@ return {"time": d.timestamp()}

return fully_qualified_string_to_type(data["fully_qualified_name"])
def _time_from_iso_format_manually(s: str) -> time:
if "." not in s:
return datetime.strptime(s, "%H:%M:%S").time()
return datetime.strptime(s, "%H:%M:%S.%f").time()
_time_from_iso_format = (
time.fromisoformat
if hasattr(time, "fromisoformat")
else _time_from_iso_format_manually
)

@@ -0,4 +1,4 @@

import datetime
import json
from contextlib import contextmanager
from datetime import datetime
from enum import Enum

@@ -22,6 +22,4 @@ from inspect import signature

from yasoo.default_customs import deserialize_type, deserialize_datetime
from yasoo.utils import fully_qualified_string_to_type, NoneType
from .constants import ENUM_VALUE_KEY, ITERABLE_VALUE_KEY
from .default_customs import deserialize_type, deserialize_time, deserialize_datetime
from .objects import DictWithSerializedKeys

@@ -35,2 +33,4 @@ from .utils import (

SUPPORTED_PRIMITIVES,
fully_qualified_string_to_type,
NoneType,
)

@@ -46,3 +46,4 @@

self._custom_deserializers: Dict[Type[T], Callable[[Dict[str, Any]], T]] = {
datetime: deserialize_datetime,
datetime.time: deserialize_time,
datetime.datetime: deserialize_datetime,
}

@@ -49,0 +50,0 @@ self._inheritance_deserializers: t = {

@@ -0,5 +1,5 @@

import datetime
import json
import warnings
from contextlib import contextmanager
from datetime import datetime
from enum import Enum

@@ -9,7 +9,8 @@ from inspect import signature

from yasoo.default_customs import serialize_type, serialize_datetime
from yasoo.objects import DictWithSerializedKeys
from yasoo.utils import normalize_type, type_to_string
from .constants import ENUM_VALUE_KEY, ITERABLE_VALUE_KEY
from .default_customs import serialize_type, serialize_time, serialize_datetime
from .objects import DictWithSerializedKeys
from .utils import (
normalize_type,
type_to_string,
resolve_types,

@@ -27,3 +28,4 @@ get_fields,

self._custom_serializers: Dict[type, Callable[[Any], Dict[str, Any]]] = {
datetime: serialize_datetime,
datetime.time: serialize_time,
datetime.datetime: serialize_datetime,
}

@@ -30,0 +32,0 @@ self._inheritance_serializers: Dict[type, Callable[[Any], Dict[str, Any]]] = {