@bufbuild/protobuf 1.8.0 → 2.0.0-alpha.1

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 (426) hide show
  1. package/dist/cjs/clone.d.ts +6 -0
  2. package/dist/cjs/clone.js +77 -0
  3. package/dist/cjs/codegenv1/boot.d.ts +63 -0
  4. package/dist/cjs/codegenv1/boot.js +102 -0
  5. package/dist/cjs/codegenv1/embed.d.ts +43 -0
  6. package/dist/cjs/codegenv1/embed.js +238 -0
  7. package/dist/cjs/codegenv1/enum.d.ts +17 -0
  8. package/dist/cjs/codegenv1/enum.js +43 -0
  9. package/dist/cjs/codegenv1/extension.d.ts +9 -0
  10. package/dist/cjs/codegenv1/extension.js +29 -0
  11. package/dist/cjs/codegenv1/file.d.ts +7 -0
  12. package/dist/cjs/codegenv1/file.js +38 -0
  13. package/dist/cjs/codegenv1/index.d.ts +9 -0
  14. package/dist/cjs/codegenv1/index.js +38 -0
  15. package/dist/cjs/codegenv1/message.d.ts +9 -0
  16. package/dist/cjs/codegenv1/message.js +25 -0
  17. package/dist/cjs/codegenv1/restore-json-names.d.ts +2 -0
  18. package/dist/cjs/codegenv1/restore-json-names.js +27 -0
  19. package/dist/cjs/codegenv1/service.d.ts +8 -0
  20. package/dist/cjs/codegenv1/service.js +28 -0
  21. package/dist/cjs/codegenv1/symbols.d.ts +116 -0
  22. package/dist/cjs/codegenv1/symbols.js +58 -0
  23. package/dist/cjs/codegenv1/types.d.ts +19 -0
  24. package/dist/cjs/codegenv1/types.js +21 -0
  25. package/dist/cjs/create.d.ts +9 -0
  26. package/dist/cjs/create.js +242 -0
  27. package/dist/{esm/descriptor-set.d.ts → cjs/desc-types.d.ts} +144 -242
  28. package/dist/cjs/equals.d.ts +9 -0
  29. package/dist/cjs/equals.js +133 -0
  30. package/dist/cjs/{extension-accessor.d.ts → extensions.d.ts} +11 -7
  31. package/dist/cjs/extensions.js +138 -0
  32. package/dist/cjs/fields.d.ts +22 -0
  33. package/dist/cjs/fields.js +39 -0
  34. package/dist/cjs/from-binary.d.ts +34 -0
  35. package/dist/cjs/from-binary.js +221 -0
  36. package/dist/cjs/from-json.d.ts +48 -0
  37. package/dist/cjs/from-json.js +614 -0
  38. package/dist/cjs/index.d.ts +16 -42
  39. package/dist/cjs/index.js +21 -55
  40. package/dist/cjs/is-message.d.ts +5 -20
  41. package/dist/cjs/is-message.js +11 -29
  42. package/dist/cjs/json-value.d.ts +16 -0
  43. package/dist/cjs/proto-int64.js +2 -2
  44. package/dist/cjs/reflect/error.d.ts +9 -0
  45. package/dist/cjs/reflect/error.js +36 -0
  46. package/dist/cjs/reflect/guard.d.ts +20 -0
  47. package/dist/cjs/reflect/guard.js +78 -0
  48. package/dist/cjs/reflect/index.d.ts +8 -0
  49. package/dist/cjs/reflect/index.js +41 -0
  50. package/dist/cjs/reflect/names.d.ts +23 -0
  51. package/dist/cjs/reflect/names.js +112 -0
  52. package/dist/cjs/reflect/nested-types.d.ts +2 -0
  53. package/dist/cjs/reflect/nested-types.js +38 -0
  54. package/dist/cjs/reflect/reflect-check.d.ts +10 -0
  55. package/dist/cjs/reflect/reflect-check.js +150 -0
  56. package/dist/cjs/reflect/reflect-types.d.ts +136 -0
  57. package/dist/cjs/{extension.js → reflect/reflect-types.js} +1 -0
  58. package/dist/cjs/reflect/reflect.d.ts +23 -0
  59. package/dist/cjs/reflect/reflect.js +409 -0
  60. package/dist/cjs/reflect/registry.d.ts +82 -0
  61. package/dist/cjs/reflect/registry.js +870 -0
  62. package/dist/{esm → cjs/reflect}/scalar.d.ts +21 -1
  63. package/dist/cjs/reflect/scalar.js +298 -0
  64. package/dist/cjs/reflect/unsafe.d.ts +58 -0
  65. package/dist/cjs/reflect/unsafe.js +171 -0
  66. package/dist/cjs/to-binary.d.ts +24 -0
  67. package/dist/cjs/to-binary.js +194 -0
  68. package/dist/cjs/to-json.d.ts +50 -0
  69. package/dist/cjs/to-json.js +384 -0
  70. package/dist/cjs/types.d.ts +68 -0
  71. package/dist/cjs/wire/base64-encoding.d.ts +23 -0
  72. package/dist/cjs/wire/base64-encoding.js +156 -0
  73. package/dist/cjs/wire/binary-encoding.d.ts +242 -0
  74. package/dist/cjs/{binary-encoding.js → wire/binary-encoding.js} +11 -10
  75. package/dist/cjs/wire/index.d.ts +5 -0
  76. package/dist/cjs/wire/index.js +34 -0
  77. package/dist/cjs/wire/size-delimited.d.ts +51 -0
  78. package/dist/cjs/wire/size-delimited.js +154 -0
  79. package/dist/cjs/wire/text-encoding.d.ts +26 -0
  80. package/dist/cjs/wire/text-encoding.js +55 -0
  81. package/dist/cjs/wire/text-format.d.ts +14 -0
  82. package/dist/cjs/{private → wire}/text-format.js +12 -2
  83. package/dist/{esm/google → cjs/wire}/varint.d.ts +2 -2
  84. package/dist/cjs/{google → wire}/varint.js +11 -10
  85. package/dist/cjs/wkt/any.d.ts +38 -0
  86. package/dist/cjs/wkt/any.js +76 -0
  87. package/dist/cjs/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
  88. package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +22 -0
  89. package/dist/cjs/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
  90. package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +30 -0
  91. package/dist/cjs/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
  92. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +55 -0
  93. package/dist/cjs/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
  94. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +691 -0
  95. package/dist/{esm → cjs/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
  96. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +22 -0
  97. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
  98. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +22 -0
  99. package/dist/{esm → cjs/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
  100. package/dist/cjs/{proto-double.js → wkt/gen/google/protobuf/field_mask_pb.js} +7 -14
  101. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
  102. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +22 -0
  103. package/dist/{esm → cjs/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
  104. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +48 -0
  105. package/dist/{esm → cjs/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
  106. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +22 -0
  107. package/dist/{esm → cjs/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
  108. package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +223 -0
  109. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
  110. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +46 -0
  111. package/dist/cjs/wkt/index.d.ts +15 -0
  112. package/dist/cjs/wkt/index.js +44 -0
  113. package/dist/cjs/wkt/timestamp.d.ts +21 -0
  114. package/dist/cjs/wkt/timestamp.js +58 -0
  115. package/dist/cjs/wkt/wrappers.d.ts +15 -0
  116. package/dist/cjs/wkt/wrappers.js +43 -0
  117. package/dist/esm/clone.d.ts +6 -0
  118. package/dist/esm/clone.js +73 -0
  119. package/dist/esm/codegenv1/boot.d.ts +63 -0
  120. package/dist/esm/codegenv1/boot.js +97 -0
  121. package/dist/esm/codegenv1/embed.d.ts +43 -0
  122. package/dist/esm/codegenv1/embed.js +232 -0
  123. package/dist/esm/codegenv1/enum.d.ts +17 -0
  124. package/dist/esm/codegenv1/enum.js +38 -0
  125. package/dist/esm/codegenv1/extension.d.ts +9 -0
  126. package/dist/esm/codegenv1/extension.js +25 -0
  127. package/dist/esm/codegenv1/file.d.ts +7 -0
  128. package/dist/esm/codegenv1/file.js +34 -0
  129. package/dist/esm/codegenv1/index.d.ts +9 -0
  130. package/dist/esm/codegenv1/index.js +22 -0
  131. package/dist/esm/codegenv1/message.d.ts +9 -0
  132. package/dist/esm/codegenv1/message.js +21 -0
  133. package/dist/esm/codegenv1/restore-json-names.d.ts +2 -0
  134. package/dist/esm/codegenv1/restore-json-names.js +23 -0
  135. package/dist/esm/codegenv1/service.d.ts +8 -0
  136. package/dist/esm/codegenv1/service.js +24 -0
  137. package/dist/esm/codegenv1/symbols.d.ts +116 -0
  138. package/dist/esm/codegenv1/symbols.js +55 -0
  139. package/dist/esm/codegenv1/types.d.ts +19 -0
  140. package/dist/esm/{field-list.js → codegenv1/types.js} +6 -0
  141. package/dist/esm/create.d.ts +9 -0
  142. package/dist/esm/create.js +239 -0
  143. package/dist/{cjs/descriptor-set.d.ts → esm/desc-types.d.ts} +144 -242
  144. package/dist/esm/equals.d.ts +9 -0
  145. package/dist/esm/equals.js +129 -0
  146. package/dist/esm/{extension-accessor.d.ts → extensions.d.ts} +11 -7
  147. package/dist/esm/extensions.js +130 -0
  148. package/dist/esm/fields.d.ts +22 -0
  149. package/dist/esm/fields.js +34 -0
  150. package/dist/esm/from-binary.d.ts +34 -0
  151. package/dist/esm/from-binary.js +215 -0
  152. package/dist/esm/from-json.d.ts +48 -0
  153. package/dist/esm/from-json.js +607 -0
  154. package/dist/esm/index.d.ts +16 -42
  155. package/dist/esm/index.js +13 -30
  156. package/dist/esm/is-message.d.ts +5 -20
  157. package/dist/esm/is-message.js +11 -29
  158. package/dist/esm/json-value.d.ts +16 -0
  159. package/dist/esm/proto-int64.js +2 -2
  160. package/dist/esm/reflect/error.d.ts +9 -0
  161. package/dist/esm/reflect/error.js +31 -0
  162. package/dist/esm/reflect/guard.d.ts +20 -0
  163. package/dist/esm/reflect/guard.js +70 -0
  164. package/dist/esm/reflect/index.d.ts +8 -0
  165. package/dist/esm/reflect/index.js +21 -0
  166. package/dist/esm/reflect/names.d.ts +23 -0
  167. package/dist/esm/reflect/names.js +106 -0
  168. package/dist/esm/reflect/nested-types.d.ts +2 -0
  169. package/dist/esm/reflect/nested-types.js +34 -0
  170. package/dist/esm/reflect/reflect-check.d.ts +10 -0
  171. package/dist/esm/reflect/reflect-check.js +143 -0
  172. package/dist/esm/reflect/reflect-types.d.ts +136 -0
  173. package/dist/esm/reflect/reflect-types.js +15 -0
  174. package/dist/esm/reflect/reflect.d.ts +23 -0
  175. package/dist/esm/reflect/reflect.js +403 -0
  176. package/dist/esm/reflect/registry.d.ts +82 -0
  177. package/dist/esm/reflect/registry.js +865 -0
  178. package/dist/{cjs → esm/reflect}/scalar.d.ts +21 -1
  179. package/dist/esm/reflect/scalar.js +289 -0
  180. package/dist/esm/reflect/unsafe.d.ts +58 -0
  181. package/dist/esm/reflect/unsafe.js +160 -0
  182. package/dist/esm/to-binary.d.ts +24 -0
  183. package/dist/esm/to-binary.js +189 -0
  184. package/dist/esm/to-json.d.ts +50 -0
  185. package/dist/esm/to-json.js +379 -0
  186. package/dist/esm/types.d.ts +68 -0
  187. package/dist/esm/wire/base64-encoding.d.ts +23 -0
  188. package/dist/esm/wire/base64-encoding.js +151 -0
  189. package/dist/esm/wire/binary-encoding.d.ts +242 -0
  190. package/dist/esm/{binary-encoding.js → wire/binary-encoding.js} +11 -10
  191. package/dist/esm/wire/index.d.ts +5 -0
  192. package/dist/esm/wire/index.js +18 -0
  193. package/dist/esm/wire/size-delimited.d.ts +51 -0
  194. package/dist/esm/wire/size-delimited.js +148 -0
  195. package/dist/esm/wire/text-encoding.d.ts +26 -0
  196. package/dist/esm/wire/text-encoding.js +50 -0
  197. package/dist/esm/wire/text-format.d.ts +14 -0
  198. package/dist/esm/{private → wire}/text-format.js +12 -2
  199. package/dist/{cjs/google → esm/wire}/varint.d.ts +2 -2
  200. package/dist/esm/{google → wire}/varint.js +11 -10
  201. package/dist/esm/wkt/any.d.ts +38 -0
  202. package/dist/esm/wkt/any.js +69 -0
  203. package/dist/esm/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
  204. package/dist/esm/wkt/gen/google/protobuf/any_pb.js +19 -0
  205. package/dist/esm/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
  206. package/dist/esm/wkt/gen/google/protobuf/api_pb.js +27 -0
  207. package/dist/esm/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
  208. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +52 -0
  209. package/dist/esm/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
  210. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +687 -0
  211. package/dist/{cjs → esm/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
  212. package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +19 -0
  213. package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
  214. package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +19 -0
  215. package/dist/{cjs → esm/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
  216. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +19 -0
  217. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
  218. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +19 -0
  219. package/dist/{cjs → esm/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
  220. package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +45 -0
  221. package/dist/{cjs → esm/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
  222. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +19 -0
  223. package/dist/{cjs → esm/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
  224. package/dist/esm/wkt/gen/google/protobuf/type_pb.js +220 -0
  225. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
  226. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +43 -0
  227. package/dist/esm/wkt/index.d.ts +15 -0
  228. package/dist/esm/wkt/index.js +28 -0
  229. package/dist/esm/wkt/timestamp.d.ts +21 -0
  230. package/dist/esm/wkt/timestamp.js +50 -0
  231. package/dist/esm/wkt/wrappers.d.ts +15 -0
  232. package/dist/esm/wkt/wrappers.js +38 -0
  233. package/package.json +39 -7
  234. package/dist/cjs/binary-encoding.d.ts +0 -420
  235. package/dist/cjs/binary-format.d.ts +0 -113
  236. package/dist/cjs/codegen-info.d.ts +0 -33
  237. package/dist/cjs/codegen-info.js +0 -69
  238. package/dist/cjs/create-descriptor-set.d.ts +0 -36
  239. package/dist/cjs/create-descriptor-set.js +0 -910
  240. package/dist/cjs/create-registry-from-desc.d.ts +0 -15
  241. package/dist/cjs/create-registry-from-desc.js +0 -264
  242. package/dist/cjs/create-registry.d.ts +0 -9
  243. package/dist/cjs/create-registry.js +0 -94
  244. package/dist/cjs/enum.d.ts +0 -35
  245. package/dist/cjs/extension-accessor.js +0 -114
  246. package/dist/cjs/extension.d.ts +0 -24
  247. package/dist/cjs/field-list.d.ts +0 -27
  248. package/dist/cjs/field-list.js +0 -15
  249. package/dist/cjs/field.d.ts +0 -314
  250. package/dist/cjs/field.js +0 -15
  251. package/dist/cjs/google/protobuf/any_pb.js +0 -273
  252. package/dist/cjs/google/protobuf/api_pb.js +0 -316
  253. package/dist/cjs/google/protobuf/compiler/plugin_pb.js +0 -219
  254. package/dist/cjs/google/protobuf/descriptor_pb.js +0 -2034
  255. package/dist/cjs/google/protobuf/duration_pb.js +0 -169
  256. package/dist/cjs/google/protobuf/empty_pb.d.ts +0 -28
  257. package/dist/cjs/google/protobuf/empty_pb.js +0 -52
  258. package/dist/cjs/google/protobuf/field_mask_pb.js +0 -311
  259. package/dist/cjs/google/protobuf/source_context_pb.d.ts +0 -29
  260. package/dist/cjs/google/protobuf/source_context_pb.js +0 -55
  261. package/dist/cjs/google/protobuf/struct_pb.js +0 -240
  262. package/dist/cjs/google/protobuf/timestamp_pb.js +0 -213
  263. package/dist/cjs/google/protobuf/type_pb.js +0 -562
  264. package/dist/cjs/google/protobuf/wrappers_pb.d.ts +0 -267
  265. package/dist/cjs/google/protobuf/wrappers_pb.js +0 -569
  266. package/dist/cjs/json-format.d.ts +0 -111
  267. package/dist/cjs/json-format.js +0 -15
  268. package/dist/cjs/message-type.d.ts +0 -51
  269. package/dist/cjs/message-type.js +0 -15
  270. package/dist/cjs/message.d.ts +0 -130
  271. package/dist/cjs/message.js +0 -128
  272. package/dist/cjs/private/binary-format.d.ts +0 -7
  273. package/dist/cjs/private/binary-format.js +0 -430
  274. package/dist/cjs/private/enum.d.ts +0 -27
  275. package/dist/cjs/private/enum.js +0 -94
  276. package/dist/cjs/private/extensions.d.ts +0 -34
  277. package/dist/cjs/private/extensions.js +0 -86
  278. package/dist/cjs/private/feature-set.d.ts +0 -19
  279. package/dist/cjs/private/feature-set.js +0 -106
  280. package/dist/cjs/private/field-list.d.ts +0 -18
  281. package/dist/cjs/private/field-list.js +0 -76
  282. package/dist/cjs/private/field-normalize.d.ts +0 -9
  283. package/dist/cjs/private/field-normalize.js +0 -69
  284. package/dist/cjs/private/field-wrapper.d.ts +0 -25
  285. package/dist/cjs/private/field-wrapper.js +0 -57
  286. package/dist/cjs/private/field.d.ts +0 -16
  287. package/dist/cjs/private/field.js +0 -45
  288. package/dist/cjs/private/json-format.d.ts +0 -2
  289. package/dist/cjs/private/json-format.js +0 -626
  290. package/dist/cjs/private/message-type.d.ts +0 -18
  291. package/dist/cjs/private/message-type.js +0 -50
  292. package/dist/cjs/private/names.d.ts +0 -43
  293. package/dist/cjs/private/names.js +0 -278
  294. package/dist/cjs/private/options-map.d.ts +0 -7
  295. package/dist/cjs/private/options-map.js +0 -15
  296. package/dist/cjs/private/proto-runtime.d.ts +0 -53
  297. package/dist/cjs/private/proto-runtime.js +0 -41
  298. package/dist/cjs/private/reflect.d.ts +0 -9
  299. package/dist/cjs/private/reflect.js +0 -79
  300. package/dist/cjs/private/reify-wkt.d.ts +0 -102
  301. package/dist/cjs/private/reify-wkt.js +0 -172
  302. package/dist/cjs/private/scalars.d.ts +0 -18
  303. package/dist/cjs/private/scalars.js +0 -105
  304. package/dist/cjs/private/text-format.d.ts +0 -4
  305. package/dist/cjs/private/util-common.d.ts +0 -2
  306. package/dist/cjs/private/util-common.js +0 -234
  307. package/dist/cjs/private/util.d.ts +0 -38
  308. package/dist/cjs/private/util.js +0 -15
  309. package/dist/cjs/proto-base64.d.ts +0 -18
  310. package/dist/cjs/proto-base64.js +0 -128
  311. package/dist/cjs/proto-delimited.d.ts +0 -54
  312. package/dist/cjs/proto-delimited.js +0 -155
  313. package/dist/cjs/proto-double.d.ts +0 -5
  314. package/dist/cjs/proto2.d.ts +0 -4
  315. package/dist/cjs/proto2.js +0 -53
  316. package/dist/cjs/proto3.d.ts +0 -4
  317. package/dist/cjs/proto3.js +0 -56
  318. package/dist/cjs/scalar.js +0 -81
  319. package/dist/cjs/service-type.d.ts +0 -96
  320. package/dist/cjs/service-type.js +0 -53
  321. package/dist/cjs/to-plain-message.d.ts +0 -12
  322. package/dist/cjs/to-plain-message.js +0 -72
  323. package/dist/cjs/type-registry.d.ts +0 -57
  324. package/dist/cjs/type-registry.js +0 -15
  325. package/dist/esm/binary-encoding.d.ts +0 -420
  326. package/dist/esm/binary-format.d.ts +0 -113
  327. package/dist/esm/codegen-info.d.ts +0 -33
  328. package/dist/esm/codegen-info.js +0 -67
  329. package/dist/esm/create-descriptor-set.d.ts +0 -36
  330. package/dist/esm/create-descriptor-set.js +0 -906
  331. package/dist/esm/create-registry-from-desc.d.ts +0 -15
  332. package/dist/esm/create-registry-from-desc.js +0 -261
  333. package/dist/esm/create-registry.d.ts +0 -9
  334. package/dist/esm/create-registry.js +0 -90
  335. package/dist/esm/descriptor-set.js +0 -14
  336. package/dist/esm/enum.d.ts +0 -35
  337. package/dist/esm/extension-accessor.js +0 -107
  338. package/dist/esm/extension.d.ts +0 -24
  339. package/dist/esm/field-list.d.ts +0 -27
  340. package/dist/esm/field.d.ts +0 -314
  341. package/dist/esm/field.js +0 -14
  342. package/dist/esm/google/protobuf/any_pb.js +0 -269
  343. package/dist/esm/google/protobuf/api_pb.js +0 -310
  344. package/dist/esm/google/protobuf/compiler/plugin_pb.js +0 -212
  345. package/dist/esm/google/protobuf/descriptor_pb.js +0 -1999
  346. package/dist/esm/google/protobuf/duration_pb.js +0 -165
  347. package/dist/esm/google/protobuf/empty_pb.d.ts +0 -28
  348. package/dist/esm/google/protobuf/empty_pb.js +0 -48
  349. package/dist/esm/google/protobuf/field_mask_pb.js +0 -307
  350. package/dist/esm/google/protobuf/source_context_pb.d.ts +0 -29
  351. package/dist/esm/google/protobuf/source_context_pb.js +0 -51
  352. package/dist/esm/google/protobuf/struct_pb.js +0 -234
  353. package/dist/esm/google/protobuf/timestamp_pb.js +0 -209
  354. package/dist/esm/google/protobuf/type_pb.js +0 -554
  355. package/dist/esm/google/protobuf/wrappers_pb.d.ts +0 -267
  356. package/dist/esm/google/protobuf/wrappers_pb.js +0 -557
  357. package/dist/esm/json-format.d.ts +0 -111
  358. package/dist/esm/json-format.js +0 -14
  359. package/dist/esm/message-type.d.ts +0 -51
  360. package/dist/esm/message-type.js +0 -14
  361. package/dist/esm/message.d.ts +0 -130
  362. package/dist/esm/message.js +0 -124
  363. package/dist/esm/private/binary-format.d.ts +0 -7
  364. package/dist/esm/private/binary-format.js +0 -426
  365. package/dist/esm/private/enum.d.ts +0 -27
  366. package/dist/esm/private/enum.js +0 -87
  367. package/dist/esm/private/extensions.d.ts +0 -34
  368. package/dist/esm/private/extensions.js +0 -81
  369. package/dist/esm/private/feature-set.d.ts +0 -19
  370. package/dist/esm/private/feature-set.js +0 -102
  371. package/dist/esm/private/field-list.d.ts +0 -18
  372. package/dist/esm/private/field-list.js +0 -72
  373. package/dist/esm/private/field-normalize.d.ts +0 -9
  374. package/dist/esm/private/field-normalize.js +0 -65
  375. package/dist/esm/private/field-wrapper.d.ts +0 -25
  376. package/dist/esm/private/field-wrapper.js +0 -53
  377. package/dist/esm/private/field.d.ts +0 -16
  378. package/dist/esm/private/field.js +0 -41
  379. package/dist/esm/private/json-format.d.ts +0 -2
  380. package/dist/esm/private/json-format.js +0 -623
  381. package/dist/esm/private/message-type.d.ts +0 -18
  382. package/dist/esm/private/message-type.js +0 -46
  383. package/dist/esm/private/names.d.ts +0 -43
  384. package/dist/esm/private/names.js +0 -269
  385. package/dist/esm/private/options-map.d.ts +0 -7
  386. package/dist/esm/private/options-map.js +0 -14
  387. package/dist/esm/private/proto-runtime.d.ts +0 -53
  388. package/dist/esm/private/proto-runtime.js +0 -37
  389. package/dist/esm/private/reflect.d.ts +0 -9
  390. package/dist/esm/private/reflect.js +0 -74
  391. package/dist/esm/private/reify-wkt.d.ts +0 -102
  392. package/dist/esm/private/reify-wkt.js +0 -168
  393. package/dist/esm/private/scalars.d.ts +0 -18
  394. package/dist/esm/private/scalars.js +0 -99
  395. package/dist/esm/private/text-format.d.ts +0 -4
  396. package/dist/esm/private/util-common.d.ts +0 -2
  397. package/dist/esm/private/util-common.js +0 -231
  398. package/dist/esm/private/util.d.ts +0 -38
  399. package/dist/esm/private/util.js +0 -14
  400. package/dist/esm/proto-base64.d.ts +0 -18
  401. package/dist/esm/proto-base64.js +0 -125
  402. package/dist/esm/proto-delimited.d.ts +0 -54
  403. package/dist/esm/proto-delimited.js +0 -152
  404. package/dist/esm/proto-double.d.ts +0 -5
  405. package/dist/esm/proto-double.js +0 -26
  406. package/dist/esm/proto2.d.ts +0 -4
  407. package/dist/esm/proto2.js +0 -50
  408. package/dist/esm/proto3.d.ts +0 -4
  409. package/dist/esm/proto3.js +0 -53
  410. package/dist/esm/scalar.js +0 -78
  411. package/dist/esm/service-type.d.ts +0 -96
  412. package/dist/esm/service-type.js +0 -50
  413. package/dist/esm/to-plain-message.d.ts +0 -12
  414. package/dist/esm/to-plain-message.js +0 -70
  415. package/dist/esm/type-registry.d.ts +0 -57
  416. package/dist/esm/type-registry.js +0 -14
  417. /package/dist/cjs/{binary-format.js → desc-types.js} +0 -0
  418. /package/dist/cjs/{descriptor-set.js → json-value.js} +0 -0
  419. /package/dist/cjs/{private → reflect}/assert.d.ts +0 -0
  420. /package/dist/cjs/{private → reflect}/assert.js +0 -0
  421. /package/dist/cjs/{enum.js → types.js} +0 -0
  422. /package/dist/esm/{binary-format.js → desc-types.js} +0 -0
  423. /package/dist/esm/{enum.js → json-value.js} +0 -0
  424. /package/dist/esm/{private → reflect}/assert.d.ts +0 -0
  425. /package/dist/esm/{private → reflect}/assert.js +0 -0
  426. /package/dist/esm/{extension.js → types.js} +0 -0
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ // Copyright 2021-2024 Buf Technologies, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.equals = void 0;
17
+ const scalar_js_1 = require("./reflect/scalar.js");
18
+ const reflect_js_1 = require("./reflect/reflect.js");
19
+ /**
20
+ * Compare two messages of the same type.
21
+ *
22
+ * Note that this function disregards extensions and unknown fields, and that
23
+ * NaN is not equal NaN, following the IEEE standard.
24
+ */
25
+ function equals(messageDesc, a, b) {
26
+ if (a.$typeName != messageDesc.typeName ||
27
+ b.$typeName != messageDesc.typeName) {
28
+ return false;
29
+ }
30
+ if (a === b) {
31
+ return true;
32
+ }
33
+ return reflectEquals((0, reflect_js_1.reflect)(messageDesc, a), (0, reflect_js_1.reflect)(messageDesc, b));
34
+ }
35
+ exports.equals = equals;
36
+ function reflectEquals(a, b) {
37
+ for (const f of a.fields) {
38
+ if (!fieldEquals(f, a, b)) {
39
+ return false;
40
+ }
41
+ }
42
+ return true;
43
+ }
44
+ function fieldEquals(f, a, b) {
45
+ if (!a.isSet(f) && !b.isSet(f)) {
46
+ return true;
47
+ }
48
+ if (!a.isSet(f) || !b.isSet(f)) {
49
+ return false;
50
+ }
51
+ switch (f.fieldKind) {
52
+ case "scalar":
53
+ return (0, scalar_js_1.scalarEquals)(f.scalar, a.get(f), b.get(f));
54
+ case "enum":
55
+ return a.get(f) === b.get(f);
56
+ case "message":
57
+ return reflectEquals(a.get(f), b.get(f));
58
+ case "map": {
59
+ const ma = a.get(f);
60
+ const mb = b.get(f);
61
+ const keysA = [];
62
+ for (const k of ma.keys()) {
63
+ if (!mb.has(k)) {
64
+ return false;
65
+ }
66
+ keysA.push(k);
67
+ }
68
+ for (const k of mb.keys()) {
69
+ if (!ma.has(k)) {
70
+ return false;
71
+ }
72
+ }
73
+ for (const key of keysA) {
74
+ const va = ma.get(key);
75
+ const vb = mb.get(key);
76
+ if (va === vb) {
77
+ continue;
78
+ }
79
+ switch (f.mapKind) {
80
+ case "enum":
81
+ return false;
82
+ case "message":
83
+ // TODO fix type error
84
+ // @ts-expect-error TODO
85
+ if (!reflectEquals(va, vb)) {
86
+ return false;
87
+ }
88
+ break;
89
+ case "scalar":
90
+ // TODO fix type error
91
+ // @ts-expect-error TODO
92
+ if (!(0, scalar_js_1.scalarEquals)(f.scalar, va, vb)) {
93
+ return false;
94
+ }
95
+ break;
96
+ }
97
+ }
98
+ break;
99
+ }
100
+ case "list": {
101
+ const la = a.get(f);
102
+ const lb = b.get(f);
103
+ if (la.size != lb.size) {
104
+ return false;
105
+ }
106
+ for (let i = 0; i < la.size; i++) {
107
+ if (la.get(i) === lb.get(i)) {
108
+ continue;
109
+ }
110
+ switch (f.listKind) {
111
+ case "enum":
112
+ return false;
113
+ case "message":
114
+ // TODO fix type error
115
+ // @ts-expect-error TODO
116
+ if (!reflectEquals(la.get(i), lb.get(i))) {
117
+ return false;
118
+ }
119
+ break;
120
+ case "scalar":
121
+ // TODO fix type error
122
+ // @ts-expect-error TODO
123
+ if (!(0, scalar_js_1.scalarEquals)(f.scalar, la.get(i), lb.get(i))) {
124
+ return false;
125
+ }
126
+ break;
127
+ }
128
+ }
129
+ break;
130
+ }
131
+ }
132
+ return true;
133
+ }
@@ -1,6 +1,6 @@
1
- import type { Message } from "./message.js";
2
- import type { BinaryReadOptions, BinaryWriteOptions } from "./binary-format.js";
3
- import type { Extension } from "./extension.js";
1
+ import type { DescExtension, DescField } from "./desc-types.js";
2
+ import type { ReflectMessage } from "./reflect/reflect-types.js";
3
+ import type { Extendee, ExtensionValueShape } from "./types.js";
4
4
  /**
5
5
  * Retrieve an extension value from a message.
6
6
  *
@@ -15,21 +15,25 @@ import type { Extension } from "./extension.js";
15
15
  *
16
16
  * If the extension does not extend the given message, an error is raised.
17
17
  */
18
- export declare function getExtension<E extends Message<E>, V>(message: E, extension: Extension<E, V>, options?: Partial<BinaryReadOptions>): V;
18
+ export declare function getExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): ExtensionValueShape<Desc>;
19
19
  /**
20
20
  * Set an extension value on a message. If the message already has a value for
21
21
  * this extension, the value is replaced.
22
22
  *
23
23
  * If the extension does not extend the given message, an error is raised.
24
24
  */
25
- export declare function setExtension<E extends Message<E>, V>(message: E, extension: Extension<E, V>, value: V, options?: Partial<BinaryReadOptions & BinaryWriteOptions>): void;
25
+ export declare function setExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc, value: ExtensionValueShape<Desc>): void;
26
26
  /**
27
27
  * Remove an extension value from a message.
28
28
  *
29
29
  * If the extension does not extend the given message, an error is raised.
30
30
  */
31
- export declare function clearExtension<E extends Message<E>, V>(message: E, extension: Extension<E, V>): void;
31
+ export declare function clearExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): void;
32
32
  /**
33
33
  * Check whether an extension is set on a message.
34
34
  */
35
- export declare function hasExtension<E extends Message<E>, V>(message: E, extension: Extension<E, V>): boolean;
35
+ export declare function hasExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): boolean;
36
+ /**
37
+ * @private
38
+ */
39
+ export declare function createExtensionContainer<Desc extends DescExtension>(extension: Desc, value?: ExtensionValueShape<Desc>): [ReflectMessage, DescField, () => ExtensionValueShape<Desc>];
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ // Copyright 2021-2024 Buf Technologies, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createExtensionContainer = exports.hasExtension = exports.clearExtension = exports.setExtension = exports.getExtension = void 0;
17
+ const assert_js_1 = require("./reflect/assert.js");
18
+ const create_js_1 = require("./create.js");
19
+ const from_binary_js_1 = require("./from-binary.js");
20
+ const names_js_1 = require("./reflect/names.js");
21
+ const reflect_js_1 = require("./reflect/reflect.js");
22
+ const scalar_js_1 = require("./reflect/scalar.js");
23
+ const to_binary_js_1 = require("./to-binary.js");
24
+ const binary_encoding_js_1 = require("./wire/binary-encoding.js");
25
+ const wrappers_js_1 = require("./wkt/wrappers.js");
26
+ /**
27
+ * Retrieve an extension value from a message.
28
+ *
29
+ * The function never returns undefined. Use hasExtension() to check whether an
30
+ * extension is set. If the extension is not set, this function returns the
31
+ * default value (if one was specified in the protobuf source), or the zero value
32
+ * (for example `0` for numeric types, `[]` for repeated extension fields, and
33
+ * an empty message instance for message fields).
34
+ *
35
+ * Extensions are stored as unknown fields on a message. To mutate an extension
36
+ * value, make sure to store the new value with setExtension() after mutating.
37
+ *
38
+ * If the extension does not extend the given message, an error is raised.
39
+ */
40
+ function getExtension(message, extension) {
41
+ assertExtendee(extension, message);
42
+ const ufs = filterUnknownFields(message.$unknown, extension);
43
+ const [container, field, get] = createExtensionContainer(extension);
44
+ for (const uf of ufs) {
45
+ (0, from_binary_js_1.readField)(container, new binary_encoding_js_1.BinaryReader(uf.data), field, uf.wireType, {
46
+ readUnknownFields: false,
47
+ });
48
+ }
49
+ return get();
50
+ }
51
+ exports.getExtension = getExtension;
52
+ /**
53
+ * Set an extension value on a message. If the message already has a value for
54
+ * this extension, the value is replaced.
55
+ *
56
+ * If the extension does not extend the given message, an error is raised.
57
+ */
58
+ function setExtension(message, extension, value) {
59
+ var _a;
60
+ assertExtendee(extension, message);
61
+ const ufs = ((_a = message.$unknown) !== null && _a !== void 0 ? _a : []).filter((uf) => uf.no !== extension.number);
62
+ const [container, field] = createExtensionContainer(extension, value);
63
+ const writer = new binary_encoding_js_1.BinaryWriter();
64
+ (0, to_binary_js_1.writeField)(writer, { writeUnknownFields: false }, container, field);
65
+ const reader = new binary_encoding_js_1.BinaryReader(writer.finish());
66
+ while (reader.pos < reader.len) {
67
+ const [no, wireType] = reader.tag();
68
+ const data = reader.skip(wireType);
69
+ ufs.push({ no, wireType, data });
70
+ }
71
+ message.$unknown = ufs;
72
+ }
73
+ exports.setExtension = setExtension;
74
+ /**
75
+ * Remove an extension value from a message.
76
+ *
77
+ * If the extension does not extend the given message, an error is raised.
78
+ */
79
+ function clearExtension(message, extension) {
80
+ assertExtendee(extension, message);
81
+ if (message.$unknown === undefined) {
82
+ return;
83
+ }
84
+ message.$unknown = message.$unknown.filter((uf) => uf.no !== extension.number);
85
+ }
86
+ exports.clearExtension = clearExtension;
87
+ /**
88
+ * Check whether an extension is set on a message.
89
+ */
90
+ function hasExtension(message, extension) {
91
+ var _a;
92
+ return (extension.extendee.typeName === message.$typeName &&
93
+ !!((_a = message.$unknown) === null || _a === void 0 ? void 0 : _a.find((uf) => uf.no === extension.number)));
94
+ }
95
+ exports.hasExtension = hasExtension;
96
+ function filterUnknownFields(unknownFields, extension) {
97
+ if (unknownFields === undefined)
98
+ return [];
99
+ if (extension.fieldKind === "enum" || extension.fieldKind === "scalar") {
100
+ // singular scalar fields do not merge, we pick the last
101
+ for (let i = unknownFields.length - 1; i >= 0; --i) {
102
+ if (unknownFields[i].no == extension.number) {
103
+ return [unknownFields[i]];
104
+ }
105
+ }
106
+ return [];
107
+ }
108
+ return unknownFields.filter((uf) => uf.no === extension.number);
109
+ }
110
+ /**
111
+ * @private
112
+ */
113
+ function createExtensionContainer(extension, value) {
114
+ const field = Object.assign(Object.assign({}, extension), { kind: "field", parent: extension.extendee });
115
+ const desc = Object.assign(Object.assign({}, extension.extendee), { fields: [field], members: [field], oneofs: [] });
116
+ const fieldName = (0, names_js_1.localName)(field);
117
+ const container = (0, create_js_1.create)(desc, value !== undefined ? { [fieldName]: value } : undefined);
118
+ return [
119
+ (0, reflect_js_1.reflect)(desc, container),
120
+ field,
121
+ () => {
122
+ const value = container[fieldName];
123
+ if (value === undefined) {
124
+ // Only message fields are undefined, rest will have a zero value.
125
+ const desc = extension.message;
126
+ if ((0, wrappers_js_1.isWrapperDesc)(desc)) {
127
+ return (0, scalar_js_1.scalarZeroValue)(desc.fields[0].scalar, desc.fields[0].longType);
128
+ }
129
+ return (0, create_js_1.create)(desc);
130
+ }
131
+ return value;
132
+ },
133
+ ];
134
+ }
135
+ exports.createExtensionContainer = createExtensionContainer;
136
+ function assertExtendee(extension, message) {
137
+ (0, assert_js_1.assert)(extension.extendee.typeName == message.$typeName, `extension ${extension.typeName} can only be applied to message ${extension.extendee.typeName}`);
138
+ }
@@ -0,0 +1,22 @@
1
+ import type { Message, MessageShape } from "./types.js";
2
+ import type { DescMessage } from "./desc-types.js";
3
+ /**
4
+ * Returns true if the field is set.
5
+ */
6
+ export declare function isFieldSet<Desc extends DescMessage>(messageDesc: Desc, message: MessageShape<Desc>, fieldName: MessageFieldNames<MessageShape<Desc>>): boolean;
7
+ /**
8
+ * Resets the field, so that isFieldSet() will return false.
9
+ */
10
+ export declare function clearField<Desc extends DescMessage>(messageDesc: Desc, message: MessageShape<Desc>, fieldName: MessageFieldNames<MessageShape<Desc>>): void;
11
+ /**
12
+ * Union of the property names of all fields, including oneof members.
13
+ * For an anonymous message (no generated message shape), it's simply a string.
14
+ */
15
+ type MessageFieldNames<T extends Message> = Message extends T ? string : Exclude<keyof {
16
+ [P in keyof T as P extends ("$typeName" | "$unknown") ? never : T[P] extends Oneof<infer K> ? K : P]-?: true;
17
+ }, number | symbol>;
18
+ type Oneof<K extends string> = {
19
+ case: K | undefined;
20
+ value?: unknown;
21
+ };
22
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // Copyright 2021-2024 Buf Technologies, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.clearField = exports.isFieldSet = void 0;
17
+ const names_js_1 = require("./reflect/names.js");
18
+ const unsafe_js_1 = require("./reflect/unsafe.js");
19
+ /**
20
+ * Returns true if the field is set.
21
+ */
22
+ function isFieldSet(messageDesc, message, fieldName) {
23
+ const field = messageDesc.fields.find((f) => (0, names_js_1.localName)(f) === fieldName);
24
+ if (field) {
25
+ return (0, unsafe_js_1.unsafeIsSet)(message, field);
26
+ }
27
+ return false;
28
+ }
29
+ exports.isFieldSet = isFieldSet;
30
+ /**
31
+ * Resets the field, so that isFieldSet() will return false.
32
+ */
33
+ function clearField(messageDesc, message, fieldName) {
34
+ const field = messageDesc.fields.find((f) => (0, names_js_1.localName)(f) === fieldName);
35
+ if (field) {
36
+ (0, unsafe_js_1.unsafeClear)(message, field);
37
+ }
38
+ }
39
+ exports.clearField = clearField;
@@ -0,0 +1,34 @@
1
+ import type { DescField, DescMessage } from "./desc-types.js";
2
+ import type { MessageShape } from "./types.js";
3
+ import type { ReflectMessage } from "./reflect/index.js";
4
+ import { BinaryReader, WireType } from "./wire/binary-encoding.js";
5
+ /**
6
+ * Options for parsing binary data.
7
+ */
8
+ export interface BinaryReadOptions {
9
+ /**
10
+ * Retain unknown fields during parsing? The default behavior is to retain
11
+ * unknown fields and include them in the serialized output.
12
+ *
13
+ * For more details see https://developers.google.com/protocol-buffers/docs/proto3#unknowns
14
+ */
15
+ readUnknownFields: boolean;
16
+ }
17
+ /**
18
+ * Parse serialized binary data.
19
+ */
20
+ export declare function fromBinary<Desc extends DescMessage>(messageDesc: Desc, bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MessageShape<Desc>;
21
+ /**
22
+ * Parse from binary data, merging fields.
23
+ *
24
+ * Repeated fields are appended. Map entries are added, overwriting
25
+ * existing keys.
26
+ *
27
+ * If a message field is already present, it will be merged with the
28
+ * new data.
29
+ */
30
+ export declare function mergeFromBinary<Desc extends DescMessage>(messageDesc: Desc, target: MessageShape<Desc>, bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MessageShape<Desc>;
31
+ /**
32
+ * @private
33
+ */
34
+ export declare function readField(message: ReflectMessage, reader: BinaryReader, field: DescField, wireType: WireType, options: BinaryReadOptions): void;
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ // Copyright 2021-2024 Buf Technologies, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.readField = exports.mergeFromBinary = exports.fromBinary = void 0;
17
+ const scalar_js_1 = require("./reflect/scalar.js");
18
+ const reflect_js_1 = require("./reflect/reflect.js");
19
+ const binary_encoding_js_1 = require("./wire/binary-encoding.js");
20
+ // Default options for parsing binary data.
21
+ const readDefaults = {
22
+ readUnknownFields: true,
23
+ };
24
+ function makeReadOptions(options) {
25
+ return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;
26
+ }
27
+ /**
28
+ * Parse serialized binary data.
29
+ */
30
+ function fromBinary(messageDesc, bytes, options) {
31
+ const msg = (0, reflect_js_1.reflect)(messageDesc);
32
+ readMessage(msg, new binary_encoding_js_1.BinaryReader(bytes), makeReadOptions(options), false, bytes.byteLength);
33
+ return msg.message;
34
+ }
35
+ exports.fromBinary = fromBinary;
36
+ /**
37
+ * Parse from binary data, merging fields.
38
+ *
39
+ * Repeated fields are appended. Map entries are added, overwriting
40
+ * existing keys.
41
+ *
42
+ * If a message field is already present, it will be merged with the
43
+ * new data.
44
+ */
45
+ function mergeFromBinary(messageDesc, target, bytes, options) {
46
+ readMessage((0, reflect_js_1.reflect)(messageDesc, target), new binary_encoding_js_1.BinaryReader(bytes), makeReadOptions(options), false, bytes.byteLength);
47
+ return target;
48
+ }
49
+ exports.mergeFromBinary = mergeFromBinary;
50
+ /**
51
+ * If `delimited` is false, read the length given in `lengthOrDelimitedFieldNo`.
52
+ *
53
+ * If `delimited` is true, read until an EndGroup tag. `lengthOrDelimitedFieldNo`
54
+ * is the expected field number.
55
+ *
56
+ * @private
57
+ */
58
+ function readMessage(message, reader, options, delimited, lengthOrDelimitedFieldNo) {
59
+ var _a;
60
+ const end = delimited ? reader.len : reader.pos + lengthOrDelimitedFieldNo;
61
+ let fieldNo, wireType;
62
+ const unknownFields = (_a = message.getUnknown()) !== null && _a !== void 0 ? _a : [];
63
+ while (reader.pos < end) {
64
+ [fieldNo, wireType] = reader.tag();
65
+ if (wireType == binary_encoding_js_1.WireType.EndGroup) {
66
+ break;
67
+ }
68
+ const field = message.findNumber(fieldNo);
69
+ if (!field) {
70
+ const data = reader.skip(wireType);
71
+ if (options.readUnknownFields) {
72
+ unknownFields.push({ no: fieldNo, wireType, data });
73
+ }
74
+ continue;
75
+ }
76
+ readField(message, reader, field, wireType, options);
77
+ }
78
+ if (delimited) {
79
+ if (wireType != binary_encoding_js_1.WireType.EndGroup || fieldNo !== lengthOrDelimitedFieldNo) {
80
+ throw new Error(`invalid end group tag`);
81
+ }
82
+ }
83
+ if (unknownFields.length > 0) {
84
+ message.setUnknown(unknownFields);
85
+ }
86
+ }
87
+ /**
88
+ * @private
89
+ */
90
+ function readField(message, reader, field, wireType, options) {
91
+ switch (field.fieldKind) {
92
+ case "scalar":
93
+ message.set(field, readScalar(reader, field.scalar, field.longType));
94
+ break;
95
+ case "enum":
96
+ message.set(field, readScalar(reader, scalar_js_1.ScalarType.INT32));
97
+ break;
98
+ case "message":
99
+ message.set(field, readMessageField(reader, options, field, message.get(field)));
100
+ break;
101
+ case "list":
102
+ readListField(message, reader, options, field, wireType);
103
+ break;
104
+ case "map":
105
+ // eslint-disable-next-line no-case-declarations
106
+ const [key, val] = readMapEntry(field, reader, options);
107
+ message.setMapEntry(field, key, val);
108
+ break;
109
+ }
110
+ }
111
+ exports.readField = readField;
112
+ // Read a map field, expecting key field = 1, value field = 2
113
+ function readMapEntry(field, reader, options) {
114
+ let key, val;
115
+ const end = reader.pos + reader.uint32();
116
+ while (reader.pos < end) {
117
+ const [fieldNo] = reader.tag();
118
+ switch (fieldNo) {
119
+ case 1:
120
+ key = readScalar(reader, field.mapKey);
121
+ break;
122
+ case 2:
123
+ switch (field.mapKind) {
124
+ case "scalar":
125
+ val = readScalar(reader, field.scalar);
126
+ break;
127
+ case "enum":
128
+ val = reader.int32();
129
+ break;
130
+ case "message":
131
+ val = readMessageField(reader, options, field);
132
+ break;
133
+ }
134
+ break;
135
+ }
136
+ }
137
+ if (key === undefined) {
138
+ key = (0, scalar_js_1.scalarZeroValue)(field.mapKey, scalar_js_1.LongType.BIGINT);
139
+ }
140
+ if (val === undefined) {
141
+ switch (field.mapKind) {
142
+ case "scalar":
143
+ val = (0, scalar_js_1.scalarZeroValue)(field.scalar, scalar_js_1.LongType.BIGINT);
144
+ break;
145
+ case "enum":
146
+ val = field.enum.values[0].number;
147
+ break;
148
+ case "message":
149
+ val = (0, reflect_js_1.reflect)(field.message);
150
+ break;
151
+ }
152
+ }
153
+ return [key, val];
154
+ }
155
+ function readListField(message, reader, options, field, wireType) {
156
+ var _a;
157
+ if (field.listKind === "message") {
158
+ message.addListItem(field, readMessageField(reader, options, field));
159
+ return;
160
+ }
161
+ const scalarType = (_a = field.scalar) !== null && _a !== void 0 ? _a : scalar_js_1.ScalarType.INT32;
162
+ const longType = field.listKind == "scalar" ? field.longType : undefined;
163
+ const packed = wireType == binary_encoding_js_1.WireType.LengthDelimited &&
164
+ scalarType != scalar_js_1.ScalarType.STRING &&
165
+ scalarType != scalar_js_1.ScalarType.BYTES;
166
+ if (!packed) {
167
+ message.addListItem(field, readScalar(reader, scalarType, longType));
168
+ return;
169
+ }
170
+ const e = reader.uint32() + reader.pos;
171
+ while (reader.pos < e) {
172
+ message.addListItem(field, readScalar(reader, scalarType, longType));
173
+ }
174
+ }
175
+ function readMessageField(reader, options, field, mergeMessage) {
176
+ const delimited = field.delimitedEncoding;
177
+ const message = mergeMessage !== null && mergeMessage !== void 0 ? mergeMessage : (0, reflect_js_1.reflect)(field.message);
178
+ readMessage(message, reader, options, delimited, delimited ? field.number : reader.uint32());
179
+ return message;
180
+ }
181
+ function readScalar(reader, type, longType) {
182
+ let v = readScalarValue(reader, type);
183
+ if (longType === scalar_js_1.LongType.STRING) {
184
+ v = typeof v == "bigint" ? v.toString() : v;
185
+ }
186
+ return v;
187
+ }
188
+ function readScalarValue(reader, type) {
189
+ switch (type) {
190
+ case scalar_js_1.ScalarType.STRING:
191
+ return reader.string();
192
+ case scalar_js_1.ScalarType.BOOL:
193
+ return reader.bool();
194
+ case scalar_js_1.ScalarType.DOUBLE:
195
+ return reader.double();
196
+ case scalar_js_1.ScalarType.FLOAT:
197
+ return reader.float();
198
+ case scalar_js_1.ScalarType.INT32:
199
+ return reader.int32();
200
+ case scalar_js_1.ScalarType.INT64:
201
+ return reader.int64();
202
+ case scalar_js_1.ScalarType.UINT64:
203
+ return reader.uint64();
204
+ case scalar_js_1.ScalarType.FIXED64:
205
+ return reader.fixed64();
206
+ case scalar_js_1.ScalarType.BYTES:
207
+ return reader.bytes();
208
+ case scalar_js_1.ScalarType.FIXED32:
209
+ return reader.fixed32();
210
+ case scalar_js_1.ScalarType.SFIXED32:
211
+ return reader.sfixed32();
212
+ case scalar_js_1.ScalarType.SFIXED64:
213
+ return reader.sfixed64();
214
+ case scalar_js_1.ScalarType.SINT64:
215
+ return reader.sint64();
216
+ case scalar_js_1.ScalarType.UINT32:
217
+ return reader.uint32();
218
+ case scalar_js_1.ScalarType.SINT32:
219
+ return reader.sint32();
220
+ }
221
+ }
@@ -0,0 +1,48 @@
1
+ import type { DescMessage } from "./desc-types.js";
2
+ import type { JsonValue } from "./json-value.js";
3
+ import type { Registry } from "./reflect/registry.js";
4
+ import type { MessageShape } from "./types.js";
5
+ /**
6
+ * Options for parsing JSON data.
7
+ */
8
+ export interface JsonReadOptions {
9
+ /**
10
+ * Ignore unknown fields: Proto3 JSON parser should reject unknown fields
11
+ * by default. This option ignores unknown fields in parsing, as well as
12
+ * unrecognized enum string representations.
13
+ */
14
+ ignoreUnknownFields: boolean;
15
+ /**
16
+ * This option is required to read `google.protobuf.Any` and extensions
17
+ * from JSON format.
18
+ */
19
+ registry?: Registry;
20
+ }
21
+ /**
22
+ * Parse a message from a JSON string.
23
+ */
24
+ export declare function fromJsonString<Desc extends DescMessage>(messageDesc: Desc, json: string, options?: Partial<JsonReadOptions>): MessageShape<Desc>;
25
+ /**
26
+ * Parse a message from a JSON string, merging fields.
27
+ *
28
+ * Repeated fields are appended. Map entries are added, overwriting
29
+ * existing keys.
30
+ *
31
+ * If a message field is already present, it will be merged with the
32
+ * new data.
33
+ */
34
+ export declare function mergeFromJsonString<Desc extends DescMessage>(messageDesc: Desc, target: MessageShape<Desc>, json: string, options?: Partial<JsonReadOptions>): MessageShape<Desc>;
35
+ /**
36
+ * Parse a message from a JSON value.
37
+ */
38
+ export declare function fromJson<Desc extends DescMessage>(messageDesc: Desc, json: JsonValue, options?: Partial<JsonReadOptions>): MessageShape<Desc>;
39
+ /**
40
+ * Parse a message from a JSON value, merging fields.
41
+ *
42
+ * Repeated fields are appended. Map entries are added, overwriting
43
+ * existing keys.
44
+ *
45
+ * If a message field is already present, it will be merged with the
46
+ * new data.
47
+ */
48
+ export declare function mergeFromJson<Desc extends DescMessage>(messageDesc: Desc, target: MessageShape<Desc>, json: JsonValue, options?: Partial<JsonReadOptions>): MessageShape<Desc>;