aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/jade/lib/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jade/lib/utils.js')
-rw-r--r--node_modules/jade/lib/utils.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/node_modules/jade/lib/utils.js b/node_modules/jade/lib/utils.js
new file mode 100644
index 00000000..ca4a7fa5
--- /dev/null
+++ b/node_modules/jade/lib/utils.js
@@ -0,0 +1,68 @@
+
+/*!
+ * Jade - utils
+ * Copyright(c) 2010 TJ Holowaychuk <[email protected]>
+ * MIT Licensed
+ */
+
+/**
+ * Convert interpolation in the given string to JavaScript.
+ *
+ * @param {String} str
+ * @return {String}
+ * @api private
+ */
+
+var interpolate = exports.interpolate = function(str){
+ return str.replace(/(_SLASH_)?([#!]){(.*?)}/g, function(str, escape, flag, code){
+ code = code
+ .replace(/\\'/g, "'")
+ .replace(/_SLASH_/g, '\\');
+
+ return escape
+ ? str.slice(7)
+ : "' + "
+ + ('!' == flag ? '' : 'escape')
+ + "((interp = " + code
+ + ") == null ? '' : interp) + '";
+ });
+};
+
+/**
+ * Escape single quotes in `str`.
+ *
+ * @param {String} str
+ * @return {String}
+ * @api private
+ */
+
+var escape = exports.escape = function(str) {
+ return str.replace(/'/g, "\\'");
+};
+
+/**
+ * Interpolate, and escape the given `str`.
+ *
+ * @param {String} str
+ * @return {String}
+ * @api private
+ */
+
+exports.text = function(str){
+ return interpolate(escape(str));
+};
+
+/**
+ * Merge `b` into `a`.
+ *
+ * @param {Object} a
+ * @param {Object} b
+ * @return {Object}
+ * @api public
+ */
+
+exports.merge = function(a, b) {
+ for (var key in b) a[key] = b[key];
+ return a;
+};
+