Blame view

node_modules/stylus/lib/functions/substr.js 556 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
  var utils = require('../utils')
    , nodes = require('../nodes');
  
  /**
   * Returns substring of the given `val`.
   *
   * @param {String|Ident} val
   * @param {Number} start
   * @param {Number} [length]
   * @return {String|Ident}
   * @api public
   */
  
  module.exports = function substr(val, start, length){
    utils.assertString(val, 'val');
    utils.assertType(start, 'unit', 'start');
    length = length && length.val;
    var res = val.string.substr(start.val, length);
    return val instanceof nodes.Ident
        ? new nodes.Ident(res)
        : new nodes.String(res);
  };