#typescript #types
Вопрос:
У меня есть интерфейс с перегруженным методом:
interface GnosisSafeInterface {
encodeFunctionData(functionFragment: "NAME", values?: undefined): string;
encodeFunctionData(functionFragment: "VERSION", values?: undefined): string;
...
encodeFunctionData(
functionFragment: "addOwnerWithThreshold",
values: [string, BigNumberish]
): string;
}
Я хочу добавить метод оболочки в другой класс, подобный этому, так encode
что = encodeFunctionData
class GnosisSafeEthersV5Contract {
constructor(public contract: GnosisSafeInterface) {}
encode: GnosisSafeInterface['encodeFunctionData'] = (methodName, params) => {
return this.contract.encodeFunctionData(methodName, params)
}
}
Как я могу этого достичь? То, как я писал, было ошибочным и недействительным. Вот типографская площадка для воспроизведения: TS Playground
Спасибо!