UNPKG

@amaui/utils

Version:
37 lines (36 loc) 1.6 kB
"use strict"; 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 getStringVariables_1 = __importDefault(require("./getStringVariables")); const optionsDefault = { getVariables: true, cleanVariables: true, placeholderPrefix: '_', }; const setStringVariables = (value, variablesToValue = [], options_ = {}) => { const options = Object.assign(Object.assign({}, optionsDefault), options_); if ((0, is_1.default)('string', value)) { let newValue = value; let stringVariables = { variables: variablesToValue.map(variable => variable.key) }; if (options.getVariables) { stringVariables = (0, getStringVariables_1.default)(value, { cleanVariables: options.cleanVariables, placeholderPrefix: options.placeholderPrefix, }); newValue = stringVariables.valueWithPlaceholders; } stringVariables.variables.forEach((variable, index) => { const variableItem = variablesToValue.find(item => item.key === variable); if (variableItem) { const variableValue = variableItem.value; if (variableValue !== undefined) newValue = newValue.replace(new RegExp(`\\${options.placeholderPrefix}${index}`), variableValue); } }); return newValue; } }; exports.default = setStringVariables;