diff options
Diffstat (limited to 'node_modules/stylus/lib/functions/substr.js')
| -rw-r--r-- | node_modules/stylus/lib/functions/substr.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/stylus/lib/functions/substr.js b/node_modules/stylus/lib/functions/substr.js new file mode 100644 index 00000000..75bffaf6 --- /dev/null +++ b/node_modules/stylus/lib/functions/substr.js @@ -0,0 +1,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); +}; |
