Sto provando a scrivere le definizioni dei tipi per il pacchetto npm xmldoc
.L'indicizzatore TypeScript continua a ricevere errori tslint "l'accesso agli oggetti tramite stringhe letterali non è consentito"
Finora ho questo:
declare module 'xmldoc' {
export class XmlDocument {
constructor(contents: string);
public children: IXmlNode[];
}
export interface IXmlNode {
attr: IXmlAttributes;
val: string;
name: string;
children: IXmlNode[];
}
export interface IXmlAttributes {
[index: string]: string;
}
}
tslint è ancora lamenta a questo codice
valueId = node.attr["id"];
con il messaggio di errore object access via string literals is disallowed
ho pensato che la mia indicizzatore ([index: string]: string
) ha lavorato intorno a questo .
Qualcuno può darmi un indizio sul motivo per cui non funziona?
Penso che questo sembri un bug in tslint, che probabilmente non ha escluso questa regola per le firme dell'indice. Sembra un caso d'uso valido, prova a presentare una segnalazione di errore/suggerimento: https: //github.com/palantir/tslint/issues – Alex