Skip to main content
Glama
interpolate.js•1.34 kB
/** * @fileoverview Interpolate keys from an object into a string with {{ }} markers. * @author Jed Fox */ "use strict"; //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ /** * Returns a global expression matching placeholders in messages. * @returns {RegExp} Global regular expression matching placeholders */ function getPlaceholderMatcher() { return /\{\{([^{}]+?)\}\}/gu; } /** * Replaces {{ placeholders }} in the message with the provided data. * Does not replace placeholders not available in the data. * @param {string} text Original message with potential placeholders * @param {Record<string, string>} data Map of placeholder name to its value * @returns {string} Message with replaced placeholders */ function interpolate(text, data) { if (!data) { return text; } const matcher = getPlaceholderMatcher(); // Substitution content for any {{ }} markers. return text.replace(matcher, (fullMatch, termWithWhitespace) => { const term = termWithWhitespace.trim(); if (term in data) { return data[term]; } // Preserve old behavior: If parameter name not provided, don't replace it. return fullMatch; }); } module.exports = { getPlaceholderMatcher, interpolate, };

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/Nexus-Digital-Automations/crawl4ai-mcp'

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