@ordergroove/smi-precompile
v1.10.4
Published
Prcompilers for smi-core
Downloads
813
Keywords
Readme
smi-precompile
Precompiles a liquid style template into smi function generator. Precompile returns code as a string
Precompilers for smi-core
Usage
resultCode = precompile(source, partials, locales, settings, (defaultLocale = 'en'));
Example
const precompile = require('@ordergroove/smi-precompile');
const result = precompile(
`
{% set some_value = 'yes' %}
{% if some_value == ('some_setting' | setting) %}
{% include 'some-include' %}
{% endif %}`,
{
'some-include.liquid': `{{ 'my_custom_text' | t }}`
},
[
{
locale: 'en',
translations: { my_custom_text: 'Hello world' }
},
{
locale: 'es',
translations: { my_custom_text: 'Hola mundo' }
}
],
{
some_setting: 'yes'
}
);
** outputs **
function template(html, repeat, unsafeHTML) {
function template_en({}, _F) {
var some_value;
return html`
${(() => {
some_value = 'yes';
})()} ${some_value == 'yes'
? html`
Hello world
`
: ''}
`;
}
function template_es({}, _F) {
var some_value;
return html`
${(() => {
some_value = 'yes';
})()} ${some_value == 'yes'
? html`
Hola mundo
`
: ''}
`;
}
return {
en: template_en,
es: template_es
};
}