Remove unnecessary ts-ignore comments and improve typings

Removed redundant // @ts-ignore comments from converter.ts and http-server.ts. Enhanced type safety in event.ts by refining generic parameters for createListenerFunction and createEventFunction.
This commit is contained in:
手瓜一十雪 2025-11-14 14:53:21 +08:00
parent b85f9197e3
commit bc183ae002
3 changed files with 8 additions and 7 deletions

View File

@ -78,15 +78,18 @@ export class NTEventWrapper {
return undefined;
}
createListenerFunction<T> (listenerMainName: string, uniqueCode: string = ''): T {
createListenerFunction<T, Listener extends keyof ListenerNamingMapping,
ListenerMethod extends FuncKeys<ListenerNamingMapping[Listener]>> (listenerMainName: string, uniqueCode: string = ''): T {
const existListener = this.listenerManager.get(listenerMainName + uniqueCode);
if (!existListener) {
const Listener = this.createProxyDispatch(listenerMainName);
const ServiceSubName = /^NodeIKernel(.*?)Listener$/.exec(listenerMainName)![1];
const Service = `NodeIKernel${ServiceSubName}Service/addKernel${ServiceSubName}Listener`;
// @ts-ignore
this.createEventFunction(Service)(Listener as T);
const Service = `NodeIKernel${ServiceSubName}Service/addKernel${ServiceSubName}Listener` as `${Listener}/${ListenerMethod}`;
this.createEventFunction<
keyof ServiceNamingMapping,
FuncKeys<ServiceNamingMapping[keyof ServiceNamingMapping]>,
(...args: any[]) => any
>(Service as `${keyof ServiceNamingMapping}/${FuncKeys<ServiceNamingMapping[keyof ServiceNamingMapping]>}`);
this.listenerManager.set(listenerMainName + uniqueCode, Listener);
return Listener as T;
}

View File

@ -132,7 +132,6 @@ export class PacketMsgConverter {
time: msg.time,
msg: msg.msg.map((element) => {
if (!this.isValidElementType(element.elementType)) return null;
// @ts-ignore
return this.rawToPacketMsgConverters[element.elementType](element as MessageElement);
}).filter((e) => e !== null),
};

View File

@ -72,7 +72,6 @@ export class OB11HttpServerAdapter extends IOB11NetworkAdapter<HttpServerConfig>
return res.status(400).send('Invalid JSON');
});
});
// @ts-ignore
this.app.use((req, res, next) => this.authorize(this.config.token, req, res, next));
this.app.use(async (req, res) => {
await this.handleRequest(req, res);