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 <targos@protonmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Tierney Cyren <hello@bnb.im> Reviewed-By: Ricky Zhou <0x19951125@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent dcada80 commit 800640a

26 files changed

Lines changed: 95 additions & 51 deletions

‎.eslintrc.js‎

Lines changed: 1 addition & 0 deletions
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‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function main({ n, method, inputLen }) {
1616
leti=0;
1717
switch(method){
1818
// Performs `n` single inflate operations
19-
case'inflate':
19+
case'inflate':{
2020
constinflate=zlib.inflate;
2121
bench.start();
2222
(functionnext(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
constinflateSync=zlib.inflateSync;
3132
bench.start();
3233
for(;i<n;++i)
3334
inflateSync(chunk);
3435
bench.end(n);
3536
break;
37+
}
3638
default:
3739
thrownewError('Unsupported inflate method');
3840
}

‎lib/_http_server.js‎

Lines changed: 2 additions & 1 deletion
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‎

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

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

5759
case'PIPE':
58-
case'TCP':
60+
case'TCP':{
5961
constnet=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
constfd=0;
148152

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

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

160166
case'PIPE':
161-
case'TCP':
167+
case'TCP':{
162168
constnet=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=newReadable({read(){}});
192199
stdin.push(null);
200+
}
193201
}
194202

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

‎lib/internal/crypto/aes.js‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ function asyncAesGcmCipher(
189189
consttagByteLength=MathFloor(tagLength/8);
190190
lettag;
191191
switch(mode){
192-
casekWebCryptoCipherDecrypt:
192+
casekWebCryptoCipherDecrypt:{
193193
constslice=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
casekWebCryptoCipherEncrypt:
210211
tag=tagByteLength;
211212
break;

‎lib/internal/crypto/webcrypto.js‎

Lines changed: 2 additions & 1 deletion
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
throwlazyDOMException(
433433
`Unsupported key usage for a ${name} key`,
@@ -449,6 +449,7 @@ async function importGenericSecretKey(
449449

450450
constkeyObject=createSecretKey(keyData);
451451
returnnewInternalCryptoKey(keyObject,{ name },keyUsages,false);
452+
}
452453
}
453454

454455
throwlazyDOMException(

‎lib/internal/error_serdes.js‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,21 +120,23 @@ let deserialize;
120120
functiondeserializeError(error){
121121
if(!deserialize)deserialize=require('v8').deserialize;
122122
switch(error[0]){
123-
casekSerializedError:
123+
casekSerializedError:{
124124
const{ constructor, properties }=deserialize(error.subarray(1));
125125
constctor=errors[constructor];
126126
ObjectDefineProperty(properties,SymbolToStringTag,{
127127
value: {value: 'Error',configurable: true},
128128
enumerable: true
129129
});
130130
returnObjectCreate(ctor.prototype,properties);
131+
}
131132
casekSerializedObject:
132133
returndeserialize(error.subarray(1));
133-
casekInspectedError:
134+
casekInspectedError:{
134135
constbuf=Buffer.from(error.buffer,
135136
error.byteOffset+1,
136137
error.byteLength-1);
137138
returnbuf.toString('utf8');
139+
}
138140
}
139141
require('assert').fail('This should not happen');
140142
}

‎lib/internal/http2/compat.js‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -217,28 +217,31 @@ const proxySocketHandler = {
217217
case'writable':
218218
case'destroyed':
219219
returnstream[prop];
220-
case'readable':
220+
case'readable':{
221221
if(stream.destroyed)
222222
returnfalse;
223223
constrequest=stream[kRequest];
224224
returnrequest ? request.readable : stream.readable;
225-
case'setTimeout':
225+
}
226+
case'setTimeout': {
226227
constsession=stream.session;
227228
if(session!==undefined)
228229
returnFunctionPrototypeBind(session.setTimeout,session);
229230
returnFunctionPrototypeBind(stream.setTimeout,stream);
231+
}
230232
case'write':
231233
case'read':
232234
case'pause':
233235
case'resume':
234236
thrownewERR_HTTP2_NO_SOCKET_MANIPULATION();
235-
default:
237+
default:{
236238
constref=stream.session!==undefined ?
237239
stream.session[kSocket] : stream;
238240
constvalue=ref[prop];
239241
returntypeofvalue==='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
returntrue;
261-
case'setTimeout':
264+
case'setTimeout':{
262265
constsession=stream.session;
263266
if(session!==undefined)
264267
session.setTimeout=value;
265268
else
266269
stream.setTimeout=value;
267270
returntrue;
271+
}
268272
case'write':
269273
case'read':
270274
case'pause':
271275
case'resume':
272276
thrownewERR_HTTP2_NO_SOCKET_MANIPULATION();
273-
default:
277+
default:{
274278
constref=stream.session!==undefined ?
275279
stream.session[kSocket] : stream;
276280
ref[prop]=value;
277281
returntrue;
282+
}
278283
}
279284
}
280285
};

‎lib/internal/http2/core.js‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -867,14 +867,15 @@ const proxySocketHandler = {
867867
case'setKeepAlive':
868868
case'setNoDelay':
869869
thrownewERR_HTTP2_NO_SOCKET_MANIPULATION();
870-
default:
870+
default:{
871871
constsocket=session[kSocket];
872872
if(socket===undefined)
873873
thrownewERR_HTTP2_SOCKET_UNBOUND();
874874
constvalue=socket[prop];
875875
returntypeofvalue==='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
thrownewERR_HTTP2_NO_SOCKET_MANIPULATION();
904-
default:
905+
default:{
905906
constsocket=session[kSocket];
906907
if(socket===undefined)
907908
thrownewERR_HTTP2_SOCKET_UNBOUND();
908909
socket[prop]=value;
909910
returntrue;
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
conststream=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‎

Lines changed: 2 additions & 1 deletion
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
consttoken=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)