Derive access level of generate CodingKeys from @Codable model
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 32/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- swift
- Domaine
- developer-experience
Piste de recherche
The issue gives a public @Codable model and shows the generated CodingKeys declaration as internal; it does not name implementation files or tests. Start by reading the macro implementation and its tests for generated CodingKeys access levels. Done means generated keys use the model’s access level and are accessible from another package; the issue has had no comment for 1,031 days.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Right now @Codable macro will generate CodingKeys with internal access level.
@Codable
@CodingKeys(.PascalCase)
public struct MessageReceiver {
public let userId: UUID
public let status: OData.Enum<Int>
}
extension MessageThread.Response.MessageReceiver {
enum CodingKeys: String, CodingKey {
case userId = "UserId"
case status = "Status"
}
}
It would great to generate CodingKeys with the same access level (public) as MessageReceiver. This would allow access to CodingKeys in multi package application. As of my particular use case I would like to build OData requests using CodingKeys instead of String from the domain layer of application.
Really appreciate effort in open sourcing the project, unfortunately internal macros plugin implementation is quite complicated to be able to make a quick PR with solution.
- Langage dominant
- Swift
- Étoiles
- 779
- Forks
- 46
- Merge moyen
- 9 h 7 min
- PR mergées (30 j)
- 2
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de SwiftyLab/MetaCodable
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
SwiftyLab/MetaCodable#169 ·
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
SwiftyLab/MetaCodable#82 · 6 commentaires ·
Toutes les issues de SwiftyLab/MetaCodable
Issues similaires
-
Update ghostty to 1.4.0Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
RealtimeV2 fails to compile on Xcode 27.1 / Swift 6.4: ambiguous implicit access level for import of 'HTTPTypes'Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. OuverteRealtime swift
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
supabase/supabase-swift#1647 ·
Les mainteneurs répondent en général sous 1 jour
-
[Pri] Low [Status] Ready for Dev [Type] Bug /Me
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
wordpress-mobile/WordPress-iOS#26279 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
NobiResearch/Ovenbird#148 ·
Les mainteneurs répondent en général sous 1 jour
-
auth type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
googleapis/google-cloud-swift#1549 ·
Les mainteneurs répondent en général sous 1 jour