Socket
Socket
Sign inDemoInstall

pope

Package Overview
Dependencies
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pope

Zero dependency micro templating engine for strings only.


Version published
Weekly downloads
8.3K
decreased by-11.29%
Maintainers
2
Weekly downloads
 
Created
Source

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

Keywords

FAQs

Package last updated on 22 Mar 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc