import * as core from '@actions/core' import {Context} from '@actions/github/lib/context' import {GitHub} from '@actions/github/lib/utils' import * as io from '@actions/io' const AsyncFunction = Object.getPrototypeOf(async () => null).constructor type AsyncFunctionArguments = { context: Context core: typeof core github: InstanceType io: typeof io require: NodeRequire } export function callAsyncFunction( args: AsyncFunctionArguments, source: string ): Promise { const fn = new AsyncFunction(...Object.keys(args), source) return fn(...Object.values(args)) }