Skip to content

Commit 800640a

Browse files
Trotttargos
authored andcommitted
tools,benchmark,lib,test: enable no-case-declarations lint rule
PR-URL: #41385 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Tierney Cyren <[email protected]> Reviewed-By: Ricky Zhou <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
1 parent dcada80 commit 800640a

26 files changed

+95
-51
lines changed

.eslintrc.js

+1
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ module.exports = {
175175
}],
176176
'new-parens': 'error',
177177
'no-async-promise-executor': 'error',
178+
'no-case-declarations': 'error',
178179
'no-class-assign': 'error',
179180
'no-confusing-arrow': 'error',
180181
'no-const-assign': 'error',

benchmark/zlib/inflate.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function main({ n, method, inputLen }) {
1616
let i = 0;
1717
switch (method) {
1818
// Performs `n` single inflate operations
19-
case 'inflate':
19+
case 'inflate': {
2020
const inflate = zlib.inflate;
2121
bench.start();
2222
(function next(err, result) {
@@ -25,14 +25,16 @@ function main({ n, method, inputLen }) {
2525
inflate(chunk, next);
2626
})();
2727
break;
28+
}
2829
// Performs `n` single inflateSync operations
29-
case 'inflateSync':
30+
case 'inflateSync': {
3031
const inflateSync = zlib.inflateSync;
3132
bench.start();
3233
for (; i < n; ++i)
3334
inflateSync(chunk);
3435
bench.end(n);
3536
break;
37+
}
3638
default:
3739
throw new Error('Unsupported inflate method');
3840
}

lib/_http_server.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ Server.prototype.setTimeout = function setTimeout(msecs, callback) {
411411

412412
Server.prototype[EE.captureRejectionSymbol] = function(err, event, ...args) {
413413
switch (event) {
414-
case 'request':
414+
case 'request': {
415415
const { 1: res } = args;
416416
if (!res.headersSent && !res.writableEnded) {
417417
// Don't leak headers.
@@ -425,6 +425,7 @@ Server.prototype[EE.captureRejectionSymbol] = function(err, event, ...args) {
425425
res.destroy();
426426
}
427427
break;
428+
}
428429
default:
429430
net.Server.prototype[SymbolFor('nodejs.rejection')]
430431
.apply(this, arguments);

lib/internal/bootstrap/switches/is_main_thread.js

+16-8
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,22 @@ function createWritableStdioStream(fd) {
4242
let stream;
4343
// Note stream._type is used for test-module-load-list.js
4444
switch (guessHandleType(fd)) {
45-
case 'TTY':
45+
case 'TTY': {
4646
const tty = require('tty');
4747
stream = new tty.WriteStream(fd);
4848
stream._type = 'tty';
4949
break;
50+
}
5051

51-
case 'FILE':
52+
case 'FILE': {
5253
const SyncWriteStream = require('internal/fs/sync_write_stream');
5354
stream = new SyncWriteStream(fd, { autoClose: false });
5455
stream._type = 'fs';
5556
break;
57+
}
5658

5759
case 'PIPE':
58-
case 'TCP':
60+
case 'TCP': {
5961
const net = require('net');
6062

6163
// If fd is already being used for the IPC channel, libuv will return
@@ -78,8 +80,9 @@ function createWritableStdioStream(fd) {
7880

7981
stream._type = 'pipe';
8082
break;
83+
}
8184

82-
default:
85+
default: {
8386
// Provide a dummy black-hole output for e.g. non-console
8487
// Windows applications.
8588
const { Writable } = require('stream');
@@ -88,6 +91,7 @@ function createWritableStdioStream(fd) {
8891
cb();
8992
}
9093
});
94+
}
9195
}
9296

9397
// For supporting legacy API we put the FD here.
@@ -147,18 +151,20 @@ function getStdin() {
147151
const fd = 0;
148152

149153
switch (guessHandleType(fd)) {
150-
case 'TTY':
154+
case 'TTY': {
151155
const tty = require('tty');
152156
stdin = new tty.ReadStream(fd);
153157
break;
158+
}
154159

155-
case 'FILE':
160+
case 'FILE': {
156161
const fs = require('fs');
157162
stdin = new fs.ReadStream(null, { fd: fd, autoClose: false });
158163
break;
164+
}
159165

160166
case 'PIPE':
161-
case 'TCP':
167+
case 'TCP': {
162168
const net = require('net');
163169

164170
// It could be that process has been started with an IPC channel
@@ -183,13 +189,15 @@ function getStdin() {
183189
// Make sure the stdin can't be `.end()`-ed
184190
stdin._writableState.ended = true;
185191
break;
192+
}
186193

187-
default:
194+
default: {
188195
// Provide a dummy contentless input for e.g. non-console
189196
// Windows applications.
190197
const { Readable } = require('stream');
191198
stdin = new Readable({ read() {} });
192199
stdin.push(null);
200+
}
193201
}
194202

195203
// For supporting legacy API we put the FD here.

lib/internal/crypto/aes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ function asyncAesGcmCipher(
189189
const tagByteLength = MathFloor(tagLength / 8);
190190
let tag;
191191
switch (mode) {
192-
case kWebCryptoCipherDecrypt:
192+
case kWebCryptoCipherDecrypt: {
193193
const slice = ArrayBufferIsView(data) ?
194194
TypedArrayPrototypeSlice : ArrayBufferPrototypeSlice;
195195
tag = slice(data, -tagByteLength);
@@ -206,6 +206,7 @@ function asyncAesGcmCipher(
206206

207207
data = slice(data, 0, -tagByteLength);
208208
break;
209+
}
209210
case kWebCryptoCipherEncrypt:
210211
tag = tagByteLength;
211212
break;

lib/internal/crypto/webcrypto.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ async function importGenericSecretKey(
427427

428428
break;
429429
}
430-
case 'raw':
430+
case 'raw': {
431431
if (hasAnyNotIn(usagesSet, ['deriveKey', 'deriveBits'])) {
432432
throw lazyDOMException(
433433
`Unsupported key usage for a ${name} key`,
@@ -449,6 +449,7 @@ async function importGenericSecretKey(
449449

450450
const keyObject = createSecretKey(keyData);
451451
return new InternalCryptoKey(keyObject, { name }, keyUsages, false);
452+
}
452453
}
453454

454455
throw lazyDOMException(

lib/internal/error_serdes.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -120,21 +120,23 @@ let deserialize;
120120
function deserializeError(error) {
121121
if (!deserialize) deserialize = require('v8').deserialize;
122122
switch (error[0]) {
123-
case kSerializedError:
123+
case kSerializedError: {
124124
const { constructor, properties } = deserialize(error.subarray(1));
125125
const ctor = errors[constructor];
126126
ObjectDefineProperty(properties, SymbolToStringTag, {
127127
value: { value: 'Error', configurable: true },
128128
enumerable: true
129129
});
130130
return ObjectCreate(ctor.prototype, properties);
131+
}
131132
case kSerializedObject:
132133
return deserialize(error.subarray(1));
133-
case kInspectedError:
134+
case kInspectedError: {
134135
const buf = Buffer.from(error.buffer,
135136
error.byteOffset + 1,
136137
error.byteLength - 1);
137138
return buf.toString('utf8');
139+
}
138140
}
139141
require('assert').fail('This should not happen');
140142
}

lib/internal/http2/compat.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -217,28 +217,31 @@ const proxySocketHandler = {
217217
case 'writable':
218218
case 'destroyed':
219219
return stream[prop];
220-
case 'readable':
220+
case 'readable': {
221221
if (stream.destroyed)
222222
return false;
223223
const request = stream[kRequest];
224224
return request ? request.readable : stream.readable;
225-
case 'setTimeout':
225+
}
226+
case 'setTimeout': {
226227
const session = stream.session;
227228
if (session !== undefined)
228229
return FunctionPrototypeBind(session.setTimeout, session);
229230
return FunctionPrototypeBind(stream.setTimeout, stream);
231+
}
230232
case 'write':
231233
case 'read':
232234
case 'pause':
233235
case 'resume':
234236
throw new ERR_HTTP2_NO_SOCKET_MANIPULATION();
235-
default:
237+
default: {
236238
const ref = stream.session !== undefined ?
237239
stream.session[kSocket] : stream;
238240
const value = ref[prop];
239241
return typeof value === 'function' ?
240242
FunctionPrototypeBind(value, ref) :
241243
value;
244+
}
242245
}
243246
},
244247
getPrototypeOf(stream) {
@@ -258,23 +261,25 @@ const proxySocketHandler = {
258261
case 'destroy':
259262
stream[prop] = value;
260263
return true;
261-
case 'setTimeout':
264+
case 'setTimeout': {
262265
const session = stream.session;
263266
if (session !== undefined)
264267
session.setTimeout = value;
265268
else
266269
stream.setTimeout = value;
267270
return true;
271+
}
268272
case 'write':
269273
case 'read':
270274
case 'pause':
271275
case 'resume':
272276
throw new ERR_HTTP2_NO_SOCKET_MANIPULATION();
273-
default:
277+
default: {
274278
const ref = stream.session !== undefined ?
275279
stream.session[kSocket] : stream;
276280
ref[prop] = value;
277281
return true;
282+
}
278283
}
279284
}
280285
};

lib/internal/http2/core.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -867,14 +867,15 @@ const proxySocketHandler = {
867867
case 'setKeepAlive':
868868
case 'setNoDelay':
869869
throw new ERR_HTTP2_NO_SOCKET_MANIPULATION();
870-
default:
870+
default: {
871871
const socket = session[kSocket];
872872
if (socket === undefined)
873873
throw new ERR_HTTP2_SOCKET_UNBOUND();
874874
const value = socket[prop];
875875
return typeof value === 'function' ?
876876
FunctionPrototypeBind(value, socket) :
877877
value;
878+
}
878879
}
879880
},
880881
getPrototypeOf(session) {
@@ -901,12 +902,13 @@ const proxySocketHandler = {
901902
case 'setKeepAlive':
902903
case 'setNoDelay':
903904
throw new ERR_HTTP2_NO_SOCKET_MANIPULATION();
904-
default:
905+
default: {
905906
const socket = session[kSocket];
906907
if (socket === undefined)
907908
throw new ERR_HTTP2_SOCKET_UNBOUND();
908909
socket[prop] = value;
909910
return true;
911+
}
910912
}
911913
}
912914
};
@@ -1558,10 +1560,11 @@ class Http2Session extends EventEmitter {
15581560

15591561
[EventEmitter.captureRejectionSymbol](err, event, ...args) {
15601562
switch (event) {
1561-
case 'stream':
1563+
case 'stream': {
15621564
const stream = args[0];
15631565
stream.destroy(err);
15641566
break;
1567+
}
15651568
default:
15661569
this.destroy(err);
15671570
}
@@ -3184,7 +3187,7 @@ Http2Server.prototype[EventEmitter.captureRejectionSymbol] = function(
31843187
err, event, ...args) {
31853188

31863189
switch (event) {
3187-
case 'stream':
3190+
case 'stream': {
31883191
// TODO(mcollina): we might want to match this with what we do on
31893192
// the compat side.
31903193
const { 0: stream } = args;
@@ -3195,7 +3198,8 @@ Http2Server.prototype[EventEmitter.captureRejectionSymbol] = function(
31953198
stream.end();
31963199
}
31973200
break;
3198-
case 'request':
3201+
}
3202+
case 'request': {
31993203
const { 1: res } = args;
32003204
if (!res.headersSent && !res.finished) {
32013205
// Don't leak headers.
@@ -3208,6 +3212,7 @@ Http2Server.prototype[EventEmitter.captureRejectionSymbol] = function(
32083212
res.destroy();
32093213
}
32103214
break;
3215+
}
32113216
default:
32123217
ArrayPrototypeUnshift(args, err, event);
32133218
ReflectApply(net.Server.prototype[EventEmitter.captureRejectionSymbol],

lib/internal/repl/utils.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,15 @@ function isRecoverableError(e, code) {
110110
recoverable = true;
111111
break;
112112

113-
case 'Unterminated string constant':
113+
case 'Unterminated string constant': {
114114
const token = StringPrototypeSlice(this.input,
115115
this.lastTokStart, this.pos);
116116
// See https://www.ecma-international.org/ecma-262/#sec-line-terminators
117117
if (RegExpPrototypeTest(/\\(?:\r\n?|\n|\u2028|\u2029)$/,
118118
token)) {
119119
recoverable = true;
120120
}
121+
}
121122
}
122123
super.raise(pos, message);
123124
}

0 commit comments

Comments
 (0)