Exciting release!Introducing "safe npm". Learn more
Socket
Log inDemoInstall

typo

Package Overview
Dependencies
7
Maintainers
1
Versions
18
Issues
File Explorer

Advanced tools

typo

`typo` is an extendable template engine designed for the future

    1.0.6latest
    GitHub

Version published
Maintainers
1
Weekly downloads
815
increased by11.95%

Weekly downloads

Readme

Source

Build Status

typo

typo is an extendable template engine designed for the future:

  • featured with Promise and async/await.
  • powerful custom sync/async directives(helpers).

Install

$ npm install typo --save

Usage

const typo = require('typo')() typo.template('Hello, {{user.name}}!', { user: { name: 'Steve' } }).then(console.log) // Hello, Steve!

typo with chalk

const 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"

Custom directives

Basic:

typo.use('upper', word => word.toUpperCase()) typo.template('{{upper foo}} bar').then(console.log) // FOO bar

Asychronous directives

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

Compile the template and use it Later

const template = typo.compile(`Once in a {{blue color}} moon`) template({color: 'blue'}) .then(console.log) // Once in a blue moon

typo({open, close})

Creates the typo instance.

  • open String={{ The beginning of each directive.
  • close String=}} The end of each directive.

compile(template, compile_options)

Compiles a template into a function.

  • template String
  • compile_options Object
    • async Boolean=true whether should be compiled into an asynchronous function, defaults to true
    • concurrency Number=Number.POSITIVE_INFINITY If compiled as an asynchronous function, the number of max concurrently pending directive functions.
    • value_not_defined 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.
    • directive_value_not_defined 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)

template(template, data, compile_options)

  • template String
  • data Object=
  • compile_options Object=

Returns Promise if compile_options.async is true(default), or String the substituted result if is not.

Syntax

{{<directive>[:<directive-params>][|<directive&params>] <expression>}} {{<expression>}}

License

MIT

Keywords

FAQs

Last updated on 19 Mar 2017

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.

Install Socket
Socket
support@socket.devSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc