javascript tact template code example
Example 1: javascript tact template
var a = 5;
var b = 10;
function tag(strings, ...values) {
console.log(strings[0]);
console.log(strings[1]);
console.log(values[0]);
console.log(values[1]);
return "Bazinga!";
}
tag`Hello ${ a + b } world ${ a * b}`;
Example 2: javascript tact template
function template(strings, ...keys) {
return (function(...values) {
var dict = values[values.length - 1] || {};
var result = [strings[0]];
keys.forEach(function(key, i) {
var value = Number.isInteger(key) ? values[key] : dict[key];
result.push(value, strings[i + 1]);
});
return result.join('');
});
}
var t1Closure = template`${0}${1}${0}!`;
t1Closure('Y', 'A');
var t2Closure = template`${0} ${'foo'}!`;
t2Closure('Hello', {foo: 'World'});