From 758edf4ba317fecf81e372d1e9a8f32e878eecf3 Mon Sep 17 00:00:00 2001 From: Scoder12 <34356756+Scoder12@users.noreply.github.com> Date: Tue, 11 Aug 2020 16:23:21 -0700 Subject: [PATCH] Add key() method --- src/replit/database/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/replit/database/__init__.py b/src/replit/database/__init__.py index 5403f10..8190e48 100644 --- a/src/replit/database/__init__.py +++ b/src/replit/database/__init__.py @@ -447,6 +447,20 @@ class JSONKey(AsyncJSONKey): ) return self.get()[name] + def key(self, name: str, default: Any = None) -> Any: + """Shorthand for self.get().get(name, default) if datatype is dict. + + Args: + name (str): The name to get. + default (Any): The default if the key doesn't exist. Defaults to None. + + Returns: + Any: The value read or the default. + """ + if self.dtype is not dict: + raise TypeError("key() can only be used if the datatype is dict") + return self.get().get("name", default) + def __setitem__(self, name: str, value: JSON_TYPE) -> None: """Sets a key inside the JSONKey's value if it is a dict.