summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2014-03-20 15:08:58 +0200
committerGarren Smith <garren.smith@gmail.com>2014-03-20 15:08:58 +0200
commitf0f3bd6fb4f474b7ed828b08e2e16db359516c44 (patch)
tree09d8ad10e0b572e0cd54369cb3d1cd327140ab55
parentc567d85f1544f988d65943ec04a7cc15d1e0cafa (diff)
downloadcouchdb-f0f3bd6fb4f474b7ed828b08e2e16db359516c44.tar.gz
Fix parseJSON to return object with error
-rw-r--r--src/fauxton/app/addons/documents/views.js14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/fauxton/app/addons/documents/views.js b/src/fauxton/app/addons/documents/views.js
index ee6b253e3..579c71195 100644
--- a/src/fauxton/app/addons/documents/views.js
+++ b/src/fauxton/app/addons/documents/views.js
@@ -1135,15 +1135,21 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
parseJSON: function (value) {
try {
- return JSON.parse(value);
+ return {
+ value: JSON.parse(value),
+ error: null
+ };
} catch(e) {
- return false;
+ return {
+ error: e,
+ value: null
+ };
}
},
validateKeys: function(param){
var parsedValue = this.parseJSON(param.value);
- if (!parsedValue || !_.isArray(parsedValue)) {
+ if (parsedValue.error || !_.isArray(parsedValue.value)) {
this.$('.js-keys-error').empty();
FauxtonAPI.addNotification({
type: "error",
@@ -1174,7 +1180,7 @@ function(app, FauxtonAPI, Components, Documents, Databases, pouchdb, resizeColum
var keyParams = ["keys","startkey","endkey"];
var errorParams = _.filter(params, function(param) {
if (_.contains(keyParams, param.name)) {
- return !!!this.parseJSON(param.value);
+ return !!this.parseJSON(param.value).error;
} else {
return false;
}