def hydrate_callable_with_edge_node_map(
            self,
            edge_node_map,
            callable_function,
            parameter_lambda
        ):
        """
        args and kwargs intentionally not *args and **kwargs
        """

        def extract_kwargs_dict(*args, **kwargs):
            return kwargs

        def extract_args_list(*args, **kwargs):
            return list(args)

        args = parameter_lambda(extract_args_list)
        kwargs = parameter_lambda(extract_kwargs_dict)

        arg_list = [edge_node_map[node_id] for node_id in list(args)]

        kwarg_map = {}

        for kwarg in kwargs:
            kwarg_map[kwarg] = edge_node_map[kwargs[kwarg]]

        return callable_function(*arg_list, **kwarg_map)
def hydrate_callable_with_edge_node_map ( self , edge_node_map , callable_function , parameter_lambda ) : def extract_kwargs_dict ( * args , ** kwargs ) : return kwargs def extract_args_list ( * args , ** kwargs ) : return list ( args ) args = parameter_lambda ( extract_args_list ) kwargs = parameter_lambda ( extract_kwargs_dict ) arg_list = [ edge_node_map [ node_id ] for node_id in list ( args ) ] kwarg_map = { } for kwarg in kwargs : kwarg_map [ kwarg ] = edge_node_map [ kwargs [ kwarg ] ] return callable_function ( * arg_list , ** kwarg_map )
args and kwargs intentionally not *args and **kwargs