Blame view

node_modules/stylus/lib/functions/replace.js 684 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  var utils = require('../utils')
    , nodes = require('../nodes');
  
  /**
   * Returns string with all matches of `pattern` replaced by `replacement` in given `val`
   *
   * @param {String} pattern
   * @param {String} replacement
   * @param {String|Ident} val
   * @return {String|Ident}
   * @api public
   */
  
  module.exports = function replace(pattern, replacement, val){
    utils.assertString(pattern, 'pattern');
    utils.assertString(replacement, 'replacement');
    utils.assertString(val, 'val');
    pattern = new RegExp(pattern.string, 'g');
    var res = val.string.replace(pattern, replacement.string);
    return val instanceof nodes.Ident
      ? new nodes.Ident(res)
      : new nodes.String(res);
  };