UNPKG

@amaui/utils

Version:
27 lines (24 loc) 860 B
import is from './is'; const optionsDefault = { variablesRegExp: /(\{.*?\}|\[.*?\])/g, cleanVariables: true, placeholderPrefix: '_' }; const getStringVariables = function (value) { let options_ = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; const options = { ...optionsDefault, ...options_ }; let valueWithPlaceholders = value; if (is('string', value)) { let variables = value.match(options.variablesRegExp) || []; variables.forEach((variable, index) => valueWithPlaceholders = valueWithPlaceholders.replace(variable, "".concat(options.placeholderPrefix).concat(index))); if (options.cleanVariables) variables = variables.map(variable => variable.slice(1, variable.length - 1)); return { value, variables, valueWithPlaceholders }; } }; export default getStringVariables;