UNPKG

yoastseo

Version:

Yoast client-side content analysis

34 lines (33 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); var _sanitizeString = _interopRequireDefault(require("../sanitize/sanitizeString")); var _replaceDiacritics = _interopRequireDefault(require("../transliterate/replaceDiacritics.js")); var _addWordboundary = _interopRequireDefault(require("../word/addWordboundary.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** @module stringProcessing/stringToRegex */ /** * Creates a regex from a string so it can be matched everywhere in the same way. * * @param {string} string The string to make a regex from. * @param {string} [extraBoundary=""] A string that is used as extra boundary for the regex. * @param {boolean} [doReplaceDiacritics=true] If set to false, it doesn't replace diacritics. Defaults to true. * * @returns {RegExp} regex The regex made from the keyword */ var _default = exports.default = (0, _lodash.memoize)(function (string, extraBoundary, doReplaceDiacritics) { if ((0, _lodash.isUndefined)(extraBoundary)) { extraBoundary = ""; } if ((0, _lodash.isUndefined)(doReplaceDiacritics) || doReplaceDiacritics === true) { string = (0, _replaceDiacritics.default)(string); } string = (0, _sanitizeString.default)(string); string = (0, _lodash.escapeRegExp)(string); string = (0, _addWordboundary.default)(string, false, extraBoundary); return new RegExp(string, "ig"); }); //# sourceMappingURL=createWordRegex.js.map