This package has been deprecated

Author message:

This package is no longer maintained and has been deprecated. Please migrate to other solutions as soon as possible.

mustache-async

0.1.3 • Public • Published

mustache-async.js - Logic-less {{mustache}} templates with async view function Support

Build Status Known Vulnerabilities

mustache-async.js is a fork of the mustache.js template system, with async view function support. If you don't need to use async functions to generate substitution values, you should simply use mustache.js which supports older browsers and older JS versions.

Mustache is a logic-less template syntax. It can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object. Visit the manpage for the templating syntax.

Usage

mustache-async.js supports regular functions, async functions and Promises. Example:

const view = {
    firstName: 'Art',
    lastName: 'Vandelay',
    fullName: function() {
        return this.firstName + ' ' + this.lastName;
    },
    profession: async () => new Promise(resolve => setTimeout(() => resolve('Architect'), 10))
}
const template = 'My name is {{fullName}}, I am an {{profession}}';
console.log(await Mustache.render(template, view));
//My name is Art Vandelay, I am an Architect

In this example, the Mustache.render function takes two parameters: 1) the mustache template and 2) a view object that contains the data and code needed to render the template.

Install

You can get Mustache via npm.

$ npm install mustache-async --save

Contributing

mustache-async.js is a new project, any contribution are welcome! Visit the issues page

API

Following is an rtype signature of the most commonly used functions.

Mustache.render(
  template            : String,
  view                : Object,
  partials?           : Object,
  tags = ['{{', '}}'] : Tags,
) => String
 
Mustache.parse(
  template              : String,
  tags = ['{{', '}}']   : Tags,
) => Token[]
 
interface Token [String, String, Number, Number, Token[]?, Number?]
 
interface Tags [String, String]
 

More info and API reference on mustache.js github page

Package Sidebar

Install

npm i mustache-async

Weekly Downloads

21

Version

0.1.3

License

MIT

Unpacked Size

66.8 kB

Total Files

17

Last publish

Collaborators

  • asurion-security
  • solutobuild