1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import collections.abc
import numbers
from typing import (
Any,
)
bytes_types = (bytes, bytearray)
integer_types = (int,)
text_types = (str,)
string_types = (bytes, str, bytearray)
def is_integer(value: Any) -> bool:
return isinstance(value, integer_types) and not isinstance(value, bool)
def is_bytes(value: Any) -> bool:
return isinstance(value, bytes_types)
def is_text(value: Any) -> bool:
return isinstance(value, text_types)
def is_string(value: Any) -> bool:
return isinstance(value, string_types)
def is_boolean(value: Any) -> bool:
return isinstance(value, bool)
def is_dict(obj: Any) -> bool:
return isinstance(obj, collections.abc.Mapping)
def is_list_like(obj: Any) -> bool:
return not is_string(obj) and isinstance(obj, collections.abc.Sequence)
def is_list(obj: Any) -> bool:
return isinstance(obj, list)
def is_tuple(obj: Any) -> bool:
return isinstance(obj, tuple)
def is_null(obj: Any) -> bool:
return obj is None
def is_number(obj: Any) -> bool:
return isinstance(obj, numbers.Number)
|