Mustache implementation in simple procedural Pascal
- Simple procedural interface in single unit
- Ease of maintenance and extension
- Fast enough, but not need to be the fastest
There's only a single function:
procedure Render(const Template: TStream; const Context: TJSONObject; Result: TStream);
The use of TStream
allows input from and output to any TStream
descendant,
be it direct string, files, sockets, whatever you can imagine.
- interpolation (✅)
- comments (❌)
- delimiters (❌)
- inverted (❌)
- partials (❌)
- sections (❌)
I made this fork in order to remove dependency to iostream and directly read from / write to streams (original version had issues when used inside a dll)