Derive access level of generate CodingKeys from @Codable model
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 32/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- swift
- Bereich
- developer-experience
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Swift
- Sterne
- 779
- Forks
- 46
- Ø Merge
- 9 Std. 7 Min.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus SwiftyLab/MetaCodable
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
SwiftyLab/MetaCodable#169 ·
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
SwiftyLab/MetaCodable#82 · 6 Kommentare ·
Alle Issues in SwiftyLab/MetaCodable
Ähnliche Issues
-
simulator-session.yml の simtunnel の固定先が古く、agentd が無いため simtunnel up --wait / status が準備完了を検知できないOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
apache/arrow-swift#203 ·
-
Update ghostty to 1.4.0Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
RealtimeV2 fails to compile on Xcode 27.1 / Swift 6.4: ambiguous implicit access level for import of 'HTTPTypes'Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. OffenRealtime swift
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
supabase/supabase-swift#1647 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Pri] Low [Status] Ready for Dev [Type] Bug /Me
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
wordpress-mobile/WordPress-iOS#26279 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag