Skip to content

Commit f00511e

Browse files
committed
bump version 0.2.2
1 parent 19c6cd3 commit f00511e

File tree

1 file changed

+38
-39
lines changed

1 file changed

+38
-39
lines changed

src/ai_mustache_runner.erl

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,74 +2,73 @@
22
-export([render/2,render/3]).
33

44
-spec render({[term()],map()},map())-> binary().
5-
render({IR,Partials},Ctx)->run(IR,<<>>,[],Partials,Ctx).
5+
render({IR,Partials},Ctx)->run(<<>>,IR,[],Partials,Ctx).
66

77
-spec render([term()],map(),map())-> binary().
8-
render(IR,Partials,Ctx)-> run(IR,<<>>,[],Partials,Ctx).
8+
render(IR,Partials,Ctx)-> run(<<>>,IR,[],Partials,Ctx).
99

10-
run([],Acc,[],_Partials,_Ctx)-> Acc;
11-
run([],Acc,[{H,OldCtx}|Stack],Partials,_Ctx)->
12-
run(H,Acc,Stack,Partials,OldCtx);
13-
run([{binary,Value}|IR],Acc,Stack,Partials,Ctx)->
14-
run(IR,<<Acc/binary,Value/binary>>,Stack,Partials,Ctx);
15-
run([{tag,none,Name}|IR],Acc,Stack,Partials,Ctx)->
10+
run(Acc,[],[],_Partials,_Ctx)-> Acc;
11+
run(Acc,[],[{H,OldCtx}|Stack],Partials,_Ctx)->
12+
run(Acc,H,Stack,Partials,OldCtx);
13+
run(Acc,[{binary,Value}|IR],Stack,Partials,Ctx)->
14+
run(<<Acc/binary,Value/binary>>,IR,Stack,Partials,Ctx);
15+
run(Acc,[{tag,none,Name}|IR],Stack,Partials,Ctx)->
1616
Value = ai_string:html_escape(ai_maps:get(Name,Ctx,<<"">>)),
17-
run(IR,<<Acc/binary,Value/binary>>,Stack,Partials,Ctx);
18-
run([{tag,raw,Name}|IR],Acc,Stack,Partials,Ctx)->
17+
run(<<Acc/binary,Value/binary>>,IR,Stack,Partials,Ctx);
18+
run(Acc,[{tag,raw,Name}|IR],Stack,Partials,Ctx)->
1919
Value = ai_string:to_string(ai_maps:get(Name,Ctx,<<"">>)),
20-
run(IR,<<Acc/binary,Value/binary>>,Stack,Partials,Ctx);
21-
run([{tag,partial,Name }|IR],Acc,Stack,Partials,Ctx)->
20+
run(<<Acc/binary,Value/binary>>,IR,Stack,Partials,Ctx);
21+
run(Acc,[{tag,partial,Name }|IR],Stack,Partials,Ctx)->
2222
Paths = binary:split(Name,<<"/">>,[global]),
2323
[H|T] = Paths,
2424
Key = [<<".",H/binary>>|T],
2525
case ai_maps:get(Paths,Partials,undefined) of
26-
undefined ->
27-
run(IR,Acc,Stack,Partials,Ctx);
26+
undefined -> run(Acc,IR,Stack,Partials,Ctx);
2827
NewIR ->
2928
case ai_maps:get(Key,Ctx,undefined) of
3029
undefined ->
31-
run(NewIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
30+
run(Acc,NewIR,[{IR,Ctx}|Stack],Partials,Ctx);
3231
NewCtx ->
3332
NewCtx0 = maps:merge(Ctx,NewCtx),
34-
run(NewIR,Acc,[{IR,Ctx}|Stack],Partials,NewCtx0)
33+
run(Acc,NewIR,[{IR,Ctx}|Stack],Partials,NewCtx0)
3534
end
3635
end;
37-
run([{section,Name,SectionIR,false}|IR],Acc,Stack,Partials,Ctx)->
38-
case ai_maps:get(Name,Ctx,undefined) of
39-
undefined -> run(SectionIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
40-
false -> run(SectionIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
41-
true -> run(IR,Acc,Stack,Partials,Ctx);
36+
run(Acc,[{section,Name,SectionIR,false}|IR],Stack,Partials,Ctx)->
37+
case ai_maps:get(Name,Ctx,undefined) of
38+
undefined -> run(Acc,SectionIR,[{IR,Ctx}|Stack],Partials,Ctx);
39+
false -> run(Acc,SectionIR,[{IR,Ctx}|Stack],Partials,Ctx);
40+
true -> run(Acc,IR,Stack,Partials,Ctx);
4241
L when erlang:is_list(L)->
4342
case L of
44-
[] -> run(SectionIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
45-
_ -> run(IR,Acc,Stack,Partials,Ctx)
43+
[] -> run(Acc,SectionIR,[{IR,Ctx}|Stack],Partials,Ctx);
44+
_ -> run(Acc,IR,Stack,Partials,Ctx)
4645
end;
4746
_ ->
48-
run(IR,Acc,Stack,Partials,Ctx)
47+
run(Acc,IR,Stack,Partials,Ctx)
4948
end;
50-
run([{section,Name,SectionIR,true}|IR],Acc,Stack,Partials,Ctx)->
49+
run(Acc,[{section,Name,SectionIR,true}|IR],Stack,Partials,Ctx)->
5150
case ai_maps:get(Name,Ctx,undefined) of
52-
undefined -> run(IR,Acc,Stack,Partials,Ctx);
53-
false -> run(IR,Acc,Stack,Partials,Ctx);
54-
true -> run(SectionIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
55-
M when erlang:is_map(M)-> run(SectionIR,Acc,[{IR,Ctx}|Stack],Partials,Ctx);
51+
undefined -> run(Acc,IR,Stack,Partials,Ctx);
52+
false -> run(Acc,IR,Stack,Partials,Ctx);
53+
true -> run(Acc,SectionIR,[{IR,Ctx}|Stack],Partials,Ctx);
54+
M when erlang:is_map(M)-> run(Acc,SectionIR,[{IR,Ctx}|Stack],Partials,Ctx);
5655
L when erlang:is_list(L)->
5756
case L of
58-
[] -> run(IR,Acc,Stack,Partials,Ctx);
57+
[] -> run(Acc,IR,Stack,Partials,Ctx);
5958
_ ->
60-
run(SectionIR,Acc,L,[{IR,Ctx}|Stack],Partials,Ctx)
59+
run(Acc,SectionIR,L,[{IR,Ctx}|Stack],Partials,Ctx)
6160
end;
6261
F when erlang:is_function(F,2) ->
63-
Acc0 = run(SectionIR,<<>>,[],Partials,Ctx),
62+
Acc0 = run(<<>>,SectionIR,[],Partials,Ctx),
6463
Acc1 = F(Acc0,Ctx),
65-
run(IR,<<Acc/binary,Acc1/binary>>,Stack,Partials,Ctx);
64+
run(<<Acc/binary,Acc1/binary>>,IR,Stack,Partials,Ctx);
6665
_->
67-
run(IR,Acc,Stack,Partials,Ctx)
66+
run(Acc,IR,Stack,Partials,Ctx)
6867
end.
69-
run(_SectionIR,Acc,[],[{IR,OldCtx}|Stack],Partials,_Ctx)->
70-
run(IR,Acc,Stack,Partials,OldCtx);
71-
run(SectionIR,Acc,[H|T],Stack,Partials,Ctx)->
72-
Acc0 = run(SectionIR,Acc,[],Partials,maps:merge(Ctx,H)),
73-
run(SectionIR,Acc0,T,Stack,Partials,Ctx).
68+
run(Acc,_SectionIR,[],[{IR,OldCtx}|Stack],Partials,_Ctx)->
69+
run(Acc,IR,Stack,Partials,OldCtx);
70+
run(Acc,SectionIR,[H|T],Stack,Partials,Ctx)->
71+
Acc0 = run(Acc,SectionIR,[],Partials,maps:merge(Ctx,H)),
72+
run(Acc0,SectionIR,T,Stack,Partials,Ctx).
7473

7574

0 commit comments

Comments
 (0)