diff --git a/packages/protobuf-bench/README.md b/packages/protobuf-bench/README.md index ed2acd763..628feebb7 100644 --- a/packages/protobuf-bench/README.md +++ b/packages/protobuf-bench/README.md @@ -10,5 +10,5 @@ server would usually do. | code generator | bundle size | minified | compressed | |---------------------|------------------------:|-----------------------:|-------------------:| -| protobuf-es | 97,734 b | 41,763 b | 10,857 b | +| protobuf-es | 97,764 b | 41,777 b | 10,850 b | | protobuf-javascript | 394,384 b | 288,654 b | 45,122 b | diff --git a/packages/protobuf/src/binary-encoding.ts b/packages/protobuf/src/binary-encoding.ts index a277c58b0..683c9af28 100644 --- a/packages/protobuf/src/binary-encoding.ts +++ b/packages/protobuf/src/binary-encoding.ts @@ -95,12 +95,12 @@ export interface IBinaryReader { skip(wireType: WireType): Uint8Array; /** - * Read a `int32` field, a signed 32 bit varint. + * Read a `uint32` field, an unsigned 32 bit varint. */ uint32(): number; /** - * Read a `sint32` field, a signed, zigzag-encoded 32-bit varint. + * Read a `int32` field, a signed 32 bit varint. */ int32(): number; diff --git a/packages/protobuf/src/private/json-format.ts b/packages/protobuf/src/private/json-format.ts index 0ee056f52..017ed98d3 100644 --- a/packages/protobuf/src/private/json-format.ts +++ b/packages/protobuf/src/private/json-format.ts @@ -526,7 +526,8 @@ function readScalar( if (json.trim().length === json.length) int32 = Number(json); } if (int32 === undefined) break; - if (type == ScalarType.UINT32) assertUInt32(int32); + if (type == ScalarType.UINT32 || type == ScalarType.FIXED32) + assertUInt32(int32); else assertInt32(int32); return int32;