@ctrl/golang-template
v1.4.1
Published
Basic golang template parsing in js
Downloads
9,264
Maintainers
Readme
golang-template
Typescript library that handles basic functions of the golang template syntax.
Install
npm install @ctrl/golang-template
Use
import { parse } from '@ctrl/golang-template';
const keywords = '123';
parse('{{ if .keywords }}{{ .keywords }}!!{{else}}nothing{{end}}', { keywords });
// '123!!'
Supported template functions
variables
`{{ .foo }}`
if..else
`{{ if .keywords }}{{ .keywords }}{{else}}nothing{{end}}`
join
const categories = ['1', '2', '3'];
parse('{{ join .categories "," }}', { categories });
// 1,2,3
range
const categories = ['1', '2', '3'];
parse('{{ range .categories }}{{.}};{{end}}', { categories });
// 1;2;3;
re_replace
const categories = ['1', '2', '3'];
parse('{{ re_replace .category "[^a-zA-Z0-9]+" "%" }}', { categories });
// 1;2;3;
index
const data = {
object: {
value: 'foo'
},
array: [
'bar'
]
}
parse('{{ index .object "value" }}', data);
//foo
parse('{{ index .array 0 }}', data);
//foo
Warnings
This is probably not safe for user input.