Wenn ich das folgende Modul src/mod.ts
in Typoskript:destrukturiert Parameter mit Standardwert in Typoskript
export interface Foo {
foo?: number
}
export function bar({foo = 1}: Foo = {}) {
...
}
Es kompiliert gut, und ich kann es im Paket. Allerdings, wenn ich zu dist/mod.js
und dist/mod.d.ts
kompilieren, die dist/mod.d.ts
enthält:
declare export function bar({foo}?: Foo)
, die einen Fehler verursacht, wenn in einem anderen Typoskript Paket verbraucht: Type 'Foo | undefined' has no property 'foo' and no string index signature
.
Ich konnte keine Beschwerden über dieses w/google finden (obwohl ich das Problem möglicherweise falsch charakterisiere), also nehme ich an, dass ich etwas falsch mache. Wie sollte ich ein Objekt mit Standardwerten in Typoskript destrukturieren?
Können Sie den Code anzeigen, in dem der Fehler gemeldet wird? – Oblosys
können Sie einige Details hinzufügen, wie genau Sie Ihre Funktion verbrauchen? Ich habe es nicht geschafft, den Fehler mit einem einfachen Funktionsaufruf 'bar ({foo: 0}) neu zu erstellen' –
:(... Danke für Ihre Hilfe. Es scheint, dass es ein inkrementelles Kompilierungsproblem war. Ich benutzte 'TSC- -watch' und führte ein 'Garn-Upgrade' durch, um die Bibliotheken aufzufrischen. Das Problem ging weg, wenn man gerade' tsc' benutzte. Ich schätze wahrscheinlich immer noch einen Fehler, aber ich kann jetzt nicht neu erstellen. Wahrscheinlich ist die Moral der Geschichte " Tun Sie nicht "Garn-Upgrade" und erwarten Sie, dass 'tsc -watch' die Paket-Änderungen korrekt aufnimmt". – shaunc