@ctrl/golang-template
Version:
Basic golang template parsing in js
71 lines (57 loc) • 1.55 kB
Markdown
> Typescript library that handles basic functions of the golang template syntax.
```sh
npm install @ctrl/golang-template
```
```ts
import { parse } from '@ctrl/golang-template';
const keywords = '123';
parse('{{ if .keywords }}{{ .keywords }}!!{{else}}nothing{{end}}', { keywords });
// '123!!'
```
```ts
`{{ .foo }}`
```
```ts
`{{ if .keywords }}{{ .keywords }}{{else}}nothing{{end}}`
```
```ts
const categories = ['1', '2', '3'];
parse('{{ join .categories "," }}', { categories });
// 1,2,3
```
```ts
const categories = ['1', '2', '3'];
parse('{{ range .categories }}{{.}};{{end}}', { categories });
// 1;2;3;
```
```ts
const categories = ['1', '2', '3'];
parse('{{ re_replace .category "[^a-zA-Z0-9]+" "%" }}', { categories });
// 1;2;3;
```
```ts
const data = {
object: {
value: 'foo'
},
array: [
'bar'
]
}
parse('{{ index .object "value" }}', data);
//foo
parse('{{ index .array 0 }}', data);
//foo
```
This is probably not safe for user input.