UNPKG

amis

Version:

一种MIS页面生成工具

36 lines (35 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tpl_1 = require("./tpl"); /** * 处理 Props 数据,所有带 On 结束的做一次 * * xxxOn * xxxExpr * * * @param schema * @param data */ function getExprProperties(schema, data, blackList) { if (data === void 0) { data = {}; } if (blackList === void 0) { blackList = ['addOn']; } var exprProps = {}; Object.getOwnPropertyNames(schema).forEach(function (key) { if (blackList && ~blackList.indexOf(key)) { return; } var parts = /^(.*)(On|Expr)$/.exec(key); var value = schema[key]; if (value && typeof value === 'string' && parts && (parts[2] === 'On' || parts[2] === 'Expr')) { key = parts[1]; if (parts[2] === 'On' || parts[2] === 'Expr') { value = parts[2] === 'On' ? tpl_1.evalExpression(value, data) : tpl_1.filter(value, data); } exprProps[key] = value; } }); return exprProps; } exports.default = getExprProperties; //# sourceMappingURL=./utils/filter-schema.js.map