UNPKG

@alicloud/console-base-intl-factory-basic

Version:
30 lines (28 loc) 776 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = formatMessage; /** * 获取替换插值后的原文案 */ function formatMessage(messages, id, values, escapeValues) { var text = messages[id] || id || ''; if (!values) { return text; } // 如果文案当中有类似 `{xx}` 的地方需要将其用 `values.xx` 来替换 return text.replace(/\\?{([^}]+)}/g, function (match, k) { if (match.charAt(0) === '\\') { return match.slice(1); } var value = values[k]; if (value === undefined) { return ''; } if (typeof value === 'string' && escapeValues) { return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); } return String(value); }); }