Package Exports
- string-template
- string-template/compile
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (string-template) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
string-template
A simple string template function based on named or indexed arguments
Example
var format = require("string-template")
var greeting
// Format using an object hash with keys matching [0-9a-zA-Z]+
greeting = format("Hello {name}, you have {count} unread messages", {
name: "Robert",
count: 12
})
// greeting -> "Hello Robert, you have 12 unread messages"
// Format using a number indexed array
greeting = format("Hello {0}, you have {1} unread messages", ["Robert", 12])
// greeting -> "Hello Robert, you have 12 unread messages"
// Format using optional arguments
greeting = format("Hello {0}, you have {1} unread messages",
"Robert",
12)
// greeting -> "Hello Robert, you have 12 unread messages"
// Escape {} pairs by using double {{}}
var text = format("{{0}}")
// text -> "{0}"
Compiling templates
string-template
exposes two template compiling options for when you need the
additional performance. Arguments passed to the compiled template are of the
same structure as the main string-template
function, so either a single
object/array or a list of arguments.
var compile = require("string-template/compile")
var greetingTemplate = compile("Hello {0}, you have {1} unread messages")
var greeting = greetingTemplate("Robert", 12)
// -> "Hello Robert, you have 12 unread messages"
Passing a truthy second argument to compile
will opt into using new Function
to generate a function. The function returned contains a literal string
concatenation statement, interleaving the correct arguments you have passed in.
var compile = require("string-template/compile")
var greetingTemplate = compile("Hello {0}, you have {1} unread messages", true)
// -> greetingTemplate generated using new Function
var greeting = greetingTemplate(["Robert", 12])
// -> "Hello Robert, you have 12 unread messages"
Installation
npm install string-template
Contributors
- Matt-Esch