javascriptx
Version:
javascript 基础库扩展
54 lines (40 loc) • 1.69 kB
JavaScript
;
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;