62 lines
1.4 KiB
JavaScript
62 lines
1.4 KiB
JavaScript
var 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 = "";
|
|
}
|
|
|
|
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)
|
|
|
|
exports.Utils = Handlebars.Utils;
|
|
exports.SafeString = Handlebars.SafeString;
|
|
exports.Exception = Handlebars.Exception;
|