@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.
Files changed (201) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/clone.d.ts +1 -1
  3. package/dist/cjs/clone.js +2 -2
  4. package/dist/cjs/codegenv1/boot.d.ts +1 -1
  5. package/dist/cjs/codegenv1/boot.js +3 -5
  6. package/dist/cjs/codegenv1/embed.d.ts +2 -2
  7. package/dist/cjs/codegenv1/embed.js +51 -46
  8. package/dist/cjs/codegenv1/enum.d.ts +1 -1
  9. package/dist/cjs/codegenv1/enum.js +2 -4
  10. package/dist/cjs/codegenv1/extension.d.ts +1 -1
  11. package/dist/cjs/codegenv1/file.d.ts +1 -1
  12. package/dist/cjs/codegenv1/file.js +5 -7
  13. package/dist/cjs/codegenv1/index.d.ts +1 -0
  14. package/dist/cjs/codegenv1/index.js +1 -0
  15. package/dist/cjs/codegenv1/message.d.ts +1 -1
  16. package/dist/cjs/codegenv1/restore-json-names.d.ts +3 -0
  17. package/dist/cjs/codegenv1/restore-json-names.js +3 -0
  18. package/dist/cjs/codegenv1/scalar.d.ts +5 -0
  19. package/dist/cjs/codegenv1/scalar.js +39 -0
  20. package/dist/cjs/codegenv1/service.d.ts +3 -3
  21. package/dist/cjs/codegenv1/symbols.d.ts +9 -0
  22. package/dist/cjs/codegenv1/symbols.js +9 -0
  23. package/dist/cjs/codegenv1/types.d.ts +59 -8
  24. package/dist/cjs/create.d.ts +1 -1
  25. package/dist/cjs/create.js +13 -23
  26. package/dist/cjs/{desc-types.d.ts → descriptors.d.ts} +66 -17
  27. package/dist/cjs/descriptors.js +53 -0
  28. package/dist/cjs/equals.d.ts +1 -1
  29. package/dist/cjs/extensions.d.ts +21 -1
  30. package/dist/cjs/extensions.js +42 -10
  31. package/dist/cjs/fields.d.ts +17 -16
  32. package/dist/cjs/fields.js +17 -10
  33. package/dist/cjs/from-binary.d.ts +2 -2
  34. package/dist/cjs/from-binary.js +31 -41
  35. package/dist/cjs/from-json.d.ts +4 -4
  36. package/dist/cjs/from-json.js +200 -185
  37. package/dist/cjs/index.d.ts +3 -2
  38. package/dist/cjs/index.js +5 -2
  39. package/dist/cjs/is-message.d.ts +1 -1
  40. package/dist/cjs/proto-int64.d.ts +4 -1
  41. package/dist/cjs/proto-int64.js +16 -6
  42. package/dist/cjs/reflect/error.d.ts +1 -1
  43. package/dist/cjs/reflect/guard.d.ts +1 -1
  44. package/dist/cjs/reflect/index.d.ts +0 -1
  45. package/dist/cjs/reflect/index.js +0 -1
  46. package/dist/cjs/reflect/names.d.ts +1 -13
  47. package/dist/cjs/reflect/names.js +2 -40
  48. package/dist/cjs/reflect/nested-types.d.ts +11 -1
  49. package/dist/cjs/reflect/nested-types.js +34 -1
  50. package/dist/cjs/reflect/reflect-check.d.ts +10 -1
  51. package/dist/cjs/reflect/reflect-check.js +126 -9
  52. package/dist/cjs/reflect/reflect-types.d.ts +162 -14
  53. package/dist/cjs/reflect/reflect.d.ts +12 -3
  54. package/dist/cjs/reflect/reflect.js +316 -290
  55. package/dist/cjs/reflect/scalar.d.ts +3 -55
  56. package/dist/cjs/reflect/scalar.js +26 -220
  57. package/dist/cjs/reflect/unsafe.d.ts +1 -1
  58. package/dist/cjs/reflect/unsafe.js +38 -43
  59. package/dist/cjs/{reflect/registry.d.ts → registry.d.ts} +2 -2
  60. package/dist/cjs/{reflect/registry.js → registry.js} +100 -73
  61. package/dist/cjs/to-binary.d.ts +1 -1
  62. package/dist/cjs/to-binary.js +28 -30
  63. package/dist/cjs/to-json.d.ts +7 -6
  64. package/dist/cjs/to-json.js +63 -70
  65. package/dist/cjs/types.d.ts +1 -1
  66. package/dist/cjs/wire/base64-encoding.js +4 -4
  67. package/dist/cjs/wire/binary-encoding.d.ts +25 -3
  68. package/dist/cjs/wire/binary-encoding.js +70 -18
  69. package/dist/cjs/wire/size-delimited.d.ts +1 -1
  70. package/dist/cjs/wire/text-format.d.ts +1 -2
  71. package/dist/cjs/wire/text-format.js +21 -19
  72. package/dist/cjs/wkt/any.d.ts +3 -3
  73. package/dist/cjs/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
  74. package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +7 -2
  75. package/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
  76. package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +15 -6
  77. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
  78. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
  79. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
  80. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
  81. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
  82. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +7 -2
  83. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
  84. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +7 -2
  85. package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
  86. package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
  87. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
  88. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +7 -2
  89. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
  90. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +18 -7
  91. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
  92. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
  93. package/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
  94. package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +32 -13
  95. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
  96. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
  97. package/dist/cjs/wkt/wrappers.d.ts +1 -1
  98. package/dist/esm/clone.d.ts +1 -1
  99. package/dist/esm/clone.js +1 -1
  100. package/dist/esm/codegenv1/boot.d.ts +1 -1
  101. package/dist/esm/codegenv1/boot.js +3 -5
  102. package/dist/esm/codegenv1/embed.d.ts +2 -2
  103. package/dist/esm/codegenv1/embed.js +34 -29
  104. package/dist/esm/codegenv1/enum.d.ts +1 -1
  105. package/dist/esm/codegenv1/enum.js +2 -4
  106. package/dist/esm/codegenv1/extension.d.ts +1 -1
  107. package/dist/esm/codegenv1/file.d.ts +1 -1
  108. package/dist/esm/codegenv1/file.js +4 -6
  109. package/dist/esm/codegenv1/index.d.ts +1 -0
  110. package/dist/esm/codegenv1/index.js +1 -0
  111. package/dist/esm/codegenv1/message.d.ts +1 -1
  112. package/dist/esm/codegenv1/restore-json-names.d.ts +3 -0
  113. package/dist/esm/codegenv1/restore-json-names.js +3 -0
  114. package/dist/esm/codegenv1/scalar.d.ts +5 -0
  115. package/dist/esm/codegenv1/scalar.js +35 -0
  116. package/dist/esm/codegenv1/service.d.ts +3 -3
  117. package/dist/esm/codegenv1/symbols.d.ts +9 -0
  118. package/dist/esm/codegenv1/symbols.js +9 -0
  119. package/dist/esm/codegenv1/types.d.ts +59 -8
  120. package/dist/esm/create.d.ts +1 -1
  121. package/dist/esm/create.js +11 -21
  122. package/dist/esm/{desc-types.d.ts → descriptors.d.ts} +66 -17
  123. package/dist/esm/descriptors.js +50 -0
  124. package/dist/esm/equals.d.ts +1 -1
  125. package/dist/esm/extensions.d.ts +21 -1
  126. package/dist/esm/extensions.js +39 -9
  127. package/dist/esm/fields.d.ts +17 -16
  128. package/dist/esm/fields.js +17 -10
  129. package/dist/esm/from-binary.d.ts +2 -2
  130. package/dist/esm/from-binary.js +13 -23
  131. package/dist/esm/from-json.d.ts +4 -4
  132. package/dist/esm/from-json.js +193 -178
  133. package/dist/esm/index.d.ts +3 -2
  134. package/dist/esm/index.js +3 -2
  135. package/dist/esm/is-message.d.ts +1 -1
  136. package/dist/esm/proto-int64.d.ts +4 -1
  137. package/dist/esm/proto-int64.js +16 -6
  138. package/dist/esm/reflect/error.d.ts +1 -1
  139. package/dist/esm/reflect/guard.d.ts +1 -1
  140. package/dist/esm/reflect/index.d.ts +0 -1
  141. package/dist/esm/reflect/index.js +0 -1
  142. package/dist/esm/reflect/names.d.ts +1 -13
  143. package/dist/esm/reflect/names.js +1 -38
  144. package/dist/esm/reflect/nested-types.d.ts +11 -1
  145. package/dist/esm/reflect/nested-types.js +32 -0
  146. package/dist/esm/reflect/reflect-check.d.ts +10 -1
  147. package/dist/esm/reflect/reflect-check.js +119 -2
  148. package/dist/esm/reflect/reflect-types.d.ts +162 -14
  149. package/dist/esm/reflect/reflect-types.js +1 -0
  150. package/dist/esm/reflect/reflect.d.ts +12 -3
  151. package/dist/esm/reflect/reflect.js +305 -279
  152. package/dist/esm/reflect/scalar.d.ts +3 -55
  153. package/dist/esm/reflect/scalar.js +14 -205
  154. package/dist/esm/reflect/unsafe.d.ts +1 -1
  155. package/dist/esm/reflect/unsafe.js +38 -43
  156. package/dist/esm/{reflect/registry.d.ts → registry.d.ts} +2 -2
  157. package/dist/esm/{reflect/registry.js → registry.js} +90 -63
  158. package/dist/esm/to-binary.d.ts +1 -1
  159. package/dist/esm/to-binary.js +2 -4
  160. package/dist/esm/to-json.d.ts +7 -6
  161. package/dist/esm/to-json.js +48 -55
  162. package/dist/esm/types.d.ts +1 -1
  163. package/dist/esm/wire/base64-encoding.js +4 -4
  164. package/dist/esm/wire/binary-encoding.d.ts +25 -3
  165. package/dist/esm/wire/binary-encoding.js +63 -11
  166. package/dist/esm/wire/size-delimited.d.ts +1 -1
  167. package/dist/esm/wire/text-format.d.ts +1 -2
  168. package/dist/esm/wire/text-format.js +5 -3
  169. package/dist/esm/wkt/any.d.ts +3 -3
  170. package/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
  171. package/dist/esm/wkt/gen/google/protobuf/any_pb.js +7 -2
  172. package/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
  173. package/dist/esm/wkt/gen/google/protobuf/api_pb.js +15 -6
  174. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
  175. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
  176. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
  177. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
  178. package/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
  179. package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +7 -2
  180. package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
  181. package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +7 -2
  182. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
  183. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
  184. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
  185. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +7 -2
  186. package/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
  187. package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +18 -7
  188. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
  189. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
  190. package/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
  191. package/dist/esm/wkt/gen/google/protobuf/type_pb.js +32 -13
  192. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
  193. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
  194. package/dist/esm/wkt/wrappers.d.ts +1 -1
  195. package/package.json +2 -2
  196. package/dist/cjs/desc-types.js +0 -15
  197. package/dist/cjs/reflect/assert.d.ts +0 -16
  198. package/dist/cjs/reflect/assert.js +0 -59
  199. package/dist/esm/desc-types.js +0 -14
  200. package/dist/esm/reflect/assert.d.ts +0 -16
  201. package/dist/esm/reflect/assert.js +0 -52
@@ -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 assert_js_1 = require("./reflect/assert.js");
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.FieldDescriptorProto.Label.LABEL_OPTIONAL: const $name: FieldDescriptorProto_Label.$localName = $number;
28
- const LABEL_OPTIONAL = 1;
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
- emitDefaultValues: false,
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.fieldKind != "map" &&
64
- f.fieldKind != "list" &&
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.emitDefaultValues) {
69
- continue;
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, value, opts);
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.scalar, val);
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.scalar, entryValue); // JSON standard allows only (double quoted) string as property key
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.emitDefaultValues || map.size > 0 ? jsonObj : undefined;
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.scalar, item));
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.emitDefaultValues || jsonArr.length > 0 ? jsonArr : undefined;
157
+ return opts.alwaysEmitImplicit || jsonArr.length > 0 ? jsonArr : undefined;
161
158
  }
162
159
  function enumToJson(desc, value, enumAsInteger) {
163
160
  var _a;
164
- (0, assert_js_1.assert)(typeof value == "number");
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(type, value) {
175
- switch (type) {
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 scalar_js_1.ScalarType.INT32:
178
- case scalar_js_1.ScalarType.SFIXED32:
179
- case scalar_js_1.ScalarType.SINT32:
180
- case scalar_js_1.ScalarType.FIXED32:
181
- case scalar_js_1.ScalarType.UINT32:
182
- (0, assert_js_1.assert)(typeof value == "number");
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 scalar_js_1.ScalarType.FLOAT:
187
- // assertFloat32(value);
188
- case scalar_js_1.ScalarType.DOUBLE: // eslint-disable-line no-fallthrough
189
- (0, assert_js_1.assert)(typeof value == "number");
190
- if (Number.isNaN(value))
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 scalar_js_1.ScalarType.STRING:
199
- (0, assert_js_1.assert)(typeof value == "string");
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 scalar_js_1.ScalarType.BOOL:
203
- (0, assert_js_1.assert)(typeof value == "boolean");
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 scalar_js_1.ScalarType.UINT64:
207
- case scalar_js_1.ScalarType.FIXED64:
208
- case scalar_js_1.ScalarType.INT64:
209
- case scalar_js_1.ScalarType.SFIXED64:
210
- case scalar_js_1.ScalarType.SINT64:
211
- (0, assert_js_1.assert)(typeof value == "bigint" ||
212
- typeof value == "string" ||
213
- typeof value == "number");
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 scalar_js_1.ScalarType.BYTES:
218
- (0, assert_js_1.assert)(value instanceof Uint8Array);
219
- return (0, index_js_2.base64Encode)(value);
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.scalar, msg.get(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) {
@@ -1,5 +1,5 @@
1
1
  import type { GenDescEnum, GenDescExtension, GenDescMessage } from "./codegenv1/types.js";
2
- import type { DescEnum, DescExtension, DescMessage } from "./desc-types.js";
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-ignore TS7029: Fallthrough case in switch
45
+ // @ts-expect-error TS7029: Fallthrough case in switch
46
46
  case "=":
47
47
  groupPos = 0; // reset state when padding found
48
- // @ts-ignore TS7029: Fallthrough case in switch
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 on the wire and return the skipped data.
174
- * Supports WireType.StartGroup since v2.0.0-alpha.23.
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
- (0, assert_js_1.assertUInt32)(value);
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
- (0, assert_js_1.assertInt32)(value);
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
- (0, assert_js_1.assertFloat32)(value);
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
- (0, assert_js_1.assertUInt32)(value);
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
- (0, assert_js_1.assertInt32)(value);
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
- (0, assert_js_1.assertInt32)(value);
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 on the wire and return the skipped data.
299
- * Supports WireType.StartGroup since v2.0.0-alpha.23.
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-ignore TS7029: Fallthrough case in switch
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
- // TODO check for matching field numbers in StartGroup / EndGroup tags
324
- let t;
325
- while ((t = this.tag()[1]) !== WireType.EndGroup) {
326
- this.skip(t);
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 "../desc-types.js";
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";
@@ -1,5 +1,4 @@
1
- import type { DescEnum } from "../desc-types.js";
2
- import { ScalarType } from "../reflect/scalar.js";
1
+ import { type DescEnum, ScalarType } from "../descriptors.js";
3
2
  /**
4
3
  * Parse an enum value from the Protobuf text format.
5
4
  *
@@ -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 assert_js_1 = require("../reflect/assert.js");
17
+ const descriptors_js_1 = require("../descriptors.js");
18
18
  const proto_int64_js_1 = require("../proto-int64.js");
19
- const scalar_js_1 = require("../reflect/scalar.js");
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
- (0, assert_js_1.assert)(enumValue, `cannot parse ${descEnum.name} default value: ${value}`);
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 scalar_js_1.ScalarType.STRING:
40
+ case descriptors_js_1.ScalarType.STRING:
39
41
  return value;
40
- case scalar_js_1.ScalarType.BYTES: {
42
+ case descriptors_js_1.ScalarType.BYTES: {
41
43
  const u = unescapeBytesDefaultValue(value);
42
44
  if (u === false) {
43
- throw new Error(`cannot parse ${scalar_js_1.ScalarType[type]} default value: ${value}`);
45
+ throw new Error(`cannot parse ${descriptors_js_1.ScalarType[type]} default value: ${value}`);
44
46
  }
45
47
  return u;
46
48
  }
47
- case scalar_js_1.ScalarType.INT64:
48
- case scalar_js_1.ScalarType.SFIXED64:
49
- case scalar_js_1.ScalarType.SINT64:
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 scalar_js_1.ScalarType.UINT64:
52
- case scalar_js_1.ScalarType.FIXED64:
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 scalar_js_1.ScalarType.DOUBLE:
55
- case scalar_js_1.ScalarType.FLOAT:
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 scalar_js_1.ScalarType.BOOL:
68
+ case descriptors_js_1.ScalarType.BOOL:
67
69
  return value === "true";
68
- case scalar_js_1.ScalarType.INT32:
69
- case scalar_js_1.ScalarType.UINT32:
70
- case scalar_js_1.ScalarType.SINT32:
71
- case scalar_js_1.ScalarType.FIXED32:
72
- case scalar_js_1.ScalarType.SFIXED32:
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
  }
@@ -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 "../desc-types.js";
4
- import type { Registry } from "../reflect/index.js";
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>): MessageShape<Desc> | undefined;
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
- // Describes the message google.protobuf.Any.
21
- // Use `create(AnyDesc)` to create a new Any.
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);