@bufbuild/protobuf 2.0.0-alpha.1 → 2.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/clone.d.ts +1 -1
- package/dist/cjs/clone.js +2 -2
- package/dist/cjs/codegenv1/boot.d.ts +1 -1
- package/dist/cjs/codegenv1/boot.js +3 -5
- package/dist/cjs/codegenv1/embed.d.ts +2 -2
- package/dist/cjs/codegenv1/embed.js +51 -46
- package/dist/cjs/codegenv1/enum.d.ts +1 -1
- package/dist/cjs/codegenv1/enum.js +2 -4
- package/dist/cjs/codegenv1/extension.d.ts +1 -1
- package/dist/cjs/codegenv1/file.d.ts +1 -1
- package/dist/cjs/codegenv1/file.js +5 -7
- package/dist/cjs/codegenv1/index.d.ts +1 -0
- package/dist/cjs/codegenv1/index.js +1 -0
- package/dist/cjs/codegenv1/message.d.ts +1 -1
- package/dist/cjs/codegenv1/restore-json-names.d.ts +3 -0
- package/dist/cjs/codegenv1/restore-json-names.js +3 -0
- package/dist/cjs/codegenv1/scalar.d.ts +5 -0
- package/dist/cjs/codegenv1/scalar.js +39 -0
- package/dist/cjs/codegenv1/service.d.ts +3 -3
- package/dist/cjs/codegenv1/symbols.d.ts +9 -0
- package/dist/cjs/codegenv1/symbols.js +9 -0
- package/dist/cjs/codegenv1/types.d.ts +59 -8
- package/dist/cjs/create.d.ts +1 -1
- package/dist/cjs/create.js +13 -23
- package/dist/cjs/{desc-types.d.ts → descriptors.d.ts} +66 -17
- package/dist/cjs/descriptors.js +53 -0
- package/dist/cjs/equals.d.ts +1 -1
- package/dist/cjs/extensions.d.ts +21 -1
- package/dist/cjs/extensions.js +42 -10
- package/dist/cjs/fields.d.ts +17 -16
- package/dist/cjs/fields.js +17 -10
- package/dist/cjs/from-binary.d.ts +2 -2
- package/dist/cjs/from-binary.js +31 -41
- package/dist/cjs/from-json.d.ts +4 -4
- package/dist/cjs/from-json.js +200 -185
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/is-message.d.ts +1 -1
- package/dist/cjs/proto-int64.d.ts +4 -1
- package/dist/cjs/proto-int64.js +16 -6
- package/dist/cjs/reflect/error.d.ts +1 -1
- package/dist/cjs/reflect/guard.d.ts +1 -1
- package/dist/cjs/reflect/index.d.ts +0 -1
- package/dist/cjs/reflect/index.js +0 -1
- package/dist/cjs/reflect/names.d.ts +1 -13
- package/dist/cjs/reflect/names.js +2 -40
- package/dist/cjs/reflect/nested-types.d.ts +11 -1
- package/dist/cjs/reflect/nested-types.js +34 -1
- package/dist/cjs/reflect/reflect-check.d.ts +10 -1
- package/dist/cjs/reflect/reflect-check.js +126 -9
- package/dist/cjs/reflect/reflect-types.d.ts +162 -14
- package/dist/cjs/reflect/reflect.d.ts +12 -3
- package/dist/cjs/reflect/reflect.js +316 -290
- package/dist/cjs/reflect/scalar.d.ts +3 -55
- package/dist/cjs/reflect/scalar.js +26 -220
- package/dist/cjs/reflect/unsafe.d.ts +1 -1
- package/dist/cjs/reflect/unsafe.js +38 -43
- package/dist/cjs/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/cjs/{reflect/registry.js → registry.js} +100 -73
- package/dist/cjs/to-binary.d.ts +1 -1
- package/dist/cjs/to-binary.js +28 -30
- package/dist/cjs/to-json.d.ts +7 -6
- package/dist/cjs/to-json.js +63 -70
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/wire/base64-encoding.js +4 -4
- package/dist/cjs/wire/binary-encoding.d.ts +25 -3
- package/dist/cjs/wire/binary-encoding.js +70 -18
- package/dist/cjs/wire/size-delimited.d.ts +1 -1
- package/dist/cjs/wire/text-format.d.ts +1 -2
- package/dist/cjs/wire/text-format.js +21 -19
- package/dist/cjs/wkt/any.d.ts +3 -3
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +15 -6
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +18 -7
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +32 -13
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
- package/dist/cjs/wkt/wrappers.d.ts +1 -1
- package/dist/esm/clone.d.ts +1 -1
- package/dist/esm/clone.js +1 -1
- package/dist/esm/codegenv1/boot.d.ts +1 -1
- package/dist/esm/codegenv1/boot.js +3 -5
- package/dist/esm/codegenv1/embed.d.ts +2 -2
- package/dist/esm/codegenv1/embed.js +34 -29
- package/dist/esm/codegenv1/enum.d.ts +1 -1
- package/dist/esm/codegenv1/enum.js +2 -4
- package/dist/esm/codegenv1/extension.d.ts +1 -1
- package/dist/esm/codegenv1/file.d.ts +1 -1
- package/dist/esm/codegenv1/file.js +4 -6
- package/dist/esm/codegenv1/index.d.ts +1 -0
- package/dist/esm/codegenv1/index.js +1 -0
- package/dist/esm/codegenv1/message.d.ts +1 -1
- package/dist/esm/codegenv1/restore-json-names.d.ts +3 -0
- package/dist/esm/codegenv1/restore-json-names.js +3 -0
- package/dist/esm/codegenv1/scalar.d.ts +5 -0
- package/dist/esm/codegenv1/scalar.js +35 -0
- package/dist/esm/codegenv1/service.d.ts +3 -3
- package/dist/esm/codegenv1/symbols.d.ts +9 -0
- package/dist/esm/codegenv1/symbols.js +9 -0
- package/dist/esm/codegenv1/types.d.ts +59 -8
- package/dist/esm/create.d.ts +1 -1
- package/dist/esm/create.js +11 -21
- package/dist/esm/{desc-types.d.ts → descriptors.d.ts} +66 -17
- package/dist/esm/descriptors.js +50 -0
- package/dist/esm/equals.d.ts +1 -1
- package/dist/esm/extensions.d.ts +21 -1
- package/dist/esm/extensions.js +39 -9
- package/dist/esm/fields.d.ts +17 -16
- package/dist/esm/fields.js +17 -10
- package/dist/esm/from-binary.d.ts +2 -2
- package/dist/esm/from-binary.js +13 -23
- package/dist/esm/from-json.d.ts +4 -4
- package/dist/esm/from-json.js +193 -178
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -2
- package/dist/esm/is-message.d.ts +1 -1
- package/dist/esm/proto-int64.d.ts +4 -1
- package/dist/esm/proto-int64.js +16 -6
- package/dist/esm/reflect/error.d.ts +1 -1
- package/dist/esm/reflect/guard.d.ts +1 -1
- package/dist/esm/reflect/index.d.ts +0 -1
- package/dist/esm/reflect/index.js +0 -1
- package/dist/esm/reflect/names.d.ts +1 -13
- package/dist/esm/reflect/names.js +1 -38
- package/dist/esm/reflect/nested-types.d.ts +11 -1
- package/dist/esm/reflect/nested-types.js +32 -0
- package/dist/esm/reflect/reflect-check.d.ts +10 -1
- package/dist/esm/reflect/reflect-check.js +119 -2
- package/dist/esm/reflect/reflect-types.d.ts +162 -14
- package/dist/esm/reflect/reflect-types.js +1 -0
- package/dist/esm/reflect/reflect.d.ts +12 -3
- package/dist/esm/reflect/reflect.js +305 -279
- package/dist/esm/reflect/scalar.d.ts +3 -55
- package/dist/esm/reflect/scalar.js +14 -205
- package/dist/esm/reflect/unsafe.d.ts +1 -1
- package/dist/esm/reflect/unsafe.js +38 -43
- package/dist/esm/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/esm/{reflect/registry.js → registry.js} +90 -63
- package/dist/esm/to-binary.d.ts +1 -1
- package/dist/esm/to-binary.js +2 -4
- package/dist/esm/to-json.d.ts +7 -6
- package/dist/esm/to-json.js +48 -55
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/wire/base64-encoding.js +4 -4
- package/dist/esm/wire/binary-encoding.d.ts +25 -3
- package/dist/esm/wire/binary-encoding.js +63 -11
- package/dist/esm/wire/size-delimited.d.ts +1 -1
- package/dist/esm/wire/text-format.d.ts +1 -2
- package/dist/esm/wire/text-format.js +5 -3
- package/dist/esm/wkt/any.d.ts +3 -3
- package/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/any_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
- package/dist/esm/wkt/gen/google/protobuf/api_pb.js +15 -6
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +18 -7
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
- package/dist/esm/wkt/gen/google/protobuf/type_pb.js +32 -13
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
- package/dist/esm/wkt/wrappers.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/desc-types.js +0 -15
- package/dist/cjs/reflect/assert.d.ts +0 -16
- package/dist/cjs/reflect/assert.js +0 -59
- package/dist/esm/desc-types.js +0 -14
- package/dist/esm/reflect/assert.d.ts +0 -16
- package/dist/esm/reflect/assert.js +0 -52
package/dist/cjs/to-json.js
CHANGED
|
@@ -14,21 +14,22 @@
|
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.toJsonString = exports.toJson = void 0;
|
|
17
|
-
const
|
|
17
|
+
const descriptors_js_1 = require("./descriptors.js");
|
|
18
18
|
const names_js_1 = require("./reflect/names.js");
|
|
19
19
|
const reflect_js_1 = require("./reflect/reflect.js");
|
|
20
|
-
const scalar_js_1 = require("./reflect/scalar.js");
|
|
21
20
|
const index_js_1 = require("./wkt/index.js");
|
|
22
21
|
const wrappers_js_1 = require("./wkt/wrappers.js");
|
|
23
22
|
const index_js_2 = require("./wire/index.js");
|
|
24
23
|
const extensions_js_1 = require("./extensions.js");
|
|
24
|
+
const reflect_check_js_1 = require("./reflect/reflect-check.js");
|
|
25
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
25
26
|
// bootstrap-inject google.protobuf.FeatureSet.FieldPresence.LEGACY_REQUIRED: const $name: FeatureSet_FieldPresence.$localName = $number;
|
|
26
27
|
const LEGACY_REQUIRED = 3;
|
|
27
|
-
// bootstrap-inject google.protobuf.
|
|
28
|
-
const
|
|
28
|
+
// bootstrap-inject google.protobuf.FeatureSet.FieldPresence.IMPLICIT: const $name: FeatureSet_FieldPresence.$localName = $number;
|
|
29
|
+
const IMPLICIT = 2;
|
|
29
30
|
// Default options for serializing to JSON.
|
|
30
31
|
const jsonWriteDefaults = {
|
|
31
|
-
|
|
32
|
+
alwaysEmitImplicit: false,
|
|
32
33
|
enumAsInteger: false,
|
|
33
34
|
useProtoFieldName: false,
|
|
34
35
|
};
|
|
@@ -60,15 +61,11 @@ function reflectToJson(msg, opts) {
|
|
|
60
61
|
const json = {};
|
|
61
62
|
for (const f of msg.sortedFields) {
|
|
62
63
|
if (!msg.isSet(f)) {
|
|
63
|
-
if (f.
|
|
64
|
-
f.
|
|
65
|
-
f.presence == LEGACY_REQUIRED) {
|
|
66
|
-
throw new Error(`cannot encode field ${msg.desc.typeName}.${f.name} to binary: required field not set`);
|
|
64
|
+
if (f.presence == LEGACY_REQUIRED) {
|
|
65
|
+
throw new Error(`cannot encode field ${msg.desc.typeName}.${f.name} to JSON: required field not set`);
|
|
67
66
|
}
|
|
68
|
-
if (!opts.
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
if (!canEmitFieldDefaultValue(f)) {
|
|
67
|
+
if (!opts.alwaysEmitImplicit || f.presence !== IMPLICIT) {
|
|
68
|
+
// Fields with implicit presence omit zero values (e.g. empty string) by default
|
|
72
69
|
continue;
|
|
73
70
|
}
|
|
74
71
|
}
|
|
@@ -90,8 +87,8 @@ function reflectToJson(msg, opts) {
|
|
|
90
87
|
continue;
|
|
91
88
|
}
|
|
92
89
|
const value = (0, extensions_js_1.getExtension)(msg.message, extension);
|
|
93
|
-
const [, field] = (0, extensions_js_1.createExtensionContainer)(extension);
|
|
94
|
-
const jsonValue = fieldToJson(field,
|
|
90
|
+
const [container, field] = (0, extensions_js_1.createExtensionContainer)(extension, value);
|
|
91
|
+
const jsonValue = fieldToJson(field, container.get(field), opts);
|
|
95
92
|
if (jsonValue !== undefined) {
|
|
96
93
|
json[extension.jsonName] = jsonValue;
|
|
97
94
|
}
|
|
@@ -102,7 +99,7 @@ function reflectToJson(msg, opts) {
|
|
|
102
99
|
function fieldToJson(f, val, opts) {
|
|
103
100
|
switch (f.fieldKind) {
|
|
104
101
|
case "scalar":
|
|
105
|
-
return scalarToJson(f
|
|
102
|
+
return scalarToJson(f, val);
|
|
106
103
|
case "message":
|
|
107
104
|
return reflectToJson(val, opts);
|
|
108
105
|
case "enum":
|
|
@@ -119,7 +116,7 @@ function mapToJson(map, opts) {
|
|
|
119
116
|
switch (f.mapKind) {
|
|
120
117
|
case "scalar":
|
|
121
118
|
for (const [entryKey, entryValue] of map) {
|
|
122
|
-
jsonObj[entryKey.toString()] = scalarToJson(f
|
|
119
|
+
jsonObj[entryKey.toString()] = scalarToJson(f, entryValue); // JSON standard allows only (double quoted) string as property key
|
|
123
120
|
}
|
|
124
121
|
break;
|
|
125
122
|
case "message":
|
|
@@ -135,7 +132,7 @@ function mapToJson(map, opts) {
|
|
|
135
132
|
}
|
|
136
133
|
break;
|
|
137
134
|
}
|
|
138
|
-
return opts.
|
|
135
|
+
return opts.alwaysEmitImplicit || map.size > 0 ? jsonObj : undefined;
|
|
139
136
|
}
|
|
140
137
|
function listToJson(list, opts) {
|
|
141
138
|
const f = list.field();
|
|
@@ -143,7 +140,7 @@ function listToJson(list, opts) {
|
|
|
143
140
|
switch (f.listKind) {
|
|
144
141
|
case "scalar":
|
|
145
142
|
for (const item of list) {
|
|
146
|
-
jsonArr.push(scalarToJson(f
|
|
143
|
+
jsonArr.push(scalarToJson(f, item));
|
|
147
144
|
}
|
|
148
145
|
break;
|
|
149
146
|
case "enum":
|
|
@@ -157,11 +154,13 @@ function listToJson(list, opts) {
|
|
|
157
154
|
}
|
|
158
155
|
break;
|
|
159
156
|
}
|
|
160
|
-
return opts.
|
|
157
|
+
return opts.alwaysEmitImplicit || jsonArr.length > 0 ? jsonArr : undefined;
|
|
161
158
|
}
|
|
162
159
|
function enumToJson(desc, value, enumAsInteger) {
|
|
163
160
|
var _a;
|
|
164
|
-
|
|
161
|
+
if (typeof value != "number") {
|
|
162
|
+
throw new Error(`cannot encode ${desc} to JSON: expected number, got ${(0, reflect_check_js_1.formatVal)(value)}`);
|
|
163
|
+
}
|
|
165
164
|
if (desc.typeName == "google.protobuf.NullValue") {
|
|
166
165
|
return null;
|
|
167
166
|
}
|
|
@@ -171,23 +170,27 @@ function enumToJson(desc, value, enumAsInteger) {
|
|
|
171
170
|
const val = desc.values.find((v) => v.number == value);
|
|
172
171
|
return (_a = val === null || val === void 0 ? void 0 : val.name) !== null && _a !== void 0 ? _a : value; // if we don't know the enum value, just return the number
|
|
173
172
|
}
|
|
174
|
-
function scalarToJson(
|
|
175
|
-
|
|
173
|
+
function scalarToJson(field, value) {
|
|
174
|
+
var _a, _b, _c, _d, _e, _f;
|
|
175
|
+
switch (field.scalar) {
|
|
176
176
|
// int32, fixed32, uint32: JSON value will be a decimal number. Either numbers or strings are accepted.
|
|
177
|
-
case
|
|
178
|
-
case
|
|
179
|
-
case
|
|
180
|
-
case
|
|
181
|
-
case
|
|
182
|
-
|
|
177
|
+
case descriptors_js_1.ScalarType.INT32:
|
|
178
|
+
case descriptors_js_1.ScalarType.SFIXED32:
|
|
179
|
+
case descriptors_js_1.ScalarType.SINT32:
|
|
180
|
+
case descriptors_js_1.ScalarType.FIXED32:
|
|
181
|
+
case descriptors_js_1.ScalarType.UINT32:
|
|
182
|
+
if (typeof value != "number") {
|
|
183
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_a = (0, reflect_check_js_1.checkField)(field, value)) === null || _a === void 0 ? void 0 : _a.message}`);
|
|
184
|
+
}
|
|
183
185
|
return value;
|
|
184
186
|
// float, double: JSON value will be a number or one of the special string values "NaN", "Infinity", and "-Infinity".
|
|
185
187
|
// Either numbers or strings are accepted. Exponent notation is also accepted.
|
|
186
|
-
case
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
case descriptors_js_1.ScalarType.FLOAT:
|
|
189
|
+
case descriptors_js_1.ScalarType.DOUBLE: // eslint-disable-line no-fallthrough
|
|
190
|
+
if (typeof value != "number") {
|
|
191
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_b = (0, reflect_check_js_1.checkField)(field, value)) === null || _b === void 0 ? void 0 : _b.message}`);
|
|
192
|
+
}
|
|
193
|
+
if (isNaN(value))
|
|
191
194
|
return "NaN";
|
|
192
195
|
if (value === Number.POSITIVE_INFINITY)
|
|
193
196
|
return "Infinity";
|
|
@@ -195,44 +198,34 @@ function scalarToJson(type, value) {
|
|
|
195
198
|
return "-Infinity";
|
|
196
199
|
return value;
|
|
197
200
|
// string:
|
|
198
|
-
case
|
|
199
|
-
|
|
201
|
+
case descriptors_js_1.ScalarType.STRING:
|
|
202
|
+
if (typeof value != "string") {
|
|
203
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_c = (0, reflect_check_js_1.checkField)(field, value)) === null || _c === void 0 ? void 0 : _c.message}`);
|
|
204
|
+
}
|
|
200
205
|
return value;
|
|
201
206
|
// bool:
|
|
202
|
-
case
|
|
203
|
-
|
|
207
|
+
case descriptors_js_1.ScalarType.BOOL:
|
|
208
|
+
if (typeof value != "boolean") {
|
|
209
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_d = (0, reflect_check_js_1.checkField)(field, value)) === null || _d === void 0 ? void 0 : _d.message}`);
|
|
210
|
+
}
|
|
204
211
|
return value;
|
|
205
212
|
// JSON value will be a decimal string. Either numbers or strings are accepted.
|
|
206
|
-
case
|
|
207
|
-
case
|
|
208
|
-
case
|
|
209
|
-
case
|
|
210
|
-
case
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
case descriptors_js_1.ScalarType.UINT64:
|
|
214
|
+
case descriptors_js_1.ScalarType.FIXED64:
|
|
215
|
+
case descriptors_js_1.ScalarType.INT64:
|
|
216
|
+
case descriptors_js_1.ScalarType.SFIXED64:
|
|
217
|
+
case descriptors_js_1.ScalarType.SINT64:
|
|
218
|
+
if (typeof value != "bigint" && typeof value != "string") {
|
|
219
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_e = (0, reflect_check_js_1.checkField)(field, value)) === null || _e === void 0 ? void 0 : _e.message}`);
|
|
220
|
+
}
|
|
214
221
|
return value.toString();
|
|
215
222
|
// bytes: JSON value will be the data encoded as a string using standard base64 encoding with paddings.
|
|
216
223
|
// Either standard or URL-safe base64 encoding with/without paddings are accepted.
|
|
217
|
-
case
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
// Decide whether an unset field should be emitted with JSON write option `emitDefaultValues`
|
|
223
|
-
function canEmitFieldDefaultValue(field) {
|
|
224
|
-
switch (true) {
|
|
225
|
-
// oneof fields are never emitted
|
|
226
|
-
case field.oneof !== undefined:
|
|
227
|
-
// singular message field are allowed to emit JSON null, but we do not
|
|
228
|
-
// eslint-disable-next-line no-fallthrough
|
|
229
|
-
case field.fieldKind === "message":
|
|
230
|
-
// the field uses explicit presence, so we cannot emit a zero value
|
|
231
|
-
// eslint-disable-next-line no-fallthrough
|
|
232
|
-
case field.proto.label === LABEL_OPTIONAL:
|
|
233
|
-
return false;
|
|
234
|
-
default:
|
|
235
|
-
return true;
|
|
224
|
+
case descriptors_js_1.ScalarType.BYTES:
|
|
225
|
+
if (value instanceof Uint8Array) {
|
|
226
|
+
return (0, index_js_2.base64Encode)(value);
|
|
227
|
+
}
|
|
228
|
+
throw new Error(`cannot encode ${field} to JSON: ${(_f = (0, reflect_check_js_1.checkField)(field, value)) === null || _f === void 0 ? void 0 : _f.message}`);
|
|
236
229
|
}
|
|
237
230
|
}
|
|
238
231
|
function jsonName(f, opts) {
|
|
@@ -261,7 +254,7 @@ function tryWktToJson(msg, opts) {
|
|
|
261
254
|
default:
|
|
262
255
|
if ((0, wrappers_js_1.isWrapperDesc)(msg.desc)) {
|
|
263
256
|
const valueField = msg.desc.fields[0];
|
|
264
|
-
return scalarToJson(valueField
|
|
257
|
+
return scalarToJson(valueField, msg.get(valueField));
|
|
265
258
|
}
|
|
266
259
|
return undefined;
|
|
267
260
|
}
|
|
@@ -295,7 +288,7 @@ function anyToJson(val, opts) {
|
|
|
295
288
|
function durationToJson(val) {
|
|
296
289
|
if (Number(val.seconds) > 315576000000 ||
|
|
297
290
|
Number(val.seconds) < -315576000000) {
|
|
298
|
-
throw new Error(`cannot encode ${val.$typeName} to JSON: value out of range`);
|
|
291
|
+
throw new Error(`cannot encode message ${val.$typeName} to JSON: value out of range`);
|
|
299
292
|
}
|
|
300
293
|
let text = val.seconds.toString();
|
|
301
294
|
if (val.nanos !== 0) {
|
|
@@ -319,7 +312,7 @@ function fieldMaskToJson(val) {
|
|
|
319
312
|
.map((p) => {
|
|
320
313
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
321
314
|
if (p.match(/_[0-9]?_/g) || p.match(/[A-Z]/g)) {
|
|
322
|
-
throw new Error(`cannot encode ${val.$typeName} to JSON: lowerCamelCase of path name "` +
|
|
315
|
+
throw new Error(`cannot encode message ${val.$typeName} to JSON: lowerCamelCase of path name "` +
|
|
323
316
|
p +
|
|
324
317
|
'" is irreversible');
|
|
325
318
|
}
|
|
@@ -362,10 +355,10 @@ function timestampToJson(val) {
|
|
|
362
355
|
const ms = Number(val.seconds) * 1000;
|
|
363
356
|
if (ms < Date.parse("0001-01-01T00:00:00Z") ||
|
|
364
357
|
ms > Date.parse("9999-12-31T23:59:59Z")) {
|
|
365
|
-
throw new Error(`cannot encode ${val.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);
|
|
358
|
+
throw new Error(`cannot encode message ${val.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);
|
|
366
359
|
}
|
|
367
360
|
if (val.nanos < 0) {
|
|
368
|
-
throw new Error(`cannot encode ${val.$typeName} to JSON: nanos must not be negative`);
|
|
361
|
+
throw new Error(`cannot encode message ${val.$typeName} to JSON: nanos must not be negative`);
|
|
369
362
|
}
|
|
370
363
|
let z = "Z";
|
|
371
364
|
if (val.nanos > 0) {
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GenDescEnum, GenDescExtension, GenDescMessage } from "./codegenv1/types.js";
|
|
2
|
-
import type { DescEnum, DescExtension, DescMessage } from "./
|
|
2
|
+
import type { DescEnum, DescExtension, DescMessage } from "./descriptors.js";
|
|
3
3
|
import type { OneofADT } from "./reflect/guard.js";
|
|
4
4
|
import type { WireType } from "./wire/index.js";
|
|
5
5
|
/**
|
|
@@ -42,17 +42,17 @@ function base64Decode(base64Str) {
|
|
|
42
42
|
b = table[base64Str.charCodeAt(i)];
|
|
43
43
|
if (b === undefined) {
|
|
44
44
|
switch (base64Str[i]) {
|
|
45
|
-
// @ts-
|
|
45
|
+
// @ts-expect-error TS7029: Fallthrough case in switch
|
|
46
46
|
case "=":
|
|
47
47
|
groupPos = 0; // reset state when padding found
|
|
48
|
-
//
|
|
48
|
+
// eslint-disable-next-line no-fallthrough
|
|
49
49
|
case "\n":
|
|
50
50
|
case "\r":
|
|
51
51
|
case "\t":
|
|
52
52
|
case " ":
|
|
53
53
|
continue; // skip white-space, and padding
|
|
54
54
|
default:
|
|
55
|
-
throw Error("invalid base64 string
|
|
55
|
+
throw Error("invalid base64 string");
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
switch (groupPos) {
|
|
@@ -77,7 +77,7 @@ function base64Decode(base64Str) {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
if (groupPos == 1)
|
|
80
|
-
throw Error("invalid base64 string
|
|
80
|
+
throw Error("invalid base64 string");
|
|
81
81
|
return bytes.subarray(0, bytePos);
|
|
82
82
|
}
|
|
83
83
|
exports.base64Decode = base64Decode;
|
|
@@ -39,6 +39,26 @@ export declare enum WireType {
|
|
|
39
39
|
*/
|
|
40
40
|
Bit32 = 5
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Maximum value for a 32-bit floating point value (Protobuf FLOAT).
|
|
44
|
+
*/
|
|
45
|
+
export declare const FLOAT32_MAX = 3.4028234663852886e+38;
|
|
46
|
+
/**
|
|
47
|
+
* Minimum value for a 32-bit floating point value (Protobuf FLOAT).
|
|
48
|
+
*/
|
|
49
|
+
export declare const FLOAT32_MIN = -3.4028234663852886e+38;
|
|
50
|
+
/**
|
|
51
|
+
* Maximum value for an unsigned 32-bit integer (Protobuf UINT32, FIXED32).
|
|
52
|
+
*/
|
|
53
|
+
export declare const UINT32_MAX = 4294967295;
|
|
54
|
+
/**
|
|
55
|
+
* Maximum value for a signed 32-bit integer (Protobuf INT32, SFIXED32, SINT32).
|
|
56
|
+
*/
|
|
57
|
+
export declare const INT32_MAX = 2147483647;
|
|
58
|
+
/**
|
|
59
|
+
* Minimum value for a signed 32-bit integer (Protobuf INT32, SFIXED32, SINT32).
|
|
60
|
+
*/
|
|
61
|
+
export declare const INT32_MIN = -2147483648;
|
|
42
62
|
export declare class BinaryWriter {
|
|
43
63
|
private readonly encodeUtf8;
|
|
44
64
|
/**
|
|
@@ -170,10 +190,12 @@ export declare class BinaryReader {
|
|
|
170
190
|
*/
|
|
171
191
|
tag(): [number, WireType];
|
|
172
192
|
/**
|
|
173
|
-
* Skip one element
|
|
174
|
-
*
|
|
193
|
+
* Skip one element and return the skipped data.
|
|
194
|
+
*
|
|
195
|
+
* When skipping StartGroup, provide the tags field number to check for
|
|
196
|
+
* matching field number in the EndGroup tag.
|
|
175
197
|
*/
|
|
176
|
-
skip(wireType: WireType): Uint8Array;
|
|
198
|
+
skip(wireType: WireType, fieldNo?: number): Uint8Array;
|
|
177
199
|
protected varint64: () => [number, number];
|
|
178
200
|
/**
|
|
179
201
|
* Throws error if position in byte array is out of range.
|
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.BinaryReader = exports.BinaryWriter = exports.WireType = void 0;
|
|
16
|
+
exports.BinaryReader = exports.BinaryWriter = exports.INT32_MIN = exports.INT32_MAX = exports.UINT32_MAX = exports.FLOAT32_MIN = exports.FLOAT32_MAX = exports.WireType = void 0;
|
|
17
17
|
const varint_js_1 = require("./varint.js");
|
|
18
|
-
const assert_js_1 = require("../reflect/assert.js");
|
|
19
18
|
const proto_int64_js_1 = require("../proto-int64.js");
|
|
20
19
|
const text_encoding_js_1 = require("./text-encoding.js");
|
|
21
20
|
/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */
|
|
@@ -61,6 +60,26 @@ var WireType;
|
|
|
61
60
|
*/
|
|
62
61
|
WireType[WireType["Bit32"] = 5] = "Bit32";
|
|
63
62
|
})(WireType || (exports.WireType = WireType = {}));
|
|
63
|
+
/**
|
|
64
|
+
* Maximum value for a 32-bit floating point value (Protobuf FLOAT).
|
|
65
|
+
*/
|
|
66
|
+
exports.FLOAT32_MAX = 3.4028234663852886e38;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum value for a 32-bit floating point value (Protobuf FLOAT).
|
|
69
|
+
*/
|
|
70
|
+
exports.FLOAT32_MIN = -3.4028234663852886e38;
|
|
71
|
+
/**
|
|
72
|
+
* Maximum value for an unsigned 32-bit integer (Protobuf UINT32, FIXED32).
|
|
73
|
+
*/
|
|
74
|
+
exports.UINT32_MAX = 0xffffffff;
|
|
75
|
+
/**
|
|
76
|
+
* Maximum value for a signed 32-bit integer (Protobuf INT32, SFIXED32, SINT32).
|
|
77
|
+
*/
|
|
78
|
+
exports.INT32_MAX = 0x7fffffff;
|
|
79
|
+
/**
|
|
80
|
+
* Minimum value for a signed 32-bit integer (Protobuf INT32, SFIXED32, SINT32).
|
|
81
|
+
*/
|
|
82
|
+
exports.INT32_MIN = -0x80000000;
|
|
64
83
|
class BinaryWriter {
|
|
65
84
|
constructor(encodeUtf8 = (0, text_encoding_js_1.getTextEncoding)().encodeUtf8) {
|
|
66
85
|
this.encodeUtf8 = encodeUtf8;
|
|
@@ -142,7 +161,7 @@ class BinaryWriter {
|
|
|
142
161
|
* Write a `uint32` value, an unsigned 32 bit varint.
|
|
143
162
|
*/
|
|
144
163
|
uint32(value) {
|
|
145
|
-
|
|
164
|
+
assertUInt32(value);
|
|
146
165
|
// write value as varint 32, inlined for speed
|
|
147
166
|
while (value > 0x7f) {
|
|
148
167
|
this.buf.push((value & 0x7f) | 0x80);
|
|
@@ -155,7 +174,7 @@ class BinaryWriter {
|
|
|
155
174
|
* Write a `int32` value, a signed 32 bit varint.
|
|
156
175
|
*/
|
|
157
176
|
int32(value) {
|
|
158
|
-
|
|
177
|
+
assertInt32(value);
|
|
159
178
|
(0, varint_js_1.varint32write)(value, this.buf);
|
|
160
179
|
return this;
|
|
161
180
|
}
|
|
@@ -185,7 +204,7 @@ class BinaryWriter {
|
|
|
185
204
|
* Write a `float` value, 32-bit floating point number.
|
|
186
205
|
*/
|
|
187
206
|
float(value) {
|
|
188
|
-
|
|
207
|
+
assertFloat32(value);
|
|
189
208
|
let chunk = new Uint8Array(4);
|
|
190
209
|
new DataView(chunk.buffer).setFloat32(0, value, true);
|
|
191
210
|
return this.raw(chunk);
|
|
@@ -202,7 +221,7 @@ class BinaryWriter {
|
|
|
202
221
|
* Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
|
|
203
222
|
*/
|
|
204
223
|
fixed32(value) {
|
|
205
|
-
|
|
224
|
+
assertUInt32(value);
|
|
206
225
|
let chunk = new Uint8Array(4);
|
|
207
226
|
new DataView(chunk.buffer).setUint32(0, value, true);
|
|
208
227
|
return this.raw(chunk);
|
|
@@ -211,7 +230,7 @@ class BinaryWriter {
|
|
|
211
230
|
* Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
|
|
212
231
|
*/
|
|
213
232
|
sfixed32(value) {
|
|
214
|
-
|
|
233
|
+
assertInt32(value);
|
|
215
234
|
let chunk = new Uint8Array(4);
|
|
216
235
|
new DataView(chunk.buffer).setInt32(0, value, true);
|
|
217
236
|
return this.raw(chunk);
|
|
@@ -220,7 +239,7 @@ class BinaryWriter {
|
|
|
220
239
|
* Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
|
|
221
240
|
*/
|
|
222
241
|
sint32(value) {
|
|
223
|
-
|
|
242
|
+
assertInt32(value);
|
|
224
243
|
// zigzag encode
|
|
225
244
|
value = ((value << 1) ^ (value >> 31)) >>> 0;
|
|
226
245
|
(0, varint_js_1.varint32write)(value, this.buf);
|
|
@@ -295,10 +314,12 @@ class BinaryReader {
|
|
|
295
314
|
return [fieldNo, wireType];
|
|
296
315
|
}
|
|
297
316
|
/**
|
|
298
|
-
* Skip one element
|
|
299
|
-
*
|
|
317
|
+
* Skip one element and return the skipped data.
|
|
318
|
+
*
|
|
319
|
+
* When skipping StartGroup, provide the tags field number to check for
|
|
320
|
+
* matching field number in the EndGroup tag.
|
|
300
321
|
*/
|
|
301
|
-
skip(wireType) {
|
|
322
|
+
skip(wireType, fieldNo) {
|
|
302
323
|
let start = this.pos;
|
|
303
324
|
switch (wireType) {
|
|
304
325
|
case WireType.Varint:
|
|
@@ -307,11 +328,10 @@ class BinaryReader {
|
|
|
307
328
|
}
|
|
308
329
|
break;
|
|
309
330
|
// eslint-disable-next-line
|
|
310
|
-
// @ts-
|
|
331
|
+
// @ts-expect-error TS7029: Fallthrough case in switch
|
|
311
332
|
case WireType.Bit64:
|
|
312
333
|
this.pos += 4;
|
|
313
|
-
// eslint-disable-next-line
|
|
314
|
-
// @ts-ignore TS7029: Fallthrough case in switch
|
|
334
|
+
// eslint-disable-next-line no-fallthrough
|
|
315
335
|
case WireType.Bit32:
|
|
316
336
|
this.pos += 4;
|
|
317
337
|
break;
|
|
@@ -320,10 +340,15 @@ class BinaryReader {
|
|
|
320
340
|
this.pos += len;
|
|
321
341
|
break;
|
|
322
342
|
case WireType.StartGroup:
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
343
|
+
for (;;) {
|
|
344
|
+
const [fn, wt] = this.tag();
|
|
345
|
+
if (wt === WireType.EndGroup) {
|
|
346
|
+
if (fieldNo !== undefined && fn !== fieldNo) {
|
|
347
|
+
throw new Error("invalid end group tag");
|
|
348
|
+
}
|
|
349
|
+
break;
|
|
350
|
+
}
|
|
351
|
+
this.skip(wt, fn);
|
|
327
352
|
}
|
|
328
353
|
break;
|
|
329
354
|
default:
|
|
@@ -436,3 +461,30 @@ class BinaryReader {
|
|
|
436
461
|
}
|
|
437
462
|
}
|
|
438
463
|
exports.BinaryReader = BinaryReader;
|
|
464
|
+
/**
|
|
465
|
+
* Assert a valid signed protobuf 32-bit integer.
|
|
466
|
+
*/
|
|
467
|
+
function assertInt32(arg) {
|
|
468
|
+
if (typeof arg !== "number")
|
|
469
|
+
throw new Error("invalid int32: " + typeof arg);
|
|
470
|
+
if (!Number.isInteger(arg) || arg > exports.INT32_MAX || arg < exports.INT32_MIN)
|
|
471
|
+
throw new Error("invalid int32: " + arg);
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Assert a valid unsigned protobuf 32-bit integer.
|
|
475
|
+
*/
|
|
476
|
+
function assertUInt32(arg) {
|
|
477
|
+
if (typeof arg !== "number")
|
|
478
|
+
throw new Error("invalid uint32: " + typeof arg);
|
|
479
|
+
if (!Number.isInteger(arg) || arg > exports.UINT32_MAX || arg < 0)
|
|
480
|
+
throw new Error("invalid uint32: " + arg);
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Assert a valid protobuf float value.
|
|
484
|
+
*/
|
|
485
|
+
function assertFloat32(arg) {
|
|
486
|
+
if (typeof arg !== "number")
|
|
487
|
+
throw new Error("invalid float32: " + typeof arg);
|
|
488
|
+
if (Number.isFinite(arg) && (arg > exports.FLOAT32_MAX || arg < exports.FLOAT32_MIN))
|
|
489
|
+
throw new Error("invalid float32: " + arg);
|
|
490
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DescMessage } from "../
|
|
1
|
+
import type { DescMessage } from "../descriptors.js";
|
|
2
2
|
import type { BinaryWriteOptions } from "../to-binary.js";
|
|
3
3
|
import type { MessageShape } from "../types.js";
|
|
4
4
|
import type { BinaryReadOptions } from "../from-binary.js";
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.parseTextFormatScalarValue = exports.parseTextFormatEnumValue = void 0;
|
|
17
|
-
const
|
|
17
|
+
const descriptors_js_1 = require("../descriptors.js");
|
|
18
18
|
const proto_int64_js_1 = require("../proto-int64.js");
|
|
19
|
-
|
|
19
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
20
20
|
/**
|
|
21
21
|
* Parse an enum value from the Protobuf text format.
|
|
22
22
|
*
|
|
@@ -24,7 +24,9 @@ const scalar_js_1 = require("../reflect/scalar.js");
|
|
|
24
24
|
*/
|
|
25
25
|
function parseTextFormatEnumValue(descEnum, value) {
|
|
26
26
|
const enumValue = descEnum.values.find((v) => v.name === value);
|
|
27
|
-
|
|
27
|
+
if (!enumValue) {
|
|
28
|
+
throw new Error(`cannot parse ${descEnum} default value: ${value}`);
|
|
29
|
+
}
|
|
28
30
|
return enumValue.number;
|
|
29
31
|
}
|
|
30
32
|
exports.parseTextFormatEnumValue = parseTextFormatEnumValue;
|
|
@@ -35,24 +37,24 @@ exports.parseTextFormatEnumValue = parseTextFormatEnumValue;
|
|
|
35
37
|
*/
|
|
36
38
|
function parseTextFormatScalarValue(type, value) {
|
|
37
39
|
switch (type) {
|
|
38
|
-
case
|
|
40
|
+
case descriptors_js_1.ScalarType.STRING:
|
|
39
41
|
return value;
|
|
40
|
-
case
|
|
42
|
+
case descriptors_js_1.ScalarType.BYTES: {
|
|
41
43
|
const u = unescapeBytesDefaultValue(value);
|
|
42
44
|
if (u === false) {
|
|
43
|
-
throw new Error(`cannot parse ${
|
|
45
|
+
throw new Error(`cannot parse ${descriptors_js_1.ScalarType[type]} default value: ${value}`);
|
|
44
46
|
}
|
|
45
47
|
return u;
|
|
46
48
|
}
|
|
47
|
-
case
|
|
48
|
-
case
|
|
49
|
-
case
|
|
49
|
+
case descriptors_js_1.ScalarType.INT64:
|
|
50
|
+
case descriptors_js_1.ScalarType.SFIXED64:
|
|
51
|
+
case descriptors_js_1.ScalarType.SINT64:
|
|
50
52
|
return proto_int64_js_1.protoInt64.parse(value);
|
|
51
|
-
case
|
|
52
|
-
case
|
|
53
|
+
case descriptors_js_1.ScalarType.UINT64:
|
|
54
|
+
case descriptors_js_1.ScalarType.FIXED64:
|
|
53
55
|
return proto_int64_js_1.protoInt64.uParse(value);
|
|
54
|
-
case
|
|
55
|
-
case
|
|
56
|
+
case descriptors_js_1.ScalarType.DOUBLE:
|
|
57
|
+
case descriptors_js_1.ScalarType.FLOAT:
|
|
56
58
|
switch (value) {
|
|
57
59
|
case "inf":
|
|
58
60
|
return Number.POSITIVE_INFINITY;
|
|
@@ -63,13 +65,13 @@ function parseTextFormatScalarValue(type, value) {
|
|
|
63
65
|
default:
|
|
64
66
|
return parseFloat(value);
|
|
65
67
|
}
|
|
66
|
-
case
|
|
68
|
+
case descriptors_js_1.ScalarType.BOOL:
|
|
67
69
|
return value === "true";
|
|
68
|
-
case
|
|
69
|
-
case
|
|
70
|
-
case
|
|
71
|
-
case
|
|
72
|
-
case
|
|
70
|
+
case descriptors_js_1.ScalarType.INT32:
|
|
71
|
+
case descriptors_js_1.ScalarType.UINT32:
|
|
72
|
+
case descriptors_js_1.ScalarType.SINT32:
|
|
73
|
+
case descriptors_js_1.ScalarType.FIXED32:
|
|
74
|
+
case descriptors_js_1.ScalarType.SFIXED32:
|
|
73
75
|
return parseInt(value, 10);
|
|
74
76
|
}
|
|
75
77
|
}
|
package/dist/cjs/wkt/any.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Message, MessageShape } from "../types.js";
|
|
2
2
|
import type { Any } from "./gen/google/protobuf/any_pb.js";
|
|
3
|
-
import type { DescMessage } from "../
|
|
4
|
-
import type { Registry } from "../
|
|
3
|
+
import type { DescMessage } from "../descriptors.js";
|
|
4
|
+
import type { Registry } from "../registry.js";
|
|
5
5
|
/**
|
|
6
6
|
* Creates a `google.protobuf.Any` from a message.
|
|
7
7
|
*/
|
|
@@ -35,4 +35,4 @@ export declare function anyUnpack<Desc extends DescMessage>(any: Any, messageDes
|
|
|
35
35
|
/**
|
|
36
36
|
* Same as anyUnpack but unpacks into the target message.
|
|
37
37
|
*/
|
|
38
|
-
export declare function anyUnpackTo<Desc extends DescMessage>(any: Any, messageDesc: Desc, message: MessageShape<Desc>):
|
|
38
|
+
export declare function anyUnpackTo<Desc extends DescMessage>(any: Any, messageDesc: Desc, message: MessageShape<Desc>): void;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { GenDescFile, GenDescMessage } from "../../../../codegenv1/types.js";
|
|
2
2
|
import type { Message } from "../../../../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Describes the file google/protobuf/any.proto.
|
|
5
|
+
*/
|
|
3
6
|
export declare const fileDesc_google_protobuf_any: GenDescFile;
|
|
4
7
|
/**
|
|
5
8
|
* `Any` contains an arbitrary serialized protocol buffer message along with a
|
|
@@ -133,4 +136,8 @@ export type Any = Message<"google.protobuf.Any"> & {
|
|
|
133
136
|
*/
|
|
134
137
|
value: Uint8Array;
|
|
135
138
|
};
|
|
139
|
+
/**
|
|
140
|
+
* Describes the message google.protobuf.Any.
|
|
141
|
+
* Use `create(AnyDesc)` to create a new message.
|
|
142
|
+
*/
|
|
136
143
|
export declare const AnyDesc: GenDescMessage<Any>;
|
|
@@ -16,7 +16,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
exports.AnyDesc = exports.fileDesc_google_protobuf_any = void 0;
|
|
17
17
|
const file_js_1 = require("../../../../codegenv1/file.js");
|
|
18
18
|
const message_js_1 = require("../../../../codegenv1/message.js");
|
|
19
|
+
/**
|
|
20
|
+
* Describes the file google/protobuf/any.proto.
|
|
21
|
+
*/
|
|
19
22
|
exports.fileDesc_google_protobuf_any = (0, file_js_1.fileDesc)("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message google.protobuf.Any.
|
|
25
|
+
* Use `create(AnyDesc)` to create a new message.
|
|
26
|
+
*/
|
|
22
27
|
exports.AnyDesc = (0, message_js_1.messageDesc)(exports.fileDesc_google_protobuf_any, 0);
|