@amaui/utils
Version:
28 lines (27 loc) • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const is_1 = __importDefault(require("./is"));
const optionsDefault = {
variablesRegExp: /(\{.*?\}|\[.*?\])/g,
cleanVariables: true,
placeholderPrefix: '_',
};
const getStringVariables = (value, options_ = {}) => {
const options = Object.assign(Object.assign({}, optionsDefault), options_);
let valueWithPlaceholders = value;
if ((0, is_1.default)('string', value)) {
let variables = value.match(options.variablesRegExp) || [];
variables.forEach((variable, index) => valueWithPlaceholders = valueWithPlaceholders.replace(variable, `${options.placeholderPrefix}${index}`));
if (options.cleanVariables)
variables = variables.map(variable => variable.slice(1, variable.length - 1));
return {
value,
variables,
valueWithPlaceholders,
};
}
};
exports.default = getStringVariables;