function find_words_inside_braces(string) { | |
const re = /\{(.*?)\}/g | |
let keywords = string.match(re) | |
// console.log('keywords: ', keywords) | |
if (!keywords) { | |
//avoid null keywords | |
keywords = [] | |
} | |
return keywords | |
} | |
function replaceShortcut(text, prompt_shortcut_json) { | |
const original_keywords = find_words_inside_braces(text) | |
const strip_keywords = original_keywords.map((s) => { | |
let content = s.slice(1, -1) //remove '{' and '}' | |
content = content.trim() //remove any space in the beginning and end of content | |
return content | |
}) | |
// original_substrings = list(map(lambda s: '{'+s+'}',raw_keywords)) | |
// print("strip_keywords: ", strip_keywords) | |
// print("original_substrings: ",original_substrings) | |
// # print ("text:",text) | |
let i = 0 | |
for (const word of strip_keywords) { | |
// # word = word.strip() | |
// print("word: ",word) | |
if (word.length > 0 && prompt_shortcut_json.hasOwnProperty(word)) { | |
const prompt = prompt_shortcut_json[word] | |
console.log('prompt: ', prompt) | |
text = text.replace(original_keywords[i], prompt) | |
} | |
} | |
console.log('final text: ', text) | |
return text | |
} | |
module.exports = { | |
find_words_inside_braces, | |
replaceShortcut, | |
} | |