in firestore-multimodal-genai/functions/src/index.ts [184:203]
function getSubstitutedPrompt(data: any, prompt: string) {
const view: Record<string, string> = {};
const variableFields = extractHandlebarsVariables(prompt);
for (const field of variableFields || []) {
if (!data[field]) {
throw missingVariableError(field);
}
if (typeof data[field] !== 'string') {
throw variableTypeError(field);
}
view[field] = data[field];
}
// if prompt contains handlebars for variable substitution, do it:
const substitutedPrompt = Mustache.render(prompt, view);
return substitutedPrompt;
}