'use strict';
/**
 * @classdesc Object providing helping methods.
 */
class Helper {
  /**
   * @desc Return string with {placeHolder} replaced by object properties
   * @since 1.0.0
   * @param {string} string
   * @param {Object} replacementMappingArray
   * @returns {string} string
   */
  replacePlaceholders(string, replacementMappingArray) {
    let processedString = string;
    const matches = new Set(processedString.match(/{[a-z]+}/gi));
    for (const placeholder of matches) {
      //Remove brackets
      const placeholderName = placeholder.substring(1, (placeholder.length - 1));
      if (replacementMappingArray[placeholderName]) {
        const regexp = new RegExp(placeholder, 'g');
        processedString = processedString.replace(regexp, replacementMappingArray[placeholderName]);
      }
    }
    return processedString;
  }
}
module.exports = new Helper();