jsonblade
Version:
A powerful and modular JSON template engine with extensible filters
52 lines • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultConfig = exports.TemplateException = void 0;
exports.setTemplateConfig = setTemplateConfig;
exports.getTemplateConfig = getTemplateConfig;
exports.createTemplateError = createTemplateError;
exports.handleTemplateError = handleTemplateError;
class TemplateException extends Error {
constructor(templateError, template) {
super(templateError.message);
this.templateError = templateError;
this.template = template;
this.name = "TemplateException";
}
}
exports.TemplateException = TemplateException;
exports.defaultConfig = {
strictMode: false,
throwOnError: false,
allowFilterOverride: true,
delimiters: {
start: "{{",
end: "}}",
},
debug: false,
};
let globalConfig = { ...exports.defaultConfig };
function setTemplateConfig(config) {
globalConfig = { ...globalConfig, ...config };
}
function getTemplateConfig() {
return { ...globalConfig };
}
function createTemplateError(type, message, details) {
return {
type,
message,
...details,
};
}
function handleTemplateError(error, config) {
if (config.debug) {
console.debug("Template Error:", error);
}
if (config.throwOnError) {
throw new TemplateException(error);
}
else {
console.warn(`Template Warning [${error.type}]: ${error.message}`);
}
}
//# sourceMappingURL=template-config.js.map