UNPKG

663 BJavaScriptView Raw
1var utils = require('../utils')
2 , nodes = require('../nodes');
3
4/**
5 * Splits the given `val` by `delim`
6 *
7 * @param {String} delim
8 * @param {String|Ident} val
9 * @return {Expression}
10 * @api public
11 */
12
13function split(delim, val){
14 utils.assertString(delim, 'delimiter');
15 utils.assertString(val, 'val');
16 var splitted = val.string.split(delim.string);
17 var expr = new nodes.Expression();
18 var ItemNode = val instanceof nodes.Ident
19 ? nodes.Ident
20 : nodes.String;
21 for (var i = 0, len = splitted.length; i < len; ++i) {
22 expr.nodes.push(new ItemNode(splitted[i]));
23 }
24 return expr;
25}
26split.params = ['delim', 'val'];
27module.exports = split;