¿Cómo usaría TypeScript para mejorar el tipo de comprobación de tipo a anticipación y las llamadas de la función JQueryui

StackOverflow https://stackoverflow.com//questions/12679888

  •  12-12-2019
  •  | 
  •  

Pregunta

Cuando trabaje con un widget de ui jQuery, a menudo terminas con algo que sigue a este patrón:

$ ("# SAINID"). Alguien (opción "," cenition ", valor);

¿Hay una buena manera de modelar esta interacción para obtener un poco de checks de tipo útil de TyperScript?Técnicamente, probablemente tengas el método definido así:

Alguien (OptionLiteral: String, OptionName: String, OptionValue: cualquiera): jQuery;

(modelado después de las definiciones de tipo de interfaz de usuario de jquery proporcionado

El valor de la opción es básicamente "cualquier", sin importar el nombre de la opción.¿Hay alguna manera de sobrecargar la definición de tipo además y quizás haga un papel que coincida con OptionName?¿O hay planes para esto?

¿Fue útil?

Solución

Es posible que desee cavar en el ejemplo de JQuery UI,

http://www.typescriptlang.org/samples/#warnship

que cubre cómo extender el tipo de interfaz jquery con métodos adicionales.

El tipo de jQuery es un tipo de interfaz y los tipos de interfaz están abiertos en TypeScript, lo que significa que las unidades de compilación posteriores pueden agregar miembros al tipo.Su ejemplo se escribiría como,

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

En cuanto a la sobrecarga, los métodos se pueden sobrecargar en el tipo pero no el valor.La sobrecarga de valores haría una buena sugerencia en el sitio de CodePlex.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top