Urara-Blog/node_modules/.pnpm-store/v3/files/db/bb822c247c092545cf2a5e192a9e9dff3309569dad4b41651fee6eb00c5e1c3ab1a68eff96a8a0540939805b5cfd3243f796707e06febfd8cfd60966fa9ebe
2022-08-14 01:14:53 +08:00

28 lines
764 B
Text

/**
* @fileoverview Interpolate keys from an object into a string with {{ }} markers.
* @author Jed Fox
*/
"use strict";
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
module.exports = (text, data) => {
if (!data) {
return text;
}
// Substitution content for any {{ }} markers.
return text.replace(/\{\{([^{}]+?)\}\}/gu, (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;
});
};