Spice
No-frills string interpolation library.
var spice = // => (string) "Hello, world!"
Or, alternatively, mess with the String#prototype
:
var spice = Stringprototype { return } 'Hello, {:subject}!'// => (string) "Hello, world!"
Installing
The easiest way is to grab it from NPM (use browserify if you're on a Browser):
$ npm install spice
# Then require it as usual
node> var spice = require('spice')
If you really want to suffer with old and terrible module/no-module
formats, you can run make dist
yourself:
$ git clone git://github.com/killdream/spice
$ cd spice
$ npm install
$ make dist
# And incldue `dist/spice.umd.js` on your AMD/script tag/whatever.
API
format(string, mappings)
Performs string interpolation, given a template string as basis, and a substitution map.
template-value: string | (string -> string)format: string, { string -> template-value } -> string
If a mapping is not given, we assume it to be an empty object, in which case the template variables are just stripped away.
A template variable is a special construct in the form:
<template-variable> ::= "{:" (any but "}") "}"
For example, to provide a "Hello, world!" template, that adjusts to a given name, one could write:
// => "Hello, world!"
A template variable can be escaped by placing a backslash between the open-curly braces and the colon, such that the construct would be output verbatim:
// => "Hello, {:subject}!"
Platform support
ES3 and beyond!
Testing
For Node, just:
$ npm test
Licence
MIT/X11. Just do whatever you want to.
$ less LICENCE