plmustache
plmustache copied to clipboard
handle partials by calling other (plmustache) functions
Since it doesn't make sense to load partials from file, it would be great if other functions could be called via partials:
create or replace function hello() returns text as $$
Hello, {{>world}}
$$ language plmustache;
create or replace function world() returns text as $$
World
$$ language plmustache;
select hello();
Hello, World
It should even be possible to pass arguments to those functions via blocks and parents:
create or replace function hello(subject text) returns text as $$
Hello, {{subject}}
$$ language plmustache;
create or replace function hello_world() returns text as $$
{{<hello}}
{{$subject}}World{{/subject}}
{{/hello}}
$$ language plmustache;
select hello();
Hello, World
Neither blocks, nor parents are supported by jobol/mustach, yet. I opened an issue about it.
I don't think it's possible to override the default "file loader" either, so that probably needs some changes in jobol/mustach, too.
Upstream started development on partials and blocks and is asking for feedback: https://gitlab.com/jobol/mustach/-/issues/46#note_1856323871
@steve-chavez maybe you have time to try how that would work with plmustache?