Skip to main content
Glama
by Ritesh-sudo
withUtils.js1.66 kB
const utils = require('./index') /** * Wrap a page with utilities. * * @param {Puppeteer.Page} page */ module.exports = page => ({ /** * Simple `page.evaluate` replacement to preload utils */ evaluate: async function (mainFunction, ...args) { return page.evaluate( ({ _utilsFns, _mainFunction, _args }) => { // Add this point we cannot use our utililty functions as they're just strings, we need to materialize them first const utils = Object.fromEntries( Object.entries(_utilsFns).map(([key, value]) => [key, eval(value)]) // eslint-disable-line no-eval ) utils.init() return eval(_mainFunction)(utils, ..._args) // eslint-disable-line no-eval }, { _utilsFns: utils.stringifyFns(utils), _mainFunction: mainFunction.toString(), _args: args || [] } ) }, /** * Simple `page.evaluateOnNewDocument` replacement to preload utils */ evaluateOnNewDocument: async function (mainFunction, ...args) { return page.evaluateOnNewDocument( ({ _utilsFns, _mainFunction, _args }) => { // Add this point we cannot use our utililty functions as they're just strings, we need to materialize them first const utils = Object.fromEntries( Object.entries(_utilsFns).map(([key, value]) => [key, eval(value)]) // eslint-disable-line no-eval ) utils.init() return eval(_mainFunction)(utils, ..._args) // eslint-disable-line no-eval }, { _utilsFns: utils.stringifyFns(utils), _mainFunction: mainFunction.toString(), _args: args || [] } ) } })

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ritesh-sudo/MCPJobSearch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server