import json
from typing import Dict
from ..util.entrypoint import entrypoint
from ..base import BaseConfig
from .configloader import BaseConfigLoaderContext, BaseConfigLoader
[docs]class JSONConfigLoaderContext(BaseConfigLoaderContext):
[docs] async def loadb(self, resource: bytes) -> Dict:
return json.loads(resource.decode())
[docs] async def dumpb(self, resource: Dict) -> bytes:
return json.dumps(resource, sort_keys=True, indent=4).encode()
[docs]@entrypoint("json")
class JSONConfigLoader(BaseConfigLoader):
CONTEXT = JSONConfigLoaderContext
CONFIG = BaseConfig