Почему не корректно работает декларация с кодом из CDN?
Переписываю нативный JavaScript на TypeScript. Столкнулся с проблемой использования сторонних скриптов из CDN.
Для валидации телефона, даты и прочего я использую IMask, я скопировал содержимое CDN файла себе в проект и подключаю его через import
, на js все работает корректно, фрагмент для примера:
import "/js/moduls/external/imask.js";
const phoneInput = document.querySelector("input[type='tel']");
const imask =IMask.createMask({ mask: "+{7}(000)000-00-00" });
phoneInput.addEventListener('input', e => {
phoneInput.value = imask.resolve(phoneInput.value);
console.log('.isComplete', imask.isComplete);
});
Для ts рядом с imask.js
создал imask.d.ts
добавил декларацию:
// imask.d.ts
export default function IMask(): void {
function createMask({ mask: string }): void
}
В таком варианте ошибка
Не удается найти имя "IMask".
Я не правильно записал декларацию? Может тут надо другим способом описать Imask?
В Гайде IMask есть вариант установить библиотеку через npm, в таком случае скорее всего все будет работать, но такой вариант меня не устаивает, мне нужно именно минималистичное решение, не хочу создавать node_modules и тянуть кучу зависимостей.