summaryrefslogtreecommitdiff
path: root/sphinx/util/jsonimpl.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/util/jsonimpl.py')
-rw-r--r--sphinx/util/jsonimpl.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/sphinx/util/jsonimpl.py b/sphinx/util/jsonimpl.py
index 04a839390..09c04dc6a 100644
--- a/sphinx/util/jsonimpl.py
+++ b/sphinx/util/jsonimpl.py
@@ -14,28 +14,37 @@ import json
from six import text_type
from six.moves import UserString
+if False:
+ # For type annotation
+ from typing import Any, IO # NOQA
+
class SphinxJSONEncoder(json.JSONEncoder):
"""JSONEncoder subclass that forces translation proxies."""
def default(self, obj):
+ # type: (Any) -> unicode
if isinstance(obj, UserString):
return text_type(obj)
return json.JSONEncoder.default(self, obj)
def dump(obj, fp, *args, **kwds):
+ # type: (Any, IO, Any, Any) -> None
kwds['cls'] = SphinxJSONEncoder
- return json.dump(obj, fp, *args, **kwds)
+ json.dump(obj, fp, *args, **kwds)
def dumps(obj, *args, **kwds):
+ # type: (Any, Any, Any) -> unicode
kwds['cls'] = SphinxJSONEncoder
return json.dumps(obj, *args, **kwds)
def load(*args, **kwds):
+ # type: (Any, Any) -> Any
return json.load(*args, **kwds)
def loads(*args, **kwds):
+ # type: (Any, Any) -> Any
return json.loads(*args, **kwds)