Ich bin derzeit mit fortgeschrittenen Typings in Typoskript herum und fragte mich, wie man eine Funktion wie die von Hyperscript definieren würde. Ich habe versucht verschiedene Ansätze, aber ich bin nicht in der Lage, die h
Funktion erfolgreich überladen und alle CallExpressions unter dem Verwendungs-Kommentar aufgeführt zu übergeben. HierTypeScript-Funktion überladen für Hyperscript-Signatur
ist das, was ich bisher:
interface IProps {
[key: string]: any;
}
function h(tag: string, props?: IProps): void;
function h(tag: string, children: string): void; // <- marked as invalid
function h(tag: string, props: IProps, children?: string): void {
// ...code goes here
}
Verbrauch:
h("div");
h("div", "Hello World");
h("div", { className: "test" });
h("div", { className: "test" }, "Hello World"); // <- marked as invalid