kyleect / ttk

Template Tool Kit -- String template literals plus.

Home Page:https://www.npmjs.com/package/ttk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

TTK Template Tool Kit

String template literals plus.

Installation

$ npm install --save ttk

Basic Usage

const ttk = require('ttk');

const t = ttk.factory();
const render = t`Hello, ${'@name'}!`;

render({ name: 'World' }); // Hello, World!

Configuration

keyPrefix [default: @]

String prefix to identify the context value placeholders in the template.

const ttk = require('ttk');

const t = ttk.factory({
  keyPrefix: '#'
});

const render = t`Hello, ${'#name'}!`;

render({ name: 'World' }); // Hello, World!

mergeMiddleware [default: false]

Boolean to detirmine if middleware arrays should merge/concat from passed options or override.

valueFns

Array of middleware functions that context values are processed through.

renderFns

Array of middleware functions that the final render string is processed through.

Examples

SQL Queries with sqlValueWrapper

const ttk = require('ttk');

const sql = ttk.factory({
  valueFns: [ttk.middleware.value.sqlValueWrapper]
});

const render = sql`
SELECT firstname, lastname
FROM person
WHERE gender = ${'@gender'}
AND state IN ${'@states'}
AND age > ${'@age'}
`;

render({ age: 30, gender: 'male', states: ['NY', 'CA'] });

// SELECT firstname, lastname
// FROM person
// WHERE gender = 'male'
// AND state IN ('NY', 'CA')
// AND age > 30

About

Template Tool Kit -- String template literals plus.

https://www.npmjs.com/package/ttk

License:MIT License


Languages

Language:JavaScript 100.0%