ideas/porter/helper_function_factory_extensions.py (12 lines of code) (raw):
from typing import Any, Dict
import helper_function_factory
def add_functions(options: Dict[str, Any], function_factory: helper_function_factory.HelperFunctionFactory) -> Dict[str, Any]:
for function_name in function_factory.list_functions():
parameters, return_type = function_factory.get_function_spec(function_name)
options['functions'][function_name] = {
'parameters': parameters,
'return_type': return_type,
}
return options
def try_call_function(options: Dict[str, Any], function_name: str, arguments_as_json: str) -> Any:
return options['functions'][function_name](arguments_as_json)