Template provides a basic templating mechanism to replace values in a source String, and to have some basic logic.

A complete documentation of the supported syntax is available at: http://haxe.org/manual/std-template.html


new (str:String)

Creates a new Template instance from str.

str is parsed into tokens, which are stored for internal use. This means that multiple execute() operations on a single Template instance are more efficient than one execute() operations on multiple Template instances.

If str is null, the result is unspecified.


execute (context:Dynamic, ?macros:Dynamic):String

Executes this Template, taking into account context for replacements and macros for callback functions.

If context has a field 'name', its value replaces all occurrences of ::name:: in the Template. Otherwise Template.globals is checked instead, If 'name' is not a field of that either, ::name:: is replaced with null.

If macros has a field 'name', all occurrences of $$name(args) are replaced with the result of calling that field. The first argument is always the resolve() method, followed by the given arguments. If macros has no such field, the result is unspecified.

If context is null, the result is unspecified. If macros is null, no macros are used.

Static variables

staticglobals:Dynamic = { }

Global replacements which are used across all Template instances. This has lower priority than the context argument of execute().