А почему Model.prototype с типом any?
Почему возвращается стрелочная функция?А что по Вашему должно возвращаться?
И чем вариант modelProto[methodName].call(instance, settings) лучше modelProto[methodName](settings)?Второй вариант вызовет метод непосредственно с прототипом в качестве this, а значит все изменения this в методе применятся к прототипу и тест сломает Ваш класс, метод call у функции (метод - это та же функция) позволяет задать произвольный this при вызове
тест также проходит с неверными значениями и при min > max и min < max,Вы в тесте проверяете любое исключение, скорее всего Ваш код падает еще в каком то месте, в toThrow можно передать объект ошибки (матчится глубоким сравнением), строку (сравнивает с message) или регулярку (матчит message)
а должен только с min > max
using NamespaceName
такой экстеншн никак не повлияет на мой код.в других языках, расширение методов обычная и очень удобная практика
MVC - это паттерн программирования для разделения данных и визуального представление этих данных.
export {} // Экспорт без объекта не работает
здесь фигурные скобки - это не объект, это особый синтаксисэто транспилится вexport = init // Но чем это закончится, переопределение export, думаю ничем хорошим
module.export = init
в JS такое не возможно, в нативные модули это не компилируется, такой синтаксис не рекомендованнормально это делают так:require("./file").init() // Намного лучше выглядит import file from "./file" // Чем это file.init()
import {init} from "./file";
init();
но нужно и экспортировать нормально:export function init(): void {}
обычно в индексе пишут реэкспорты:
Default.ts
index.ts // Где индекс собирает все конфиги
export * as Default from './Default';
"moduleResolution": "Node",правильное значение -
node
, регистр имеет значение ты неправильно тестируешь.
tostershmoster, Вы переписали вопрос и идете с претензиями к отвечающим, когда я отвечал никакого статического метода не было...
https://qna.habr.com/questionversion?question_id=1...