Как в TypeScript задекларировать функцию библиотеки на JS?

Пишу инструмент на TypeScript.
Появилась необходимость использовать библиотеку:
npm i ad

Types для неё не нашёл. Потихоньку сам пытаюсь создать для себя.
И не понимаю как задекларировать функции вида:
ad.user().get(filter)
await ad.user().get({fields: 'sAMAccountName'});

ad.user().add(options)
await ad.user().add({
    userName: 'jsmith'
    commonName: 'John Smith',
    password: 'J@vascr!pt1'
});


В файле декаларации:
export = ad;
declare class ad {
 user().get()???
}
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
как то так:
user(): User

...

interface User {
   get(options: GetOptions): Promise<Something>
   add(options: AddOptions): Promise<SomethingElse>
}

Ну и так далее
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Sun_Day
Почитайте про Дженерики и вопросы сами собой отпадут. В гугле соответствующие статьи или в документации: Сюда
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы