Respect the string option in JSON struct tags
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- go, typescript
- Domínio
- build-system
Direção de pesquisa
Comece lendo o tratamento de tags de struct JSON do Go no parser e os testes dos tipos de campo TypeScript gerados. Reproduza o exemplo com json:",string" e verifique como a tag afeta o tipo gerado. O trabalho estará concluído quando o campo Priority for emitido como string e os testes relevantes passarem.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Guts v1.7.1 generates a TypeScript number for an integer field tagged with json:",string", although Go encodes that field as a JSON string.
Example:
package example
type Constraint struct {
Priority int64 `json:"priority,string"`
}
parser, err := guts.NewGolangParser()
if err != nil {
panic(err)
}
if err := parser.IncludeGenerate("main/example"); err != nil {
panic(err)
}
ts, err := parser.ToTypescript()
if err != nil {
panic(err)
}
ts.ApplyMutations(config.ExportTypes)
output, err := ts.Serialize()
if err != nil {
panic(err)
}
fmt.Println(output)
Output:
export interface Constraint {
priority: number;
}
Expected output:
export interface Constraint {
priority: string;
}
The generated type currently disagrees with the JSON representation. Mutating the generated field type works around this, but duplicates information already present in the JSON tag.
- Linguagem predominante
- Go
- Estrelas
- 325
- Forks
- 11
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de coder/guts
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
-
question
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
Improve error handlingAbertahelp wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Issues semelhantes
-
feat(gmail): make gmail get --format raw text output the exact message, like drafts get --format rawAbertaclawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
openclaw/gogcli#1276 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
enhancement ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
coder/chat#151 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
hiero-ledger/hiero-sdk-go#1886 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
cloudevents/sdk-go#1346 ·