Generating map<K, V> on javascript type issue
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript, nodejs, typescript
- Domaine
- api, backend-api-design
Piste de recherche
Commencez par le champ map .proto fourni et la commande protoc, puis examinez la déclaration AsObject MessageResponse .ts générée. Reproduisez la sortie avec la configuration master/v3.18 et Node.js indiquée ; c’est terminé lorsque le type map généré et le nommage des champs correspondent aux attentes documentées de JavaScript/TypeScript.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What version of protobuf and what language are you using?
Version: master/v3.18
Language: Javascript
What operating system (Linux, Windows, ...) and version? Linux
What runtime / compiler are you using (e.g., python version or gcc version) Nodejs
What did you do?
Steps to reproduce the behavior:
- Trying to export type
map<K, V>so I created aprotofile like this:
message MessageResponse {
string _id = 1;
string title = 2;
bool disabled = 3;
map<string,string> metadata = 4;
}
- Converting it using this some commands like this:
protoc -I=/libraries/protos/ /libraries/protos/src/*.proto /libraries/protos/src/**/*.proto --plugin=/libraries/protos/binaries/linux/protoc-gen-grpc-web --js_out=import_style=commonjs,binary:/libraries/protos/build/typescript --grpc-web_out=import_style=typescript,mode=grpcwebtext:/libraries/protos/build/typescript --experimental_allow_proto3_optional
- What I am getting on
.tsfiles is something like:
export namespace MessageResponse {
export type AsObject = {
id: string,
title: string,
disabled: boolean,
metadataMap: Array<[string, string]>,
}
}
- Well we can see there is a suffix called
Mapadded to my field name! also the generated type isArray<[string, string]>. but what we were expecting, based on language guide here, where an object of{"k": v, …}, likeRecord<string, V>
What did you expect to see
An object like: Record<string, string>
What did you see instead?
Array<[string, string]>
- Langage dominant
- JavaScript
- Étoiles
- 471
- Forks
- 91
- Merge moyen
- 1 j 12 h
- PR mergées (30 j)
- 6
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 protocolbuffers/protobuf-javascript
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
protocolbuffers/protobuf-javascript#248 · 1 commentaire · 13 réactions ·
-
question
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
protocolbuffers/protobuf-javascript#222 · 9 commentaires ·
-
Why map.js sort keys?Ouverteenhancement port-fix triaged
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
protocolbuffers/protobuf-javascript#185 · 1 commentaire ·
-
enhancement port-fix triaged
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
protocolbuffers/protobuf-javascript#182 · 3 commentaires · 1 réaction ·
Toutes les issues de protocolbuffers/protobuf-javascript
Issues similaires
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
amponce/archive-movie-browser#354 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
saayam-for-all/webapp#1870 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Imageomics/OpenCite#66 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
chr15m/twiiit.com#20 ·
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
antropos17/Aegis#629 ·
Les mainteneurs répondent en général sous 4 jours