benedict.utils.type_util   A
last analyzed

Complexity

Total Complexity 21

Size/Duplication

Total Lines 96
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 52
dl 0
loc 96
rs 10
c 0
b 0
f 0
wmc 21

21 Functions

Rating   Name   Duplication   Size   Complexity  
A is_collection() 0 2 1
A is_none() 0 2 1
A is_regex() 0 2 1
A is_uuid() 0 2 1
A is_integer() 0 2 1
A is_bool() 0 2 1
A is_dict() 0 2 1
A is_float() 0 2 1
A is_function() 0 2 1
A is_list() 0 2 1
A is_json_serializable() 0 3 1
A is_datetime() 0 2 1
A is_string() 0 2 1
A is_dict_or_list_or_tuple() 0 2 1
A is_tuple() 0 2 1
A is_list_or_tuple() 0 2 1
A is_set() 0 2 1
A is_decimal() 0 2 1
A is_not_none() 0 2 1
A is_dict_or_list() 0 2 1
A is_path() 0 2 1
1
import pathlib
2
import re
3
from datetime import datetime
4
from decimal import Decimal
5
6
regex = re.compile("").__class__
7
uuid_re = re.compile(
8
    "^([0-9a-f]{32}){1}$|^([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}){1}$",
9
    flags=re.IGNORECASE,
10
)
11
12
13
def is_bool(val):
14
    return isinstance(val, bool)
15
16
17
def is_collection(val):
18
    return isinstance(val, (dict, list, set, tuple))
19
20
21
def is_datetime(val):
22
    return isinstance(val, datetime)
23
24
25
def is_decimal(val):
26
    return isinstance(val, Decimal)
27
28
29
def is_dict(val):
30
    return isinstance(val, dict)
31
32
33
def is_dict_or_list(val):
34
    return isinstance(val, (dict, list))
35
36
37
def is_dict_or_list_or_tuple(val):
38
    return isinstance(val, (dict, list, tuple))
39
40
41
def is_float(val):
42
    return isinstance(val, float)
43
44
45
def is_function(val):
46
    return callable(val)
47
48
49
def is_integer(val):
50
    return isinstance(val, int)
51
52
53
def is_json_serializable(val):
54
    json_types = (type(None), bool, dict, float, int, list, str, tuple)
55
    return isinstance(val, json_types)
56
57
58
def is_list(val):
59
    return isinstance(val, list)
60
61
62
def is_list_or_tuple(val):
63
    return isinstance(val, (list, tuple))
64
65
66
def is_none(val):
67
    return val is None
68
69
70
def is_not_none(val):
71
    return val is not None
72
73
74
def is_path(val):
75
    return isinstance(val, pathlib.Path)
76
77
78
def is_regex(val):
79
    return isinstance(val, regex)
80
81
82
def is_set(val):
83
    return isinstance(val, set)
84
85
86
def is_string(val):
87
    return isinstance(val, str)
88
89
90
def is_tuple(val):
91
    return isinstance(val, tuple)
92
93
94
def is_uuid(val):
95
    return is_string(val) and uuid_re.match(val)
96