pope

    3.0.0 • Public • Published

    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: '.....'
    }

    Install

    npm i pope

    DownloadsWeekly Downloads

    24,045

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    7.05 kB

    Total Files

    6

    Last publish

    Collaborators

    • amanvirk
    • virk