Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Respect the string option in JSON struct tags

Ouverte Adaptée aux débutants
#87 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
go, typescript
Domaine
build-system

Piste de recherche

Commencez par lire la gestion des balises de struct JSON de Go dans le parseur ainsi que les tests des types de champs TypeScript générés. Reproduisez l’exemple avec json:",string" et vérifiez l’effet de la balise sur le type généré. Le travail est terminé lorsque le champ Priority est émis en tant que string et que les tests concernés passent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Go
Étoiles
325
Forks
11
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de coder/guts

Toutes les issues de coder/guts

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.