Как бы вы использовали TypectScript для улучшения проверки типов и тип проверки на функцию JQueryui
-
12-12-2019 - |
Вопрос
При работе с виджетом jQuery ui, вы часто заканчиваете то, что следует следующим образом:
$ ("# simpleid"). Simplewidget («опция», «как-то», значение);
Есть ли хороший способ моделирования этого взаимодействия, чтобы получить некоторые полезные типы, проверенные из Tymdscript?Технически у вас, вероятно, есть метод определен следующим образом:
adverwidget (опция ": строка, опция": string, optionsalue: ALL): jQuery;
(смоделировано после определения типа jQuery ui)
Таким образом, значение опции в основном «любой» независимо от имени опции.Есть ли способ перегружать определение типа дальше, и, возможно, сделайте некоторую образец в соответствии с вариантом?Или есть ли планы на это?
Решение
Возможно, вы захотите выкопать пример jQuery UI,
http://www.typescriptlang.org/samples/#warship >
, который охватывает, как расширить тип интерфейса jQuery с дополнительными методами.
Тип jQuery - это тип интерфейса и типы интерфейсов открыты в Teadercript, что означает, что более поздние агрегаты могут добавлять элементы к типу.Ваш пример будет написан, как,
interface JQuery {
someWidget(optionLiteral: string, optionName: string, optionValue: any): JQuery
}
.
Что касается перегрузки, методы могут быть перегружены на тип, но не значение.Перегрузка значений будет делать хорошее предложение на сайте CodePlex.