ramda-adjunct
Version:
Ramda Adjunct is the most popular and most comprehensive set of utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.
34 lines (33 loc) • 1.49 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _ramda = require("ramda");
var _isRegExp = _interopRequireDefault(require("../../isRegExp.js"));
var _escapeRegExp = _interopRequireDefault(require("../../escapeRegExp.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var checkArguments = function checkArguments(searchValue, replaceValue, str) {
if (str == null || searchValue == null || replaceValue == null) {
throw TypeError('Input values must not be `null` or `undefined`');
}
};
var checkValue = function checkValue(value, valueName) {
if (typeof value !== 'string') {
if (!(value instanceof String)) {
throw TypeError("`".concat(valueName, "` must be a string"));
}
}
};
var checkSearchValue = function checkSearchValue(searchValue) {
if (typeof searchValue !== 'string' && !(searchValue instanceof String) && !(searchValue instanceof RegExp)) {
throw TypeError('`searchValue` must be a string or an regexp');
}
};
var replaceAll = function replaceAll(searchValue, replaceValue, str) {
checkArguments(searchValue, replaceValue, str);
checkValue(str, 'str');
checkValue(replaceValue, 'replaceValue');
checkSearchValue(searchValue);
var regexp = new RegExp((0, _isRegExp["default"])(searchValue) ? searchValue : (0, _escapeRegExp["default"])(searchValue), 'g');
return (0, _ramda.replace)(regexp, replaceValue, str);
};
var _default = exports["default"] = replaceAll;
;