javascriptx
Version:
javascript 基础库扩展
50 lines (38 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _renderText = require('./renderText');
var _renderText2 = _interopRequireDefault(_renderText);
var _resovles = require('./resovles');
var _resovles2 = _interopRequireDefault(_resovles);
var _isEmpty = require('./isEmpty');
var _isEmpty2 = _interopRequireDefault(_isEmpty);
var _toString = require('./toString');
var _toString2 = _interopRequireDefault(_toString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Object
var renderRecord = function renderRecord(text, object, rewrite) {
if (!text || (0, _isEmpty2.default)(object)) {
return text;
}
var expressions = (0, _resovles2.default)(text, '[#', '#]') || [];
if (expressions && expressions.length) {
for (var i = 0; i < expressions.length; i++) {
var expression = expressions[i];
var exp = (0, _renderText2.default)(expression, object, rewrite);
try {
exp = eval(exp);
if ('[#' + expression + '#]' === text) {
return exp;
}
exp = exp === null || exp === undefined ? '' : (0, _toString2.default)(exp);
} catch (ex) {
console.log(exp, ex);
}
text = text.toString().replace('[#' + expression + '#]', exp);
}
}
return (0, _renderText2.default)(text, object, rewrite);
};
exports.default = renderRecord;