1.0.0 • Published 6 years ago
@huiyu/string-template v1.0.0
Javascript String Template
A simple and customizable Javascript string template.
Examples
Basic
var Template = require("@huiyu/string-template")
var template = new Template("Hello, ${target}")
template.render({target: "world"}) // -> "Hello, world"
Nested objects
var template = new Template("${person.name}'s age is ${person.age}")
template.render({
person: {
name: "Jack".
age: 40
}
}) // -> "Jack's age is 40"
Arrays
var template = new Template("${company.employees[1].name}'s age is ${company.employees[1].age}")
template.render({
compnay: {
employees: [
{ name: "Jack", age: 40 },
{ name: "Hugo", age: 25 }
]
}
}) // -> "Hugo's age is 25"
Escape character
template = new Template("Hello: \\${target}")
template.render({target: "world"}) // -> "Hello, ${target}"
Custom
Replace missing key
var template = new Template("Hello, ${target}", {
missingKeyReplacement: "world"
})
template.render({target: "javascript"}) // -> "Hello, javascript"
template.render({}) // -> "Hello, world"
template = new Template("Hello, ${target}")
template.render({}) // -> throw TypeError
Custom escape character
var template = new Template("Hello, $${target}", {
escapeChar: "$"
})
template.render({target: "world"}) // -> "Hello, ${target}"
Custom macro markup
var template = new Template("Hello, $[target]", {
macroStart: "$[",
macroEnd: "]"
})
template.render({target: "world"}) // -> "Hello, world
Parsing values
var template = new Template("Hello, ${target}")
template.render({
target: "${person.name}",
person: {
name: "Jack"
}
}) // -> "Hello, Jack"
License
MIT
1.0.0
6 years ago