/usr/local/lib/node_modules/nodemon/node_modules/pupa
NameSizeModeActions
index.d.ts7460644editdlrm
index.js11000644editdlrm
license11090644editdlrm
package.json17980644editdlrm
readme.md12480644editdlrm
Edit: /usr/local/lib/node_modules/nodemon/node_modules/pupa/index.js (1100B)
'use strict'; const {htmlEscape} = require('escape-goat'); module.exports = (template, data) => { if (typeof template !== 'string') { throw new TypeError(`Expected a \`string\` in the first argument, got \`${typeof template}\``); } if (typeof data !== 'object') { throw new TypeError(`Expected an \`object\` or \`Array\` in the second argument, got \`${typeof data}\``); } // The regex tries to match either a number inside `{{ }}` or a valid JS identifier or key path. const doubleBraceRegex = /{{(\d+|[a-z$_][a-z\d$_]*?(?:\.[a-z\d$_]*?)*?)}}/gi; if (doubleBraceRegex.test(template)) { template = template.replace(doubleBraceRegex, (_, key) => { let result = data; for (const property of key.split('.')) { result = result ? result[property] : ''; } return htmlEscape(String(result)); }); } const braceRegex = /{(\d+|[a-z$_][a-z\d$_]*?(?:\.[a-z\d$_]*?)*?)}/gi; return template.replace(braceRegex, (_, key) => { let result = data; for (const property of key.split('.')) { result = result ? result[property] : ''; } return String(result); }); };