@@ -243,15 +243,16 @@ export interface OBSRequestTypes {
243
243
export interface OBSResponseTypes {
244
244
${ generateObsResponseTypes ( protocol . requests ) }
245
245
}
246
-
246
+ ` ;
247
+ /* typescript provides worse autocomplete results and errors with these
247
248
// Overrides to improve typescript for requests without data and to provide documentation
248
249
declare module './base' {
249
250
interface BaseOBSWebSocket {
250
251
${generateObsRequestOverrides(protocol.requests)}
251
252
${generateObsListenerOverrides(protocol.events)}
252
253
}
253
254
}
254
- ` ;
255
+ */
255
256
256
257
const linter = new ESLint ( { fix : true } ) ;
257
258
const linted = await linter . lintText ( source , {
@@ -310,7 +311,7 @@ function generateObsEventTypes(events: OBSEvent[]): string {
310
311
function generateObsRequestTypes ( requests : OBSRequest [ ] ) : string {
311
312
return requests . map ( req => {
312
313
if ( req . requestFields . length === 0 ) {
313
- return `${ req . requestType } : undefined ;` ;
314
+ return `${ req . requestType } : never ;` ;
314
315
}
315
316
316
317
return `${ req . requestType } : ${ stringifyTypes ( unflattenAndResolveTypes ( req . requestFields ) ) } ;` ;
@@ -327,6 +328,7 @@ function generateObsResponseTypes(requests: OBSRequest[]): string {
327
328
} ) . join ( '\n' ) ;
328
329
}
329
330
331
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
330
332
function generateObsListenerOverrides ( events : OBSEvent [ ] ) : string {
331
333
return events . map ( ev => {
332
334
const jsdoc : string [ ] = [
@@ -348,6 +350,7 @@ function generateObsListenerOverrides(events: OBSEvent[]): string {
348
350
} ) . join ( '\n' ) ;
349
351
}
350
352
353
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
351
354
function generateObsRequestOverrides ( requests : OBSRequest [ ] ) : string {
352
355
return requests . map ( req => {
353
356
const jsdoc : string [ ] = [
@@ -364,7 +367,7 @@ function generateObsRequestOverrides(requests: OBSRequest[]): string {
364
367
365
368
const requestData = req . requestFields . length > 0
366
369
? `requestData: OBSRequestTypes['${ req . requestType } ']`
367
- : 'requestData?: undefined ' ;
370
+ : 'requestData?: never ' ;
368
371
369
372
return [
370
373
formatJsDoc ( jsdoc ) ,
0 commit comments