scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 74  →  ?path2? @ 75
/bower_components/yaml.js/lib/Unescaper.js
@@ -0,0 +1,83 @@
// Generated by CoffeeScript 1.10.0
var Pattern, Unescaper, Utils;
 
Utils = require('./Utils');
 
Pattern = require('./Pattern');
 
Unescaper = (function() {
function Unescaper() {}
 
Unescaper.PATTERN_ESCAPED_CHARACTER = new Pattern('\\\\([0abt\tnvfre "\\/\\\\N_LP]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})');
 
Unescaper.unescapeSingleQuotedString = function(value) {
return value.replace(/\'\'/g, '\'');
};
 
Unescaper.unescapeDoubleQuotedString = function(value) {
if (this._unescapeCallback == null) {
this._unescapeCallback = (function(_this) {
return function(str) {
return _this.unescapeCharacter(str);
};
})(this);
}
return this.PATTERN_ESCAPED_CHARACTER.replace(value, this._unescapeCallback);
};
 
Unescaper.unescapeCharacter = function(value) {
var ch;
ch = String.fromCharCode;
switch (value.charAt(1)) {
case '0':
return ch(0);
case 'a':
return ch(7);
case 'b':
return ch(8);
case 't':
return "\t";
case "\t":
return "\t";
case 'n':
return "\n";
case 'v':
return ch(11);
case 'f':
return ch(12);
case 'r':
return ch(13);
case 'e':
return ch(27);
case ' ':
return ' ';
case '"':
return '"';
case '/':
return '/';
case '\\':
return '\\';
case 'N':
return ch(0x0085);
case '_':
return ch(0x00A0);
case 'L':
return ch(0x2028);
case 'P':
return ch(0x2029);
case 'x':
return Utils.utf8chr(Utils.hexDec(value.substr(2, 2)));
case 'u':
return Utils.utf8chr(Utils.hexDec(value.substr(2, 4)));
case 'U':
return Utils.utf8chr(Utils.hexDec(value.substr(2, 8)));
default:
return '';
}
};
 
return Unescaper;
 
})();
 
module.exports = Unescaper;