@bufbuild/protobuf 1.9.0 → 2.0.0-alpha.2

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 (429) 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 +41 -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 +5 -0
  18. package/dist/cjs/codegenv1/restore-json-names.js +30 -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 +125 -0
  22. package/dist/cjs/codegenv1/symbols.js +67 -0
  23. package/dist/cjs/codegenv1/types.d.ts +72 -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 +231 -0
  27. package/dist/{esm/descriptor-set.d.ts → cjs/desc-types.d.ts} +162 -243
  28. package/dist/cjs/equals.d.ts +9 -0
  29. package/dist/cjs/equals.js +133 -0
  30. package/dist/cjs/extensions.d.ts +59 -0
  31. package/dist/cjs/extensions.js +169 -0
  32. package/dist/cjs/fields.d.ts +23 -0
  33. package/dist/cjs/fields.js +46 -0
  34. package/dist/cjs/from-binary.d.ts +34 -0
  35. package/dist/cjs/from-binary.js +211 -0
  36. package/dist/cjs/from-json.d.ts +48 -0
  37. package/dist/cjs/from-json.js +610 -0
  38. package/dist/cjs/index.d.ts +16 -42
  39. package/dist/cjs/index.js +23 -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 +11 -0
  51. package/dist/cjs/reflect/names.js +74 -0
  52. package/dist/cjs/reflect/nested-types.d.ts +12 -0
  53. package/dist/cjs/reflect/nested-types.js +71 -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 +284 -0
  57. package/dist/cjs/{extension.js → reflect/reflect-types.js} +1 -0
  58. package/dist/cjs/reflect/reflect.d.ts +32 -0
  59. package/dist/cjs/reflect/reflect.js +434 -0
  60. package/dist/cjs/reflect/registry.d.ts +82 -0
  61. package/dist/cjs/reflect/registry.js +879 -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 +166 -0
  66. package/dist/cjs/to-binary.d.ts +24 -0
  67. package/dist/cjs/to-binary.js +192 -0
  68. package/dist/cjs/to-json.d.ts +50 -0
  69. package/dist/cjs/to-json.js +364 -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 +244 -0
  74. package/dist/cjs/{binary-encoding.js → wire/binary-encoding.js} +27 -20
  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/{esm → cjs/wkt/gen}/google/protobuf/any_pb.d.ts +13 -27
  88. package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +27 -0
  89. package/dist/cjs/{google → wkt/gen/google}/protobuf/api_pb.d.ts +29 -38
  90. package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +39 -0
  91. package/dist/cjs/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +67 -75
  92. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
  93. package/dist/cjs/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +564 -527
  94. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +794 -0
  95. package/dist/cjs/{google → wkt/gen/google}/protobuf/duration_pb.d.ts +13 -18
  96. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
  97. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +24 -0
  98. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
  99. package/dist/{esm → cjs/wkt/gen}/google/protobuf/field_mask_pb.d.ts +13 -18
  100. package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
  101. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +26 -0
  102. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
  103. package/dist/{esm → cjs/wkt/gen}/google/protobuf/struct_pb.d.ts +44 -55
  104. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
  105. package/dist/cjs/{google → wkt/gen/google}/protobuf/timestamp_pb.d.ts +13 -21
  106. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
  107. package/dist/{esm → cjs/wkt/gen}/google/protobuf/type_pb.d.ts +77 -80
  108. package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +242 -0
  109. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +186 -0
  110. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -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 +36 -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 +5 -0
  134. package/dist/esm/codegenv1/restore-json-names.js +26 -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 +125 -0
  138. package/dist/esm/codegenv1/symbols.js +64 -0
  139. package/dist/esm/codegenv1/types.d.ts +72 -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 +228 -0
  143. package/dist/{cjs/descriptor-set.d.ts → esm/desc-types.d.ts} +162 -243
  144. package/dist/esm/equals.d.ts +9 -0
  145. package/dist/esm/equals.js +129 -0
  146. package/dist/esm/extensions.d.ts +59 -0
  147. package/dist/esm/extensions.js +159 -0
  148. package/dist/esm/fields.d.ts +23 -0
  149. package/dist/esm/fields.js +41 -0
  150. package/dist/esm/from-binary.d.ts +34 -0
  151. package/dist/esm/from-binary.js +205 -0
  152. package/dist/esm/from-json.d.ts +48 -0
  153. package/dist/esm/from-json.js +603 -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 +11 -0
  167. package/dist/esm/reflect/names.js +69 -0
  168. package/dist/esm/reflect/nested-types.d.ts +12 -0
  169. package/dist/esm/reflect/nested-types.js +66 -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 +284 -0
  173. package/dist/esm/reflect/reflect-types.js +15 -0
  174. package/dist/esm/reflect/reflect.d.ts +32 -0
  175. package/dist/esm/reflect/reflect.js +428 -0
  176. package/dist/esm/reflect/registry.d.ts +82 -0
  177. package/dist/esm/reflect/registry.js +874 -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 +155 -0
  182. package/dist/esm/to-binary.d.ts +24 -0
  183. package/dist/esm/to-binary.js +187 -0
  184. package/dist/esm/to-json.d.ts +50 -0
  185. package/dist/esm/to-json.js +359 -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 +244 -0
  190. package/dist/esm/{binary-encoding.js → wire/binary-encoding.js} +27 -20
  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/{cjs → esm/wkt/gen}/google/protobuf/any_pb.d.ts +13 -27
  204. package/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
  205. package/dist/esm/{google → wkt/gen/google}/protobuf/api_pb.d.ts +29 -38
  206. package/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
  207. package/dist/esm/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +67 -75
  208. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
  209. package/dist/esm/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +564 -527
  210. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +790 -0
  211. package/dist/esm/{google → wkt/gen/google}/protobuf/duration_pb.d.ts +13 -18
  212. package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
  213. package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +24 -0
  214. package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
  215. package/dist/{cjs → esm/wkt/gen}/google/protobuf/field_mask_pb.d.ts +13 -18
  216. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
  217. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +26 -0
  218. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
  219. package/dist/{cjs → esm/wkt/gen}/google/protobuf/struct_pb.d.ts +44 -55
  220. package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
  221. package/dist/esm/{google → wkt/gen/google}/protobuf/timestamp_pb.d.ts +13 -21
  222. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
  223. package/dist/{cjs → esm/wkt/gen}/google/protobuf/type_pb.d.ts +77 -80
  224. package/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
  225. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +186 -0
  226. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -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 +37 -5
  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.d.ts +0 -35
  246. package/dist/cjs/extension-accessor.js +0 -114
  247. package/dist/cjs/extension.d.ts +0 -24
  248. package/dist/cjs/field-list.d.ts +0 -27
  249. package/dist/cjs/field-list.js +0 -15
  250. package/dist/cjs/field.d.ts +0 -314
  251. package/dist/cjs/field.js +0 -15
  252. package/dist/cjs/google/protobuf/any_pb.js +0 -273
  253. package/dist/cjs/google/protobuf/api_pb.js +0 -316
  254. package/dist/cjs/google/protobuf/compiler/plugin_pb.js +0 -219
  255. package/dist/cjs/google/protobuf/descriptor_pb.js +0 -2034
  256. package/dist/cjs/google/protobuf/duration_pb.js +0 -169
  257. package/dist/cjs/google/protobuf/empty_pb.d.ts +0 -28
  258. package/dist/cjs/google/protobuf/empty_pb.js +0 -52
  259. package/dist/cjs/google/protobuf/field_mask_pb.js +0 -311
  260. package/dist/cjs/google/protobuf/source_context_pb.d.ts +0 -29
  261. package/dist/cjs/google/protobuf/source_context_pb.js +0 -55
  262. package/dist/cjs/google/protobuf/struct_pb.js +0 -240
  263. package/dist/cjs/google/protobuf/timestamp_pb.js +0 -213
  264. package/dist/cjs/google/protobuf/type_pb.js +0 -562
  265. package/dist/cjs/google/protobuf/wrappers_pb.d.ts +0 -267
  266. package/dist/cjs/google/protobuf/wrappers_pb.js +0 -569
  267. package/dist/cjs/json-format.d.ts +0 -111
  268. package/dist/cjs/json-format.js +0 -15
  269. package/dist/cjs/message-type.d.ts +0 -51
  270. package/dist/cjs/message-type.js +0 -15
  271. package/dist/cjs/message.d.ts +0 -131
  272. package/dist/cjs/message.js +0 -129
  273. package/dist/cjs/private/binary-format.d.ts +0 -7
  274. package/dist/cjs/private/binary-format.js +0 -430
  275. package/dist/cjs/private/enum.d.ts +0 -27
  276. package/dist/cjs/private/enum.js +0 -94
  277. package/dist/cjs/private/extensions.d.ts +0 -34
  278. package/dist/cjs/private/extensions.js +0 -86
  279. package/dist/cjs/private/feature-set.d.ts +0 -19
  280. package/dist/cjs/private/feature-set.js +0 -106
  281. package/dist/cjs/private/field-list.d.ts +0 -18
  282. package/dist/cjs/private/field-list.js +0 -76
  283. package/dist/cjs/private/field-normalize.d.ts +0 -9
  284. package/dist/cjs/private/field-normalize.js +0 -69
  285. package/dist/cjs/private/field-wrapper.d.ts +0 -25
  286. package/dist/cjs/private/field-wrapper.js +0 -57
  287. package/dist/cjs/private/field.d.ts +0 -16
  288. package/dist/cjs/private/field.js +0 -45
  289. package/dist/cjs/private/json-format.d.ts +0 -2
  290. package/dist/cjs/private/json-format.js +0 -626
  291. package/dist/cjs/private/message-type.d.ts +0 -18
  292. package/dist/cjs/private/message-type.js +0 -50
  293. package/dist/cjs/private/names.d.ts +0 -43
  294. package/dist/cjs/private/names.js +0 -278
  295. package/dist/cjs/private/options-map.d.ts +0 -7
  296. package/dist/cjs/private/options-map.js +0 -15
  297. package/dist/cjs/private/proto-runtime.d.ts +0 -53
  298. package/dist/cjs/private/proto-runtime.js +0 -41
  299. package/dist/cjs/private/reflect.d.ts +0 -9
  300. package/dist/cjs/private/reflect.js +0 -79
  301. package/dist/cjs/private/reify-wkt.d.ts +0 -102
  302. package/dist/cjs/private/reify-wkt.js +0 -172
  303. package/dist/cjs/private/scalars.d.ts +0 -18
  304. package/dist/cjs/private/scalars.js +0 -105
  305. package/dist/cjs/private/text-format.d.ts +0 -4
  306. package/dist/cjs/private/util-common.d.ts +0 -2
  307. package/dist/cjs/private/util-common.js +0 -237
  308. package/dist/cjs/private/util.d.ts +0 -38
  309. package/dist/cjs/private/util.js +0 -15
  310. package/dist/cjs/proto-base64.d.ts +0 -18
  311. package/dist/cjs/proto-base64.js +0 -128
  312. package/dist/cjs/proto-delimited.d.ts +0 -54
  313. package/dist/cjs/proto-delimited.js +0 -155
  314. package/dist/cjs/proto-double.d.ts +0 -5
  315. package/dist/cjs/proto-double.js +0 -29
  316. package/dist/cjs/proto2.d.ts +0 -4
  317. package/dist/cjs/proto2.js +0 -53
  318. package/dist/cjs/proto3.d.ts +0 -4
  319. package/dist/cjs/proto3.js +0 -56
  320. package/dist/cjs/scalar.js +0 -81
  321. package/dist/cjs/service-type.d.ts +0 -96
  322. package/dist/cjs/service-type.js +0 -53
  323. package/dist/cjs/to-plain-message.d.ts +0 -12
  324. package/dist/cjs/to-plain-message.js +0 -72
  325. package/dist/cjs/type-registry.d.ts +0 -57
  326. package/dist/cjs/type-registry.js +0 -15
  327. package/dist/esm/binary-encoding.d.ts +0 -420
  328. package/dist/esm/binary-format.d.ts +0 -113
  329. package/dist/esm/codegen-info.d.ts +0 -33
  330. package/dist/esm/codegen-info.js +0 -67
  331. package/dist/esm/create-descriptor-set.d.ts +0 -36
  332. package/dist/esm/create-descriptor-set.js +0 -906
  333. package/dist/esm/create-registry-from-desc.d.ts +0 -15
  334. package/dist/esm/create-registry-from-desc.js +0 -261
  335. package/dist/esm/create-registry.d.ts +0 -9
  336. package/dist/esm/create-registry.js +0 -90
  337. package/dist/esm/descriptor-set.js +0 -14
  338. package/dist/esm/enum.d.ts +0 -35
  339. package/dist/esm/extension-accessor.d.ts +0 -35
  340. package/dist/esm/extension-accessor.js +0 -107
  341. package/dist/esm/extension.d.ts +0 -24
  342. package/dist/esm/field-list.d.ts +0 -27
  343. package/dist/esm/field.d.ts +0 -314
  344. package/dist/esm/field.js +0 -14
  345. package/dist/esm/google/protobuf/any_pb.js +0 -269
  346. package/dist/esm/google/protobuf/api_pb.js +0 -310
  347. package/dist/esm/google/protobuf/compiler/plugin_pb.js +0 -212
  348. package/dist/esm/google/protobuf/descriptor_pb.js +0 -1999
  349. package/dist/esm/google/protobuf/duration_pb.js +0 -165
  350. package/dist/esm/google/protobuf/empty_pb.d.ts +0 -28
  351. package/dist/esm/google/protobuf/empty_pb.js +0 -48
  352. package/dist/esm/google/protobuf/field_mask_pb.js +0 -307
  353. package/dist/esm/google/protobuf/source_context_pb.d.ts +0 -29
  354. package/dist/esm/google/protobuf/source_context_pb.js +0 -51
  355. package/dist/esm/google/protobuf/struct_pb.js +0 -234
  356. package/dist/esm/google/protobuf/timestamp_pb.js +0 -209
  357. package/dist/esm/google/protobuf/type_pb.js +0 -554
  358. package/dist/esm/google/protobuf/wrappers_pb.d.ts +0 -267
  359. package/dist/esm/google/protobuf/wrappers_pb.js +0 -557
  360. package/dist/esm/json-format.d.ts +0 -111
  361. package/dist/esm/json-format.js +0 -14
  362. package/dist/esm/message-type.d.ts +0 -51
  363. package/dist/esm/message-type.js +0 -14
  364. package/dist/esm/message.d.ts +0 -131
  365. package/dist/esm/message.js +0 -125
  366. package/dist/esm/private/binary-format.d.ts +0 -7
  367. package/dist/esm/private/binary-format.js +0 -426
  368. package/dist/esm/private/enum.d.ts +0 -27
  369. package/dist/esm/private/enum.js +0 -87
  370. package/dist/esm/private/extensions.d.ts +0 -34
  371. package/dist/esm/private/extensions.js +0 -81
  372. package/dist/esm/private/feature-set.d.ts +0 -19
  373. package/dist/esm/private/feature-set.js +0 -102
  374. package/dist/esm/private/field-list.d.ts +0 -18
  375. package/dist/esm/private/field-list.js +0 -72
  376. package/dist/esm/private/field-normalize.d.ts +0 -9
  377. package/dist/esm/private/field-normalize.js +0 -65
  378. package/dist/esm/private/field-wrapper.d.ts +0 -25
  379. package/dist/esm/private/field-wrapper.js +0 -53
  380. package/dist/esm/private/field.d.ts +0 -16
  381. package/dist/esm/private/field.js +0 -41
  382. package/dist/esm/private/json-format.d.ts +0 -2
  383. package/dist/esm/private/json-format.js +0 -623
  384. package/dist/esm/private/message-type.d.ts +0 -18
  385. package/dist/esm/private/message-type.js +0 -46
  386. package/dist/esm/private/names.d.ts +0 -43
  387. package/dist/esm/private/names.js +0 -269
  388. package/dist/esm/private/options-map.d.ts +0 -7
  389. package/dist/esm/private/options-map.js +0 -14
  390. package/dist/esm/private/proto-runtime.d.ts +0 -53
  391. package/dist/esm/private/proto-runtime.js +0 -37
  392. package/dist/esm/private/reflect.d.ts +0 -9
  393. package/dist/esm/private/reflect.js +0 -74
  394. package/dist/esm/private/reify-wkt.d.ts +0 -102
  395. package/dist/esm/private/reify-wkt.js +0 -168
  396. package/dist/esm/private/scalars.d.ts +0 -18
  397. package/dist/esm/private/scalars.js +0 -99
  398. package/dist/esm/private/text-format.d.ts +0 -4
  399. package/dist/esm/private/util-common.d.ts +0 -2
  400. package/dist/esm/private/util-common.js +0 -234
  401. package/dist/esm/private/util.d.ts +0 -38
  402. package/dist/esm/private/util.js +0 -14
  403. package/dist/esm/proto-base64.d.ts +0 -18
  404. package/dist/esm/proto-base64.js +0 -125
  405. package/dist/esm/proto-delimited.d.ts +0 -54
  406. package/dist/esm/proto-delimited.js +0 -152
  407. package/dist/esm/proto-double.d.ts +0 -5
  408. package/dist/esm/proto-double.js +0 -26
  409. package/dist/esm/proto2.d.ts +0 -4
  410. package/dist/esm/proto2.js +0 -50
  411. package/dist/esm/proto3.d.ts +0 -4
  412. package/dist/esm/proto3.js +0 -53
  413. package/dist/esm/scalar.js +0 -78
  414. package/dist/esm/service-type.d.ts +0 -96
  415. package/dist/esm/service-type.js +0 -50
  416. package/dist/esm/to-plain-message.d.ts +0 -12
  417. package/dist/esm/to-plain-message.js +0 -70
  418. package/dist/esm/type-registry.d.ts +0 -57
  419. package/dist/esm/type-registry.js +0 -14
  420. /package/dist/cjs/{binary-format.js → desc-types.js} +0 -0
  421. /package/dist/cjs/{descriptor-set.js → json-value.js} +0 -0
  422. /package/dist/cjs/{private → reflect}/assert.d.ts +0 -0
  423. /package/dist/cjs/{private → reflect}/assert.js +0 -0
  424. /package/dist/cjs/{enum.js → types.js} +0 -0
  425. /package/dist/esm/{binary-format.js → desc-types.js} +0 -0
  426. /package/dist/esm/{enum.js → json-value.js} +0 -0
  427. /package/dist/esm/{private → reflect}/assert.d.ts +0 -0
  428. /package/dist/esm/{private → reflect}/assert.js +0 -0
  429. /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
+ }
@@ -0,0 +1,59 @@
1
+ import type { AnyDesc, DescEnum, DescEnumValue, DescExtension, DescField, DescFile, DescMessage, DescMethod, DescOneof, DescService } from "./desc-types.js";
2
+ import type { ReflectMessage } from "./reflect/reflect-types.js";
3
+ import type { Extendee, ExtensionValueShape } from "./types.js";
4
+ import type { EnumOptions, EnumValueOptions, FieldOptions, FileOptions, MessageOptions, MethodOptions, OneofOptions, ServiceOptions } from "./wkt/gen/google/protobuf/descriptor_pb.js";
5
+ /**
6
+ * Retrieve an extension value from a message.
7
+ *
8
+ * The function never returns undefined. Use hasExtension() to check whether an
9
+ * extension is set. If the extension is not set, this function returns the
10
+ * default value (if one was specified in the protobuf source), or the zero value
11
+ * (for example `0` for numeric types, `[]` for repeated extension fields, and
12
+ * an empty message instance for message fields).
13
+ *
14
+ * Extensions are stored as unknown fields on a message. To mutate an extension
15
+ * value, make sure to store the new value with setExtension() after mutating.
16
+ *
17
+ * If the extension does not extend the given message, an error is raised.
18
+ */
19
+ export declare function getExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): ExtensionValueShape<Desc>;
20
+ /**
21
+ * Set an extension value on a message. If the message already has a value for
22
+ * this extension, the value is replaced.
23
+ *
24
+ * If the extension does not extend the given message, an error is raised.
25
+ */
26
+ export declare function setExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc, value: ExtensionValueShape<Desc>): void;
27
+ /**
28
+ * Remove an extension value from a message.
29
+ *
30
+ * If the extension does not extend the given message, an error is raised.
31
+ */
32
+ export declare function clearExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): void;
33
+ /**
34
+ * Check whether an extension is set on a message.
35
+ */
36
+ export declare function hasExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): boolean;
37
+ /**
38
+ * Check whether an option is set on a descriptor.
39
+ *
40
+ * Options are extensions to the `google.protobuf.*Options` messages defined in
41
+ * google/protobuf/descriptor.proto. This function gets the option message from
42
+ * the descriptor, and calls hasExtension().
43
+ */
44
+ export declare function hasOption<Ext extends DescExtension, Desc extends DescForOptionExtension<Ext>>(element: Desc, option: Ext): boolean;
45
+ /**
46
+ * Retrieve an option value from a descriptor.
47
+ *
48
+ * Options are extensions to the `google.protobuf.*Options` messages defined in
49
+ * google/protobuf/descriptor.proto. This function gets the option message from
50
+ * the descriptor, and calls getExtension(). Same as getExtension(), this
51
+ * function never returns undefined.
52
+ */
53
+ export declare function getOption<Ext extends DescExtension, Desc extends DescForOptionExtension<Ext>>(element: Desc, option: Ext): ExtensionValueShape<Ext>;
54
+ type DescForOptionExtension<Ext extends DescExtension> = Extendee<Ext> extends FileOptions ? DescFile : Extendee<Ext> extends EnumOptions ? DescEnum : Extendee<Ext> extends EnumValueOptions ? DescEnumValue : Extendee<Ext> extends MessageOptions ? DescMessage : Extendee<Ext> extends MessageOptions ? DescEnum : Extendee<Ext> extends FieldOptions ? DescField | DescExtension : Extendee<Ext> extends OneofOptions ? DescOneof : Extendee<Ext> extends ServiceOptions ? DescService : Extendee<Ext> extends EnumOptions ? DescEnum : Extendee<Ext> extends MethodOptions ? DescMethod : AnyDesc;
55
+ /**
56
+ * @private
57
+ */
58
+ export declare function createExtensionContainer<Desc extends DescExtension>(extension: Desc, value?: ExtensionValueShape<Desc>): [ReflectMessage, DescField, () => ExtensionValueShape<Desc>];
59
+ export {};
@@ -0,0 +1,169 @@
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.getOption = exports.hasOption = 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 reflect_js_1 = require("./reflect/reflect.js");
21
+ const scalar_js_1 = require("./reflect/scalar.js");
22
+ const to_binary_js_1 = require("./to-binary.js");
23
+ const binary_encoding_js_1 = require("./wire/binary-encoding.js");
24
+ const wrappers_js_1 = require("./wkt/wrappers.js");
25
+ /**
26
+ * Retrieve an extension value from a message.
27
+ *
28
+ * The function never returns undefined. Use hasExtension() to check whether an
29
+ * extension is set. If the extension is not set, this function returns the
30
+ * default value (if one was specified in the protobuf source), or the zero value
31
+ * (for example `0` for numeric types, `[]` for repeated extension fields, and
32
+ * an empty message instance for message fields).
33
+ *
34
+ * Extensions are stored as unknown fields on a message. To mutate an extension
35
+ * value, make sure to store the new value with setExtension() after mutating.
36
+ *
37
+ * If the extension does not extend the given message, an error is raised.
38
+ */
39
+ function getExtension(message, extension) {
40
+ assertExtendee(extension, message);
41
+ const ufs = filterUnknownFields(message.$unknown, extension);
42
+ const [container, field, get] = createExtensionContainer(extension);
43
+ for (const uf of ufs) {
44
+ (0, from_binary_js_1.readField)(container, new binary_encoding_js_1.BinaryReader(uf.data), field, uf.wireType, {
45
+ readUnknownFields: false,
46
+ });
47
+ }
48
+ return get();
49
+ }
50
+ exports.getExtension = getExtension;
51
+ /**
52
+ * Set an extension value on a message. If the message already has a value for
53
+ * this extension, the value is replaced.
54
+ *
55
+ * If the extension does not extend the given message, an error is raised.
56
+ */
57
+ function setExtension(message, extension, value) {
58
+ var _a;
59
+ assertExtendee(extension, message);
60
+ const ufs = ((_a = message.$unknown) !== null && _a !== void 0 ? _a : []).filter((uf) => uf.no !== extension.number);
61
+ const [container, field] = createExtensionContainer(extension, value);
62
+ const writer = new binary_encoding_js_1.BinaryWriter();
63
+ (0, to_binary_js_1.writeField)(writer, { writeUnknownFields: false }, container, field);
64
+ const reader = new binary_encoding_js_1.BinaryReader(writer.finish());
65
+ while (reader.pos < reader.len) {
66
+ const [no, wireType] = reader.tag();
67
+ const data = reader.skip(wireType, no);
68
+ ufs.push({ no, wireType, data });
69
+ }
70
+ message.$unknown = ufs;
71
+ }
72
+ exports.setExtension = setExtension;
73
+ /**
74
+ * Remove an extension value from a message.
75
+ *
76
+ * If the extension does not extend the given message, an error is raised.
77
+ */
78
+ function clearExtension(message, extension) {
79
+ assertExtendee(extension, message);
80
+ if (message.$unknown === undefined) {
81
+ return;
82
+ }
83
+ message.$unknown = message.$unknown.filter((uf) => uf.no !== extension.number);
84
+ }
85
+ exports.clearExtension = clearExtension;
86
+ /**
87
+ * Check whether an extension is set on a message.
88
+ */
89
+ function hasExtension(message, extension) {
90
+ var _a;
91
+ return (extension.extendee.typeName === message.$typeName &&
92
+ !!((_a = message.$unknown) === null || _a === void 0 ? void 0 : _a.find((uf) => uf.no === extension.number)));
93
+ }
94
+ exports.hasExtension = hasExtension;
95
+ /**
96
+ * Check whether an option is set on a descriptor.
97
+ *
98
+ * Options are extensions to the `google.protobuf.*Options` messages defined in
99
+ * google/protobuf/descriptor.proto. This function gets the option message from
100
+ * the descriptor, and calls hasExtension().
101
+ */
102
+ function hasOption(element, option) {
103
+ const message = element.proto.options;
104
+ if (!message) {
105
+ return false;
106
+ }
107
+ return hasExtension(message, option);
108
+ }
109
+ exports.hasOption = hasOption;
110
+ /**
111
+ * Retrieve an option value from a descriptor.
112
+ *
113
+ * Options are extensions to the `google.protobuf.*Options` messages defined in
114
+ * google/protobuf/descriptor.proto. This function gets the option message from
115
+ * the descriptor, and calls getExtension(). Same as getExtension(), this
116
+ * function never returns undefined.
117
+ */
118
+ function getOption(element, option) {
119
+ const message = element.proto.options;
120
+ if (!message) {
121
+ const [, , get] = createExtensionContainer(option);
122
+ return get();
123
+ }
124
+ return getExtension(message, option);
125
+ }
126
+ exports.getOption = getOption;
127
+ function filterUnknownFields(unknownFields, extension) {
128
+ if (unknownFields === undefined)
129
+ return [];
130
+ if (extension.fieldKind === "enum" || extension.fieldKind === "scalar") {
131
+ // singular scalar fields do not merge, we pick the last
132
+ for (let i = unknownFields.length - 1; i >= 0; --i) {
133
+ if (unknownFields[i].no == extension.number) {
134
+ return [unknownFields[i]];
135
+ }
136
+ }
137
+ return [];
138
+ }
139
+ return unknownFields.filter((uf) => uf.no === extension.number);
140
+ }
141
+ /**
142
+ * @private
143
+ */
144
+ function createExtensionContainer(extension, value) {
145
+ const localName = extension.typeName;
146
+ const field = Object.assign(Object.assign({}, extension), { kind: "field", parent: extension.extendee, localName });
147
+ const desc = Object.assign(Object.assign({}, extension.extendee), { fields: [field], members: [field], oneofs: [] });
148
+ const container = (0, create_js_1.create)(desc, value !== undefined ? { [localName]: value } : undefined);
149
+ return [
150
+ (0, reflect_js_1.reflect)(desc, container),
151
+ field,
152
+ () => {
153
+ const value = container[localName];
154
+ if (value === undefined) {
155
+ // Only message fields are undefined, rest will have a zero value.
156
+ const desc = extension.message;
157
+ if ((0, wrappers_js_1.isWrapperDesc)(desc)) {
158
+ return (0, scalar_js_1.scalarZeroValue)(desc.fields[0].scalar, desc.fields[0].longType);
159
+ }
160
+ return (0, create_js_1.create)(desc);
161
+ }
162
+ return value;
163
+ },
164
+ ];
165
+ }
166
+ exports.createExtensionContainer = createExtensionContainer;
167
+ function assertExtendee(extension, message) {
168
+ (0, assert_js_1.assert)(extension.extendee.typeName == message.$typeName, `extension ${extension.typeName} can only be applied to message ${extension.extendee.typeName}`);
169
+ }
@@ -0,0 +1,23 @@
1
+ import type { MessageShape } from "./types.js";
2
+ import type { DescField, DescMessage } from "./desc-types.js";
3
+ /**
4
+ * Returns true if the field is set.
5
+ *
6
+ * - Scalar and enum fields with implicit presence (proto3):
7
+ * Set if not a zero value.
8
+ *
9
+ * - Scalar and enum fields with explicit presence (proto2, oneof):
10
+ * Set if a value was set when creating or parsing the message, or when a
11
+ * value was assigned to the field's property.
12
+ *
13
+ * - Message fields:
14
+ * Set if the property is not undefined.
15
+ *
16
+ * - List and map fields:
17
+ * Set if not empty.
18
+ */
19
+ export declare function isFieldSet<Desc extends DescMessage>(message: MessageShape<Desc>, field: DescField): boolean;
20
+ /**
21
+ * Resets the field, so that isFieldSet() will return false.
22
+ */
23
+ export declare function clearField<Desc extends DescMessage>(message: MessageShape<Desc>, field: DescField): void;
@@ -0,0 +1,46 @@
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 unsafe_js_1 = require("./reflect/unsafe.js");
18
+ /**
19
+ * Returns true if the field is set.
20
+ *
21
+ * - Scalar and enum fields with implicit presence (proto3):
22
+ * Set if not a zero value.
23
+ *
24
+ * - Scalar and enum fields with explicit presence (proto2, oneof):
25
+ * Set if a value was set when creating or parsing the message, or when a
26
+ * value was assigned to the field's property.
27
+ *
28
+ * - Message fields:
29
+ * Set if the property is not undefined.
30
+ *
31
+ * - List and map fields:
32
+ * Set if not empty.
33
+ */
34
+ function isFieldSet(message, field) {
35
+ return (field.parent.typeName == message.$typeName && (0, unsafe_js_1.unsafeIsSet)(message, field));
36
+ }
37
+ exports.isFieldSet = isFieldSet;
38
+ /**
39
+ * Resets the field, so that isFieldSet() will return false.
40
+ */
41
+ function clearField(message, field) {
42
+ if (field.parent.typeName == message.$typeName) {
43
+ (0, unsafe_js_1.unsafeClear)(message, field);
44
+ }
45
+ }
46
+ 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,211 @@
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 (delimited && 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, fieldNo);
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));
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
+ readMapEntry(message, field, reader, options);
106
+ break;
107
+ }
108
+ }
109
+ exports.readField = readField;
110
+ // Read a map field, expecting key field = 1, value field = 2
111
+ function readMapEntry(message, field, reader, options) {
112
+ let key, val;
113
+ const end = reader.pos + reader.uint32();
114
+ while (reader.pos < end) {
115
+ const [fieldNo] = reader.tag();
116
+ switch (fieldNo) {
117
+ case 1:
118
+ key = readScalar(reader, field.mapKey);
119
+ break;
120
+ case 2:
121
+ switch (field.mapKind) {
122
+ case "scalar":
123
+ val = readScalar(reader, field.scalar);
124
+ break;
125
+ case "enum":
126
+ val = reader.int32();
127
+ break;
128
+ case "message":
129
+ val = readMessageField(reader, options, field);
130
+ break;
131
+ }
132
+ break;
133
+ }
134
+ }
135
+ if (key === undefined) {
136
+ key = (0, scalar_js_1.scalarZeroValue)(field.mapKey, scalar_js_1.LongType.BIGINT);
137
+ }
138
+ if (val === undefined) {
139
+ switch (field.mapKind) {
140
+ case "scalar":
141
+ val = (0, scalar_js_1.scalarZeroValue)(field.scalar, scalar_js_1.LongType.BIGINT);
142
+ break;
143
+ case "enum":
144
+ val = field.enum.values[0].number;
145
+ break;
146
+ case "message":
147
+ val = (0, reflect_js_1.reflect)(field.message);
148
+ break;
149
+ }
150
+ }
151
+ message.setMapEntry(field, key, val);
152
+ }
153
+ function readListField(message, reader, options, field, wireType) {
154
+ var _a;
155
+ if (field.listKind === "message") {
156
+ message.addListItem(field, readMessageField(reader, options, field));
157
+ return;
158
+ }
159
+ const scalarType = (_a = field.scalar) !== null && _a !== void 0 ? _a : scalar_js_1.ScalarType.INT32;
160
+ const packed = wireType == binary_encoding_js_1.WireType.LengthDelimited &&
161
+ scalarType != scalar_js_1.ScalarType.STRING &&
162
+ scalarType != scalar_js_1.ScalarType.BYTES;
163
+ if (!packed) {
164
+ message.addListItem(field, readScalar(reader, scalarType));
165
+ return;
166
+ }
167
+ const e = reader.uint32() + reader.pos;
168
+ while (reader.pos < e) {
169
+ message.addListItem(field, readScalar(reader, scalarType));
170
+ }
171
+ }
172
+ function readMessageField(reader, options, field, mergeMessage) {
173
+ const delimited = field.delimitedEncoding;
174
+ const message = mergeMessage !== null && mergeMessage !== void 0 ? mergeMessage : (0, reflect_js_1.reflect)(field.message);
175
+ readMessage(message, reader, options, delimited, delimited ? field.number : reader.uint32());
176
+ return message;
177
+ }
178
+ function readScalar(reader, type) {
179
+ switch (type) {
180
+ case scalar_js_1.ScalarType.STRING:
181
+ return reader.string();
182
+ case scalar_js_1.ScalarType.BOOL:
183
+ return reader.bool();
184
+ case scalar_js_1.ScalarType.DOUBLE:
185
+ return reader.double();
186
+ case scalar_js_1.ScalarType.FLOAT:
187
+ return reader.float();
188
+ case scalar_js_1.ScalarType.INT32:
189
+ return reader.int32();
190
+ case scalar_js_1.ScalarType.INT64:
191
+ return reader.int64();
192
+ case scalar_js_1.ScalarType.UINT64:
193
+ return reader.uint64();
194
+ case scalar_js_1.ScalarType.FIXED64:
195
+ return reader.fixed64();
196
+ case scalar_js_1.ScalarType.BYTES:
197
+ return reader.bytes();
198
+ case scalar_js_1.ScalarType.FIXED32:
199
+ return reader.fixed32();
200
+ case scalar_js_1.ScalarType.SFIXED32:
201
+ return reader.sfixed32();
202
+ case scalar_js_1.ScalarType.SFIXED64:
203
+ return reader.sfixed64();
204
+ case scalar_js_1.ScalarType.SINT64:
205
+ return reader.sint64();
206
+ case scalar_js_1.ScalarType.UINT32:
207
+ return reader.uint32();
208
+ case scalar_js_1.ScalarType.SINT32:
209
+ return reader.sint32();
210
+ }
211
+ }