@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
@@ -1,910 +0,0 @@
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.createDescriptorSet = void 0;
17
- const descriptor_pb_js_1 = require("./google/protobuf/descriptor_pb.js");
18
- const assert_js_1 = require("./private/assert.js");
19
- const service_type_js_1 = require("./service-type.js");
20
- const names_js_1 = require("./private/names.js");
21
- const text_format_js_1 = require("./private/text-format.js");
22
- const feature_set_js_1 = require("./private/feature-set.js");
23
- const scalar_js_1 = require("./scalar.js");
24
- const is_message_js_1 = require("./is-message.js");
25
- /**
26
- * Create a DescriptorSet, a convenient interface for working with a set of
27
- * google.protobuf.FileDescriptorProto.
28
- *
29
- * Note that files must be given in topological order, so each file appears
30
- * before any file that imports it. Protocol buffer compilers always produce
31
- * files in topological order.
32
- */
33
- function createDescriptorSet(input, options) {
34
- var _a;
35
- const cart = {
36
- files: [],
37
- enums: new Map(),
38
- messages: new Map(),
39
- services: new Map(),
40
- extensions: new Map(),
41
- mapEntries: new Map(),
42
- };
43
- const fileDescriptors = (0, is_message_js_1.isMessage)(input, descriptor_pb_js_1.FileDescriptorSet)
44
- ? input.file
45
- : input instanceof Uint8Array
46
- ? descriptor_pb_js_1.FileDescriptorSet.fromBinary(input).file
47
- : input;
48
- const resolverByEdition = new Map();
49
- for (const proto of fileDescriptors) {
50
- const edition = (_a = proto.edition) !== null && _a !== void 0 ? _a : parseFileSyntax(proto.syntax, proto.edition).edition;
51
- let resolveFeatures = resolverByEdition.get(edition);
52
- if (resolveFeatures === undefined) {
53
- resolveFeatures = (0, feature_set_js_1.createFeatureResolver)(edition, options === null || options === void 0 ? void 0 : options.featureSetDefaults, options === null || options === void 0 ? void 0 : options.serializationOptions);
54
- resolverByEdition.set(edition, resolveFeatures);
55
- }
56
- addFile(proto, cart, resolveFeatures);
57
- }
58
- return cart;
59
- }
60
- exports.createDescriptorSet = createDescriptorSet;
61
- /**
62
- * Create a descriptor for a file.
63
- */
64
- function addFile(proto, cart, resolveFeatures) {
65
- var _a, _b;
66
- (0, assert_js_1.assert)(proto.name, `invalid FileDescriptorProto: missing name`);
67
- const file = Object.assign(Object.assign({ kind: "file", proto, deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false }, parseFileSyntax(proto.syntax, proto.edition)), { name: proto.name.replace(/\.proto/, ""), dependencies: findFileDependencies(proto, cart), enums: [], messages: [], extensions: [], services: [], toString() {
68
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- we asserted above
69
- return `file ${this.proto.name}`;
70
- },
71
- getSyntaxComments() {
72
- return findComments(this.proto.sourceCodeInfo, [
73
- FieldNumber.FileDescriptorProto_Syntax,
74
- ]);
75
- },
76
- getPackageComments() {
77
- return findComments(this.proto.sourceCodeInfo, [
78
- FieldNumber.FileDescriptorProto_Package,
79
- ]);
80
- },
81
- getFeatures() {
82
- var _a;
83
- return resolveFeatures((_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
84
- } });
85
- cart.mapEntries.clear(); // map entries are local to the file, we can safely discard
86
- for (const enumProto of proto.enumType) {
87
- addEnum(enumProto, file, undefined, cart, resolveFeatures);
88
- }
89
- for (const messageProto of proto.messageType) {
90
- addMessage(messageProto, file, undefined, cart, resolveFeatures);
91
- }
92
- for (const serviceProto of proto.service) {
93
- addService(serviceProto, file, cart, resolveFeatures);
94
- }
95
- addExtensions(file, cart, resolveFeatures);
96
- for (const mapEntry of cart.mapEntries.values()) {
97
- addFields(mapEntry, cart, resolveFeatures);
98
- }
99
- for (const message of file.messages) {
100
- addFields(message, cart, resolveFeatures);
101
- addExtensions(message, cart, resolveFeatures);
102
- }
103
- cart.mapEntries.clear(); // map entries are local to the file, we can safely discard
104
- cart.files.push(file);
105
- }
106
- /**
107
- * Create descriptors for extensions, and add them to the message / file,
108
- * and to our cart.
109
- * Recurses into nested types.
110
- */
111
- function addExtensions(desc, cart, resolveFeatures) {
112
- switch (desc.kind) {
113
- case "file":
114
- for (const proto of desc.proto.extension) {
115
- const ext = newExtension(proto, desc, undefined, cart, resolveFeatures);
116
- desc.extensions.push(ext);
117
- cart.extensions.set(ext.typeName, ext);
118
- }
119
- break;
120
- case "message":
121
- for (const proto of desc.proto.extension) {
122
- const ext = newExtension(proto, desc.file, desc, cart, resolveFeatures);
123
- desc.nestedExtensions.push(ext);
124
- cart.extensions.set(ext.typeName, ext);
125
- }
126
- for (const message of desc.nestedMessages) {
127
- addExtensions(message, cart, resolveFeatures);
128
- }
129
- break;
130
- }
131
- }
132
- /**
133
- * Create descriptors for fields and oneof groups, and add them to the message.
134
- * Recurses into nested types.
135
- */
136
- function addFields(message, cart, resolveFeatures) {
137
- const allOneofs = message.proto.oneofDecl.map((proto) => newOneof(proto, message, resolveFeatures));
138
- const oneofsSeen = new Set();
139
- for (const proto of message.proto.field) {
140
- const oneof = findOneof(proto, allOneofs);
141
- const field = newField(proto, message.file, message, oneof, cart, resolveFeatures);
142
- message.fields.push(field);
143
- if (oneof === undefined) {
144
- message.members.push(field);
145
- }
146
- else {
147
- oneof.fields.push(field);
148
- if (!oneofsSeen.has(oneof)) {
149
- oneofsSeen.add(oneof);
150
- message.members.push(oneof);
151
- }
152
- }
153
- }
154
- for (const oneof of allOneofs.filter((o) => oneofsSeen.has(o))) {
155
- message.oneofs.push(oneof);
156
- }
157
- for (const child of message.nestedMessages) {
158
- addFields(child, cart, resolveFeatures);
159
- }
160
- }
161
- /**
162
- * Create a descriptor for an enumeration, and add it our cart and to the
163
- * parent type, if any.
164
- */
165
- function addEnum(proto, file, parent, cart, resolveFeatures) {
166
- var _a, _b, _c;
167
- (0, assert_js_1.assert)(proto.name, `invalid EnumDescriptorProto: missing name`);
168
- const desc = {
169
- kind: "enum",
170
- proto,
171
- deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false,
172
- file,
173
- parent,
174
- name: proto.name,
175
- typeName: makeTypeName(proto, parent, file),
176
- values: [],
177
- sharedPrefix: (0, names_js_1.findEnumSharedPrefix)(proto.name, proto.value.map((v) => { var _a; return (_a = v.name) !== null && _a !== void 0 ? _a : ""; })),
178
- toString() {
179
- return `enum ${this.typeName}`;
180
- },
181
- getComments() {
182
- const path = this.parent
183
- ? [
184
- ...this.parent.getComments().sourcePath,
185
- FieldNumber.DescriptorProto_EnumType,
186
- this.parent.proto.enumType.indexOf(this.proto),
187
- ]
188
- : [
189
- FieldNumber.FileDescriptorProto_EnumType,
190
- this.file.proto.enumType.indexOf(this.proto),
191
- ];
192
- return findComments(file.proto.sourceCodeInfo, path);
193
- },
194
- getFeatures() {
195
- var _a, _b;
196
- return resolveFeatures((_a = parent === null || parent === void 0 ? void 0 : parent.getFeatures()) !== null && _a !== void 0 ? _a : file.getFeatures(), (_b = proto.options) === null || _b === void 0 ? void 0 : _b.features);
197
- },
198
- };
199
- cart.enums.set(desc.typeName, desc);
200
- proto.value.forEach((proto) => {
201
- var _a, _b;
202
- (0, assert_js_1.assert)(proto.name, `invalid EnumValueDescriptorProto: missing name`);
203
- (0, assert_js_1.assert)(proto.number !== undefined, `invalid EnumValueDescriptorProto: missing number`);
204
- desc.values.push({
205
- kind: "enum_value",
206
- proto,
207
- deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false,
208
- parent: desc,
209
- name: proto.name,
210
- number: proto.number,
211
- toString() {
212
- return `enum value ${desc.typeName}.${this.name}`;
213
- },
214
- declarationString() {
215
- var _a;
216
- let str = `${this.name} = ${this.number}`;
217
- if (((_a = this.proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) === true) {
218
- str += " [deprecated = true]";
219
- }
220
- return str;
221
- },
222
- getComments() {
223
- const path = [
224
- ...this.parent.getComments().sourcePath,
225
- FieldNumber.EnumDescriptorProto_Value,
226
- this.parent.proto.value.indexOf(this.proto),
227
- ];
228
- return findComments(file.proto.sourceCodeInfo, path);
229
- },
230
- getFeatures() {
231
- var _a;
232
- return resolveFeatures(desc.getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
233
- },
234
- });
235
- });
236
- ((_c = parent === null || parent === void 0 ? void 0 : parent.nestedEnums) !== null && _c !== void 0 ? _c : file.enums).push(desc);
237
- }
238
- /**
239
- * Create a descriptor for a message, including nested types, and add it to our
240
- * cart. Note that this does not create descriptors fields.
241
- */
242
- function addMessage(proto, file, parent, cart, resolveFeatures) {
243
- var _a, _b, _c, _d;
244
- (0, assert_js_1.assert)(proto.name, `invalid DescriptorProto: missing name`);
245
- const desc = {
246
- kind: "message",
247
- proto,
248
- deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false,
249
- file,
250
- parent,
251
- name: proto.name,
252
- typeName: makeTypeName(proto, parent, file),
253
- fields: [],
254
- oneofs: [],
255
- members: [],
256
- nestedEnums: [],
257
- nestedMessages: [],
258
- nestedExtensions: [],
259
- toString() {
260
- return `message ${this.typeName}`;
261
- },
262
- getComments() {
263
- const path = this.parent
264
- ? [
265
- ...this.parent.getComments().sourcePath,
266
- FieldNumber.DescriptorProto_NestedType,
267
- this.parent.proto.nestedType.indexOf(this.proto),
268
- ]
269
- : [
270
- FieldNumber.FileDescriptorProto_MessageType,
271
- this.file.proto.messageType.indexOf(this.proto),
272
- ];
273
- return findComments(file.proto.sourceCodeInfo, path);
274
- },
275
- getFeatures() {
276
- var _a, _b;
277
- return resolveFeatures((_a = parent === null || parent === void 0 ? void 0 : parent.getFeatures()) !== null && _a !== void 0 ? _a : file.getFeatures(), (_b = proto.options) === null || _b === void 0 ? void 0 : _b.features);
278
- },
279
- };
280
- if (((_c = proto.options) === null || _c === void 0 ? void 0 : _c.mapEntry) === true) {
281
- cart.mapEntries.set(desc.typeName, desc);
282
- }
283
- else {
284
- ((_d = parent === null || parent === void 0 ? void 0 : parent.nestedMessages) !== null && _d !== void 0 ? _d : file.messages).push(desc);
285
- cart.messages.set(desc.typeName, desc);
286
- }
287
- for (const enumProto of proto.enumType) {
288
- addEnum(enumProto, file, desc, cart, resolveFeatures);
289
- }
290
- for (const messageProto of proto.nestedType) {
291
- addMessage(messageProto, file, desc, cart, resolveFeatures);
292
- }
293
- }
294
- /**
295
- * Create a descriptor for a service, including methods, and add it to our
296
- * cart.
297
- */
298
- function addService(proto, file, cart, resolveFeatures) {
299
- var _a, _b;
300
- (0, assert_js_1.assert)(proto.name, `invalid ServiceDescriptorProto: missing name`);
301
- const desc = {
302
- kind: "service",
303
- proto,
304
- deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false,
305
- file,
306
- name: proto.name,
307
- typeName: makeTypeName(proto, undefined, file),
308
- methods: [],
309
- toString() {
310
- return `service ${this.typeName}`;
311
- },
312
- getComments() {
313
- const path = [
314
- FieldNumber.FileDescriptorProto_Service,
315
- this.file.proto.service.indexOf(this.proto),
316
- ];
317
- return findComments(file.proto.sourceCodeInfo, path);
318
- },
319
- getFeatures() {
320
- var _a;
321
- return resolveFeatures(file.getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
322
- },
323
- };
324
- file.services.push(desc);
325
- cart.services.set(desc.typeName, desc);
326
- for (const methodProto of proto.method) {
327
- desc.methods.push(newMethod(methodProto, desc, cart, resolveFeatures));
328
- }
329
- }
330
- /**
331
- * Create a descriptor for a method.
332
- */
333
- function newMethod(proto, parent, cart, resolveFeatures) {
334
- var _a, _b, _c;
335
- (0, assert_js_1.assert)(proto.name, `invalid MethodDescriptorProto: missing name`);
336
- (0, assert_js_1.assert)(proto.inputType, `invalid MethodDescriptorProto: missing input_type`);
337
- (0, assert_js_1.assert)(proto.outputType, `invalid MethodDescriptorProto: missing output_type`);
338
- let methodKind;
339
- if (proto.clientStreaming === true && proto.serverStreaming === true) {
340
- methodKind = service_type_js_1.MethodKind.BiDiStreaming;
341
- }
342
- else if (proto.clientStreaming === true) {
343
- methodKind = service_type_js_1.MethodKind.ClientStreaming;
344
- }
345
- else if (proto.serverStreaming === true) {
346
- methodKind = service_type_js_1.MethodKind.ServerStreaming;
347
- }
348
- else {
349
- methodKind = service_type_js_1.MethodKind.Unary;
350
- }
351
- let idempotency;
352
- switch ((_a = proto.options) === null || _a === void 0 ? void 0 : _a.idempotencyLevel) {
353
- case descriptor_pb_js_1.MethodOptions_IdempotencyLevel.IDEMPOTENT:
354
- idempotency = service_type_js_1.MethodIdempotency.Idempotent;
355
- break;
356
- case descriptor_pb_js_1.MethodOptions_IdempotencyLevel.NO_SIDE_EFFECTS:
357
- idempotency = service_type_js_1.MethodIdempotency.NoSideEffects;
358
- break;
359
- case descriptor_pb_js_1.MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN:
360
- case undefined:
361
- idempotency = undefined;
362
- break;
363
- }
364
- const input = cart.messages.get(trimLeadingDot(proto.inputType));
365
- const output = cart.messages.get(trimLeadingDot(proto.outputType));
366
- (0, assert_js_1.assert)(input, `invalid MethodDescriptorProto: input_type ${proto.inputType} not found`);
367
- (0, assert_js_1.assert)(output, `invalid MethodDescriptorProto: output_type ${proto.inputType} not found`);
368
- const name = proto.name;
369
- return {
370
- kind: "rpc",
371
- proto,
372
- deprecated: (_c = (_b = proto.options) === null || _b === void 0 ? void 0 : _b.deprecated) !== null && _c !== void 0 ? _c : false,
373
- parent,
374
- name,
375
- methodKind,
376
- input,
377
- output,
378
- idempotency,
379
- toString() {
380
- return `rpc ${parent.typeName}.${name}`;
381
- },
382
- getComments() {
383
- const path = [
384
- ...this.parent.getComments().sourcePath,
385
- FieldNumber.ServiceDescriptorProto_Method,
386
- this.parent.proto.method.indexOf(this.proto),
387
- ];
388
- return findComments(parent.file.proto.sourceCodeInfo, path);
389
- },
390
- getFeatures() {
391
- var _a;
392
- return resolveFeatures(parent.getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
393
- },
394
- };
395
- }
396
- /**
397
- * Create a descriptor for a oneof group.
398
- */
399
- function newOneof(proto, parent, resolveFeatures) {
400
- (0, assert_js_1.assert)(proto.name, `invalid OneofDescriptorProto: missing name`);
401
- return {
402
- kind: "oneof",
403
- proto,
404
- deprecated: false,
405
- parent,
406
- fields: [],
407
- name: proto.name,
408
- toString() {
409
- return `oneof ${parent.typeName}.${this.name}`;
410
- },
411
- getComments() {
412
- const path = [
413
- ...this.parent.getComments().sourcePath,
414
- FieldNumber.DescriptorProto_OneofDecl,
415
- this.parent.proto.oneofDecl.indexOf(this.proto),
416
- ];
417
- return findComments(parent.file.proto.sourceCodeInfo, path);
418
- },
419
- getFeatures() {
420
- var _a;
421
- return resolveFeatures(parent.getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
422
- },
423
- };
424
- }
425
- /**
426
- * Create a descriptor for a field.
427
- */
428
- function newField(proto, file, parent, oneof, cart, resolveFeatures) {
429
- var _a, _b, _c;
430
- (0, assert_js_1.assert)(proto.name, `invalid FieldDescriptorProto: missing name`);
431
- (0, assert_js_1.assert)(proto.number, `invalid FieldDescriptorProto: missing number`);
432
- (0, assert_js_1.assert)(proto.type, `invalid FieldDescriptorProto: missing type`);
433
- const common = {
434
- proto,
435
- deprecated: (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.deprecated) !== null && _b !== void 0 ? _b : false,
436
- name: proto.name,
437
- number: proto.number,
438
- parent,
439
- oneof,
440
- optional: isOptionalField(proto, file.syntax),
441
- packedByDefault: isPackedFieldByDefault(proto, resolveFeatures),
442
- packed: isPackedField(file, parent, proto, resolveFeatures),
443
- jsonName: proto.jsonName === (0, names_js_1.fieldJsonName)(proto.name) ? undefined : proto.jsonName,
444
- scalar: undefined,
445
- longType: undefined,
446
- message: undefined,
447
- enum: undefined,
448
- mapKey: undefined,
449
- mapValue: undefined,
450
- declarationString,
451
- // toString, getComments, getFeatures are overridden in newExtension
452
- toString() {
453
- return `field ${this.parent.typeName}.${this.name}`;
454
- },
455
- getComments() {
456
- const path = [
457
- ...this.parent.getComments().sourcePath,
458
- FieldNumber.DescriptorProto_Field,
459
- this.parent.proto.field.indexOf(this.proto),
460
- ];
461
- return findComments(file.proto.sourceCodeInfo, path);
462
- },
463
- getFeatures() {
464
- var _a;
465
- return resolveFeatures(parent.getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
466
- },
467
- };
468
- const repeated = proto.label === descriptor_pb_js_1.FieldDescriptorProto_Label.REPEATED;
469
- switch (proto.type) {
470
- case descriptor_pb_js_1.FieldDescriptorProto_Type.MESSAGE:
471
- case descriptor_pb_js_1.FieldDescriptorProto_Type.GROUP: {
472
- (0, assert_js_1.assert)(proto.typeName, `invalid FieldDescriptorProto: missing type_name`);
473
- const mapEntry = cart.mapEntries.get(trimLeadingDot(proto.typeName));
474
- if (mapEntry !== undefined) {
475
- (0, assert_js_1.assert)(repeated, `invalid FieldDescriptorProto: expected map entry to be repeated`);
476
- return Object.assign(Object.assign(Object.assign({}, common), { kind: "field", fieldKind: "map", repeated: false }), getMapFieldTypes(mapEntry));
477
- }
478
- const message = cart.messages.get(trimLeadingDot(proto.typeName));
479
- (0, assert_js_1.assert)(message !== undefined, `invalid FieldDescriptorProto: type_name ${proto.typeName} not found`);
480
- return Object.assign(Object.assign({}, common), { kind: "field", fieldKind: "message", repeated,
481
- message });
482
- }
483
- case descriptor_pb_js_1.FieldDescriptorProto_Type.ENUM: {
484
- (0, assert_js_1.assert)(proto.typeName, `invalid FieldDescriptorProto: missing type_name`);
485
- const e = cart.enums.get(trimLeadingDot(proto.typeName));
486
- (0, assert_js_1.assert)(e !== undefined, `invalid FieldDescriptorProto: type_name ${proto.typeName} not found`);
487
- return Object.assign(Object.assign({}, common), { kind: "field", fieldKind: "enum", getDefaultValue,
488
- repeated, enum: e });
489
- }
490
- default: {
491
- const scalar = fieldTypeToScalarType[proto.type];
492
- (0, assert_js_1.assert)(scalar, `invalid FieldDescriptorProto: unknown type ${proto.type}`);
493
- return Object.assign(Object.assign({}, common), { kind: "field", fieldKind: "scalar", getDefaultValue,
494
- repeated,
495
- scalar, longType: ((_c = proto.options) === null || _c === void 0 ? void 0 : _c.jstype) == descriptor_pb_js_1.FieldOptions_JSType.JS_STRING
496
- ? scalar_js_1.LongType.STRING
497
- : scalar_js_1.LongType.BIGINT });
498
- }
499
- }
500
- }
501
- /**
502
- * Create a descriptor for an extension field.
503
- */
504
- function newExtension(proto, file, parent, cart, resolveFeatures) {
505
- (0, assert_js_1.assert)(proto.extendee, `invalid FieldDescriptorProto: missing extendee`);
506
- const field = newField(proto, file, null, // to safe us many lines of duplicated code, we trick the type system
507
- undefined, cart, resolveFeatures);
508
- const extendee = cart.messages.get(trimLeadingDot(proto.extendee));
509
- (0, assert_js_1.assert)(extendee, `invalid FieldDescriptorProto: extendee ${proto.extendee} not found`);
510
- return Object.assign(Object.assign({}, field), { kind: "extension", typeName: makeTypeName(proto, parent, file), parent,
511
- file,
512
- extendee,
513
- // Must override toString, getComments, getFeatures from newField, because we
514
- // call newField with parent undefined.
515
- toString() {
516
- return `extension ${this.typeName}`;
517
- },
518
- getComments() {
519
- const path = this.parent
520
- ? [
521
- ...this.parent.getComments().sourcePath,
522
- FieldNumber.DescriptorProto_Extension,
523
- this.parent.proto.extension.indexOf(proto),
524
- ]
525
- : [
526
- FieldNumber.FileDescriptorProto_Extension,
527
- this.file.proto.extension.indexOf(proto),
528
- ];
529
- return findComments(file.proto.sourceCodeInfo, path);
530
- },
531
- getFeatures() {
532
- var _a;
533
- return resolveFeatures((parent !== null && parent !== void 0 ? parent : file).getFeatures(), (_a = proto.options) === null || _a === void 0 ? void 0 : _a.features);
534
- } });
535
- }
536
- /**
537
- * Parse the "syntax" and "edition" fields, stripping test editions.
538
- */
539
- function parseFileSyntax(syntax, edition) {
540
- let e;
541
- let s;
542
- switch (syntax) {
543
- case undefined:
544
- case "proto2":
545
- s = "proto2";
546
- e = descriptor_pb_js_1.Edition.EDITION_PROTO2;
547
- break;
548
- case "proto3":
549
- s = "proto3";
550
- e = descriptor_pb_js_1.Edition.EDITION_PROTO3;
551
- break;
552
- case "editions":
553
- s = "editions";
554
- switch (edition) {
555
- case undefined:
556
- case descriptor_pb_js_1.Edition.EDITION_1_TEST_ONLY:
557
- case descriptor_pb_js_1.Edition.EDITION_2_TEST_ONLY:
558
- case descriptor_pb_js_1.Edition.EDITION_99997_TEST_ONLY:
559
- case descriptor_pb_js_1.Edition.EDITION_99998_TEST_ONLY:
560
- case descriptor_pb_js_1.Edition.EDITION_99999_TEST_ONLY:
561
- case descriptor_pb_js_1.Edition.EDITION_UNKNOWN:
562
- e = descriptor_pb_js_1.Edition.EDITION_UNKNOWN;
563
- break;
564
- default:
565
- e = edition;
566
- break;
567
- }
568
- break;
569
- default:
570
- throw new Error(`invalid FileDescriptorProto: unsupported syntax: ${syntax}`);
571
- }
572
- if (syntax === "editions" && edition === descriptor_pb_js_1.Edition.EDITION_UNKNOWN) {
573
- throw new Error(`invalid FileDescriptorProto: syntax ${syntax} cannot have edition ${String(edition)}`);
574
- }
575
- return {
576
- syntax: s,
577
- edition: e,
578
- };
579
- }
580
- /**
581
- * Resolve dependencies of FileDescriptorProto to DescFile.
582
- */
583
- function findFileDependencies(proto, cart) {
584
- return proto.dependency.map((wantName) => {
585
- const dep = cart.files.find((f) => f.proto.name === wantName);
586
- (0, assert_js_1.assert)(dep);
587
- return dep;
588
- });
589
- }
590
- /**
591
- * Create a fully qualified name for a protobuf type or extension field.
592
- *
593
- * The fully qualified name for messages, enumerations, and services is
594
- * constructed by concatenating the package name (if present), parent
595
- * message names (for nested types), and the type name. We omit the leading
596
- * dot added by protobuf compilers. Examples:
597
- * - mypackage.MyMessage
598
- * - mypackage.MyMessage.NestedMessage
599
- *
600
- * The fully qualified name for extension fields is constructed by
601
- * concatenating the package name (if present), parent message names (for
602
- * extensions declared within a message), and the field name. Examples:
603
- * - mypackage.extfield
604
- * - mypackage.MyMessage.extfield
605
- */
606
- function makeTypeName(proto, parent, file) {
607
- (0, assert_js_1.assert)(proto.name, `invalid ${proto.getType().typeName}: missing name`);
608
- let typeName;
609
- if (parent) {
610
- typeName = `${parent.typeName}.${proto.name}`;
611
- }
612
- else if (file.proto.package !== undefined) {
613
- typeName = `${file.proto.package}.${proto.name}`;
614
- }
615
- else {
616
- typeName = `${proto.name}`;
617
- }
618
- return typeName;
619
- }
620
- /**
621
- * Remove the leading dot from a fully qualified type name.
622
- */
623
- function trimLeadingDot(typeName) {
624
- return typeName.startsWith(".") ? typeName.substring(1) : typeName;
625
- }
626
- function getMapFieldTypes(mapEntry) {
627
- var _a, _b;
628
- (0, assert_js_1.assert)((_a = mapEntry.proto.options) === null || _a === void 0 ? void 0 : _a.mapEntry, `invalid DescriptorProto: expected ${mapEntry.toString()} to be a map entry`);
629
- (0, assert_js_1.assert)(mapEntry.fields.length === 2, `invalid DescriptorProto: map entry ${mapEntry.toString()} has ${mapEntry.fields.length} fields`);
630
- const keyField = mapEntry.fields.find((f) => f.proto.number === 1);
631
- (0, assert_js_1.assert)(keyField, `invalid DescriptorProto: map entry ${mapEntry.toString()} is missing key field`);
632
- const mapKey = keyField.scalar;
633
- (0, assert_js_1.assert)(mapKey !== undefined &&
634
- mapKey !== scalar_js_1.ScalarType.BYTES &&
635
- mapKey !== scalar_js_1.ScalarType.FLOAT &&
636
- mapKey !== scalar_js_1.ScalarType.DOUBLE, `invalid DescriptorProto: map entry ${mapEntry.toString()} has unexpected key type ${(_b = keyField.proto.type) !== null && _b !== void 0 ? _b : -1}`);
637
- const valueField = mapEntry.fields.find((f) => f.proto.number === 2);
638
- (0, assert_js_1.assert)(valueField, `invalid DescriptorProto: map entry ${mapEntry.toString()} is missing value field`);
639
- switch (valueField.fieldKind) {
640
- case "scalar":
641
- return {
642
- mapKey,
643
- mapValue: Object.assign(Object.assign({}, valueField), { kind: "scalar" }),
644
- };
645
- case "message":
646
- return {
647
- mapKey,
648
- mapValue: Object.assign(Object.assign({}, valueField), { kind: "message" }),
649
- };
650
- case "enum":
651
- return {
652
- mapKey,
653
- mapValue: Object.assign(Object.assign({}, valueField), { kind: "enum" }),
654
- };
655
- default:
656
- throw new Error("invalid DescriptorProto: unsupported map entry value field");
657
- }
658
- }
659
- /**
660
- * Did the user put the field in a oneof group?
661
- * This handles proto3 optionals.
662
- */
663
- function findOneof(proto, allOneofs) {
664
- var _a;
665
- const oneofIndex = proto.oneofIndex;
666
- if (oneofIndex === undefined) {
667
- return undefined;
668
- }
669
- let oneof;
670
- if (proto.proto3Optional !== true) {
671
- oneof = allOneofs[oneofIndex];
672
- (0, assert_js_1.assert)(oneof, `invalid FieldDescriptorProto: oneof #${oneofIndex} for field #${(_a = proto.number) !== null && _a !== void 0 ? _a : -1} not found`);
673
- }
674
- return oneof;
675
- }
676
- /**
677
- * Did the user use the `optional` keyword?
678
- * This handles proto3 optionals.
679
- */
680
- function isOptionalField(proto, syntax) {
681
- switch (syntax) {
682
- case "proto2":
683
- return (proto.oneofIndex === undefined &&
684
- proto.label === descriptor_pb_js_1.FieldDescriptorProto_Label.OPTIONAL);
685
- case "proto3":
686
- return proto.proto3Optional === true;
687
- case "editions":
688
- return false;
689
- }
690
- }
691
- /**
692
- * Is this field packed by default? Only valid for repeated enum fields, and
693
- * for repeated scalar fields except BYTES and STRING.
694
- *
695
- * In proto3 syntax, fields are packed by default. In proto2 syntax, fields
696
- * are unpacked by default. With editions, the default is whatever the edition
697
- * specifies as a default. In edition 2023, fields are packed by default.
698
- */
699
- function isPackedFieldByDefault(proto, resolveFeatures) {
700
- const { repeatedFieldEncoding } = resolveFeatures();
701
- if (repeatedFieldEncoding != descriptor_pb_js_1.FeatureSet_RepeatedFieldEncoding.PACKED) {
702
- return false;
703
- }
704
- // From the proto3 language guide:
705
- // > In proto3, repeated fields of scalar numeric types are packed by default.
706
- // This information is incomplete - according to the conformance tests, BOOL
707
- // and ENUM are packed by default as well. This means only STRING and BYTES
708
- // are not packed by default, which makes sense because they are length-delimited.
709
- switch (proto.type) {
710
- case descriptor_pb_js_1.FieldDescriptorProto_Type.STRING:
711
- case descriptor_pb_js_1.FieldDescriptorProto_Type.BYTES:
712
- case descriptor_pb_js_1.FieldDescriptorProto_Type.GROUP:
713
- case descriptor_pb_js_1.FieldDescriptorProto_Type.MESSAGE:
714
- return false;
715
- default:
716
- return true;
717
- }
718
- }
719
- /**
720
- * Pack this repeated field?
721
- *
722
- * Respects field type, proto2/proto3 defaults and the `packed` option, or
723
- * edition defaults and the edition features.repeated_field_encoding options.
724
- */
725
- function isPackedField(file, parent, proto, resolveFeatures) {
726
- var _a, _b, _c, _d, _e, _f;
727
- switch (proto.type) {
728
- case descriptor_pb_js_1.FieldDescriptorProto_Type.STRING:
729
- case descriptor_pb_js_1.FieldDescriptorProto_Type.BYTES:
730
- case descriptor_pb_js_1.FieldDescriptorProto_Type.GROUP:
731
- case descriptor_pb_js_1.FieldDescriptorProto_Type.MESSAGE:
732
- // length-delimited types cannot be packed
733
- return false;
734
- default:
735
- switch (file.edition) {
736
- case descriptor_pb_js_1.Edition.EDITION_PROTO2:
737
- return (_b = (_a = proto.options) === null || _a === void 0 ? void 0 : _a.packed) !== null && _b !== void 0 ? _b : false;
738
- case descriptor_pb_js_1.Edition.EDITION_PROTO3:
739
- return (_d = (_c = proto.options) === null || _c === void 0 ? void 0 : _c.packed) !== null && _d !== void 0 ? _d : true;
740
- default: {
741
- const { repeatedFieldEncoding } = resolveFeatures((_e = parent === null || parent === void 0 ? void 0 : parent.getFeatures()) !== null && _e !== void 0 ? _e : file.getFeatures(), (_f = proto.options) === null || _f === void 0 ? void 0 : _f.features);
742
- return (repeatedFieldEncoding == descriptor_pb_js_1.FeatureSet_RepeatedFieldEncoding.PACKED);
743
- }
744
- }
745
- }
746
- }
747
- /**
748
- * Map from a compiler-generated field type to our ScalarType, which is a
749
- * subset of field types declared by protobuf enum google.protobuf.FieldDescriptorProto.
750
- */
751
- const fieldTypeToScalarType = {
752
- [descriptor_pb_js_1.FieldDescriptorProto_Type.DOUBLE]: scalar_js_1.ScalarType.DOUBLE,
753
- [descriptor_pb_js_1.FieldDescriptorProto_Type.FLOAT]: scalar_js_1.ScalarType.FLOAT,
754
- [descriptor_pb_js_1.FieldDescriptorProto_Type.INT64]: scalar_js_1.ScalarType.INT64,
755
- [descriptor_pb_js_1.FieldDescriptorProto_Type.UINT64]: scalar_js_1.ScalarType.UINT64,
756
- [descriptor_pb_js_1.FieldDescriptorProto_Type.INT32]: scalar_js_1.ScalarType.INT32,
757
- [descriptor_pb_js_1.FieldDescriptorProto_Type.FIXED64]: scalar_js_1.ScalarType.FIXED64,
758
- [descriptor_pb_js_1.FieldDescriptorProto_Type.FIXED32]: scalar_js_1.ScalarType.FIXED32,
759
- [descriptor_pb_js_1.FieldDescriptorProto_Type.BOOL]: scalar_js_1.ScalarType.BOOL,
760
- [descriptor_pb_js_1.FieldDescriptorProto_Type.STRING]: scalar_js_1.ScalarType.STRING,
761
- [descriptor_pb_js_1.FieldDescriptorProto_Type.GROUP]: undefined,
762
- [descriptor_pb_js_1.FieldDescriptorProto_Type.MESSAGE]: undefined,
763
- [descriptor_pb_js_1.FieldDescriptorProto_Type.BYTES]: scalar_js_1.ScalarType.BYTES,
764
- [descriptor_pb_js_1.FieldDescriptorProto_Type.UINT32]: scalar_js_1.ScalarType.UINT32,
765
- [descriptor_pb_js_1.FieldDescriptorProto_Type.ENUM]: undefined,
766
- [descriptor_pb_js_1.FieldDescriptorProto_Type.SFIXED32]: scalar_js_1.ScalarType.SFIXED32,
767
- [descriptor_pb_js_1.FieldDescriptorProto_Type.SFIXED64]: scalar_js_1.ScalarType.SFIXED64,
768
- [descriptor_pb_js_1.FieldDescriptorProto_Type.SINT32]: scalar_js_1.ScalarType.SINT32,
769
- [descriptor_pb_js_1.FieldDescriptorProto_Type.SINT64]: scalar_js_1.ScalarType.SINT64,
770
- };
771
- /**
772
- * Find comments.
773
- */
774
- function findComments(sourceCodeInfo, sourcePath) {
775
- if (!sourceCodeInfo) {
776
- return {
777
- leadingDetached: [],
778
- sourcePath,
779
- };
780
- }
781
- for (const location of sourceCodeInfo.location) {
782
- if (location.path.length !== sourcePath.length) {
783
- continue;
784
- }
785
- if (location.path.some((value, index) => sourcePath[index] !== value)) {
786
- continue;
787
- }
788
- return {
789
- leadingDetached: location.leadingDetachedComments,
790
- leading: location.leadingComments,
791
- trailing: location.trailingComments,
792
- sourcePath,
793
- };
794
- }
795
- return {
796
- leadingDetached: [],
797
- sourcePath,
798
- };
799
- }
800
- /**
801
- * The following field numbers are used to find comments in
802
- * google.protobuf.SourceCodeInfo.
803
- */
804
- var FieldNumber;
805
- (function (FieldNumber) {
806
- FieldNumber[FieldNumber["FileDescriptorProto_Package"] = 2] = "FileDescriptorProto_Package";
807
- FieldNumber[FieldNumber["FileDescriptorProto_MessageType"] = 4] = "FileDescriptorProto_MessageType";
808
- FieldNumber[FieldNumber["FileDescriptorProto_EnumType"] = 5] = "FileDescriptorProto_EnumType";
809
- FieldNumber[FieldNumber["FileDescriptorProto_Service"] = 6] = "FileDescriptorProto_Service";
810
- FieldNumber[FieldNumber["FileDescriptorProto_Extension"] = 7] = "FileDescriptorProto_Extension";
811
- FieldNumber[FieldNumber["FileDescriptorProto_Syntax"] = 12] = "FileDescriptorProto_Syntax";
812
- FieldNumber[FieldNumber["DescriptorProto_Field"] = 2] = "DescriptorProto_Field";
813
- FieldNumber[FieldNumber["DescriptorProto_NestedType"] = 3] = "DescriptorProto_NestedType";
814
- FieldNumber[FieldNumber["DescriptorProto_EnumType"] = 4] = "DescriptorProto_EnumType";
815
- FieldNumber[FieldNumber["DescriptorProto_Extension"] = 6] = "DescriptorProto_Extension";
816
- FieldNumber[FieldNumber["DescriptorProto_OneofDecl"] = 8] = "DescriptorProto_OneofDecl";
817
- FieldNumber[FieldNumber["EnumDescriptorProto_Value"] = 2] = "EnumDescriptorProto_Value";
818
- FieldNumber[FieldNumber["ServiceDescriptorProto_Method"] = 2] = "ServiceDescriptorProto_Method";
819
- })(FieldNumber || (FieldNumber = {}));
820
- /**
821
- * Return a string that matches the definition of a field in the protobuf
822
- * source. Does not take custom options into account.
823
- */
824
- function declarationString() {
825
- var _a, _b, _c;
826
- const parts = [];
827
- if (this.repeated) {
828
- parts.push("repeated");
829
- }
830
- if (this.optional) {
831
- parts.push("optional");
832
- }
833
- const file = this.kind === "extension" ? this.file : this.parent.file;
834
- if (file.syntax == "proto2" &&
835
- this.proto.label === descriptor_pb_js_1.FieldDescriptorProto_Label.REQUIRED) {
836
- parts.push("required");
837
- }
838
- let type;
839
- switch (this.fieldKind) {
840
- case "scalar":
841
- type = scalar_js_1.ScalarType[this.scalar].toLowerCase();
842
- break;
843
- case "enum":
844
- type = this.enum.typeName;
845
- break;
846
- case "message":
847
- type = this.message.typeName;
848
- break;
849
- case "map": {
850
- const k = scalar_js_1.ScalarType[this.mapKey].toLowerCase();
851
- let v;
852
- switch (this.mapValue.kind) {
853
- case "scalar":
854
- v = scalar_js_1.ScalarType[this.mapValue.scalar].toLowerCase();
855
- break;
856
- case "enum":
857
- v = this.mapValue.enum.typeName;
858
- break;
859
- case "message":
860
- v = this.mapValue.message.typeName;
861
- break;
862
- }
863
- type = `map<${k}, ${v}>`;
864
- break;
865
- }
866
- }
867
- parts.push(`${type} ${this.name} = ${this.number}`);
868
- const options = [];
869
- if (((_a = this.proto.options) === null || _a === void 0 ? void 0 : _a.packed) !== undefined) {
870
- options.push(`packed = ${this.proto.options.packed.toString()}`);
871
- }
872
- let defaultValue = this.proto.defaultValue;
873
- if (defaultValue !== undefined) {
874
- if (this.proto.type == descriptor_pb_js_1.FieldDescriptorProto_Type.BYTES ||
875
- this.proto.type == descriptor_pb_js_1.FieldDescriptorProto_Type.STRING) {
876
- defaultValue = '"' + defaultValue.replace('"', '\\"') + '"';
877
- }
878
- options.push(`default = ${defaultValue}`);
879
- }
880
- if (this.jsonName !== undefined) {
881
- options.push(`json_name = "${this.jsonName}"`);
882
- }
883
- if (((_b = this.proto.options) === null || _b === void 0 ? void 0 : _b.jstype) !== undefined) {
884
- options.push(`jstype = ${descriptor_pb_js_1.FieldOptions_JSType[this.proto.options.jstype]}`);
885
- }
886
- if (((_c = this.proto.options) === null || _c === void 0 ? void 0 : _c.deprecated) === true) {
887
- options.push(`deprecated = true`);
888
- }
889
- if (options.length > 0) {
890
- parts.push("[" + options.join(", ") + "]");
891
- }
892
- return parts.join(" ");
893
- }
894
- /**
895
- * Parses a text-encoded default value (proto2) of a scalar or enum field.
896
- */
897
- function getDefaultValue() {
898
- const d = this.proto.defaultValue;
899
- if (d === undefined) {
900
- return undefined;
901
- }
902
- switch (this.fieldKind) {
903
- case "enum":
904
- return (0, text_format_js_1.parseTextFormatEnumValue)(this.enum, d);
905
- case "scalar":
906
- return (0, text_format_js_1.parseTextFormatScalarValue)(this.scalar, d);
907
- default:
908
- return undefined;
909
- }
910
- }