from typing import Any
import jsonpickle
from pycodeanalyzer.core.abstraction.objects import (
AbstractClassClassifier,
AbstractObjectLanguage,
)
[docs]class Pickler:
def __init__(self) -> None:
jsonpickle.set_preferred_backend("simplejson")
jsonpickle.set_encoder_options("simplejson", sort_keys=True, indent=4)
jsonpickle.util.PRIMITIVES.add(AbstractObjectLanguage)
jsonpickle.util.PRIMITIVES.add(AbstractClassClassifier)
[docs] def encode(self, obj: Any) -> str:
return jsonpickle.encode(obj)
[docs] def decode(self, json: str) -> Any:
return jsonpickle.decode(json)