A very light weight library which allows you to process tokenised strings
Say you have a string like this:
const input = 'Hello ${firstName}'
You can parse it like this:
import { parseTemplate } from 'parse-template'
const meta = { firstName: 'Jess' }
parseTemplate(input, meta) // 'Hello Jess'
npm i --save parse-template
const meta = { user: { firstName: 'Joe' } }
parseTemplate('Hello ${user.firstName}', meta) // 'Hello Joe'
const meta = { guests: [{ firstName: 'Alex'}] }
parseTemplate('Hello ${guests[0].firstName}', meta) // 'Hello Alex'
const meta = { nickName: null, firstName: 'Sam' }
parseTemplate('Hello ${nickname || firstName || "there"}', meta) // 'Hello Sam'
Empty values are replaced with an empty string
const meta = { nickName: null }
parseTemplate('Hello ${nickname}', meta) // 'Hello '
Undefined values are replaced with an empty string
const meta = {}
parseTemplate('Hello ${nickname}', meta) // 'Hello '
The resolved "meta" value must be either a string or a number, otherwise it is ignored. So objects and other non string/number values are ommitted
const meta = { user: { nickName: 'Roger' } }
parseTemplate('Hello ${user}', meta) // 'Hello '
Thanks for the help :) Please fork this repo then submit a PR back into.
npm i
npm test
npm run build