var Handlebars = require("handlebars"); // BEGIN(BROWSER) Handlebars.Exception = function(message) { this.message = message; }; // Build out our basic SafeString type Handlebars.SafeString = function(string) { this.string = string; }; Handlebars.SafeString.prototype.toString = function() { return this.string.toString(); }; (function() { var escape = { "<": "<", ">": ">" }; var badChars = /&(?!\w+;)|[<>]/g; var possible = /[&<>]/; var escapeChar = function(chr) { return escape[chr] || "&" }; Handlebars.Utils = { escapeExpression: function(string) { // don't escape SafeStrings, since they're already safe if (string instanceof Handlebars.SafeString) { return string.toString(); } else if (string == null || string === false) { return ""; } if(!possible.test(string)) { return string; } return string.replace(badChars, escapeChar); }, isEmpty: function(value) { if (typeof value === "undefined") { return true; } else if (value === null) { return true; } else if (value === false) { return true; } else if(Object.prototype.toString.call(value) === "[object Array]" && value.length === 0) { return true; } else { return false; } } }; })(); // END(BROWSER)