/ / Declarar métodos para un archivo javascript en TypeScript: - javascript, typescript

Declaración de métodos para un archivo javascript en TypeScript: - javascript, typescript

Estoy tratando de importar la entrada enmascarada jQuery plugin y poder ver la inteligencia en nuestros archivos mecanografiados. Según tengo entendido, todo lo que necesito es crear un archivo de definición y hacer referencia al archivo de definición mencionado con mi archivo mecanografiado.

En este momento, solo quiero un método único donde pueda hacer lo siguiente:

$("#date").mask("99/99/9999");

En consecuencia, creé un archivo maskedinput.d.ts como tal:

declare interface maskedInput extends JQuery{
mask(string) : void;
};

sin embargo, esto no parece hacer el truco. En mi archivo ts, cuando comienzo a escribir

$("#some-id").

No tengo inteligencia para la máscara del método. ¿Que me estoy perdiendo aqui?

Respuestas

3 para la respuesta № 1

Haga esto en su lugar (las interfaces están abiertas):

interface JQuery {
mask(string): void;
}

TypeScript no cambia automáticamente el tipo de $("...") expresión a maskedInput solo porque hay alguna interfaz por ahí que se extiende JQuery.