glideapps / glideapps/quicktype

When converting from typescript to a target language, how can I declare a class as public?

Offen
#2,012 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
13.9k
Forks
1.2k
Ø Merge
8 Std. 53 Min.
Gemergte PRs (30 T.)
369

Beschreibung

When running this command `quicktype ESLModels.ts -o CodeGenOutput.swift`, I want the outputted file to contain public access modifiers. The output is technically correct, but if a project uses multiple packages, then we need these classes to have a public designation. In other words, `enum ProcedureStateEnum` needs to be `public enum ProcedureStateEnum`

`ESLModels.ts`
```
export enum ProcedureStateEnum {
draft = 'draft',
review = 'review',
pending_approval = 'pending_approval',
effective = 'effective',
inactive = 'inactive',
approved = 'approved',
retired = 'retired',

archived = 'archived',
}
```
outputs:
```
enum ProcedureStateEnum: String, Codable {
case approved = "approved"
case archived = "archived"
case draft = "draft"
case effective = "effective"
case inactive = "inactive"
case pendingApproval = "pending_approval"
case retired = "retired"
case review = "review"
}

// MARK: - Helper functions for creating encoders and decoders

func newJSONDecoder() -> JSONDecoder {
let decoder = JSONDecoder()
if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *) {
decoder.dateDecodingStrategy = .iso8601
}
return decoder
}

func newJSONEncoder() -> JSONEncoder {
let encoder = JSONEncoder()
if #available(iOS 10.0, OSX 10.12, tvOS 10.0, watchOS 3.0, *) {
encoder.dateEncodingStrategy = .iso8601
}
return encoder
}
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Befehl `quicktype ESLModels.ts -o CodeGenOutput.swift` zu reproduzieren und die in der Issue gezeigten generierten Swift-Deklarationen und Hilfsfunktionen zu untersuchen. Ermittle, wie Swift-Ausgabeoptionen behandelt werden, und überprüfe anschließend, dass die angeforderten Zugriffsmodifizierer konsistent in der generierten Datei erscheinen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
swift, typescript
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.