JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1932870
  • Score
    100M100P100Q207176F
  • License MIT

A simple string template function based on named or indexed arguments

Package Exports

  • string-template
  • string-template/compile

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (string-template) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

string-template

build status dependency status coverage report stability index

npm stats

browser support

A simple string template function based on named or indexed arguments

Example

var format = require("string-template")
var greeting

// Format using an object hash with keys matching [0-9a-zA-Z]+

greeting = format("Hello {name}, you have {count} unread messages", {
    name: "Robert",
    count: 12
})
// greeting -> "Hello Robert, you have 12 unread messages"


// Format using a number indexed array

greeting = format("Hello {0}, you have {1} unread messages", ["Robert", 12])
// greeting -> "Hello Robert, you have 12 unread messages"


// Format using optional arguments

greeting = format("Hello {0}, you have {1} unread messages",
     "Robert",
     12)
// greeting -> "Hello Robert, you have 12 unread messages"


// Escape {} pairs by using double {{}}

var text = format("{{0}}")
// text -> "{0}"

Compiling templates

string-template exposes two template compiling options for when you need the additional performance. Arguments passed to the compiled template are of the same structure as the main string-template function, so either a single object/array or a list of arguments.

var compile = require("string-template/compile")

var greetingTemplate = compile("Hello {0}, you have {1} unread messages")

var greeting = greetingTemplate("Robert", 12)
// -> "Hello Robert, you have 12 unread messages"

Passing a truthy second argument to compile will opt into using new Function to generate a function. The function returned contains a literal string concatenation statement, interleaving the correct arguments you have passed in.

var compile = require("string-template/compile")

var greetingTemplate = compile("Hello {0}, you have {1} unread messages", true)
// -> greetingTemplate generated using new Function

var greeting = greetingTemplate(["Robert", 12])
// -> "Hello Robert, you have 12 unread messages"

Installation

npm install string-template

Contributors

  • Matt-Esch

MIT Licenced