Définition d'une tapuscrit table de hachage des fonctions

voix
8

Je suis en train de créer un fichier de définition pour guidons, pour une utilisation avec des scripts de guidon pré-compilés. Guidons mettra des scripts pré-compilés dans une table de hachage indexée chaîne de fonctions, mais je ne peux pas comprendre ou de trouver comment cela serait défini.

Une définition hypothétique serait:

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

mais ce n'est pas une définition valable. La définition devrait fonctionner pour un appel comme celui-ci:

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

Une définition comme celui - ci est proche :

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

Mais c'est un tableau avec un index numérique, et ce n'est pas la même chose, et VS IntelliSense décide simplement que les fonctions du tableau sont tout .

Créé 11/10/2012 à 19:52
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
12

Ce que vous voulez utiliser est un type d'objet avec une signature d'index (voir section 3.5.3 spécifications, en particulier 3.5.3.3).

declare module Handlebars {
    export var templates: {
        [s: string]: (model: any) => string;
    }
}
Créé 11/10/2012 à 19:57
source utilisateur

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