source: node_modules/ramda-adjunct/es/internal/ponyfills/String.replaceAll.js@ d24f17c

main
Last change on this file since d24f17c was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.2 KB
Line 
1import { replace } from 'ramda';
2import isRegExp from '../../isRegExp';
3import escapeRegExp from '../../escapeRegExp';
4var checkArguments = function checkArguments(searchValue, replaceValue, str) {
5 if (str == null || searchValue == null || replaceValue == null) {
6 throw TypeError('Input values must not be `null` or `undefined`');
7 }
8};
9var checkValue = function checkValue(value, valueName) {
10 if (typeof value !== 'string') {
11 if (!(value instanceof String)) {
12 throw TypeError("`".concat(valueName, "` must be a string"));
13 }
14 }
15};
16var checkSearchValue = function checkSearchValue(searchValue) {
17 if (typeof searchValue !== 'string' && !(searchValue instanceof String) && !(searchValue instanceof RegExp)) {
18 throw TypeError('`searchValue` must be a string or an regexp');
19 }
20};
21var replaceAll = function replaceAll(searchValue, replaceValue, str) {
22 checkArguments(searchValue, replaceValue, str);
23 checkValue(str, 'str');
24 checkValue(replaceValue, 'replaceValue');
25 checkSearchValue(searchValue);
26 var regexp = new RegExp(isRegExp(searchValue) ? searchValue : escapeRegExp(searchValue), 'g');
27 return replace(regexp, replaceValue, str);
28};
29export default replaceAll;
Note: See TracBrowser for help on using the repository browser.