напишите определение типа .d.ts машинописного текста в папке node_module
Мне нужно написать файл .d.ts для внешней (npm) библиотеки. Я использую машинописный текст 3.
Мне нужен импорт:
import fakedb from 'fake-indexeddb'; //sorted
// second import I would like:
import dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'
из types / fake-indexeddb.d.ts:
export = index;
declare const index: IDBFactory;
Как мне написать файл для второго импорта из нужной библиотеки ( fake-indexeddb/lib/FDBKeyRange- an IDBKeyRange)?
Отредактируйте, пока ответ Джураджа Кочана логически является тем, что я должен поместить в файл .d.ts, вопрос в том, как я должен назвать файл, чтобы отладчик и транспилятор находили файл, когда я пишу import dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'- очевидно, как это находит файл types / fake-indexeddb.d.ts .
Ответы
добавить в декларацию полное имя
declare module 'fake-indexeddb/lib/FDBKeyRange' {
class dbKeyRange {}
export default dbKeyRange
}
редактировать
есть некоторые правила для объявлений. добавить корни типов в tsconfig
"typeRoots": [
"./node_modules/@types",
"./whateveryouwant/types"
],
или другой путь не имеет значения. Просто нужно указать в ts config, затем добавить папку с именем вашего модуля. в эту папку добавить index.d.ts
--src
--types
--fake-indexeddb
--index.d.ts
В конце концов я сопоставил путь к папке в моем каталоге типов, и это сработало. окончательный путь к файлу определения был:
types/fake-indexeddb/lib/FDBKeyRange.d.ts
с определением в этом файле.