UNPKG

twing

Version:

First-class Twig engine for Node.js

47 lines (46 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeValueSynchronously = exports.escapeValue = void 0; const markup_1 = require("../markup"); const escapeValue = (template, environment, value, strategy, charset) => { if (typeof value === "boolean") { return Promise.resolve(value); } if ((0, markup_1.isAMarkup)(value)) { return Promise.resolve(value); } let result; if ((value === null) || (value === undefined)) { result = ''; } else { const strategyHandler = environment.escapingStrategyHandlers[strategy]; if (strategyHandler === undefined) { return Promise.reject(new Error(`Invalid escaping strategy "${strategy}" (valid ones: ${Object.keys(environment.escapingStrategyHandlers).sort().join(', ')}).`)); } result = strategyHandler(value.toString(), charset || environment.charset, template.name); } return Promise.resolve(result); }; exports.escapeValue = escapeValue; const escapeValueSynchronously = (template, environment, value, strategy, charset) => { if (typeof value === "boolean") { return value; } if ((0, markup_1.isAMarkup)(value)) { return value; } let result; if ((value === null) || (value === undefined)) { result = ''; } else { const strategyHandler = environment.escapingStrategyHandlers[strategy]; if (strategyHandler === undefined) { throw new Error(`Invalid escaping strategy "${strategy}" (valid ones: ${Object.keys(environment.escapingStrategyHandlers).sort().join(', ')}).`); } result = strategyHandler(value.toString(), charset || environment.charset, template.name); } return result; }; exports.escapeValueSynchronously = escapeValueSynchronously;