foop
Version:
interfaces that describe their intentions.
38 lines (36 loc) • 3.27 kB
JavaScript
var curry = require('./curry')
/**
* Replace a substring or regex match in a string with a replacement.
*
* @func
* @memberOf fp
* @since v5.0.0
* @category String
* @sig RegExp|String -> String -> String -> String
*
* @param {RegExp|String} pattern A regular expression or a substring to match.
* @param {String} replacement The string to replace the matches with.
* @param {String} str The String to do the search and replacement in.
* @return {String} The result.
*
* @types fp
* @tests fp/replace
*
* {@link https://github.com/ramda/ramda/blob/master/src/replace.js ramda-replace}
* {@link https://github.com/lodash/lodash/blob/master/replace.js lodash-replace}
* @see {@link ramda-replace}
* @see {@link lodash-replace}
*
* @example
*
* replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'
* replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'
*
* // Use the "g" (global) flag to replace all occurrences:
* replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'
*
*/
module.exports = curry(3, function replace(pattern, replacement, str) {
return str.replace(pattern, replacement)
})
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS5qcyIsInNvdXJjZXMiOlsicmVwbGFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjdXJyeSA9IHJlcXVpcmUoJy4vY3VycnknKVxuXG4vKipcbiAqIFJlcGxhY2UgYSBzdWJzdHJpbmcgb3IgcmVnZXggbWF0Y2ggaW4gYSBzdHJpbmcgd2l0aCBhIHJlcGxhY2VtZW50LlxuICpcbiAqIEBmdW5jXG4gKiBAbWVtYmVyT2YgZnBcbiAqIEBzaW5jZSB2NS4wLjBcbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBzaWcgUmVnRXhwfFN0cmluZyAtPiBTdHJpbmcgLT4gU3RyaW5nIC0+IFN0cmluZ1xuICpcbiAqIEBwYXJhbSB7UmVnRXhwfFN0cmluZ30gcGF0dGVybiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBvciBhIHN1YnN0cmluZyB0byBtYXRjaC5cbiAqIEBwYXJhbSB7U3RyaW5nfSByZXBsYWNlbWVudCBUaGUgc3RyaW5nIHRvIHJlcGxhY2UgdGhlIG1hdGNoZXMgd2l0aC5cbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgVGhlIFN0cmluZyB0byBkbyB0aGUgc2VhcmNoIGFuZCByZXBsYWNlbWVudCBpbi5cbiAqIEByZXR1cm4ge1N0cmluZ30gVGhlIHJlc3VsdC5cbiAqXG4gKiBAdHlwZXMgZnBcbiAqIEB0ZXN0cyBmcC9yZXBsYWNlXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9ibG9iL21hc3Rlci9zcmMvcmVwbGFjZS5qcyByYW1kYS1yZXBsYWNlfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvbWFzdGVyL3JlcGxhY2UuanMgbG9kYXNoLXJlcGxhY2V9XG4gKiBAc2VlIHtAbGluayByYW1kYS1yZXBsYWNlfVxuICogQHNlZSB7QGxpbmsgbG9kYXNoLXJlcGxhY2V9XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICAgIHJlcGxhY2UoJ2ZvbycsICdiYXInLCAnZm9vIGZvbyBmb28nKTsgLy89PiAnYmFyIGZvbyBmb28nXG4gKiAgICAgIHJlcGxhY2UoL2Zvby8sICdiYXInLCAnZm9vIGZvbyBmb28nKTsgLy89PiAnYmFyIGZvbyBmb28nXG4gKlxuICogICAgICAvLyBVc2UgdGhlIFwiZ1wiIChnbG9iYWwpIGZsYWcgdG8gcmVwbGFjZSBhbGwgb2NjdXJyZW5jZXM6XG4gKiAgICAgIHJlcGxhY2UoL2Zvby9nLCAnYmFyJywgJ2ZvbyBmb28gZm9vJyk7IC8vPT4gJ2JhciBiYXIgYmFyJ1xuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgzLCBmdW5jdGlvbiByZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2VtZW50LCBzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2VtZW50KVxufSlcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxPQUFPLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUU7RUFDcEUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7Q0FDekMsQ0FBQzsifQ==