In cwrap, you can embed JavaScript inside JSON using {{}}. This allows for dynamic values and transformations during development, making JSON more flexible and interactive. Here are some examples of embedded JavaScript in JSON:
{
"element": "h2",
"style": "color: white; margin: 0; text-align: center; text-transform: uppercase;",
"text": "{{return 'Some text';}}"
}{
"element": "h2",
"style": "color: white; margin: 0; text-align: center; text-transform: uppercase;",
"text": "{{const part1 = 'Some'; const part2 = 'Text'; return [part1, part2].join(' ');}}"
}{
"element": "h2",
"style": "color: white; margin: 0; text-align: center; text-transform: uppercase;",
"text": "{{return new Date().toLocaleDateString();}}"
}{
"element": "h2",
"style": "color: white; margin: 0; text-align: center; text-transform: uppercase;",
"text": "{{const amount = 1234.56; return amount.toLocaleString('en-US', { style: 'currency', currency: 'USD' });}}"
}Another very powerful feature is triple brackets {{{}}}, which replaces the entire key-value pair with content, allowing almost unlimited object shaping DOM with JavaScript. Use with caution!
"placeholder": "{{{ return { "routes": cwrapContext.get('documentRoutes') }; }}}",