# coding: utf-8 import sys if sys.version_info < (3, 7): import typing def is_generic(klass): """ Determine whether klass is a generic class """ return type(klass) == typing.GenericMeta def is_dict(klass): """ Determine whether klass is a Dict """ return klass.__extra__ == dict def is_list(klass): """ Determine whether klass is a List """ return klass.__extra__ == list else: def is_generic(klass): """ Determine whether klass is a generic class """ return hasattr(klass, '__origin__') def is_dict(klass): """ Determine whether klass is a Dict """ return klass.__origin__ == dict def is_list(klass): """ Determine whether klass is a List """ return klass.__origin__ == list