0.0.2 • Published 9 years ago

stmpl v0.0.2

Weekly downloads
9
License
-
Repository
-
Last release
9 years ago

stmpl

stmpl is a simple template parser.

Usage

var stmpl = require('stmpl');

// Simple Resolve
console.log(stmpl.resolve('Hello {{name}}', { })); // => undefined
console.log(stmpl.resolve('Hello {{name}}', { name: 'Joe' })); // => 'Hello Joe'

// Simple Resolve with default
console.log(stmpl.resolve('Hello {{name|world}}', { })); // => 'Hello world'
console.log(stmpl.resolve('Hello {{name|world}}', { name: 'Joe' })); // => 'Hello Joe'

// Simple Resolve with cases
console.log(stmpl.resolve('Gender: {{gender?F->female;M->male}}', { name: 'Joe', gender: 'M' })); // => 'Gender: male'
console.log(stmpl.resolve('Gender: {{gender?F->female;M->male}}', { name: 'Joe' })); // => undefined

// Simple Resolve with cases and default
console.log(stmpl.resolve('Gender: {{gender?F->female;M->male|unknown}}', { name: 'Joe' })); // => 'Gender: unknown'

// Simple Resolve with boolean
console.log(stmpl.resolve('Status: {{over18?true->adult;false->child}}', { name: 'Joe', over18: true })); // => 'Status: adult'
console.log(stmpl.resolve('Status: {{over18?true->adult;false->child}}', { name: 'Joe', over18: false })); // => 'Status: child'
console.log(stmpl.resolve('Status: {{over18?true->adult;false->child}}', { name: 'Joe' })); // => undefined
console.log(stmpl.resolve('Status: {{over18?true->adult;false->child|unknown}}', { name: 'Joe' })); // => 'Status: unknown'
console.log(stmpl.resolve('Status: {{over18?true->adult|child}}', { name: 'Joe' })); // => 'Status: child'

// Keys (returns field names without the expression)
console.log(stmpl.keys('Gender: {{gender?F->female;M->male|unknown}}')); // => [ 'gender' ]

// Replace (replaces a field name without affecting the expression)
console.log(stmpl.replace('Gender: {{gender?F->female;M->male|unknown}}', 'gender', 'g')); // => [ 'Gender: {{g?F->female;M->male|unknown}}' ]