glideapps / glideapps/quicktype
When converting from typescript to a target language, how can I declare a class as public?
- Langage dominant
- TypeScript
- Étoiles
- 13.9k
- Forks
- 1.2k
- Merge moyen
- 8 h 53 min
- PR mergées (30 j)
- 369
Description
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
}
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire la commande `quicktype ESLModels.ts -o CodeGenOutput.swift` et inspectez les déclarations Swift et les fonctions auxiliaires générées présentées dans l’issue. Déterminez comment les options de sortie Swift sont gérées, puis vérifiez que les modificateurs d’accès demandés apparaissent de manière cohérente dans le fichier généré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- swift, typescript
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100