23 lines
567 B
Python
23 lines
567 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from typing import Any, Self
|
|
from Utils.Patterns import RE
|
|
|
|
class Check:
|
|
|
|
@staticmethod
|
|
def is_string(item:Any|None) -> bool:
|
|
return isinstance(item, str)
|
|
|
|
@classmethod
|
|
def is_key(cls:type[Self], item:Any|None) -> bool:
|
|
return cls.is_string(item) and RE.KEY.match(item)
|
|
|
|
@staticmethod
|
|
def is_dictionary(item:Any|None) -> bool:
|
|
return isinstance(item, dict)
|
|
|
|
@staticmethod
|
|
def is_array(item:Any|None) -> bool:
|
|
return isinstance(item, (list, tuple)) |