microsoft / microsoft/node-api-dotnet
C# records are translated to invalid TypeScript types because of the `<Clone>$` member
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 783
- Fork
- 80
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Given C# code link this:
public class TestClass { public TestRecord Hello() => new TestRecord("x"); }
public record TestRecord(string Value);
... produces TS typing like this:
export class TestRecord {
constructor(Value: string);
Value: string;
ToString(): string;
GetHashCode(): number;
Equals(obj: unknown | undefined): boolean;
Equals(other: NodeDotNetInterop.TestRecord | undefined): boolean;
<Clone>$(): NodeDotNetInterop.TestRecord;
Deconstruct(): { Value: string };
}
... which is invalid TypeScript: compile error at the <Clone>$() line is "Unexpected token. A constructor, method, accessor, or property was expected".
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo l'esempio di record C# fornito e ispeziona il percorso di generazione dei tipi che emette la dichiarazione TestRecord. La correzione è completata quando il TypeScript generato non contiene alcun membro $ non valido e viene compilato correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp, typescript
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100