MCPcopy
hub / github.com/ZToolsCenter/ZTools / jsCodeTemplate

Function jsCodeTemplate

resources/zbrowser/client.js:29–46  ·  view source on GitHub ↗
(fn, args)

Source from the content-addressed store, hash-verified

27 * @returns {string} 可在页面中执行的 JS 代码字符串
28 */
29const jsCodeTemplate = (fn, args) =>
30 `(() => {
31 const fn = ${String(fn)}
32 const args = ${JSON.stringify(args)}
33 const callResult = (result) => {
34 if (!!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') {
35 return new Promise(resolve => {
36 result.then(ret => { resolve(callResult(ret)) }).catch( err => { resolve({ error: true, message: err.message }) })
37 })
38 }
39 return { data: result }
40 }
41 try {
42 return callResult(fn.apply(null, args))
43 } catch (err) {
44 return { error: true, message: err.message }
45 }
46 })()`
47
48/**
49 * 内置方法列表

Callers 4

evaluateMethod · 0.85
waitMethod · 0.85
whenMethod · 0.85
downloadMethod · 0.85

Calls 1

stringifyMethod · 0.80

Tested by

no test coverage detected