Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Generating map<K, V> on javascript type issue

Offen
#14 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

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

bug javascript P3 triaged

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:

  1. Trying to export type map<K, V> so I created a proto file like this:
message MessageResponse {
  string _id = 1;
  string title = 2;
  bool disabled = 3;
  map<string,string> metadata = 4;
}
  1. 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
  1. What I am getting on .ts files is something like:
export namespace MessageResponse {
  export type AsObject = {
    id: string,
    title: string,
    disabled: boolean,
    metadataMap: Array<[string, string]>,
  }
}
  1. Well we can see there is a suffix called Map added to my field name! also the generated type is Array<[string, string]>. but what we were expecting, based on language guide here, where an object of {"k": v, …}, like Record<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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus protocolbuffers/protobuf-javascript

Alle Issues in protocolbuffers/protobuf-javascript

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.