vars.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. function pug_attr(t, e, n, f) {
  2. return !1 !== e && null != e && (e || "class" !== t && "style" !== t) ? !0 === e ? " " + (f ? t : t + '="' + t + '"') : ("function" == typeof e.toJSON && (e = e.toJSON()),
  3. "string" == typeof e || (e = JSON.stringify(e), n || -1 === e.indexOf('"')) ? (n && (e = pug_escape(e)),
  4. " " + t + '="' + e + '"') : " " + t + "='" + e.replace(/'/g, "'") + "'") : "";
  5. }
  6. function pug_classes(s, r) {
  7. return Array.isArray(s) ? pug_classes_array(s, r) : s && "object" == typeof s ? pug_classes_object(s) : s || "";
  8. }
  9. function pug_classes_array(r, a) {
  10. for (var s, e = "", u = "", c = Array.isArray(a), g = 0; g < r.length; g++) (s = pug_classes(r[g])) && (c && a[g] && (s = pug_escape(s)),
  11. e = e + u + s, u = " ");
  12. return e;
  13. }
  14. function pug_classes_object(r) {
  15. var a = "", n = "";
  16. for (var o in r) o && r[o] && pug_has_own_property.call(r, o) && (a = a + n + o,
  17. n = " ");
  18. return a;
  19. }
  20. function pug_escape(e) {
  21. var a = "" + e, t = pug_match_html.exec(a);
  22. if (!t) return e;
  23. var r, c, n, s = "";
  24. for (r = t.index, c = 0; r < a.length; r++) {
  25. switch (a.charCodeAt(r)) {
  26. case 34:
  27. n = "&quot;";
  28. break;
  29. case 38:
  30. n = "&amp;";
  31. break;
  32. case 60:
  33. n = "&lt;";
  34. break;
  35. case 62:
  36. n = "&gt;";
  37. break;
  38. default:
  39. continue;
  40. }
  41. c !== r && (s += a.substring(c, r)), c = r + 1, s += n;
  42. }
  43. return c !== r ? s + a.substring(c, r) : s;
  44. }
  45. var pug_has_own_property = Object.prototype.hasOwnProperty;
  46. var pug_match_html = /["&<>]/;
  47. function template(locals) {
  48. var pug_html = "", pug_mixins = {}, pug_interp;
  49. var foo = "bar";
  50. var list = [ 1, 2, 3 ];
  51. pug_html = pug_html + "<a" + (pug_attr("class", pug_classes([ list ], [ true ]), false, false) + pug_attr("id", foo, true, false)) + "></a>";
  52. return pug_html;
  53. }