function getSubstitutedPrompt()

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;
}