UNPKG

javascriptx

Version:

javascript 基础库扩展

54 lines (40 loc) 1.69 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _replaceAll = require('./replaceAll'); var _replaceAll2 = _interopRequireDefault(_replaceAll); var _resovles = require('./resovles'); var _resovles2 = _interopRequireDefault(_resovles); var _isEmpty = require('./isEmpty'); var _isEmpty2 = _interopRequireDefault(_isEmpty); var _getValue = require('./getValue'); var _getValue2 = _interopRequireDefault(_getValue); var _toString = require('./toString'); var _toString2 = _interopRequireDefault(_toString); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var renderText = function renderText(text, object) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (!text || (0, _isEmpty2.default)(object)) { return text; } var startString = options.startString || '${'; var stopString = options.stopString || '}'; var fields = (0, _resovles2.default)(text, startString, stopString) || []; for (var i = 0; i < fields.length; i++) { var field = fields[i]; var newField = field; if (options.rewrite) { for (var rewriteKey in rewrite) { newField = (0, _replaceAll2.default)(field, rewriteKey, rewrite[rewriteKey]); } } var result = (0, _getValue2.default)(object, newField, ''); if (startString + field + stopString === text) { return result; } text = (0, _replaceAll2.default)(text, startString + field + stopString, (0, _toString2.default)(result)); } return text; }; // Object exports.default = renderText;