From 32dc7c23ea9f4be53e3185a372b4005d5783738d Mon Sep 17 00:00:00 2001
From: Peter Jaszkowiak
Date: Sat, 18 Feb 2017 13:28:03 -0700
Subject: [PATCH] ESlint guard-for-in, no-nested-ternary and operator-linebreak
---
.eslintrc | 6 ++--
public/src/modules/helpers.js | 20 +++++-------
public/src/modules/settings.js | 6 +++-
public/src/modules/settings/array.js | 16 +++++-----
public/src/modules/settings/key.js | 10 +++++-
public/src/modules/settings/object.js | 38 ++++++++++++-----------
src/controllers/admin/info.js | 8 ++++-
src/plugins.js | 2 +-
src/posts/flags.js | 44 ++++++++++++++-------------
9 files changed, 86 insertions(+), 64 deletions(-)
diff --git a/.eslintrc b/.eslintrc
index d09a88ac00..65071de80a 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -83,9 +83,9 @@
"no-eq-null": "off",
"no-redeclare": "off",
"no-unreachable": "off",
- "no-nested-ternary": "off",
- "operator-linebreak": "off",
- "guard-for-in": "off",
+ // "no-nested-ternary": "off",
+ // "operator-linebreak": "off",
+ // "guard-for-in": "off",
// "no-unneeded-ternary": "off",
// "no-sequences": "off",
// "no-extend-native": "off",
diff --git a/public/src/modules/helpers.js b/public/src/modules/helpers.js
index 729c6e42d4..40fed9da2b 100644
--- a/public/src/modules/helpers.js
+++ b/public/src/modules/helpers.js
@@ -1,11 +1,6 @@
'use strict';
(function (exports) {
- // export the class if we are in a Node-like system.
- if (typeof module === 'object' && module.exports === exports) {
- exports = module.exports/* = SemVer*/;
- }
-
var helpers = {};
helpers.displayMenuItem = function (data, index) {
@@ -276,12 +271,13 @@
});
};
- // Use the define() function if we're in AMD land
- if (typeof define === 'function' && define.amd) {
+ // export the class if we are in a Node-like system.
+ if (typeof module === 'object' && module.exports === exports) {
+ exports = module.exports/* = SemVer*/;
+ } else if (typeof define === 'function' && define.amd) {
+ // Use the define() function if we're in AMD land
define('helpers', exports);
+ } else if (typeof window === 'object') {
+ window.helpers = exports;
}
-}(
- typeof exports === 'object' ? exports :
- typeof define === 'function' && define.amd ? {} :
- window.helpers = {}
-));
+}(typeof exports === 'object' ? exports : {}));
diff --git a/public/src/modules/settings.js b/public/src/modules/settings.js
index c11abb2f7b..67dbb8896b 100644
--- a/public/src/modules/settings.js
+++ b/public/src/modules/settings.js
@@ -131,7 +131,11 @@ define('settings', function () {
for (var i = 0; i < array.length; i += 1) {
var value = array[i];
if (trim) {
- value = value === true ? 1 : value === false ? 0 : typeof value.trim === 'function' ? value.trim() : value;
+ if (value === !!value) {
+ value = +value;
+ } else if (value && typeof value.trim === 'function') {
+ value = value.trim();
+ }
}
if (empty || (value != null ? value.length : void 0)) {
cleaned.push(value);
diff --git a/public/src/modules/settings/array.js b/public/src/modules/settings/array.js
index 3a0bdea922..2c96d734be 100644
--- a/public/src/modules/settings/array.js
+++ b/public/src/modules/settings/array.js
@@ -48,13 +48,15 @@ define('settings/array', function () {
delete attributes['data-type'];
delete attributes.tagName;
for (var name in attributes) {
- var val = attributes[name];
- if (name.search('data-') === 0) {
- element.data(name.substring(5), val);
- } else if (name.search('prop-') === 0) {
- element.prop(name.substring(5), val);
- } else {
- element.attr(name, val);
+ if (attributes.hasOwnProperty(name)) {
+ var val = attributes[name];
+ if (name.search('data-') === 0) {
+ element.data(name.substring(5), val);
+ } else if (name.search('prop-') === 0) {
+ element.prop(name.substring(5), val);
+ } else {
+ element.attr(name, val);
+ }
}
}
helper.fillField(element, value);
diff --git a/public/src/modules/settings/key.js b/public/src/modules/settings/key.js
index c387b89430..73839a087b 100644
--- a/public/src/modules/settings/key.js
+++ b/public/src/modules/settings/key.js
@@ -118,7 +118,15 @@ define('settings/key', function () {
if (key.m) {
str += (short ? 'M' : 'Meta') + separator;
}
- return str + (human ? key.char : key.code ? '#' + key.code : '');
+
+ var out;
+ if (human) {
+ out = key.char;
+ } else if (key.code) {
+ out = '#' + key.code || '';
+ }
+
+ return str + out;
}
/**
diff --git a/public/src/modules/settings/object.js b/public/src/modules/settings/object.js
index d7f7bbda23..ed94a8401a 100644
--- a/public/src/modules/settings/object.js
+++ b/public/src/modules/settings/object.js
@@ -30,13 +30,15 @@ define('settings/object', function () {
delete attributes['data-type'];
delete attributes.tagName;
for (var name in attributes) {
- var val = attributes[name];
- if (name.search('data-') === 0) {
- element.data(name.substring(5), val);
- } else if (name.search('prop-') === 0) {
- element.prop(name.substring(5), val);
- } else {
- element.attr(name, val);
+ if (attributes.hasOwnProperty(name)) {
+ var val = attributes[name];
+ if (name.search('data-') === 0) {
+ element.data(name.substring(5), val);
+ } else if (name.search('prop-') === 0) {
+ element.prop(name.substring(5), val);
+ } else {
+ element.attr(name, val);
+ }
}
}
helper.fillField(element, value);
@@ -80,17 +82,19 @@ define('settings/object', function () {
}
if (Array.isArray(properties)) {
for (propertyIndex in properties) {
- attributes = properties[propertyIndex];
- if (typeof attributes !== 'object') {
- attributes = {};
- }
- propertyName = attributes['data-prop'] || attributes['data-property'] || propertyIndex;
- if (value[propertyName] === void 0 && attributes['data-new'] !== void 0) {
- value[propertyName] = attributes['data-new'];
+ if (properties.hasOwnProperty(propertyIndex)) {
+ attributes = properties[propertyIndex];
+ if (typeof attributes !== 'object') {
+ attributes = {};
+ }
+ propertyName = attributes['data-prop'] || attributes['data-property'] || propertyIndex;
+ if (value[propertyName] === void 0 && attributes['data-new'] !== void 0) {
+ value[propertyName] = attributes['data-new'];
+ }
+ addObjectPropertyElement(element, key, attributes, propertyName, value[propertyName], separator.clone(), function (el) {
+ element.append(el);
+ });
}
- addObjectPropertyElement(element, key, attributes, propertyName, value[propertyName], separator.clone(), function (el) {
- element.append(el);
- });
}
}
},
diff --git a/src/controllers/admin/info.js b/src/controllers/admin/info.js
index 96783a9c87..572dcd93c2 100644
--- a/src/controllers/admin/info.js
+++ b/src/controllers/admin/info.js
@@ -22,7 +22,13 @@ infoController.get = function (req, res, next) {
data.push(info[key]);
});
data.sort(function (a, b) {
- return (a.os.hostname < b.os.hostname) ? -1 : (a.os.hostname > b.os.hostname) ? 1 : 0;
+ if (a.os.hostname < b.os.hostname) {
+ return -1;
+ }
+ if (a.os.hostname > b.os.hostname) {
+ return 1;
+ }
+ return 0;
});
res.render('admin/development/info', { info: data, infoJSON: JSON.stringify(data, null, 4), host: os.hostname(), port: nconf.get('port') });
}, 500);
diff --git a/src/plugins.js b/src/plugins.js
index dd2423f70f..915f9fdca6 100644
--- a/src/plugins.js
+++ b/src/plugins.js
@@ -256,7 +256,7 @@ var middleware;
apiReturn[i].id = apiReturn[i].name;
apiReturn[i].installed = false;
apiReturn[i].active = false;
- apiReturn[i].url = apiReturn[i].url ? apiReturn[i].url : apiReturn[i].repository ? apiReturn[i].repository.url : '';
+ apiReturn[i].url = apiReturn[i].url || (apiReturn[i].repository ? apiReturn[i].repository.url : '');
pluginMap[apiReturn[i].name] = apiReturn[i];
}
diff --git a/src/posts/flags.js b/src/posts/flags.js
index 4bab4cc771..214a155278 100644
--- a/src/posts/flags.js
+++ b/src/posts/flags.js
@@ -240,29 +240,31 @@ module.exports = function (Posts) {
// Parse out flag data into its own object inside each post hash
async.map(posts, function (postObj, next) {
for (var prop in postObj) {
- postObj.flagData = postObj.flagData || {};
-
- if (postObj.hasOwnProperty(prop) && prop.startsWith('flag:')) {
- postObj.flagData[prop.slice(5)] = postObj[prop];
-
- if (prop === 'flag:state') {
- switch (postObj[prop]) {
- case 'open':
- postObj.flagData.labelClass = 'info';
- break;
- case 'wip':
- postObj.flagData.labelClass = 'warning';
- break;
- case 'resolved':
- postObj.flagData.labelClass = 'success';
- break;
- case 'rejected':
- postObj.flagData.labelClass = 'danger';
- break;
+ if (postObj.hasOwnProperty(prop)) {
+ postObj.flagData = postObj.flagData || {};
+
+ if (prop.startsWith('flag:')) {
+ postObj.flagData[prop.slice(5)] = postObj[prop];
+
+ if (prop === 'flag:state') {
+ switch (postObj[prop]) {
+ case 'open':
+ postObj.flagData.labelClass = 'info';
+ break;
+ case 'wip':
+ postObj.flagData.labelClass = 'warning';
+ break;
+ case 'resolved':
+ postObj.flagData.labelClass = 'success';
+ break;
+ case 'rejected':
+ postObj.flagData.labelClass = 'danger';
+ break;
+ }
}
- }
- delete postObj[prop];
+ delete postObj[prop];
+ }
}
}