mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
@@ -0,0 +1,21 @@
|
||||
/***********************************************************************************************************************************************************************
|
||||
* File Name: renderTemplate.util.js
|
||||
* Type of Program: Utility
|
||||
* Description: Plain-text {{placeholder}} substitution — no eval/Function, so
|
||||
* admin-supplied HTML can never execute arbitrary JS. Unknown or
|
||||
* missing keys resolve to an empty string rather than throwing.
|
||||
* Author: Kenneth Obsequio (@lash0000)
|
||||
* Date Created: Jul. 3, 2026
|
||||
***********************************************************************************************************************************************************************
|
||||
* HOW TO USE:
|
||||
* const { renderTemplate } = require('../utils/renderTemplate.util');
|
||||
* renderTemplate('Hi {{name}}', { name: 'Ken' }); // "Hi Ken"
|
||||
***********************************************************************************************************************************************************************/
|
||||
|
||||
const renderTemplate = (str, data = {}) =>
|
||||
String(str ?? '').replace(/\{\{\s*(\w+)\s*\}\}/g, (_, key) => {
|
||||
const val = data[key];
|
||||
return (val === undefined || val === null) ? '' : String(val);
|
||||
});
|
||||
|
||||
module.exports = { renderTemplate };
|
||||
Reference in New Issue
Block a user