You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A simple string template function based on named or indexed arguments
Example
varformat=require("string-template")vargreeting// 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 arraygreeting=format("Hello {0}, you have {1} unread messages",["Robert",12])// greeting -> "Hello Robert, you have 12 unread messages"// Format using optional argumentsgreeting=format("Hello {0}, you have {1} unread messages","Robert",12)// greeting -> "Hello Robert, you have 12 unread messages"// Escape {} pairs by using double {{}}vartext=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.
varcompile=require("string-template/compile")vargreetingTemplate=compile("Hello {0}, you have {1} unread messages")vargreeting=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.
varcompile=require("string-template/compile")vargreetingTemplate=compile("Hello {0}, you have {1} unread messages",true)// -> greetingTemplate generated using new Functionvargreeting=greetingTemplate(["Robert",12])// -> "Hello Robert, you have 12 unread messages"
Installation
npm install string-template
Contributors
Matt-Esch
MIT Licenced
About
A lightweight string replace engine for text-based templates