41
41
public function toString() : String {
44
44
var result = new StringBuf();
46
46
String = $loader.String;
47
Array = $loader.Array;
47
48
iter = $loader.iter;
48
49
buffer_new = $loader.loadprim("std@buffer_new", 0);
49
50
buffer_add = $loader.loadprim("std@buffer_add", 2);
50
51
buffer_string = $loader.loadprim("std@buffer_string", 1);
52
string_split = $loader.loadprim("std@string_split", 2);
54
replace = function( h, n, r ){
55
var l = string_split(h, n);
58
var res = buffer_new();
59
buffer_add(res, l[0]);
63
buffer_add(res, l[0]);
66
return buffer_string(res);
52
69
html_escape = function( data ){
53
var str = String.new($string(data));
55
$throw("String.new returned null\n");
57
return str.split(String.new("&")).join(String.new("&")).split(String.new("<")).join(String.new("<")).split(String.new(">")).join(String.new(">")).split(String.new("\\\"")).join(String.new("""));
70
var t = $typeof(data);
77
data = replace(data, "&", "&");
78
data = replace(data, "<", "<");
79
data = replace(data, ">", ">");
80
data = replace(data, "\\\"", """);
60
84
is_true = function( data ){
127
152
var __glb = __ctx;
128
153
var __out = new_output_buffer(null);
130
155
//--- HERE COMES THE TEMPLATE CODE ---
157
result.add(~/[\r\n]+/g.split(headercode).join("\n"));
132
158
result.add(out.toString());
133
159
result.add('//--- END OF TEMPLATE CODE ---
134
160
return __out.str();
196
public static function hash( name:String ) : Int {
197
return untyped __dollar__hash(name.__s);
170
200
public function getVar( name:String ) : String {
171
return "__ctx.get($hash(\""+name+"\"))";
201
return "__ctx.get("+hash(name)+")";
174
204
public function setVar( name:String, exp:String ){
175
add("__ctx.set($hash(\""+name+"\"), "+exp+");\n");
205
add("__ctx.set("+hash(name)+", "+exp+");\n");
178
208
public function flushHtml(){