Почему не корректно работает декларация с кодом из CDN?

Рейтинг: 0Ответов: 0Опубликовано: 09.01.2023

Переписываю нативный 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 и тянуть кучу зависимостей.

Ответы

Ответов пока нет.