Weekly downloads
Readme
typo
is an extendable template engine designed for the future:
Promise
and async/await
.$ npm install typo --save
const typo = require('typo')()
typo.template('Hello, {{user.name}}!', {
user: {
name: 'Steve'
}
}).then(console.log)
// Hello, Steve!
typo
with chalkconst typo = require('typo')()
const chalk = require('typo-chalk')
typo.use(chalk)
typo.template('Once in a {{blue blue}} moon').then(console.log)
// Then it will print a blue word "blue"
Basic:
typo.use('upper', word => word.toUpperCase())
typo.template('{{upper foo}} bar').then(console.log)
// FOO bar
typo.use('fullname', async name => await getFullNameFromServer(name))
typo.template('{{fullname name}}', {name: 'Steve'}).then(console.log)
// Steve Jobs
typo.template('{{fullname Steve}}').then(console.log)
// Steve Jobs
const template = typo.compile(`Once in a {{blue color}} moon`)
template({color: 'blue'})
.then(console.log)
// Once in a blue moon
Creates the typo
instance.
String={{
The beginning of each directive.String=}}
The end of each directive.Compiles a template into a function.
String
Object
Boolean=true
whether should be compiled into an asynchronous function, defaults to true
Number=Number.POSITIVE_INFINITY
If compiled as an asynchronous function, the number of max concurrently pending directive functions.enum.<print|ignore|throw>=print
Suppose the value of an expression is not found in data
, then it will print the expression directly if print
(as default), or print nothing if ignore
, or throw an error if throw
.enum.<print|ignore|throw>=value_not_defined
Tells typo
what to do if the parameter expression of a directive is not found in data
. And this option is default to the value of value_not_defined
// default options
typo.compile('{{blue color}}')()
// prints a blue letter, "color"
.then(console.log) => {
// value_not_defined: throw
typo.compile('{{blue color}}', {
value_not_defined: 'throw'
})()
.catch((e) => {
// code frame and
// 'value not found for key "color"''
console.error(e.message)
})
typo.compile('{{adjective}} {{blue color}}', {
value_not_defined: 'throw',
directive_value_not_defined: 'print'
})({
adjective: 'beautiful'
})
// prints "beautiful color", and the letter color is blue
.then(console.log)
Returns function(data)
async: false
const result = typo.compile(template)(data)
console.log(result)
async: true (default)
typo.compile(template)(data).then(console.log)
String
Object=
Object=
Returns Promise
if compile_options.async
is true
(default), or String
the substituted result if is not.
{{<directive>[:<directive-params>][|<directive¶ms>] <expression>}}
{{<expression>}}
MIT
FAQs
`typo` is an extendable template engine designed for the future
The npm package typo receives a total of 653 weekly downloads. As such, typo popularity was classified as not popular.
We found that typo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.