aboutsummaryrefslogtreecommitdiff
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.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/jade/lib/utils.js b/node_modules/jade/lib/utils.js
new file mode 100644
index 000000000..ff46d022d
--- /dev/null
+++ b/node_modules/jade/lib/utils.js
@@ -0,0 +1,49 @@
+
+/*!
+ * Jade - utils
+ * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
+ * 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(/(\\)?([#!]){(.*?)}/g, function(str, escape, flag, code){
+ return escape
+ ? str
+ : "' + "
+ + ('!' == flag ? '' : 'escape')
+ + "((interp = " + code.replace(/\\'/g, "'")
+ + ") == 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));
+}; \ No newline at end of file