Derive access level of generate CodingKeys from @Codable model
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- swift
- Área
- developer-experience
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Swift
- Estrellas
- 779
- Forks
- 46
- Merge medio
- 9 h 7 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de SwiftyLab/MetaCodable
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
SwiftyLab/MetaCodable#169 ·
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
SwiftyLab/MetaCodable#82 · 6 comentarios ·
Todos los issues de SwiftyLab/MetaCodable
Issues similares
-
simulator-session.yml の simtunnel の固定先が古く、agentd が無いため simtunnel up --wait / status が準備完了を検知できないAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
apache/arrow-swift#203 ·
-
Update ghostty to 1.4.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
RealtimeV2 fails to compile on Xcode 27.1 / Swift 6.4: ambiguous implicit access level for import of 'HTTPTypes'Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoRealtime swift
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
supabase/supabase-swift#1647 ·
Los mantenedores suelen responder en 1 día
-
[Pri] Low [Status] Ready for Dev [Type] Bug /Me
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
wordpress-mobile/WordPress-iOS#26279 · 1 comentario ·
Los mantenedores suelen responder en 1 día