Konvertieren einer großen Liste von Typoskripttypen von der Kamel-Schreibweise in die Schlangen-Schreibweise nur für SchC#

Ein Treffpunkt für C#-Programmierer
Guest
 Konvertieren einer großen Liste von Typoskripttypen von der Kamel-Schreibweise in die Schlangen-Schreibweise nur für Sch

Post by Guest »

Meine ASP.NET Core-Web-API serialisiert alle meine Klassen in Groß-/Kleinschreibung, wenn sie Antworten an das Frontend zurückgibt. Ich mache das schon seit einiger Zeit, aber seit kurzem nutzen wir eine GraphQL-API im Backend und verwenden Strawberry Shake, um Klassen und Clients für die Interaktion mit der GraphQL-API zu erstellen.
Weil ich sie wiederverwende Fast die gesamte API im Frontend unserer App (Vuejs + Typescript). Ich gebe nur diese durch Erdbeershakes generierten Klassen zurück, die in C# standardmäßig PascalCase sind, aber meine API konvertiert diese wieder in Snake Case, was perfekt ist, damit meine API konsistent ist alle meine Endpunkte und sogar diejenigen, die diese neuen GraphQL-Daten verwenden. Allerdings muss ich im Frontend Typen erstellen, um diese neuen GraphQL-Daten zu nutzen, und um es einfacher zu machen, habe ich eine schema.json von der GraphQL-API, die ich mit einem Online-Tool in TypeScript-Typen konvertiert habe. Auch hier ist alles großartig, außer dass schema.json die Kamel-Schreibweise hat, sodass die Typen, die in diesem Tool erstellt werden, ebenfalls die Kamel-Schreibweise haben. Daher muss ich einen Weg finden, diese riesige Liste von Typen nur für die Schlüssel in die Groß-/Kleinschreibung umzuwandeln (ich tendiere dazu, die Klassen selbst wie meine Backend-API in der Pascal-Schreibweise beizubehalten).
Gibt es eine einfache Möglichkeit, dies zu tun? Als Beispiel sind hier einige der Typen, die ich konvertieren muss, was etwa 3000 Codezeilen entspricht:

Code: Select all

export type QueryFetchRateArgs = {
exampleField: FetchRateInput
anotherExampleField: number
}
export type FetchRateInput = {
anotherCoolField: number
}
wird bei Verwendung von c# in Snake-Case umgewandelt:

Code: Select all

export type QueryFetchRateArgs = {
example_field: FetchRateInput
another_example_field: number
webURL: string
programIDs: number
}
export type FetchRateInput = {
another_cool_field: number
web_url: string
program_id_s: number
}
Letztendlich muss ich diese Camelcase-Typen nur für die Schlüssel in Snake Case umwandeln. Ich kann dies tun, bevor ich das Projekt erstelle, da die konvertierten Typen in einer TS-Datei gespeichert werden, damit ich sie referenzieren kann. Ich versuche, die Notwendigkeit zu reduzieren, dies manuell tun zu müssen, und bin deshalb gespannt, ob es eine bessere Lösung gibt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post