UNPKG

amis-formula

Version:

负责 amis 里面的表达式实现,内置公式,编辑器等

47 lines (43 loc) 1.08 kB
/** * amis-formula v6.13.0 * Copyright 2021-2025 fex */ import { Evaluator } from './evalutor.js'; var entityMap = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;', '/': '&#x2F;' }; var escapeHtml = function (str) { return String(str).replace(/[&<>"'\/]/g, function (s) { return entityMap[s]; }); }; /** * filter 是历史包袱,不建议使用。因为这是之前的语法,所以在公式解析里面做了兼容。 * 建议用 ${ LEFT(xxx) } 这种函数调用语法。 */ var filters = { raw: function (input) { return input; }, html: function (input) { if (input == null) { return input; } return escapeHtml(input); } }; function registerFilter(name, fn) { filters[name] = fn; Evaluator.extendDefaultFilters(filters); } function extendsFilters(value) { Object.assign(filters, value); Evaluator.extendDefaultFilters(filters); } function getFilters() { return filters; } export { extendsFilters, filters, getFilters, registerFilter };