I have defined the WsParam in my project file ws_param.ts like this:
import { Socket } from "socket.io-client";
export type WsParam = {
new (url: string): Socket;
}
now I want to initial the WsParam, then write the code ws_param_init.ts like this:
import { Socket, io } from "socket.io-client";
import { WsParam } from "./ws_param";
export const AASocket: WsParam = {
new(url: string): Socket {
return io(url);
},
};
but the code shows error Object literal may only specify known properties, and 'new' does not exist in type 'WsParam'.ts(2353). the socket.io version is "socket.io": "^4.8.1". Am I missing something? what should I do to init the WsParam? I also tried like this:
import { io } from "socket.io-client";
import { WsParam } from "./ws_param";
export class AASocket implements WsParam {
constructor(url: string) {
return io(url);
}
}
shows error:
Class 'AASocket' incorrectly implements interface 'WsParam'.
Type 'AASocket' provides no match for the signature 'new (url: string): Socket<DefaultEventsMap, DefaultEventsMap>'.ts(2420)