edgerender-yatl
Version:
Yet Another Template Language
33 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.str2stream = exports.render_string = exports.render_template = exports.load_template = void 0;
const parse_1 = require("./parse");
Object.defineProperty(exports, "load_template", { enumerable: true, get: function () { return parse_1.load_template; } });
const render_1 = require("./render");
Object.defineProperty(exports, "render_template", { enumerable: true, get: function () { return render_1.render_template; } });
const utils_1 = require("./utils");
Object.defineProperty(exports, "str2stream", { enumerable: true, get: function () { return utils_1.str2stream; } });
async function render_string(template_string, context, functions, prepare_parser_wasm, file_loader) {
const root_path_name = 'template_string';
const _file_loader = async (path) => {
if (path == root_path_name) {
return utils_1.str2stream(template_string);
}
else if (file_loader) {
const f = await file_loader(path);
if (typeof f == 'string') {
return utils_1.str2stream(f);
}
else {
return f;
}
}
else {
throw Error(`Unable to load template "${path}", use the 'file_loader' template argument to provide a custom file loader`);
}
};
const template_elements = await parse_1.load_template(root_path_name, _file_loader, prepare_parser_wasm);
return await render_1.render_template(template_elements, context, functions);
}
exports.render_string = render_string;
//# sourceMappingURL=index.js.map