Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

readme.md

Pope

Coverage Status

Pope is a fast, minimal and micro template engine for strings only, it plays well where you want to embed micro templates inside your module.

Upgrading from 1.x.x The version 2.0.x has a breaking change, where pope is not the default export, instead exported as a property on the object.

Earlier


const pope = require('pope')

Now


const { pope } = require('pope')

Examples

string interpolation

const { pope } = require('pope')
pope('There are {{count}} emails in your inbox', { count:20 })

nested values

const { pope } = require('pope')
pope('My name is {{profile.name}} and age is {{profile.age}}', { profile: { name:'virk', age: 26 } })

arrays only

const { pope } = require('pope')
pope('There are {{0}} emails in your inbox', [20])

prop

Pulls the nested/flat values from an object. It is similar to lodash.get method.

const { prop } = require('pope')
prop({ count:20 }, 'count') // 20
prop({profile: { name:'virk', age: 26 }}, 'profile.name') // virk
prop([20], '0') // 20
prop({profile: { validate: /^[A-Z][a-z]+/} }, 'profile.validate') //   /^[A-Z][a-z]+/

Options

You can also pass an options object to define the interpolation behavior.

skipUndefined

Do not replace the undefined values with an empty string.

const { pope } = require('pope')
pope('There are {{0}} emails in your inbox', {}, {
  skipUndefined: true
})
// returns - There are {{0}} emails in your inbox

throwOnUndefined

Throw exception when a undefined value is found. throwOnUndefined gets priority over skipUndefined if both are defined.

const { pope } = require('pope')
pope('Hello {{ username }}', {}, {
  throwOnUndefined: true
})

// throws exception
{
  message: 'Missing value for {{ username }}',
  key: 'username',
  code: 'E_MISSING_KEY',
  stack: '.....'
}

About

Micro templating engine for strings only.

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.