def apply_enforcer( func: typing.Callable, generic: bool = False, settings=None, parent_root: typing.Optional[Validator] = None, instance_of: typing.Optional[GenericProxy] = None, ) -> typing.Callable: """ Adds an Enforcer instance to the passed function/generic if it doesn't yet exist or if it is not an instance of Enforcer Such instance is added as '__enforcer__' """ if not hasattr(func, "__enforcer__") or not isinstance( func.__enforcer__, Enforcer): # if not hasattr(func, '__enforcer__'): # func = EnforceProxy(func) # if not isinstance(func.__enforcer__, Enforcer): # Replaces 'incorrect' enforcers func.__enforcer__ = generate_new_enforcer(func, generic, parent_root, instance_of, settings) func.__enforcer__.reference = func return func
def apply_enforcer(func: typing.Callable, generic: bool=False, settings = None, parent_root: typing.Optional[Validator]=None, instance_of: typing.Optional[GenericProxy]=None) -> typing.Callable: """ Adds an Enforcer instance to the passed function/generic if it doesn't yet exist or if it is not an instance of Enforcer Such instance is added as '__enforcer__' """ if not hasattr(func, '__enforcer__') or not isinstance(func.__enforcer__, Enforcer): # Replaces 'incorrect' enforcers func.__enforcer__ = generate_new_enforcer(func, generic, parent_root, instance_of, settings) func.__enforcer__.reference = func return func