@bufbuild/protobuf 1.9.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 +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.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 -131
  271. package/dist/cjs/message.js +0 -129
  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 -237
  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 -131
  362. package/dist/esm/message.js +0 -125
  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 -234
  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
@@ -50,4 +50,24 @@ export declare enum LongType {
50
50
  /**
51
51
  * ScalarValue maps from a scalar field type to a TypeScript value type.
52
52
  */
53
- export type ScalarValue<T = ScalarType, L extends LongType = LongType.STRING | LongType.BIGINT> = T extends ScalarType.STRING ? string : T extends ScalarType.INT32 ? number : T extends ScalarType.UINT32 ? number : T extends ScalarType.UINT32 ? number : T extends ScalarType.SINT32 ? number : T extends ScalarType.FIXED32 ? number : T extends ScalarType.SFIXED32 ? number : T extends ScalarType.FLOAT ? number : T extends ScalarType.DOUBLE ? number : T extends ScalarType.INT64 ? (L extends LongType.STRING ? string : bigint) : T extends ScalarType.SINT64 ? (L extends LongType.STRING ? string : bigint) : T extends ScalarType.SFIXED64 ? (L extends LongType.STRING ? string : bigint) : T extends ScalarType.UINT64 ? (L extends LongType.STRING ? string : bigint) : T extends ScalarType.FIXED64 ? (L extends LongType.STRING ? string : bigint) : T extends ScalarType.BOOL ? boolean : T extends ScalarType.BYTES ? Uint8Array : never;
53
+ export type ScalarValue<T = ScalarType, L extends LongType = LongType.STRING | LongType.BIGINT> = T extends ScalarType.STRING ? string : T extends ScalarType.INT32 ? number : T extends ScalarType.UINT32 ? number : T extends ScalarType.UINT32 ? number : T extends ScalarType.SINT32 ? number : T extends ScalarType.FIXED32 ? number : T extends ScalarType.SFIXED32 ? number : T extends ScalarType.FLOAT ? number : T extends ScalarType.DOUBLE ? number : T extends ScalarType.INT64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.SINT64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.SFIXED64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.UINT64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.FIXED64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.BOOL ? boolean : T extends ScalarType.BYTES ? Uint8Array : never;
54
+ /**
55
+ * Returns true if both scalar values are equal.
56
+ */
57
+ export declare function scalarEquals(type: ScalarType, a: string | boolean | number | bigint | Uint8Array | undefined, b: string | boolean | number | bigint | Uint8Array | undefined): boolean;
58
+ /**
59
+ * Returns the zero value for the given scalar type.
60
+ */
61
+ export declare function scalarZeroValue<T extends ScalarType, L extends LongType>(type: T, longType: L): ScalarValue<T, L>;
62
+ /**
63
+ * Returns true for a zero-value. For example, an integer has the zero-value `0`,
64
+ * a boolean is `false`, a string is `""`, and bytes is an empty Uint8Array.
65
+ *
66
+ * In proto3, zero-values are not written to the wire, unless the field is
67
+ * optional or repeated.
68
+ */
69
+ export declare function isScalarZeroValue(type: ScalarType, value: unknown): boolean;
70
+ export type InvalidScalarValueErr = false | "invalid UTF8" | `${string} out of range`;
71
+ export declare function checkScalarValue(value: unknown, scalar: ScalarType): true | InvalidScalarValueErr;
72
+ export declare function scalarTypeDescription(scalar: ScalarType): string;
73
+ export declare function scalarTypeScriptType(scalar: ScalarType, long: LongType): "string" | "boolean" | "bigint" | "bigint | string" | "Uint8Array" | "number";
@@ -0,0 +1,289 @@
1
+ // Copyright 2021-2024 Buf Technologies, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { protoInt64 } from "../proto-int64.js";
15
+ import { getTextEncoding } from "../wire/text-encoding.js";
16
+ /**
17
+ * Scalar value types. This is a subset of field types declared by protobuf
18
+ * enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE
19
+ * are omitted, but the numerical values are identical.
20
+ */
21
+ export var ScalarType;
22
+ (function (ScalarType) {
23
+ // 0 is reserved for errors.
24
+ // Order is weird for historical reasons.
25
+ ScalarType[ScalarType["DOUBLE"] = 1] = "DOUBLE";
26
+ ScalarType[ScalarType["FLOAT"] = 2] = "FLOAT";
27
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
28
+ // negative values are likely.
29
+ ScalarType[ScalarType["INT64"] = 3] = "INT64";
30
+ ScalarType[ScalarType["UINT64"] = 4] = "UINT64";
31
+ // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
32
+ // negative values are likely.
33
+ ScalarType[ScalarType["INT32"] = 5] = "INT32";
34
+ ScalarType[ScalarType["FIXED64"] = 6] = "FIXED64";
35
+ ScalarType[ScalarType["FIXED32"] = 7] = "FIXED32";
36
+ ScalarType[ScalarType["BOOL"] = 8] = "BOOL";
37
+ ScalarType[ScalarType["STRING"] = 9] = "STRING";
38
+ // Tag-delimited aggregate.
39
+ // Group type is deprecated and not supported in proto3. However, Proto3
40
+ // implementations should still be able to parse the group wire format and
41
+ // treat group fields as unknown fields.
42
+ // TYPE_GROUP = 10,
43
+ // TYPE_MESSAGE = 11, // Length-delimited aggregate.
44
+ // New in version 2.
45
+ ScalarType[ScalarType["BYTES"] = 12] = "BYTES";
46
+ ScalarType[ScalarType["UINT32"] = 13] = "UINT32";
47
+ // TYPE_ENUM = 14,
48
+ ScalarType[ScalarType["SFIXED32"] = 15] = "SFIXED32";
49
+ ScalarType[ScalarType["SFIXED64"] = 16] = "SFIXED64";
50
+ ScalarType[ScalarType["SINT32"] = 17] = "SINT32";
51
+ ScalarType[ScalarType["SINT64"] = 18] = "SINT64";
52
+ })(ScalarType || (ScalarType = {}));
53
+ /**
54
+ * JavaScript representation of fields with 64 bit integral types (int64, uint64,
55
+ * sint64, fixed64, sfixed64).
56
+ *
57
+ * This is a subset of google.protobuf.FieldOptions.JSType, which defines JS_NORMAL,
58
+ * JS_STRING, and JS_NUMBER. Protobuf-ES uses BigInt by default, but will use
59
+ * String if `[jstype = JS_STRING]` is specified.
60
+ *
61
+ * ```protobuf
62
+ * uint64 field_a = 1; // BigInt
63
+ * uint64 field_b = 2 [jstype = JS_NORMAL]; // BigInt
64
+ * uint64 field_b = 2 [jstype = JS_NUMBER]; // BigInt
65
+ * uint64 field_b = 2 [jstype = JS_STRING]; // String
66
+ * ```
67
+ */
68
+ export var LongType;
69
+ (function (LongType) {
70
+ /**
71
+ * Use JavaScript BigInt.
72
+ */
73
+ LongType[LongType["BIGINT"] = 0] = "BIGINT";
74
+ /**
75
+ * Use JavaScript String.
76
+ *
77
+ * Field option `[jstype = JS_STRING]`.
78
+ */
79
+ LongType[LongType["STRING"] = 1] = "STRING";
80
+ })(LongType || (LongType = {}));
81
+ /**
82
+ * Returns true if both scalar values are equal.
83
+ */
84
+ export function scalarEquals(type, a, b) {
85
+ if (a === b) {
86
+ // This correctly matches equal values except BYTES and (possibly) 64-bit integers.
87
+ return true;
88
+ }
89
+ // Special case BYTES - we need to compare each byte individually
90
+ if (type == ScalarType.BYTES) {
91
+ if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {
92
+ return false;
93
+ }
94
+ if (a.length !== b.length) {
95
+ return false;
96
+ }
97
+ for (let i = 0; i < a.length; i++) {
98
+ if (a[i] !== b[i]) {
99
+ return false;
100
+ }
101
+ }
102
+ return true;
103
+ }
104
+ // Special case 64-bit integers - we support number, string and bigint representation.
105
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
106
+ switch (type) {
107
+ case ScalarType.UINT64:
108
+ case ScalarType.FIXED64:
109
+ case ScalarType.INT64:
110
+ case ScalarType.SFIXED64:
111
+ case ScalarType.SINT64:
112
+ // Loose comparison will match between 0n, 0 and "0".
113
+ return a == b;
114
+ }
115
+ // Anything that hasn't been caught by strict comparison or special cased
116
+ // BYTES and 64-bit integers is not equal.
117
+ return false;
118
+ }
119
+ /**
120
+ * Returns the zero value for the given scalar type.
121
+ */
122
+ export function scalarZeroValue(type, longType) {
123
+ switch (type) {
124
+ case ScalarType.BOOL:
125
+ return false;
126
+ case ScalarType.UINT64:
127
+ case ScalarType.FIXED64:
128
+ case ScalarType.INT64:
129
+ case ScalarType.SFIXED64:
130
+ case ScalarType.SINT64:
131
+ return (longType == 0 ? protoInt64.zero : "0");
132
+ case ScalarType.DOUBLE:
133
+ case ScalarType.FLOAT:
134
+ return 0.0;
135
+ case ScalarType.BYTES:
136
+ return new Uint8Array(0);
137
+ case ScalarType.STRING:
138
+ return "";
139
+ default:
140
+ // Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.
141
+ // We do not use individual cases to save a few bytes code size.
142
+ return 0;
143
+ }
144
+ }
145
+ /**
146
+ * Returns true for a zero-value. For example, an integer has the zero-value `0`,
147
+ * a boolean is `false`, a string is `""`, and bytes is an empty Uint8Array.
148
+ *
149
+ * In proto3, zero-values are not written to the wire, unless the field is
150
+ * optional or repeated.
151
+ */
152
+ export function isScalarZeroValue(type, value) {
153
+ switch (type) {
154
+ case ScalarType.BOOL:
155
+ return value === false;
156
+ case ScalarType.STRING:
157
+ return value === "";
158
+ case ScalarType.BYTES:
159
+ return value instanceof Uint8Array && !value.byteLength;
160
+ default:
161
+ return value == 0; // Loose comparison matches 0n, 0 and "0"
162
+ }
163
+ }
164
+ const FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;
165
+ // TODO this checks UTF-8 validity
166
+ export function checkScalarValue(value, scalar) {
167
+ switch (scalar) {
168
+ case ScalarType.DOUBLE:
169
+ return typeof value == "number";
170
+ case ScalarType.FLOAT:
171
+ if (typeof value != "number") {
172
+ return false;
173
+ }
174
+ if (Number.isNaN(value) || !Number.isFinite(value)) {
175
+ return true;
176
+ }
177
+ if (value > FLOAT32_MAX || value < FLOAT32_MIN) {
178
+ return `${value.toFixed()} out of range`;
179
+ }
180
+ return true;
181
+ case ScalarType.INT32:
182
+ case ScalarType.SFIXED32:
183
+ case ScalarType.SINT32:
184
+ // signed
185
+ if (typeof value !== "number" || !Number.isInteger(value)) {
186
+ return false;
187
+ }
188
+ if (value > INT32_MAX || value < INT32_MIN) {
189
+ return `${value.toFixed()} out of range`;
190
+ }
191
+ return true;
192
+ case ScalarType.FIXED32:
193
+ case ScalarType.UINT32:
194
+ // unsigned
195
+ if (typeof value !== "number" || !Number.isInteger(value)) {
196
+ return false;
197
+ }
198
+ if (value > UINT32_MAX || value < 0) {
199
+ return `${value.toFixed()} out of range`;
200
+ }
201
+ return true;
202
+ case ScalarType.BOOL:
203
+ return typeof value == "boolean";
204
+ case ScalarType.STRING:
205
+ if (typeof value != "string") {
206
+ return false;
207
+ }
208
+ return getTextEncoding().checkUtf8(value) || "invalid UTF8";
209
+ case ScalarType.BYTES:
210
+ return value instanceof Uint8Array;
211
+ case ScalarType.INT64:
212
+ case ScalarType.SFIXED64:
213
+ case ScalarType.SINT64:
214
+ // signed
215
+ if (typeof value != "string" &&
216
+ typeof value !== "bigint" &&
217
+ typeof value !== "number") {
218
+ return false;
219
+ }
220
+ try {
221
+ protoInt64.parse(value);
222
+ }
223
+ catch (e) {
224
+ return `${value} out of range`;
225
+ }
226
+ return true;
227
+ case ScalarType.FIXED64:
228
+ case ScalarType.UINT64:
229
+ // unsigned
230
+ if (typeof value != "string" &&
231
+ typeof value !== "bigint" &&
232
+ typeof value !== "number") {
233
+ return false;
234
+ }
235
+ try {
236
+ protoInt64.uParse(value);
237
+ }
238
+ catch (e) {
239
+ return `${value} out of range`;
240
+ }
241
+ return true;
242
+ }
243
+ }
244
+ export function scalarTypeDescription(scalar) {
245
+ switch (scalar) {
246
+ case ScalarType.STRING:
247
+ return "string";
248
+ case ScalarType.BOOL:
249
+ return "boolean";
250
+ case ScalarType.INT64:
251
+ case ScalarType.SINT64:
252
+ case ScalarType.SFIXED64:
253
+ return "bigint (int64)";
254
+ case ScalarType.UINT64:
255
+ case ScalarType.FIXED64:
256
+ return "bigint (uint64)";
257
+ case ScalarType.BYTES:
258
+ return "Uint8Array";
259
+ case ScalarType.DOUBLE:
260
+ return "number (float64)";
261
+ case ScalarType.FLOAT:
262
+ return "number (float32)";
263
+ case ScalarType.FIXED32:
264
+ case ScalarType.UINT32:
265
+ return "number (uint32)";
266
+ case ScalarType.INT32:
267
+ case ScalarType.SFIXED32:
268
+ case ScalarType.SINT32:
269
+ return "number (int32)";
270
+ }
271
+ }
272
+ export function scalarTypeScriptType(scalar, long) {
273
+ switch (scalar) {
274
+ case ScalarType.STRING:
275
+ return "string";
276
+ case ScalarType.BOOL:
277
+ return "boolean";
278
+ case ScalarType.UINT64:
279
+ case ScalarType.SFIXED64:
280
+ case ScalarType.FIXED64:
281
+ case ScalarType.SINT64:
282
+ case ScalarType.INT64:
283
+ return long == LongType.STRING ? "string" : "bigint";
284
+ case ScalarType.BYTES:
285
+ return "Uint8Array";
286
+ default:
287
+ return "number";
288
+ }
289
+ }
@@ -0,0 +1,58 @@
1
+ import type { DescField, DescOneof } from "../desc-types.js";
2
+ export declare const unsafeLocal: unique symbol;
3
+ /**
4
+ * Return the selected field of a oneof group.
5
+ *
6
+ * @private
7
+ */
8
+ export declare function unsafeOneofCase(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
9
+ oneof: DescOneof): DescField | undefined;
10
+ /**
11
+ * Returns true if the field is set.
12
+ *
13
+ * @private
14
+ */
15
+ export declare function unsafeIsSet(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
16
+ field: DescField): boolean;
17
+ /**
18
+ * Returns true if the field is set, but only for singular fields with explicit
19
+ * presence (proto2).
20
+ *
21
+ * @private
22
+ */
23
+ export declare function unsafeIsSetExplicit(target: object, localName: string): boolean;
24
+ /**
25
+ * Return a field value, respecting oneof groups.
26
+ *
27
+ * @private
28
+ */
29
+ export declare function unsafeGet(target: Record<string, unknown>, field: DescField): unknown;
30
+ /**
31
+ * Set a field value, respecting oneof groups.
32
+ *
33
+ * @private
34
+ */
35
+ export declare function unsafeSet(target: Record<string, unknown>, field: DescField, value: unknown): void;
36
+ /**
37
+ * Resets the field, so that unsafeIsSet() will return false.
38
+ *
39
+ * @private
40
+ */
41
+ export declare function unsafeClear(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
42
+ field: DescField): void;
43
+ /**
44
+ * Add an item to a list field.
45
+ *
46
+ * @private
47
+ */
48
+ export declare function unsafeAddListItem(target: Record<string, unknown>, field: DescField & {
49
+ fieldKind: "list";
50
+ }, value: unknown): void;
51
+ /**
52
+ * Set a map entry.
53
+ *
54
+ * @private
55
+ */
56
+ export declare function unsafeSetMapEntry(target: Record<string, unknown>, field: DescField & {
57
+ fieldKind: "map";
58
+ }, key: string | number, value: unknown): void;
@@ -0,0 +1,160 @@
1
+ // Copyright 2021-2024 Buf Technologies, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { localName } from "./names.js";
15
+ import { isScalarZeroValue, scalarZeroValue } from "./scalar.js";
16
+ // bootstrap-inject google.protobuf.FeatureSet.FieldPresence.IMPLICIT: const $name: FeatureSet_FieldPresence.$localName = $number;
17
+ const IMPLICIT = 2;
18
+ export const unsafeLocal = Symbol.for("reflect unsafe local");
19
+ /**
20
+ * Return the selected field of a oneof group.
21
+ *
22
+ * @private
23
+ */
24
+ export function unsafeOneofCase(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
25
+ oneof) {
26
+ const c = target[localName(oneof)].case;
27
+ if (c === undefined) {
28
+ return c;
29
+ }
30
+ return oneof.fields.find((f) => localName(f) === c);
31
+ }
32
+ /**
33
+ * Returns true if the field is set.
34
+ *
35
+ * @private
36
+ */
37
+ export function unsafeIsSet(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
38
+ field) {
39
+ const name = localName(field);
40
+ if (field.oneof) {
41
+ return target[localName(field.oneof)].case === name; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
42
+ }
43
+ switch (field.fieldKind) {
44
+ case "message":
45
+ return target[name] !== undefined;
46
+ case "list":
47
+ return target[name].length > 0;
48
+ case "map":
49
+ return Object.keys(target[name]).length > 0; // eslint-disable-line @typescript-eslint/no-unsafe-argument
50
+ default:
51
+ if (field.presence == IMPLICIT) {
52
+ if (field.fieldKind == "enum") {
53
+ return target[name] !== field.enum.values[0].number;
54
+ }
55
+ return !isScalarZeroValue(field.scalar, target[name]);
56
+ }
57
+ // EXPLICIT and LEGACY_REQUIRED
58
+ return (target[name] !== undefined &&
59
+ Object.prototype.hasOwnProperty.call(target, name));
60
+ }
61
+ }
62
+ /**
63
+ * Returns true if the field is set, but only for singular fields with explicit
64
+ * presence (proto2).
65
+ *
66
+ * @private
67
+ */
68
+ export function unsafeIsSetExplicit(target, localName) {
69
+ return (Object.prototype.hasOwnProperty.call(target, localName) &&
70
+ target[localName] !== undefined);
71
+ }
72
+ /**
73
+ * Return a field value, respecting oneof groups.
74
+ *
75
+ * @private
76
+ */
77
+ export function unsafeGet(target, field) {
78
+ const name = localName(field);
79
+ if (field.oneof) {
80
+ const oneof = target[localName(field.oneof)];
81
+ if (oneof.case === name) {
82
+ return oneof.value;
83
+ }
84
+ return undefined;
85
+ }
86
+ return target[name];
87
+ }
88
+ /**
89
+ * Set a field value, respecting oneof groups.
90
+ *
91
+ * @private
92
+ */
93
+ export function unsafeSet(target, field, value) {
94
+ const name = localName(field);
95
+ if (field.oneof) {
96
+ target[localName(field.oneof)] = {
97
+ case: name,
98
+ value: value,
99
+ };
100
+ }
101
+ else {
102
+ target[name] = value;
103
+ }
104
+ }
105
+ /**
106
+ * Resets the field, so that unsafeIsSet() will return false.
107
+ *
108
+ * @private
109
+ */
110
+ export function unsafeClear(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
111
+ field) {
112
+ const name = localName(field);
113
+ if (field.oneof) {
114
+ const oneofLocalName = localName(field.oneof);
115
+ if (target[oneofLocalName].case === name) {
116
+ target[oneofLocalName] = { case: undefined };
117
+ }
118
+ }
119
+ else {
120
+ switch (field.fieldKind) {
121
+ case "map":
122
+ target[name] = {};
123
+ break;
124
+ case "list":
125
+ target[name] = [];
126
+ break;
127
+ case "message":
128
+ delete target[name];
129
+ break;
130
+ default:
131
+ if (field.presence == IMPLICIT) {
132
+ target[name] =
133
+ field.fieldKind == "enum"
134
+ ? field.enum.values[0].number
135
+ : scalarZeroValue(field.scalar, field.longType);
136
+ }
137
+ else {
138
+ delete target[name];
139
+ }
140
+ }
141
+ }
142
+ }
143
+ /**
144
+ * Add an item to a list field.
145
+ *
146
+ * @private
147
+ */
148
+ export function unsafeAddListItem(target, field, value) {
149
+ const name = localName(field);
150
+ target[name].push(value);
151
+ }
152
+ /**
153
+ * Set a map entry.
154
+ *
155
+ * @private
156
+ */
157
+ export function unsafeSetMapEntry(target, field, key, value) {
158
+ const name = localName(field);
159
+ target[name][key] = value;
160
+ }
@@ -0,0 +1,24 @@
1
+ import type { MessageShape } from "./types.js";
2
+ import { BinaryWriter } from "./wire/binary-encoding.js";
3
+ import type { DescField, DescMessage } from "./desc-types.js";
4
+ import type { ReflectMessage } from "./reflect/index.js";
5
+ /**
6
+ * Options for serializing to binary data.
7
+ *
8
+ * V1 also had the option `readerFactory` for using a custom implementation to
9
+ * encode to binary.
10
+ */
11
+ export interface BinaryWriteOptions {
12
+ /**
13
+ * Include unknown fields in the serialized output? The default behavior
14
+ * is to retain unknown fields and include them in the serialized output.
15
+ *
16
+ * For more details see https://developers.google.com/protocol-buffers/docs/proto3#unknowns
17
+ */
18
+ writeUnknownFields: boolean;
19
+ }
20
+ export declare function toBinary<Desc extends DescMessage>(messageDesc: Desc, message: MessageShape<Desc>, options?: Partial<BinaryWriteOptions>): Uint8Array;
21
+ /**
22
+ * @private
23
+ */
24
+ export declare function writeField(writer: BinaryWriter, opts: BinaryWriteOptions, msg: ReflectMessage, field: DescField): void;