@bufbuild/protobuf 1.8.0 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/dist/cjs/clone.d.ts +6 -0
  2. package/dist/cjs/clone.js +77 -0
  3. package/dist/cjs/codegenv1/boot.d.ts +63 -0
  4. package/dist/cjs/codegenv1/boot.js +102 -0
  5. package/dist/cjs/codegenv1/embed.d.ts +43 -0
  6. package/dist/cjs/codegenv1/embed.js +238 -0
  7. package/dist/cjs/codegenv1/enum.d.ts +17 -0
  8. package/dist/cjs/codegenv1/enum.js +43 -0
  9. package/dist/cjs/codegenv1/extension.d.ts +9 -0
  10. package/dist/cjs/codegenv1/extension.js +29 -0
  11. package/dist/cjs/codegenv1/file.d.ts +7 -0
  12. package/dist/cjs/codegenv1/file.js +38 -0
  13. package/dist/cjs/codegenv1/index.d.ts +9 -0
  14. package/dist/cjs/codegenv1/index.js +38 -0
  15. package/dist/cjs/codegenv1/message.d.ts +9 -0
  16. package/dist/cjs/codegenv1/message.js +25 -0
  17. package/dist/cjs/codegenv1/restore-json-names.d.ts +2 -0
  18. package/dist/cjs/codegenv1/restore-json-names.js +27 -0
  19. package/dist/cjs/codegenv1/service.d.ts +8 -0
  20. package/dist/cjs/codegenv1/service.js +28 -0
  21. package/dist/cjs/codegenv1/symbols.d.ts +116 -0
  22. package/dist/cjs/codegenv1/symbols.js +58 -0
  23. package/dist/cjs/codegenv1/types.d.ts +19 -0
  24. package/dist/cjs/codegenv1/types.js +21 -0
  25. package/dist/cjs/create.d.ts +9 -0
  26. package/dist/cjs/create.js +242 -0
  27. package/dist/{esm/descriptor-set.d.ts → cjs/desc-types.d.ts} +144 -242
  28. package/dist/cjs/equals.d.ts +9 -0
  29. package/dist/cjs/equals.js +133 -0
  30. package/dist/cjs/{extension-accessor.d.ts → extensions.d.ts} +11 -7
  31. package/dist/cjs/extensions.js +138 -0
  32. package/dist/cjs/fields.d.ts +22 -0
  33. package/dist/cjs/fields.js +39 -0
  34. package/dist/cjs/from-binary.d.ts +34 -0
  35. package/dist/cjs/from-binary.js +221 -0
  36. package/dist/cjs/from-json.d.ts +48 -0
  37. package/dist/cjs/from-json.js +614 -0
  38. package/dist/cjs/index.d.ts +16 -42
  39. package/dist/cjs/index.js +21 -55
  40. package/dist/cjs/is-message.d.ts +5 -20
  41. package/dist/cjs/is-message.js +11 -29
  42. package/dist/cjs/json-value.d.ts +16 -0
  43. package/dist/cjs/proto-int64.js +2 -2
  44. package/dist/cjs/reflect/error.d.ts +9 -0
  45. package/dist/cjs/reflect/error.js +36 -0
  46. package/dist/cjs/reflect/guard.d.ts +20 -0
  47. package/dist/cjs/reflect/guard.js +78 -0
  48. package/dist/cjs/reflect/index.d.ts +8 -0
  49. package/dist/cjs/reflect/index.js +41 -0
  50. package/dist/cjs/reflect/names.d.ts +23 -0
  51. package/dist/cjs/reflect/names.js +112 -0
  52. package/dist/cjs/reflect/nested-types.d.ts +2 -0
  53. package/dist/cjs/reflect/nested-types.js +38 -0
  54. package/dist/cjs/reflect/reflect-check.d.ts +10 -0
  55. package/dist/cjs/reflect/reflect-check.js +150 -0
  56. package/dist/cjs/reflect/reflect-types.d.ts +136 -0
  57. package/dist/cjs/{extension.js → reflect/reflect-types.js} +1 -0
  58. package/dist/cjs/reflect/reflect.d.ts +23 -0
  59. package/dist/cjs/reflect/reflect.js +409 -0
  60. package/dist/cjs/reflect/registry.d.ts +82 -0
  61. package/dist/cjs/reflect/registry.js +870 -0
  62. package/dist/{esm → cjs/reflect}/scalar.d.ts +21 -1
  63. package/dist/cjs/reflect/scalar.js +298 -0
  64. package/dist/cjs/reflect/unsafe.d.ts +58 -0
  65. package/dist/cjs/reflect/unsafe.js +171 -0
  66. package/dist/cjs/to-binary.d.ts +24 -0
  67. package/dist/cjs/to-binary.js +194 -0
  68. package/dist/cjs/to-json.d.ts +50 -0
  69. package/dist/cjs/to-json.js +384 -0
  70. package/dist/cjs/types.d.ts +68 -0
  71. package/dist/cjs/wire/base64-encoding.d.ts +23 -0
  72. package/dist/cjs/wire/base64-encoding.js +156 -0
  73. package/dist/cjs/wire/binary-encoding.d.ts +242 -0
  74. package/dist/cjs/{binary-encoding.js → wire/binary-encoding.js} +11 -10
  75. package/dist/cjs/wire/index.d.ts +5 -0
  76. package/dist/cjs/wire/index.js +34 -0
  77. package/dist/cjs/wire/size-delimited.d.ts +51 -0
  78. package/dist/cjs/wire/size-delimited.js +154 -0
  79. package/dist/cjs/wire/text-encoding.d.ts +26 -0
  80. package/dist/cjs/wire/text-encoding.js +55 -0
  81. package/dist/cjs/wire/text-format.d.ts +14 -0
  82. package/dist/cjs/{private → wire}/text-format.js +12 -2
  83. package/dist/{esm/google → cjs/wire}/varint.d.ts +2 -2
  84. package/dist/cjs/{google → wire}/varint.js +11 -10
  85. package/dist/cjs/wkt/any.d.ts +38 -0
  86. package/dist/cjs/wkt/any.js +76 -0
  87. package/dist/cjs/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
  88. package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +22 -0
  89. package/dist/cjs/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
  90. package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +30 -0
  91. package/dist/cjs/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
  92. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +55 -0
  93. package/dist/cjs/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
  94. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +691 -0
  95. package/dist/{esm → cjs/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
  96. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +22 -0
  97. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
  98. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +22 -0
  99. package/dist/{esm → cjs/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
  100. package/dist/cjs/{proto-double.js → wkt/gen/google/protobuf/field_mask_pb.js} +7 -14
  101. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
  102. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +22 -0
  103. package/dist/{esm → cjs/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
  104. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +48 -0
  105. package/dist/{esm → cjs/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
  106. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +22 -0
  107. package/dist/{esm → cjs/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
  108. package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +223 -0
  109. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
  110. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +46 -0
  111. package/dist/cjs/wkt/index.d.ts +15 -0
  112. package/dist/cjs/wkt/index.js +44 -0
  113. package/dist/cjs/wkt/timestamp.d.ts +21 -0
  114. package/dist/cjs/wkt/timestamp.js +58 -0
  115. package/dist/cjs/wkt/wrappers.d.ts +15 -0
  116. package/dist/cjs/wkt/wrappers.js +43 -0
  117. package/dist/esm/clone.d.ts +6 -0
  118. package/dist/esm/clone.js +73 -0
  119. package/dist/esm/codegenv1/boot.d.ts +63 -0
  120. package/dist/esm/codegenv1/boot.js +97 -0
  121. package/dist/esm/codegenv1/embed.d.ts +43 -0
  122. package/dist/esm/codegenv1/embed.js +232 -0
  123. package/dist/esm/codegenv1/enum.d.ts +17 -0
  124. package/dist/esm/codegenv1/enum.js +38 -0
  125. package/dist/esm/codegenv1/extension.d.ts +9 -0
  126. package/dist/esm/codegenv1/extension.js +25 -0
  127. package/dist/esm/codegenv1/file.d.ts +7 -0
  128. package/dist/esm/codegenv1/file.js +34 -0
  129. package/dist/esm/codegenv1/index.d.ts +9 -0
  130. package/dist/esm/codegenv1/index.js +22 -0
  131. package/dist/esm/codegenv1/message.d.ts +9 -0
  132. package/dist/esm/codegenv1/message.js +21 -0
  133. package/dist/esm/codegenv1/restore-json-names.d.ts +2 -0
  134. package/dist/esm/codegenv1/restore-json-names.js +23 -0
  135. package/dist/esm/codegenv1/service.d.ts +8 -0
  136. package/dist/esm/codegenv1/service.js +24 -0
  137. package/dist/esm/codegenv1/symbols.d.ts +116 -0
  138. package/dist/esm/codegenv1/symbols.js +55 -0
  139. package/dist/esm/codegenv1/types.d.ts +19 -0
  140. package/dist/esm/{field-list.js → codegenv1/types.js} +6 -0
  141. package/dist/esm/create.d.ts +9 -0
  142. package/dist/esm/create.js +239 -0
  143. package/dist/{cjs/descriptor-set.d.ts → esm/desc-types.d.ts} +144 -242
  144. package/dist/esm/equals.d.ts +9 -0
  145. package/dist/esm/equals.js +129 -0
  146. package/dist/esm/{extension-accessor.d.ts → extensions.d.ts} +11 -7
  147. package/dist/esm/extensions.js +130 -0
  148. package/dist/esm/fields.d.ts +22 -0
  149. package/dist/esm/fields.js +34 -0
  150. package/dist/esm/from-binary.d.ts +34 -0
  151. package/dist/esm/from-binary.js +215 -0
  152. package/dist/esm/from-json.d.ts +48 -0
  153. package/dist/esm/from-json.js +607 -0
  154. package/dist/esm/index.d.ts +16 -42
  155. package/dist/esm/index.js +13 -30
  156. package/dist/esm/is-message.d.ts +5 -20
  157. package/dist/esm/is-message.js +11 -29
  158. package/dist/esm/json-value.d.ts +16 -0
  159. package/dist/esm/proto-int64.js +2 -2
  160. package/dist/esm/reflect/error.d.ts +9 -0
  161. package/dist/esm/reflect/error.js +31 -0
  162. package/dist/esm/reflect/guard.d.ts +20 -0
  163. package/dist/esm/reflect/guard.js +70 -0
  164. package/dist/esm/reflect/index.d.ts +8 -0
  165. package/dist/esm/reflect/index.js +21 -0
  166. package/dist/esm/reflect/names.d.ts +23 -0
  167. package/dist/esm/reflect/names.js +106 -0
  168. package/dist/esm/reflect/nested-types.d.ts +2 -0
  169. package/dist/esm/reflect/nested-types.js +34 -0
  170. package/dist/esm/reflect/reflect-check.d.ts +10 -0
  171. package/dist/esm/reflect/reflect-check.js +143 -0
  172. package/dist/esm/reflect/reflect-types.d.ts +136 -0
  173. package/dist/esm/reflect/reflect-types.js +15 -0
  174. package/dist/esm/reflect/reflect.d.ts +23 -0
  175. package/dist/esm/reflect/reflect.js +403 -0
  176. package/dist/esm/reflect/registry.d.ts +82 -0
  177. package/dist/esm/reflect/registry.js +865 -0
  178. package/dist/{cjs → esm/reflect}/scalar.d.ts +21 -1
  179. package/dist/esm/reflect/scalar.js +289 -0
  180. package/dist/esm/reflect/unsafe.d.ts +58 -0
  181. package/dist/esm/reflect/unsafe.js +160 -0
  182. package/dist/esm/to-binary.d.ts +24 -0
  183. package/dist/esm/to-binary.js +189 -0
  184. package/dist/esm/to-json.d.ts +50 -0
  185. package/dist/esm/to-json.js +379 -0
  186. package/dist/esm/types.d.ts +68 -0
  187. package/dist/esm/wire/base64-encoding.d.ts +23 -0
  188. package/dist/esm/wire/base64-encoding.js +151 -0
  189. package/dist/esm/wire/binary-encoding.d.ts +242 -0
  190. package/dist/esm/{binary-encoding.js → wire/binary-encoding.js} +11 -10
  191. package/dist/esm/wire/index.d.ts +5 -0
  192. package/dist/esm/wire/index.js +18 -0
  193. package/dist/esm/wire/size-delimited.d.ts +51 -0
  194. package/dist/esm/wire/size-delimited.js +148 -0
  195. package/dist/esm/wire/text-encoding.d.ts +26 -0
  196. package/dist/esm/wire/text-encoding.js +50 -0
  197. package/dist/esm/wire/text-format.d.ts +14 -0
  198. package/dist/esm/{private → wire}/text-format.js +12 -2
  199. package/dist/{cjs/google → esm/wire}/varint.d.ts +2 -2
  200. package/dist/esm/{google → wire}/varint.js +11 -10
  201. package/dist/esm/wkt/any.d.ts +38 -0
  202. package/dist/esm/wkt/any.js +69 -0
  203. package/dist/esm/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
  204. package/dist/esm/wkt/gen/google/protobuf/any_pb.js +19 -0
  205. package/dist/esm/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
  206. package/dist/esm/wkt/gen/google/protobuf/api_pb.js +27 -0
  207. package/dist/esm/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
  208. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +52 -0
  209. package/dist/esm/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
  210. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +687 -0
  211. package/dist/{cjs → esm/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
  212. package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +19 -0
  213. package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
  214. package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +19 -0
  215. package/dist/{cjs → esm/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
  216. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +19 -0
  217. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
  218. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +19 -0
  219. package/dist/{cjs → esm/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
  220. package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +45 -0
  221. package/dist/{cjs → esm/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
  222. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +19 -0
  223. package/dist/{cjs → esm/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
  224. package/dist/esm/wkt/gen/google/protobuf/type_pb.js +220 -0
  225. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
  226. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +43 -0
  227. package/dist/esm/wkt/index.d.ts +15 -0
  228. package/dist/esm/wkt/index.js +28 -0
  229. package/dist/esm/wkt/timestamp.d.ts +21 -0
  230. package/dist/esm/wkt/timestamp.js +50 -0
  231. package/dist/esm/wkt/wrappers.d.ts +15 -0
  232. package/dist/esm/wkt/wrappers.js +38 -0
  233. package/package.json +39 -7
  234. package/dist/cjs/binary-encoding.d.ts +0 -420
  235. package/dist/cjs/binary-format.d.ts +0 -113
  236. package/dist/cjs/codegen-info.d.ts +0 -33
  237. package/dist/cjs/codegen-info.js +0 -69
  238. package/dist/cjs/create-descriptor-set.d.ts +0 -36
  239. package/dist/cjs/create-descriptor-set.js +0 -910
  240. package/dist/cjs/create-registry-from-desc.d.ts +0 -15
  241. package/dist/cjs/create-registry-from-desc.js +0 -264
  242. package/dist/cjs/create-registry.d.ts +0 -9
  243. package/dist/cjs/create-registry.js +0 -94
  244. package/dist/cjs/enum.d.ts +0 -35
  245. package/dist/cjs/extension-accessor.js +0 -114
  246. package/dist/cjs/extension.d.ts +0 -24
  247. package/dist/cjs/field-list.d.ts +0 -27
  248. package/dist/cjs/field-list.js +0 -15
  249. package/dist/cjs/field.d.ts +0 -314
  250. package/dist/cjs/field.js +0 -15
  251. package/dist/cjs/google/protobuf/any_pb.js +0 -273
  252. package/dist/cjs/google/protobuf/api_pb.js +0 -316
  253. package/dist/cjs/google/protobuf/compiler/plugin_pb.js +0 -219
  254. package/dist/cjs/google/protobuf/descriptor_pb.js +0 -2034
  255. package/dist/cjs/google/protobuf/duration_pb.js +0 -169
  256. package/dist/cjs/google/protobuf/empty_pb.d.ts +0 -28
  257. package/dist/cjs/google/protobuf/empty_pb.js +0 -52
  258. package/dist/cjs/google/protobuf/field_mask_pb.js +0 -311
  259. package/dist/cjs/google/protobuf/source_context_pb.d.ts +0 -29
  260. package/dist/cjs/google/protobuf/source_context_pb.js +0 -55
  261. package/dist/cjs/google/protobuf/struct_pb.js +0 -240
  262. package/dist/cjs/google/protobuf/timestamp_pb.js +0 -213
  263. package/dist/cjs/google/protobuf/type_pb.js +0 -562
  264. package/dist/cjs/google/protobuf/wrappers_pb.d.ts +0 -267
  265. package/dist/cjs/google/protobuf/wrappers_pb.js +0 -569
  266. package/dist/cjs/json-format.d.ts +0 -111
  267. package/dist/cjs/json-format.js +0 -15
  268. package/dist/cjs/message-type.d.ts +0 -51
  269. package/dist/cjs/message-type.js +0 -15
  270. package/dist/cjs/message.d.ts +0 -130
  271. package/dist/cjs/message.js +0 -128
  272. package/dist/cjs/private/binary-format.d.ts +0 -7
  273. package/dist/cjs/private/binary-format.js +0 -430
  274. package/dist/cjs/private/enum.d.ts +0 -27
  275. package/dist/cjs/private/enum.js +0 -94
  276. package/dist/cjs/private/extensions.d.ts +0 -34
  277. package/dist/cjs/private/extensions.js +0 -86
  278. package/dist/cjs/private/feature-set.d.ts +0 -19
  279. package/dist/cjs/private/feature-set.js +0 -106
  280. package/dist/cjs/private/field-list.d.ts +0 -18
  281. package/dist/cjs/private/field-list.js +0 -76
  282. package/dist/cjs/private/field-normalize.d.ts +0 -9
  283. package/dist/cjs/private/field-normalize.js +0 -69
  284. package/dist/cjs/private/field-wrapper.d.ts +0 -25
  285. package/dist/cjs/private/field-wrapper.js +0 -57
  286. package/dist/cjs/private/field.d.ts +0 -16
  287. package/dist/cjs/private/field.js +0 -45
  288. package/dist/cjs/private/json-format.d.ts +0 -2
  289. package/dist/cjs/private/json-format.js +0 -626
  290. package/dist/cjs/private/message-type.d.ts +0 -18
  291. package/dist/cjs/private/message-type.js +0 -50
  292. package/dist/cjs/private/names.d.ts +0 -43
  293. package/dist/cjs/private/names.js +0 -278
  294. package/dist/cjs/private/options-map.d.ts +0 -7
  295. package/dist/cjs/private/options-map.js +0 -15
  296. package/dist/cjs/private/proto-runtime.d.ts +0 -53
  297. package/dist/cjs/private/proto-runtime.js +0 -41
  298. package/dist/cjs/private/reflect.d.ts +0 -9
  299. package/dist/cjs/private/reflect.js +0 -79
  300. package/dist/cjs/private/reify-wkt.d.ts +0 -102
  301. package/dist/cjs/private/reify-wkt.js +0 -172
  302. package/dist/cjs/private/scalars.d.ts +0 -18
  303. package/dist/cjs/private/scalars.js +0 -105
  304. package/dist/cjs/private/text-format.d.ts +0 -4
  305. package/dist/cjs/private/util-common.d.ts +0 -2
  306. package/dist/cjs/private/util-common.js +0 -234
  307. package/dist/cjs/private/util.d.ts +0 -38
  308. package/dist/cjs/private/util.js +0 -15
  309. package/dist/cjs/proto-base64.d.ts +0 -18
  310. package/dist/cjs/proto-base64.js +0 -128
  311. package/dist/cjs/proto-delimited.d.ts +0 -54
  312. package/dist/cjs/proto-delimited.js +0 -155
  313. package/dist/cjs/proto-double.d.ts +0 -5
  314. package/dist/cjs/proto2.d.ts +0 -4
  315. package/dist/cjs/proto2.js +0 -53
  316. package/dist/cjs/proto3.d.ts +0 -4
  317. package/dist/cjs/proto3.js +0 -56
  318. package/dist/cjs/scalar.js +0 -81
  319. package/dist/cjs/service-type.d.ts +0 -96
  320. package/dist/cjs/service-type.js +0 -53
  321. package/dist/cjs/to-plain-message.d.ts +0 -12
  322. package/dist/cjs/to-plain-message.js +0 -72
  323. package/dist/cjs/type-registry.d.ts +0 -57
  324. package/dist/cjs/type-registry.js +0 -15
  325. package/dist/esm/binary-encoding.d.ts +0 -420
  326. package/dist/esm/binary-format.d.ts +0 -113
  327. package/dist/esm/codegen-info.d.ts +0 -33
  328. package/dist/esm/codegen-info.js +0 -67
  329. package/dist/esm/create-descriptor-set.d.ts +0 -36
  330. package/dist/esm/create-descriptor-set.js +0 -906
  331. package/dist/esm/create-registry-from-desc.d.ts +0 -15
  332. package/dist/esm/create-registry-from-desc.js +0 -261
  333. package/dist/esm/create-registry.d.ts +0 -9
  334. package/dist/esm/create-registry.js +0 -90
  335. package/dist/esm/descriptor-set.js +0 -14
  336. package/dist/esm/enum.d.ts +0 -35
  337. package/dist/esm/extension-accessor.js +0 -107
  338. package/dist/esm/extension.d.ts +0 -24
  339. package/dist/esm/field-list.d.ts +0 -27
  340. package/dist/esm/field.d.ts +0 -314
  341. package/dist/esm/field.js +0 -14
  342. package/dist/esm/google/protobuf/any_pb.js +0 -269
  343. package/dist/esm/google/protobuf/api_pb.js +0 -310
  344. package/dist/esm/google/protobuf/compiler/plugin_pb.js +0 -212
  345. package/dist/esm/google/protobuf/descriptor_pb.js +0 -1999
  346. package/dist/esm/google/protobuf/duration_pb.js +0 -165
  347. package/dist/esm/google/protobuf/empty_pb.d.ts +0 -28
  348. package/dist/esm/google/protobuf/empty_pb.js +0 -48
  349. package/dist/esm/google/protobuf/field_mask_pb.js +0 -307
  350. package/dist/esm/google/protobuf/source_context_pb.d.ts +0 -29
  351. package/dist/esm/google/protobuf/source_context_pb.js +0 -51
  352. package/dist/esm/google/protobuf/struct_pb.js +0 -234
  353. package/dist/esm/google/protobuf/timestamp_pb.js +0 -209
  354. package/dist/esm/google/protobuf/type_pb.js +0 -554
  355. package/dist/esm/google/protobuf/wrappers_pb.d.ts +0 -267
  356. package/dist/esm/google/protobuf/wrappers_pb.js +0 -557
  357. package/dist/esm/json-format.d.ts +0 -111
  358. package/dist/esm/json-format.js +0 -14
  359. package/dist/esm/message-type.d.ts +0 -51
  360. package/dist/esm/message-type.js +0 -14
  361. package/dist/esm/message.d.ts +0 -130
  362. package/dist/esm/message.js +0 -124
  363. package/dist/esm/private/binary-format.d.ts +0 -7
  364. package/dist/esm/private/binary-format.js +0 -426
  365. package/dist/esm/private/enum.d.ts +0 -27
  366. package/dist/esm/private/enum.js +0 -87
  367. package/dist/esm/private/extensions.d.ts +0 -34
  368. package/dist/esm/private/extensions.js +0 -81
  369. package/dist/esm/private/feature-set.d.ts +0 -19
  370. package/dist/esm/private/feature-set.js +0 -102
  371. package/dist/esm/private/field-list.d.ts +0 -18
  372. package/dist/esm/private/field-list.js +0 -72
  373. package/dist/esm/private/field-normalize.d.ts +0 -9
  374. package/dist/esm/private/field-normalize.js +0 -65
  375. package/dist/esm/private/field-wrapper.d.ts +0 -25
  376. package/dist/esm/private/field-wrapper.js +0 -53
  377. package/dist/esm/private/field.d.ts +0 -16
  378. package/dist/esm/private/field.js +0 -41
  379. package/dist/esm/private/json-format.d.ts +0 -2
  380. package/dist/esm/private/json-format.js +0 -623
  381. package/dist/esm/private/message-type.d.ts +0 -18
  382. package/dist/esm/private/message-type.js +0 -46
  383. package/dist/esm/private/names.d.ts +0 -43
  384. package/dist/esm/private/names.js +0 -269
  385. package/dist/esm/private/options-map.d.ts +0 -7
  386. package/dist/esm/private/options-map.js +0 -14
  387. package/dist/esm/private/proto-runtime.d.ts +0 -53
  388. package/dist/esm/private/proto-runtime.js +0 -37
  389. package/dist/esm/private/reflect.d.ts +0 -9
  390. package/dist/esm/private/reflect.js +0 -74
  391. package/dist/esm/private/reify-wkt.d.ts +0 -102
  392. package/dist/esm/private/reify-wkt.js +0 -168
  393. package/dist/esm/private/scalars.d.ts +0 -18
  394. package/dist/esm/private/scalars.js +0 -99
  395. package/dist/esm/private/text-format.d.ts +0 -4
  396. package/dist/esm/private/util-common.d.ts +0 -2
  397. package/dist/esm/private/util-common.js +0 -231
  398. package/dist/esm/private/util.d.ts +0 -38
  399. package/dist/esm/private/util.js +0 -14
  400. package/dist/esm/proto-base64.d.ts +0 -18
  401. package/dist/esm/proto-base64.js +0 -125
  402. package/dist/esm/proto-delimited.d.ts +0 -54
  403. package/dist/esm/proto-delimited.js +0 -152
  404. package/dist/esm/proto-double.d.ts +0 -5
  405. package/dist/esm/proto-double.js +0 -26
  406. package/dist/esm/proto2.d.ts +0 -4
  407. package/dist/esm/proto2.js +0 -50
  408. package/dist/esm/proto3.d.ts +0 -4
  409. package/dist/esm/proto3.js +0 -53
  410. package/dist/esm/scalar.js +0 -78
  411. package/dist/esm/service-type.d.ts +0 -96
  412. package/dist/esm/service-type.js +0 -50
  413. package/dist/esm/to-plain-message.d.ts +0 -12
  414. package/dist/esm/to-plain-message.js +0 -70
  415. package/dist/esm/type-registry.d.ts +0 -57
  416. package/dist/esm/type-registry.js +0 -14
  417. /package/dist/cjs/{binary-format.js → desc-types.js} +0 -0
  418. /package/dist/cjs/{descriptor-set.js → json-value.js} +0 -0
  419. /package/dist/cjs/{private → reflect}/assert.d.ts +0 -0
  420. /package/dist/cjs/{private → reflect}/assert.js +0 -0
  421. /package/dist/cjs/{enum.js → types.js} +0 -0
  422. /package/dist/esm/{binary-format.js → desc-types.js} +0 -0
  423. /package/dist/esm/{enum.js → json-value.js} +0 -0
  424. /package/dist/esm/{private → reflect}/assert.d.ts +0 -0
  425. /package/dist/esm/{private → reflect}/assert.js +0 -0
  426. /package/dist/esm/{extension.js → types.js} +0 -0
@@ -0,0 +1,136 @@
1
+ import type { DescField, DescMessage, DescOneof } from "../desc-types.js";
2
+ import { FieldError } from "./error.js";
3
+ import { unsafeLocal } from "./unsafe.js";
4
+ import type { Message, UnknownField } from "../types.js";
5
+ import type { LongType, ScalarValue } from "./scalar.js";
6
+ export interface ReflectMessage {
7
+ readonly message: Message;
8
+ readonly desc: DescMessage;
9
+ readonly fields: readonly DescField[];
10
+ readonly sortedFields: readonly DescField[];
11
+ readonly oneofs: readonly DescOneof[];
12
+ readonly members: readonly (DescField | DescOneof)[];
13
+ findNumber(number: number): DescField | undefined;
14
+ isSet(field: DescField): boolean;
15
+ clear(field: DescField): void;
16
+ oneofCase(oneof: DescOneof): DescField | undefined;
17
+ get<Field extends DescField>(field: Field): ReflectGetValue<Field>;
18
+ set<Field extends DescField>(field: Field, value: ReflectSetValue<Field>): FieldError | undefined;
19
+ addListItem<Field extends DescField & {
20
+ fieldKind: "list";
21
+ }>(field: Field, value: NewListItem<Field>): FieldError | undefined;
22
+ setMapEntry<Field extends DescField & {
23
+ fieldKind: "map";
24
+ }>(field: Field, key: MapEntryKey, value: NewMapEntryValue<Field>): FieldError | undefined;
25
+ getUnknown(): UnknownField[] | undefined;
26
+ setUnknown(value: UnknownField[]): void;
27
+ [unsafeLocal]: Message;
28
+ }
29
+ export interface ReflectList<V = unknown> extends Iterable<V> {
30
+ field(): DescField & {
31
+ fieldKind: "list";
32
+ };
33
+ /**
34
+ * The size of the list.
35
+ */
36
+ readonly size: number;
37
+ /**
38
+ * Retrieves the item at the specified index, or undefined if the index
39
+ * is out of range.
40
+ */
41
+ get(index: number): V | undefined;
42
+ /**
43
+ * Adds an item - or several items - at the end of the list.
44
+ * Returns an error if an item is invalid for this list.
45
+ */
46
+ add(...item: V[]): FieldError | undefined;
47
+ /**
48
+ * Replaces the item at the specified index with the specified item.
49
+ * Returns an error if the index is out of range (index < 0 || index >= size).
50
+ * Returns an error if the item is invalid for this list.
51
+ */
52
+ set(index: number, item: V): FieldError | undefined;
53
+ /**
54
+ * Removes all items from the list.
55
+ */
56
+ clear(): void;
57
+ [Symbol.iterator](): IterableIterator<V>;
58
+ entries(): IterableIterator<[number, V]>;
59
+ keys(): IterableIterator<number>;
60
+ values(): IterableIterator<V>;
61
+ [unsafeLocal]: unknown[];
62
+ }
63
+ export interface ReflectMap<K extends MapEntryKey = MapEntryKey, V = unknown> extends ReadonlyMap<K, V> {
64
+ field(): DescField & {
65
+ fieldKind: "map";
66
+ };
67
+ /**
68
+ * Removes the entry for the specified key.
69
+ * Returns false if the key is unknown.
70
+ */
71
+ delete(key: K): boolean;
72
+ /**
73
+ * Sets or replaces the item at the specified key with the specified value.
74
+ * Returns an error if the key or value is invalid for this map.
75
+ */
76
+ set(key: K, value: V): FieldError | undefined;
77
+ /**
78
+ * Removes all entries from the map.
79
+ */
80
+ clear(): void;
81
+ [unsafeLocal]: Record<string, unknown>;
82
+ }
83
+ export type MapEntryKey = string | number | bigint | boolean;
84
+ type enumVal = number;
85
+ type ReflectGetValue<Field extends DescField = DescField> = (Field extends {
86
+ fieldKind: "map";
87
+ } ? (Field extends {
88
+ mapKind: "message";
89
+ } ? ReflectMap<MapEntryKey, ReflectMessage> : Field extends {
90
+ mapKind: "enum";
91
+ } ? ReflectMap<MapEntryKey, enumVal> : Field extends {
92
+ mapKind: "scalar";
93
+ scalar: infer T;
94
+ } ? ReflectMap<MapEntryKey, ScalarValue<T, LongType.BIGINT>> : never) : Field extends {
95
+ fieldKind: "list";
96
+ } ? ReflectList : Field extends {
97
+ fieldKind: "enum";
98
+ } ? number | undefined : Field extends {
99
+ fieldKind: "message";
100
+ } ? ReflectMessage : Field extends {
101
+ fieldKind: "scalar";
102
+ scalar: infer T;
103
+ } ? ScalarValue<T> | undefined : never);
104
+ type ReflectSetValue<Field extends DescField = DescField> = (Field extends {
105
+ fieldKind: "map";
106
+ } ? ReflectMap : Field extends {
107
+ fieldKind: "list";
108
+ } ? ReflectList : Field extends {
109
+ fieldKind: "enum";
110
+ } ? number | undefined : Field extends {
111
+ fieldKind: "message";
112
+ } ? ReflectMessage : Field extends {
113
+ fieldKind: "scalar";
114
+ scalar: infer T;
115
+ } ? ScalarValue<T> | undefined : never);
116
+ type NewListItem<Field extends DescField & {
117
+ fieldKind: "list";
118
+ }> = (Field extends {
119
+ listKind: "scalar";
120
+ scalar: infer T;
121
+ } ? ScalarValue<T> : Field extends {
122
+ listKind: "enum";
123
+ } ? enumVal : Field extends {
124
+ listKind: "message";
125
+ } ? ReflectMessage : never);
126
+ type NewMapEntryValue<Field extends DescField & {
127
+ fieldKind: "map";
128
+ }> = (Field extends {
129
+ mapKind: "enum";
130
+ } ? enumVal : Field extends {
131
+ mapKind: "message";
132
+ } ? ReflectMessage : Field extends {
133
+ mapKind: "scalar";
134
+ scalar: infer T;
135
+ } ? ScalarValue<T, LongType.BIGINT> : never);
136
+ export {};
@@ -0,0 +1,15 @@
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 { FieldError } from "./error.js";
15
+ import { unsafeLocal } from "./unsafe.js";
@@ -0,0 +1,23 @@
1
+ import type { DescField, DescMessage } from "../desc-types.js";
2
+ import type { MessageShape } from "../types.js";
3
+ import type { MapEntryKey, ReflectList, ReflectMap, ReflectMessage } from "./reflect-types.js";
4
+ export declare function reflect<Desc extends DescMessage>(messageDesc: Desc, message?: MessageShape<Desc>, opt?: {
5
+ /**
6
+ * By default, field values are validated when setting them. For example,
7
+ * a value for an uint32 field must be a ECMAScript Number >= 0.
8
+ *
9
+ * Note that setting a message field validates the type of the message,
10
+ * but does not check its fields.
11
+ *
12
+ * In some contexts, field values are trusted, and performance can be
13
+ * improved by disabling validation by setting disableFieldValueCheck to
14
+ * `false`.
15
+ */
16
+ disableFieldValueCheck?: boolean;
17
+ }): ReflectMessage;
18
+ export declare function reflectList<V>(field: DescField & {
19
+ fieldKind: "list";
20
+ }, unsafeInput?: unknown[]): ReflectList<V>;
21
+ export declare function reflectMap<K extends MapEntryKey, V>(field: DescField & {
22
+ fieldKind: "map";
23
+ }, unsafeInput?: Record<string, unknown>): ReflectMap<K, V>;
@@ -0,0 +1,403 @@
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 { checkField, checkListItem, checkMapEntry } from "./reflect-check.js";
15
+ import { FieldError } from "./error.js";
16
+ import { unsafeAddListItem, unsafeClear, unsafeGet, unsafeIsSet, unsafeLocal, unsafeOneofCase, unsafeSet, unsafeSetMapEntry, } from "./unsafe.js";
17
+ import { create } from "../create.js";
18
+ import { isWrapper, isWrapperDesc } from "../wkt/wrappers.js";
19
+ import { LongType, ScalarType } from "./scalar.js";
20
+ import { protoInt64 } from "../proto-int64.js";
21
+ import { isReflectList, isReflectMap, isReflectMessage } from "./guard.js";
22
+ export function reflect(messageDesc, message,
23
+ // TODO either remove this option, or support it in reflect-list and reflect-map as well
24
+ opt) {
25
+ message !== null && message !== void 0 ? message : (message = create(messageDesc));
26
+ const check = (opt === null || opt === void 0 ? void 0 : opt.disableFieldValueCheck) !== true;
27
+ let fieldsByNumber;
28
+ let sortedFields;
29
+ return {
30
+ message,
31
+ [unsafeLocal]: message,
32
+ desc: messageDesc,
33
+ fields: messageDesc.fields,
34
+ oneofs: messageDesc.oneofs,
35
+ members: messageDesc.members,
36
+ get sortedFields() {
37
+ return (sortedFields !== null && sortedFields !== void 0 ? sortedFields : (sortedFields = messageDesc.fields
38
+ .concat()
39
+ .sort((a, b) => a.number - b.number)));
40
+ },
41
+ findNumber(number) {
42
+ if (!fieldsByNumber) {
43
+ fieldsByNumber = new Map(messageDesc.fields.map((f) => [f.number, f]));
44
+ }
45
+ return fieldsByNumber.get(number);
46
+ },
47
+ oneofCase(oneof) {
48
+ assertOwn(message, oneof);
49
+ return unsafeOneofCase(message, oneof);
50
+ },
51
+ isSet(field) {
52
+ assertOwn(message, field);
53
+ return unsafeIsSet(message, field);
54
+ },
55
+ clear(field) {
56
+ assertOwn(message, field);
57
+ unsafeClear(message, field);
58
+ },
59
+ get(field) {
60
+ assertOwn(message, field);
61
+ let value = unsafeGet(message, field);
62
+ switch (field.fieldKind) {
63
+ case "list":
64
+ return reflectList(field, value);
65
+ case "map":
66
+ // TODO fix types
67
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
68
+ return reflectMap(field, value); // eslint-disable-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return
69
+ case "message":
70
+ if (value !== undefined &&
71
+ !field.oneof &&
72
+ isWrapperDesc(field.message)) {
73
+ value = {
74
+ $typeName: field.message.typeName,
75
+ value: longToReflect(field.message.fields[0], value),
76
+ };
77
+ }
78
+ return reflect(field.message, value);
79
+ case "scalar":
80
+ return longToReflect(field, value);
81
+ case "enum":
82
+ return value;
83
+ }
84
+ },
85
+ set(field, value) {
86
+ assertOwn(message, field);
87
+ if (check) {
88
+ const err = checkField(field, value);
89
+ if (err) {
90
+ return err;
91
+ }
92
+ }
93
+ let local = value;
94
+ if (isReflectMap(value) || isReflectList(value)) {
95
+ local = value[unsafeLocal];
96
+ }
97
+ else if (isReflectMessage(value)) {
98
+ const msg = value.message;
99
+ local = !field.oneof && isWrapper(msg) ? msg.value : msg;
100
+ }
101
+ else {
102
+ local = longToLocal(field, value);
103
+ }
104
+ unsafeSet(message, field, local);
105
+ return undefined;
106
+ },
107
+ addListItem(field, value) {
108
+ assertOwn(message, field);
109
+ assertKind(field, "list");
110
+ if (check) {
111
+ if (checkListItem(field, 0, value)) {
112
+ const arr = unsafeGet(message, field);
113
+ return checkListItem(field, arr.length, value);
114
+ }
115
+ }
116
+ unsafeAddListItem(message, field, listItemToLocal(field, value));
117
+ return undefined;
118
+ },
119
+ setMapEntry(field, key, value) {
120
+ assertOwn(message, field);
121
+ assertKind(field, "map");
122
+ if (check) {
123
+ const err = checkMapEntry(field, key, value);
124
+ if (err) {
125
+ return err;
126
+ }
127
+ }
128
+ unsafeSetMapEntry(message, field, mapKeyToLocal(key), mapValueToLocal(field, value));
129
+ return undefined;
130
+ },
131
+ getUnknown() {
132
+ return message.$unknown;
133
+ },
134
+ setUnknown(value) {
135
+ message.$unknown = value;
136
+ },
137
+ };
138
+ }
139
+ function assertKind(field, kind) {
140
+ if (field.fieldKind != kind) {
141
+ throw new FieldError(field, `${field.toString()} is ${field.fieldKind}`, "ForeignFieldError");
142
+ }
143
+ }
144
+ function assertOwn(owner, member) {
145
+ if (member.parent.typeName !== owner.$typeName) {
146
+ throw new FieldError(member, `cannot use ${member.toString()} with message ${owner.$typeName}`, "ForeignFieldError");
147
+ }
148
+ }
149
+ export function reflectList(field, unsafeInput) {
150
+ const arr = unsafeInput !== null && unsafeInput !== void 0 ? unsafeInput : [];
151
+ return {
152
+ [unsafeLocal]: arr,
153
+ field() {
154
+ return field;
155
+ },
156
+ get size() {
157
+ return arr.length;
158
+ },
159
+ get(index) {
160
+ const item = arr[index];
161
+ return item === undefined
162
+ ? undefined
163
+ : listItemToReflect(field, item);
164
+ },
165
+ set(index, item) {
166
+ if (index < 0 || index >= arr.length) {
167
+ return new FieldError(field, `list item #${index + 1}: out of range`);
168
+ }
169
+ const err = checkListItem(field, index, item);
170
+ if (!err) {
171
+ arr[index] = listItemToLocal(field, item);
172
+ }
173
+ return err;
174
+ },
175
+ add(...items) {
176
+ let err;
177
+ for (let i = 0; i < items.length && !err; i++) {
178
+ err = checkListItem(field, arr.length + i, items[i]);
179
+ }
180
+ if (!err) {
181
+ for (const item of items) {
182
+ arr.push(listItemToLocal(field, item));
183
+ }
184
+ }
185
+ return err;
186
+ },
187
+ clear() {
188
+ arr.splice(0, arr.length);
189
+ },
190
+ [Symbol.iterator]() {
191
+ return this.values();
192
+ },
193
+ keys() {
194
+ return arr.keys();
195
+ },
196
+ *values() {
197
+ for (const item of arr) {
198
+ yield listItemToReflect(field, item);
199
+ }
200
+ },
201
+ *entries() {
202
+ for (let i = 0; i < arr.length; i++) {
203
+ yield [i, listItemToReflect(field, arr[i])];
204
+ }
205
+ },
206
+ };
207
+ }
208
+ export function reflectMap(field, unsafeInput) {
209
+ const obj = unsafeInput !== null && unsafeInput !== void 0 ? unsafeInput : {};
210
+ return {
211
+ [unsafeLocal]: obj,
212
+ field() {
213
+ return field;
214
+ },
215
+ set(key, value) {
216
+ const err = checkMapEntry(field, key, value);
217
+ if (!err) {
218
+ obj[mapKeyToLocal(key)] = mapValueToLocal(field, value);
219
+ }
220
+ return err;
221
+ },
222
+ delete(key) {
223
+ const k = mapKeyToLocal(key);
224
+ const has = Object.prototype.hasOwnProperty.call(obj, k);
225
+ if (has) {
226
+ delete obj[k];
227
+ }
228
+ return has;
229
+ },
230
+ clear() {
231
+ for (const key of Object.keys(obj)) {
232
+ delete obj[key];
233
+ }
234
+ },
235
+ get(key) {
236
+ let val = obj[mapKeyToLocal(key)];
237
+ if (val !== undefined) {
238
+ val = mapValueToReflect(field, val);
239
+ }
240
+ return val;
241
+ },
242
+ has(key) {
243
+ return Object.prototype.hasOwnProperty.call(obj, mapKeyToLocal(key));
244
+ },
245
+ *keys() {
246
+ for (const objKey of Object.keys(obj)) {
247
+ yield mapKeyToReflect(objKey, field.mapKey);
248
+ }
249
+ },
250
+ *entries() {
251
+ for (const objEntry of Object.entries(obj)) {
252
+ yield [
253
+ mapKeyToReflect(objEntry[0], field.mapKey),
254
+ mapValueToReflect(field, objEntry[1]),
255
+ ];
256
+ }
257
+ },
258
+ [Symbol.iterator]() {
259
+ return this.entries();
260
+ },
261
+ get size() {
262
+ return Object.keys(obj).length;
263
+ },
264
+ *values() {
265
+ for (const val of Object.values(obj)) {
266
+ yield mapValueToReflect(field, val);
267
+ }
268
+ },
269
+ forEach(callbackfn, thisArg) {
270
+ for (const mapEntry of this.entries()) {
271
+ callbackfn.call(thisArg, mapEntry[1], mapEntry[0], this);
272
+ }
273
+ },
274
+ };
275
+ }
276
+ function listItemToLocal(field, value) {
277
+ if (isReflectMessage(value)) {
278
+ return value.message;
279
+ }
280
+ return longToLocal(field, value);
281
+ }
282
+ function listItemToReflect(field, value) {
283
+ if (field.listKind == "message") {
284
+ return reflect(field.message, value);
285
+ }
286
+ return longToReflect(field, value);
287
+ }
288
+ function mapValueToLocal(field, value) {
289
+ if (isReflectMessage(value)) {
290
+ return value.message;
291
+ }
292
+ return longToLocal(field, value);
293
+ }
294
+ function mapValueToReflect(field, value) {
295
+ if (field.mapKind == "message") {
296
+ return reflect(field.message, value);
297
+ }
298
+ return value;
299
+ }
300
+ function mapKeyToLocal(key) {
301
+ return typeof key == "string" || typeof key == "number" ? key : String(key);
302
+ }
303
+ /**
304
+ * Converts a map key (any scalar value except float, double, or bytes) from its
305
+ * representation in a message (string or number, the only possible object key
306
+ * types) to the closest possible type in ECMAScript.
307
+ */
308
+ function mapKeyToReflect(key, type) {
309
+ switch (type) {
310
+ case ScalarType.STRING:
311
+ return key;
312
+ case ScalarType.INT32:
313
+ case ScalarType.FIXED32:
314
+ case ScalarType.UINT32:
315
+ case ScalarType.SFIXED32:
316
+ case ScalarType.SINT32: {
317
+ const n = Number.parseInt(key);
318
+ if (Number.isFinite(n)) {
319
+ return n;
320
+ }
321
+ break;
322
+ }
323
+ case ScalarType.BOOL:
324
+ switch (key) {
325
+ case "true":
326
+ return true;
327
+ case "false":
328
+ return false;
329
+ }
330
+ break;
331
+ case ScalarType.UINT64:
332
+ case ScalarType.FIXED64:
333
+ try {
334
+ return protoInt64.uParse(key);
335
+ }
336
+ catch (_a) {
337
+ //
338
+ }
339
+ break;
340
+ default:
341
+ // INT64, SFIXED64, SINT64
342
+ try {
343
+ return protoInt64.parse(key);
344
+ }
345
+ catch (_b) {
346
+ //
347
+ }
348
+ break;
349
+ }
350
+ return key;
351
+ }
352
+ function longToReflect(field, value) {
353
+ if (field.scalar !== undefined) {
354
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
355
+ switch (field.scalar) {
356
+ case ScalarType.INT64:
357
+ case ScalarType.SFIXED64:
358
+ case ScalarType.SINT64:
359
+ if ("longType" in field &&
360
+ field.longType == LongType.STRING &&
361
+ typeof value == "string") {
362
+ value = protoInt64.parse(value);
363
+ }
364
+ break;
365
+ case ScalarType.FIXED64:
366
+ case ScalarType.UINT64:
367
+ if ("longType" in field &&
368
+ field.longType == LongType.STRING &&
369
+ typeof value == "string") {
370
+ value = protoInt64.uParse(value);
371
+ }
372
+ break;
373
+ }
374
+ }
375
+ return value;
376
+ }
377
+ function longToLocal(field, value) {
378
+ if (field.scalar !== undefined) {
379
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
380
+ switch (field.scalar) {
381
+ case ScalarType.INT64:
382
+ case ScalarType.SFIXED64:
383
+ case ScalarType.SINT64:
384
+ if ("longType" in field && field.longType == LongType.STRING) {
385
+ value = String(value);
386
+ }
387
+ else if (typeof value == "string" || typeof value == "number") {
388
+ value = protoInt64.parse(value);
389
+ }
390
+ break;
391
+ case ScalarType.FIXED64:
392
+ case ScalarType.UINT64:
393
+ if ("longType" in field && field.longType == LongType.STRING) {
394
+ value = String(value);
395
+ }
396
+ else if (typeof value == "string" || typeof value == "number") {
397
+ value = protoInt64.uParse(value);
398
+ }
399
+ break;
400
+ }
401
+ }
402
+ return value;
403
+ }
@@ -0,0 +1,82 @@
1
+ import type { FileDescriptorProto, FileDescriptorSet } from "../wkt/gen/google/protobuf/descriptor_pb.js";
2
+ import type { DescEnum, DescExtension, DescFile, DescMessage, DescService, SupportedEdition } from "../desc-types.js";
3
+ /**
4
+ * A set of descriptors for messages, enumerations, extensions,
5
+ * and services.
6
+ */
7
+ export interface Registry {
8
+ readonly kind: "registry";
9
+ /**
10
+ * All types (message, enumeration, extension, or service) contained
11
+ * in this registry.
12
+ */
13
+ [Symbol.iterator](): IterableIterator<DescMessage | DescEnum | DescExtension | DescService>;
14
+ /**
15
+ * Look up a type (message, enumeration, extension, or service) by
16
+ * its fully qualified name.
17
+ */
18
+ get(typeName: string): DescMessage | DescEnum | DescExtension | DescService | undefined;
19
+ /**
20
+ * Look up a message descriptor by its fully qualified name.
21
+ */
22
+ getMessage(typeName: string): DescMessage | undefined;
23
+ /**
24
+ * Look up an enumeration descriptor by its fully qualified name.
25
+ */
26
+ getEnum(typeName: string): DescEnum | undefined;
27
+ /**
28
+ * Look up an extension descriptor by its fully qualified name.
29
+ */
30
+ getExtension(typeName: string): DescExtension | undefined;
31
+ /**
32
+ * Look up an extension by the extendee - the message it extends - and
33
+ * the extension number.
34
+ */
35
+ getExtensionFor(extendee: DescMessage, no: number): DescExtension | undefined;
36
+ /**
37
+ * Look up a service descriptor by its fully qualified name.
38
+ */
39
+ getService(typeName: string): DescService | undefined;
40
+ }
41
+ /**
42
+ * A set of descriptors for messages, enumerations, extensions,
43
+ * and services - and files.
44
+ */
45
+ export interface FileRegistry extends Registry {
46
+ /**
47
+ * All files in this registry.
48
+ */
49
+ readonly files: Iterable<DescFile>;
50
+ /**
51
+ * Look up a file descriptor by file name.
52
+ */
53
+ getFile(fileName: string): DescFile | undefined;
54
+ }
55
+ /**
56
+ * Create a registry from the given inputs.
57
+ *
58
+ * An input can be:
59
+ * - Any message, enum, service, or extension descriptor, which adds just the
60
+ * descriptor for this type.
61
+ * - A file descriptor, which adds all typed defined in this file.
62
+ * - A registry, which adds all types from the registry.
63
+ *
64
+ * For duplicate descriptors (same type name), the one given last wins.
65
+ */
66
+ export declare function createRegistry(...input: (Registry | DescFile | DescMessage | DescEnum | DescExtension | DescService)[]): Registry;
67
+ /**
68
+ * Create a registry (including file descriptors) from a google.protobuf.FileDescriptorSet
69
+ * message.
70
+ */
71
+ export declare function createFileRegistry(fileDescriptorSet: FileDescriptorSet): FileRegistry;
72
+ /**
73
+ * Create a registry (including file descriptors) from a google.protobuf.FileDescriptorProto
74
+ * message. For every import, the given resolver function is called.
75
+ */
76
+ export declare function createFileRegistry(fileDescriptorProto: FileDescriptorProto, resolve: (protoFileName: string) => FileDescriptorProto | DescFile | undefined): FileRegistry;
77
+ /**
78
+ * Create a registry (including file descriptors) from one or more registries,
79
+ * merging them.
80
+ */
81
+ export declare function createFileRegistry(...registries: FileRegistry[]): FileRegistry;
82
+ export declare const minimumEdition: SupportedEdition, maximumEdition: SupportedEdition;