You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

templite

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

templite

Lightweight templating in 154 bytes

1.2.0
latest
Source
npm
Version published
Weekly downloads
28K
-21.31%
Maintainers
1
Weekly downloads
 
Created
Source

templite Build Status

Lightweight templating in 154 bytes

Allows you to denote dynamic portions of a string using double curly brackets ({{ example }}) & then replace them with matching values from your data source.

You may attach an Object or an Array as your data source, which means you may use the object's keys or the array's indices to assign values.

Lastly, you may use dot-notated paths to access (deeply) nested values; eg: foo.bar.baz, 0.0.0, or foo.0.1.bar.

Install

$ npm install --save templite

Usage

const templite = require('templite');

templite('Hello, {{name}}!', { name: 'world' });
//=> Hello, world!

templite('Howdy, {{0}}! {{1}}', ['partner', '🤠']);
//=> Howdy, partner! 🤠

templite('foo: "{{foo}}"; bar: "{{bar}}";', { foo: 123 });
//=> foo: "123"; bar: "";

templite(`
  Name: {{name.last}}, {{name.first}}
  Location: {{address.city}} ({{address.country}})
  Hobbies: {{hobbies.0}}, {{hobbies.1}}, {{hobbies.2}}
`, {
  name: {
    first: 'Luke',
    last: 'Edwards'
  },
  address: {
    city: 'Los Angeles',
    country: 'USA'
  },
  hobbies: ['eat', 'sleep', 'repeat']
});
//=> Name: Edwards, Luke
//=> Location: Los Angeles (USA)
//=> Hobbies: eat, sleep, repeat

API

templite(input, values)

input

Type: String

The string template to operate upon.

Its dynamic placeholders are signified with double curly brackets ({{foo}} or {{ foo }}) and may map to key names or indices. They may also reference deeply nested values via dot-notation (foo.bar.baz).

Unknown keys/indices and null or undefined values are replaced with an empty string ('').

values

Type: Array or Object

The data source for your template injections.

License

MIT © Luke Edwards

Keywords

inject

FAQs

Package last updated on 20 Dec 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