mirror of https://gitee.com/bigwinds/arangodb
issue #282
This commit is contained in:
parent
530fc87a9a
commit
c3602440d0
|
@ -1877,34 +1877,18 @@ function getTypedValue (value) {
|
|||
// fallback: value is a string
|
||||
value = value + '';
|
||||
|
||||
if (value.substr(0, 1) == '"' && value.substr(-1) == '"' ) {
|
||||
// remove quotes
|
||||
value = value.substr(1, value.length - 2);
|
||||
|
||||
var replacements = { 'b' : '\b', 'f' : '\f', 'n' : '\n', 'r' : '\r', 't' : '\t', '\\' : '\\', '"' : '"' };
|
||||
var sanitised = "";
|
||||
var escaped = false;
|
||||
for (var i = 0; i < value.length; ++i) {
|
||||
var c = value.charAt(i);
|
||||
if (escaped) {
|
||||
escaped = false;
|
||||
if (replacements[c] != '') {
|
||||
sanitised += replacements[c];
|
||||
if (value.substr(0, 1) == '"') {
|
||||
if (value.substr(-1) != '"') {
|
||||
alert("You have entered an invalid string value. Please review and adjust it.");
|
||||
throw "error";
|
||||
}
|
||||
else {
|
||||
// invalid escape sequence
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
}
|
||||
catch (e) {
|
||||
alert("You have entered an invalid string value. Please review and adjust it.");
|
||||
throw e;
|
||||
}
|
||||
else {
|
||||
if (c === '\\') {
|
||||
escaped = true;
|
||||
}
|
||||
else {
|
||||
sanitised += c;
|
||||
}
|
||||
}
|
||||
}
|
||||
value = sanitised;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue