Generating map<K, V> on javascript type issue
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, nodejs, typescript
- Bereich
- api, backend-api-design
Rechercherichtung
Beginnen Sie mit dem bereitgestellten .proto-Map-Feld und dem protoc-Befehl und prüfen Sie anschließend die generierte MessageResponse .ts AsObject-Deklaration. Reproduzieren Sie die Ausgabe mit dem angegebenen master/v3.18- und Node.js-Setup; abgeschlossen ist dies, wenn der generierte Map-Typ und die Feldbenennung der dokumentierten JavaScript/TypeScript-Erwartung entsprechen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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]>
- Vorherrschende Sprache
- JavaScript
- Sterne
- 471
- Forks
- 91
- Ø Merge
- 3 Std. 57 Min.
- Gemergte PRs (30 T.)
- 2
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
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 protocolbuffers/protobuf-javascript
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
protocolbuffers/protobuf-javascript#248 · 1 Kommentar · 13 Reaktionen ·
-
question
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
protocolbuffers/protobuf-javascript#222 · 9 Kommentare ·
-
Why map.js sort keys? Offenenhancement port-fix triaged
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
protocolbuffers/protobuf-javascript#185 · 1 Kommentar ·
-
enhancement port-fix triaged
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
protocolbuffers/protobuf-javascript#182 · 3 Kommentare · 1 Reaktion ·
Alle Issues in protocolbuffers/protobuf-javascript
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
[quality] workflow-scripts guard reads test:unit:coverage as skipping the unit suite, blocking #632 Offenagent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
area-clientside-dartpad
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100