UNPKG

yoastseo

Version:

Yoast client-side content analysis

38 lines (36 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _lodash = require("lodash"); var _addWordboundary = _interopRequireDefault(require("../word/addWordboundary.js")); var _replaceDiacritics = _interopRequireDefault(require("../transliterate/replaceDiacritics")); var _sanitizeString = _interopRequireDefault(require("../sanitize/sanitizeString")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** @module stringProcessing/createRegexFromArray */ /** * Creates a regex of combined strings from the input array. * * @param {string[]} array The array with strings * @param {boolean} [disableWordBoundary=false] Boolean indicating whether or not to disable word boundaries. * @param {string} [extraBoundary=""] A string that is used as extra boundary for the regex. * @param {boolean} [doReplaceDiacritics=false] If set to true, it replaces diacritics. Defaults to false. * * @returns {RegExp} regex The regex created from the array. */ function _default(array, disableWordBoundary = false, extraBoundary = "", doReplaceDiacritics = false) { array = (0, _lodash.map)(array, function (string) { if (doReplaceDiacritics) { string = (0, _replaceDiacritics.default)(string); } string = (0, _sanitizeString.default)(string); if (disableWordBoundary) { return string; } return (0, _addWordboundary.default)(string, true, extraBoundary); }); const regexString = "(" + array.join(")|(") + ")"; return new RegExp(regexString, "ig"); } //# sourceMappingURL=createRegexFromArray.js.map