microsoft / microsoft/node-api-dotnet
C# records are translated to invalid TypeScript types because of the `<Clone>$` member
Abierto
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C#
- Estrellas
- 783
- Forks
- 80
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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".
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza reproduciendo el ejemplo de record de C# proporcionado e inspecciona la ruta de generación de tipos que emite la declaración de TestRecord. La corrección estará terminada cuando el TypeScript generado no contenga ningún miembro $ no válido y compile correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp, typescript
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100