¿Cómo declarar método de enlace de función para mecanografiado

votos
1

Estoy tratando de utilizar junto con Mootools mecanografiado. Mootools, y algunos navegadores modernos soportan .bind método, que es polimórfico.

¿Cómo puedo declarar adecuadamente esta función en un archivo .d.ts *, para poder utilizar construcciones como [1,2] .map (this.foo.bind (este)); ?

Sé que puedo evitar tales construcciones mediante el uso de lambdas, pero a veces no quiero.

Tal vez hay un archivo de mootools.d.ts algún lugar que podría descargar en lugar de reinventar yo mismo?

Publicado el 08/10/2012 a las 17:35
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

lib.d.ts de mecanografiado ya define la firma de la función se unen en la interfaz de funciones de la siguiente manera:

bind(thisArg: any, ...argArray: any[]): Function;

No creo que haya ninguna mejor manera de hacerlo hasta que los genéricos se añaden a la lengua.

Por el momento, sin embargo, si desea utilizar se unen y el destinatario de la función resultante espera una firma específica, vas a tener que echar la función de volver a esa firma:

var bfn : (p: number) => string;
bfn = <(p: number) => string> fn.bind(ctx);
Respondida el 08/10/2012 a las 19:03
fuente por usuario

votos
0

Hay una creciente lista de archivos de definición de ser rastreado aquí .

En cuanto a la generación de métodos previamente vinculadas a su este puntero a máquina de escribir que he sugerido dos maneras de hacer esto. 1) una clase base simple que define al final de este hilo . y 2) un sistema de mixin y atributo más avanzado aquí .

Respondida el 08/10/2012 a las 18:48
fuente por usuario

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