aboutsummaryrefslogtreecommitdiff
path: root/node_modules/stylus/lib/functions/split.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/stylus/lib/functions/split.js')
-rw-r--r--node_modules/stylus/lib/functions/split.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/stylus/lib/functions/split.js b/node_modules/stylus/lib/functions/split.js
new file mode 100644
index 00000000..8513c2ff
--- /dev/null
+++ b/node_modules/stylus/lib/functions/split.js
@@ -0,0 +1,25 @@
+var utils = require('../utils')
+ , nodes = require('../nodes');
+
+/**
+ * Splits the given `val` by `delim`
+ *
+ * @param {String} delim
+ * @param {String|Ident} val
+ * @return {Expression}
+ * @api public
+ */
+
+module.exports = function split(delim, val){
+ utils.assertString(delim, 'delimiter');
+ utils.assertString(val, 'val');
+ var splitted = val.string.split(delim.string);
+ var expr = new nodes.Expression();
+ var ItemNode = val instanceof nodes.Ident
+ ? nodes.Ident
+ : nodes.String;
+ for (var i = 0, len = splitted.length; i < len; ++i) {
+ expr.nodes.push(new ItemNode(splitted[i]));
+ }
+ return expr;
+};