UNPKG

744 BJavaScriptView Raw
1var utils = require('../utils')
2 , nodes = require('../nodes');
3
4/**
5 * Returns string with all matches of `pattern` replaced by `replacement` in given `val`
6 *
7 * @param {String} pattern
8 * @param {String} replacement
9 * @param {String|Ident} val
10 * @return {String|Ident}
11 * @api public
12 */
13
14function replace(pattern, replacement, val){
15 utils.assertString(pattern, 'pattern');
16 utils.assertString(replacement, 'replacement');
17 utils.assertString(val, 'val');
18 pattern = new RegExp(pattern.string, 'g');
19 var res = val.string.replace(pattern, replacement.string);
20 return val instanceof nodes.Ident
21 ? new nodes.Ident(res)
22 : new nodes.String(res);
23}
24replace.params = ['pattern', 'replacement', 'val'];
25module.exports = replace;