MCPcopy Create free account
hub / github.com/Script-Hub-Org/Script-Hub / evalFn

Function evalFn

service.js:15–32  ·  view source on GitHub ↗
({ $request, scriptFilePath })

Source from the content-addressed store, hash-verified

13const BETA_BASE_URL = process.env.BETA_BASE_URL || `http://127.0.0.1:${BETA_PORT}`
14
15const evalFn = async ({ $request, scriptFilePath }) => {
16 let content = fs.readFileSync(scriptFilePath, { encoding: 'utf8' })
17 content = content.replace(/\$\.?done\(/g, '$eval_env.resolve(')
18 if (content.indexOf('$eval_env.resolve(') === -1) throw new Error('脚本文件内容不包含 $done 的逻辑')
19
20 console.log('ℹ️ 执行脚本')
21 return await new Promise(resolve => {
22 const $eval_env = {
23 resolve: async result => {
24 // console.log('ℹ️ 执行结果')
25 // console.log(result)
26 console.log('ℹ️ 执行完毕')
27 resolve(result)
28 },
29 }
30 eval(content)
31 })
32}
33const reqFn = async ({ ctx, scriptMap, baseUrl }) => {
34 let scriptFilePath
35 let url = `http://script.hub${ctx.req.url}`

Callers 1

reqFnFunction · 0.85

Calls 1

logMethod · 0.45

Tested by

no test coverage detected