A few seconds.

string-template

A simple string template function based on named or indexed arguments

string-template

build status dependency status coverage report stability index

npm stats

browser support

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

MIT Licenced

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.