UNPKG

jsonblade

Version:

A powerful and modular JSON template engine with extensible filters

52 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringFilters = void 0; exports.registerStringFilters = registerStringFilters; const filter_registry_1 = require("../filter-registry"); const stringFilters = { upper: (v) => { if (v == null) return v; return String(v).toUpperCase(); }, lower: (v) => { if (v == null) return v; return String(v).toLowerCase(); }, capitalize: (v) => { if (v == null) return v; const s = String(v); return s.charAt(0).toUpperCase() + s.slice(1); }, trim: (v) => { if (v == null) return v; return String(v).trim(); }, default: (v, ...args) => { const defaultValue = args[0]; if (v === null || v === undefined || v === "") { return defaultValue !== undefined ? defaultValue : ""; } return v; }, slug: (v) => { if (v == null) return v; return String(v) .toLowerCase() .trim() .replace(/[^\w\s-]/g, "") .replace(/[\s_-]+/g, "-") .replace(/^-+|-+$/g, ""); }, }; exports.stringFilters = stringFilters; function registerStringFilters() { Object.entries(stringFilters).forEach(([name, fn]) => { (0, filter_registry_1.registerFilter)(name, fn); }); } //# sourceMappingURL=string-filters.js.map