diff --git a/packages/grpc-js/src/server.ts b/packages/grpc-js/src/server.ts index 8d8952e8f..64c17a023 100644 --- a/packages/grpc-js/src/server.ts +++ b/packages/grpc-js/src/server.ts @@ -144,9 +144,13 @@ export class Server { throw new Error('Not implemented. Use addService() instead'); } - addService( - service: ServiceDefinition, - implementation: UntypedServiceImplementation + addService< + ImplementationType extends { + [key: string]: any + } + >( + service: ServiceDefinition, + implementation: ImplementationType ): void { if (this.started === true) { throw new Error("Can't add a service to a started server."); diff --git a/packages/grpc-js/test/test-server.ts b/packages/grpc-js/test/test-server.ts index 434efbbc4..b30963fb0 100644 --- a/packages/grpc-js/test/test-server.ts +++ b/packages/grpc-js/test/test-server.ts @@ -181,7 +181,7 @@ describe('Server', () => { const server = new Server(); assert.throws(() => { - server.addService({}, dummyImpls); + server.addService(({} as any), dummyImpls); }, /Cannot add an empty service to a server/); });