#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Any, Self, Sequence from re import Pattern as REPattern 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 isinstance(item, str) and RE.KEY.match(item) is not None @staticmethod def is_array(item:Any|None) -> bool: return isinstance(item, (list, tuple)) @staticmethod def is_dictionary(item:Any|None) -> bool: return isinstance(item, dict) @staticmethod def is_function(item:Any|None) -> bool: return callable(item) @staticmethod def is_regular_expression(item:Any|None) -> bool: return isinstance(item, REPattern)