wrap()
Wrap a function inside a wrapper function.
Implementation
Args: func: The function to wrap wrapper: The wrapper function that takes func as its first argument Returns: A wrapped function
Example
def add(x, y):
return x + y
wrapped_add = wrap(add, lambda f, x, y: f(x, y) + 1)
wrapped_add(1, 2)
Expected output: 4
Source Code
def wrap(func: Callable, wrapper: Callable) -> Callable:
def wrapped(*args, **kwargs):
return wrapper(func, *args, **kwargs)
return wrapped