github-script/src/async-function.ts
2020-07-17 11:49:05 -04:00

14 lines
299 B
TypeScript

export async function callAsyncFunction<A = {}, R = unknown>(
args: A,
source: string
): Promise<R> {
const argsKeys = Object.keys(args).join(',')
const wrappedFunction: (
args: A
) => Promise<R> = eval(`async({${argsKeys}}) => {
${source}
}`)
return wrappedFunction(args)
}