Definirea unui tabel typescript hash a funcțiilor

voturi
8

Am încercat să creeze un fișier de definiție pentru ghidoane, pentru utilizarea cu scripturi ghidoane pre-compilate. Ghidon va pune script-uri pre-compilate într-un șir de caractere indexate tabel hash de funcții, dar nu pot da seama sau găsi modul în care acest lucru ar fi definit.

O definiție ipotetică ar fi:

declare module Handlebars {
    export var templates: { (model:any) => string; }[index: string];
}

dar că nu este o definiție validă. Definiția ar trebui să lucreze pentru un apel de genul:

var myHtml = Handlebars.templates[person-template]({FNmae: Eric});

O definiție ca acest lucru este aproape :

export var templates: { (model:any) => string; }[];

Dar asta este o matrice cu un indice numeric, și nu este același lucru, și VS IntelliSense decide doar că funcțiile din matrice sunt orice .

Întrebat 11/10/2012 la 19:52
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
12

Ce doriți să utilizați este un tip de obiect, cu un indice de semnătură (a se vedea secțiunea 3.5.3 spec, în mod specific 3.5.3.3).

declare module Handlebars {
    export var templates: {
        [s: string]: (model: any) => string;
    }
}
Publicat 11/10/2012 la 19:57
sursa de către utilizator

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