Named string interpolation, with format specifiers.
Usage
var tmpl = '{ date.day : %02d }-{ date.month : %02d }-{ date.year }';var data = date: day: 25 month: 1 year: 2015 ; data; //=> '25-01-2015'
- Keys in
tmpl
are delimited by{
and}
. - Reference a nested value in
data
using a dot-delimited string (eg.date.day
above). - Optionally state a format specifier for each key after a
:
character. The%s
format specifier is assumed for keys without one.
More usage examples are in the tests.
Note that under the hood, strfmt uses:
- sprintf.js for rendering the format specifiers
- Jaunt for key access
API
strfmt(tmpl)(data)
Returns a String, the result of interpolating data
into tmpl
.
tmpl
— The template String.data
— An Object literal of values.
Installation
Install via npm:
$ npm i --save strfmt
Install via bower:
$ bower i --save yuanqing/strfmt
To use strfmt in the browser, include the minified script in your HTML:
<!-- ... -->
Changelog
- 0.1.0
- Initial release