typedargs/utils.py
def _check_and_execute(func, *args, **kwargs):
    """
    Check the type of all parameters with type information, converting
    as appropriate and then execute the function.
    """

    convargs = []

    #Convert and validate all arguments
    for i, arg in enumerate(args):
        val = func.metadata.convert_positional_argument(i, arg)
        convargs.append(val)

    convkw = {}
    for key, val in kwargs:
        convkw[key] = func.metadata.convert_argument(key, val)

    if not func.metadata.spec_filled(convargs, convkw):
        raise ValidationError("Not enough parameters specified to call function", function=func.metadata.name, signature=func.metadata.signature())

    retval = func(*convargs, **convkw)
    return retval
def _check_and_execute(func, *args, **kwargs):
    convargs = []

    #Convert and validate all arguments
    for i, arg in enumerate(args):
        val = func.metadata.convert_positional_argument(i, arg)
        convargs.append(val)

    convkw = {}
    for key, val in kwargs:
        convkw[key] = func.metadata.convert_argument(key, val)

    if not func.metadata.spec_filled(convargs, convkw):
        raise ValidationError("Not enough parameters specified to call function", function=func.metadata.name, signature=func.metadata.signature())

    retval = func(*convargs, **convkw)
    return retval
def _check_and_execute ( func , * args , * * kwargs ) : convargs = [ ] #Convert and validate all arguments for i , arg in enumerate ( args ) : val = func . metadata . convert_positional_argument ( i , arg ) convargs . append ( val ) convkw = { } for key , val in kwargs : convkw [ key ] = func . metadata . convert_argument ( key , val ) if not func . metadata . spec_filled ( convargs , convkw ) : raise ValidationError ( "Not enough parameters specified to call function" , function = func . metadata . name , signature = func . metadata . signature ( ) ) retval = func ( * convargs , * * convkw ) return retval
Check the type of all parameters with type information, converting
    as appropriate and then execute the function.
Check the type of all parameters with type information converting as appropriate and then execute the function .