Как бы вы использовали Машинопись для улучшения опережающего ввода и проверки типов для вызовов функций JQueryUI

голоса
1

При работе с виджетом JQuery UI, вы часто в конечном итоге с чем-то, что следует за этой схеме:

$ ( # SomeId) someWidget ( вариант, someOption, значение).

Есть хороший способ смоделировать это взаимодействие, чтобы получить некоторый полезный тип проверки из машинописи? Технически вы, вероятно, есть метод, определенный следующим образом:

someWidget (optionLiteral: строка, Optionname: строка, OptionValue: любой): JQuery;

(Смоделировано предоставленных определения типа JQuery UI)

Таким образом, значение параметра в основном «любой» независимо от того, имя параметра. Есть ли способ, чтобы перегрузить определение типа дальше и, возможно, сделать какой-то шаблон соответствия на Optionname? Или есть какие-либо планы для этого?

Задан 01/10/2012 в 20:38
источник пользователем
На других языках...                            


1 ответов

голоса
3

Вы могли бы хотеть, чтобы копаться в примере JQuery UI,

http://www.typescriptlang.org/Samples/#Warship

который охватывает как расширить тип интерфейса JQuery с дополнительными методами.

Тип JQuery является типом интерфейса и типы интерфейсов открыты в машинописном, а это означает, что последующие единицы компиляций могут добавлять элементы к типу. Ваш пример будет написано, как,

interface JQuery {
    someWidget(optionLiteral: string, optionName: string, optionValue: any): JQuery
}

Что касается перегрузки, методы могут быть перегружены на типе, но не значение. Перегрузки на ценностях бы сделать хорошее предложение на сайте CodePlex.

Ответил 01/10/2012 в 21:21
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more