Как я могу связать функции в TypeScript

#javascript #function #typescript #commonjs

#javascript #функция #typescript #commonjs

Вопрос:

Я новичок в программировании и переписываю пакет node, созданный моим другом. Пакет написан на JavaScript, и я хочу преобразовать его в TypeScript:

Существует несколько модулей commonjs, большинство из них являются просто функциями, например:

 /* foo.js (original)*/
exports.foo = function foo(values) {
  //some code
}

/* foo.ts */
export function foo(values: number[]): number {
  //some code
} 

// which is compiled to foo.js (new)
function foo(values) {
  //some code
}
exports.foo = foo;  

Он создал ссылку на foo функцию: exports.bar = exports.foo

Я хочу сохранить старую функцию ( foo ) и связать ее с bar , и иметь возможность использовать новую функцию как bar(values) , как я могу это сделать?

Я думал, что мог бы сделать что-то вроде:

 export var bar: (values) => number = foo;
  

Но по какой-то причине не работает.

Комментарии:

1. Что это делает? Какую ошибку вы получаете?

2. У меня было cannot invoke a function whose type lacks a call signature , но, похоже, у меня произошла ошибка при импорте другого файла. Теперь работает