Skip to content

Commit 1ce0110

Browse files
committed
eslint no-restricted-syntax: remove for..in
1 parent 3c0f063 commit 1ce0110

File tree

7 files changed

+26
-26
lines changed

7 files changed

+26
-26
lines changed

Diff for: .eslintrc.json

+7
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@
6565
"semi": [
6666
2,
6767
"always"
68+
],
69+
"no-restricted-syntax": [
70+
2,
71+
"DebuggerStatement",
72+
"ForInStatement",
73+
"LabeledStatement",
74+
"WithStatement"
6875
]
6976
},
7077
"plugins": [

Diff for: src/app/app.filter.js

+7-12
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,14 @@ function secondsToMinutes_AngularWrapper() {
112112
/** @ngInject */
113113
function unique() {
114114
return function (array, uniqueKey) {
115-
var uniqueArray = [];
116-
for (var key in array) {
117-
var existsInArray = false;
118-
for (var j in uniqueArray) {
119-
if (uniqueArray[j][uniqueKey] === array[key][uniqueKey]) {
120-
existsInArray = true;
121-
}
115+
return array.reduce(([out, seen], o) => {
116+
let { [uniqueKey]: v } = o;
117+
if (!seen.has(v)) {
118+
seen.add(v);
119+
out.push(o);
122120
}
123-
if (!existsInArray) {
124-
uniqueArray.push(array[key]);
125-
}
126-
}
127-
return uniqueArray;
121+
return [out, seen];
122+
}, [[], new Set()])[0];
128123
};
129124
}
130125

Diff for: src/app/app.notifications.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,9 @@ export function NotificationsFactory($rootScope, $mdToast, $window, $document,
192192
options.timeout * 1000);
193193
}
194194

195-
for (var callback in options.callbacks) {
195+
Object.keys(options.callbacks).forEach((callback) => {
196196
html5notification[callback] = options.callbacks[callback];
197-
}
197+
});
198198
});
199199
};
200200

Diff for: src/app/app.settings.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,14 @@ function SettingsConfigBlock(SettingsProvider, VocalNotifications) {
103103
Defaults every value found in the filters to true.
104104
It gets overwritten with the loaded settings in the SettingsRunBlock
105105
*/
106-
for (var settingsGroupKey in SettingsProvider.constants.filters) {
107-
var settingsGroup = SettingsProvider.constants.filters[settingsGroupKey];
108-
for (var setting in settingsGroup) {
106+
Object.keys(SettingsProvider.constants.filters).forEach(settingsGroupKey => {
107+
Object.keys(SettingsProvider.constants.filters[settingsGroupKey]).forEach(setting => {
109108
SettingsProvider.settings[setting] = true;
110-
}
111-
}
109+
});
110+
});
112111

113112
// show all lobbies (even non-Mumble-required) by default
114113
SettingsProvider.settings.mumbleRequired = false;
115-
116114
}
117115

118116
setDefaultValues();
@@ -136,14 +134,14 @@ function Settings() {
136134
var settings = settingsProvider.settings;
137135
var alreadyLoadedFromBackend = false;
138136

139-
for (var settingKey in localStorage) {
137+
for (var settingKey of Object.keys(localStorage)) {
140138
settings[settingKey] = localStorage.getItem(settingKey);
141139
}
142140

143141
$rootScope.$emit('settings-updated');
144142

145143
Websocket.onJSON('playerSettings', function (data) {
146-
for (var setting in data) {
144+
for (var setting of Object.keys(data)) {
147145
var value = data[setting];
148146
// coerce true/false for conveniece
149147
if (value === 'true' || value === 'false') {

Diff for: src/app/pages/lobby/create/lobby-create.controller.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function LobbyCreateController($document, $state, $scope, $rootScope,
1212
var vm = this;
1313

1414
var lobbySettingsList = LobbyCreate.getSettingsList();
15-
for (var key in lobbySettingsList) {
15+
for (var key of Object.keys(lobbySettingsList)) {
1616
vm[key] = lobbySettingsList[key];
1717
}
1818

Diff for: src/app/pages/settings/settings.controller.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ function SettingsPageController($rootScope, $scope, $mdEditDialog,
7575
If it doesn't, it defaults to true.
7676
*/
7777
var populateFilters = function (userSettings) {
78-
for (var settingsGroupKey in vm.sections.filters) {
78+
for (var settingsGroupKey of Object.keys(vm.sections.filters)) {
7979
var settingsGroup = vm.sections.filters[settingsGroupKey];
80-
for (var fieldKey in settingsGroup) {
80+
for (var fieldKey of Object.keys(settingsGroup)) {
8181
settingsGroup[fieldKey].selected = userSettings[fieldKey];
8282
}
8383
}

Diff for: src/app/pages/settings/settings.provider.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function SettingsPageConfig($stateProvider, SettingsPageProvider) {
2727
'account',
2828
];
2929

30-
for (var settingSectionKey in SettingsPageProvider.sections) {
30+
for (var settingSectionKey of Object.keys(SettingsPageProvider.sections)) {
3131
var settingSection = SettingsPageProvider.sections[settingSectionKey];
3232
$stateProvider.state(settingSection, {
3333
url: '/' + settingSection,

0 commit comments

Comments
 (0)