|
|
@ -3,6 +3,7 @@ from __future__ import annotations
|
|
|
|
import collections
|
|
|
|
import collections
|
|
|
|
import collections.abc
|
|
|
|
import collections.abc
|
|
|
|
import contextlib
|
|
|
|
import contextlib
|
|
|
|
|
|
|
|
import dataclasses
|
|
|
|
import functools
|
|
|
|
import functools
|
|
|
|
import http.cookies
|
|
|
|
import http.cookies
|
|
|
|
import inspect
|
|
|
|
import inspect
|
|
|
@ -116,6 +117,9 @@ def traverse_obj(
|
|
|
|
branching = False
|
|
|
|
branching = False
|
|
|
|
result = None
|
|
|
|
result = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if dataclasses.is_dataclass(obj):
|
|
|
|
|
|
|
|
obj = dataclasses.asdict(obj)
|
|
|
|
|
|
|
|
|
|
|
|
if obj is None and traverse_string:
|
|
|
|
if obj is None and traverse_string:
|
|
|
|
if key is ... or callable(key) or isinstance(key, slice):
|
|
|
|
if key is ... or callable(key) or isinstance(key, slice):
|
|
|
|
branching = True
|
|
|
|
branching = True
|
|
|
|