@bufbuild/protobuf 2.10.2 → 2.12.0

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 (181) hide show
  1. package/dist/cjs/clone.js +1 -1
  2. package/dist/cjs/codegenv1/enum.js +1 -1
  3. package/dist/cjs/codegenv1/extension.js +1 -1
  4. package/dist/cjs/codegenv1/file.js +1 -1
  5. package/dist/cjs/codegenv1/index.js +1 -1
  6. package/dist/cjs/codegenv1/message.js +1 -1
  7. package/dist/cjs/codegenv1/service.js +1 -1
  8. package/dist/cjs/codegenv1/symbols.js +1 -1
  9. package/dist/cjs/codegenv1/types.js +1 -1
  10. package/dist/cjs/codegenv2/boot.js +1 -1
  11. package/dist/cjs/codegenv2/embed.js +1 -1
  12. package/dist/cjs/codegenv2/enum.js +1 -1
  13. package/dist/cjs/codegenv2/extension.js +1 -1
  14. package/dist/cjs/codegenv2/file.js +1 -1
  15. package/dist/cjs/codegenv2/index.js +1 -1
  16. package/dist/cjs/codegenv2/message.js +1 -1
  17. package/dist/cjs/codegenv2/restore-json-names.js +1 -1
  18. package/dist/cjs/codegenv2/scalar.js +1 -1
  19. package/dist/cjs/codegenv2/service.js +1 -1
  20. package/dist/cjs/codegenv2/symbols.js +1 -1
  21. package/dist/cjs/codegenv2/types.js +1 -1
  22. package/dist/cjs/create.js +1 -1
  23. package/dist/cjs/descriptors.d.ts +12 -5
  24. package/dist/cjs/descriptors.js +1 -1
  25. package/dist/cjs/equals.js +1 -1
  26. package/dist/cjs/extensions.js +1 -1
  27. package/dist/cjs/fields.js +1 -1
  28. package/dist/cjs/from-binary.js +8 -8
  29. package/dist/cjs/from-json.d.ts +1 -1
  30. package/dist/cjs/from-json.js +81 -89
  31. package/dist/cjs/index.js +1 -1
  32. package/dist/cjs/is-message.js +1 -1
  33. package/dist/cjs/json-value.js +1 -1
  34. package/dist/cjs/merge.js +1 -1
  35. package/dist/cjs/proto-int64.js +1 -1
  36. package/dist/cjs/reflect/error.js +1 -1
  37. package/dist/cjs/reflect/guard.js +1 -1
  38. package/dist/cjs/reflect/index.js +1 -1
  39. package/dist/cjs/reflect/names.d.ts +11 -0
  40. package/dist/cjs/reflect/names.js +15 -1
  41. package/dist/cjs/reflect/nested-types.js +1 -1
  42. package/dist/cjs/reflect/path.d.ts +1 -1
  43. package/dist/cjs/reflect/path.js +1 -1
  44. package/dist/cjs/reflect/reflect-check.js +1 -1
  45. package/dist/cjs/reflect/reflect-types.js +1 -1
  46. package/dist/cjs/reflect/reflect.js +1 -1
  47. package/dist/cjs/reflect/scalar.js +1 -1
  48. package/dist/cjs/reflect/unsafe.js +1 -1
  49. package/dist/cjs/registry.js +25 -2
  50. package/dist/cjs/to-binary.js +1 -1
  51. package/dist/cjs/to-json.d.ts +1 -1
  52. package/dist/cjs/to-json.js +12 -15
  53. package/dist/cjs/types.d.ts +1 -1
  54. package/dist/cjs/types.js +1 -1
  55. package/dist/cjs/wire/base64-encoding.js +1 -1
  56. package/dist/cjs/wire/binary-encoding.d.ts +9 -7
  57. package/dist/cjs/wire/binary-encoding.js +19 -9
  58. package/dist/cjs/wire/index.js +1 -1
  59. package/dist/cjs/wire/size-delimited.js +1 -1
  60. package/dist/cjs/wire/text-encoding.d.ts +4 -2
  61. package/dist/cjs/wire/text-encoding.js +9 -2
  62. package/dist/cjs/wire/text-format.js +1 -1
  63. package/dist/cjs/wkt/any.js +1 -1
  64. package/dist/cjs/wkt/duration.js +1 -1
  65. package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +1 -1
  66. package/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
  67. package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +1 -1
  68. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
  69. package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +1 -1
  70. package/dist/cjs/wkt/gen/google/protobuf/cpp_features_pb.js +1 -1
  71. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
  72. package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +2 -2
  73. package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +1 -1
  74. package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +1 -1
  75. package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
  76. package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +1 -1
  77. package/dist/cjs/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
  78. package/dist/cjs/wkt/gen/google/protobuf/go_features_pb.js +39 -3
  79. package/dist/cjs/wkt/gen/google/protobuf/java_features_pb.js +1 -1
  80. package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +1 -1
  81. package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +1 -1
  82. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
  83. package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +1 -1
  84. package/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
  85. package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +1 -1
  86. package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +1 -1
  87. package/dist/cjs/wkt/index.js +1 -1
  88. package/dist/cjs/wkt/timestamp.js +1 -1
  89. package/dist/cjs/wkt/wrappers.d.ts +10 -0
  90. package/dist/cjs/wkt/wrappers.js +25 -1
  91. package/dist/esm/clone.js +1 -1
  92. package/dist/esm/codegenv1/enum.js +1 -1
  93. package/dist/esm/codegenv1/extension.js +1 -1
  94. package/dist/esm/codegenv1/file.js +1 -1
  95. package/dist/esm/codegenv1/index.js +1 -1
  96. package/dist/esm/codegenv1/message.js +1 -1
  97. package/dist/esm/codegenv1/service.js +1 -1
  98. package/dist/esm/codegenv1/symbols.js +1 -1
  99. package/dist/esm/codegenv1/types.js +1 -1
  100. package/dist/esm/codegenv2/boot.js +1 -1
  101. package/dist/esm/codegenv2/embed.js +1 -1
  102. package/dist/esm/codegenv2/enum.js +1 -1
  103. package/dist/esm/codegenv2/extension.js +1 -1
  104. package/dist/esm/codegenv2/file.js +1 -1
  105. package/dist/esm/codegenv2/index.js +1 -1
  106. package/dist/esm/codegenv2/message.js +1 -1
  107. package/dist/esm/codegenv2/restore-json-names.js +1 -1
  108. package/dist/esm/codegenv2/scalar.js +1 -1
  109. package/dist/esm/codegenv2/service.js +1 -1
  110. package/dist/esm/codegenv2/symbols.js +1 -1
  111. package/dist/esm/codegenv2/types.js +1 -1
  112. package/dist/esm/create.js +1 -1
  113. package/dist/esm/descriptors.d.ts +12 -5
  114. package/dist/esm/descriptors.js +1 -1
  115. package/dist/esm/equals.js +1 -1
  116. package/dist/esm/extensions.js +1 -1
  117. package/dist/esm/fields.js +1 -1
  118. package/dist/esm/from-binary.js +8 -8
  119. package/dist/esm/from-json.d.ts +1 -1
  120. package/dist/esm/from-json.js +82 -90
  121. package/dist/esm/index.js +1 -1
  122. package/dist/esm/is-message.js +1 -1
  123. package/dist/esm/json-value.js +1 -1
  124. package/dist/esm/merge.js +1 -1
  125. package/dist/esm/proto-int64.js +1 -1
  126. package/dist/esm/reflect/error.js +1 -1
  127. package/dist/esm/reflect/guard.js +1 -1
  128. package/dist/esm/reflect/index.js +1 -1
  129. package/dist/esm/reflect/names.d.ts +11 -0
  130. package/dist/esm/reflect/names.js +14 -1
  131. package/dist/esm/reflect/nested-types.js +1 -1
  132. package/dist/esm/reflect/path.d.ts +1 -1
  133. package/dist/esm/reflect/path.js +1 -1
  134. package/dist/esm/reflect/reflect-check.js +1 -1
  135. package/dist/esm/reflect/reflect-types.js +1 -1
  136. package/dist/esm/reflect/reflect.js +1 -1
  137. package/dist/esm/reflect/scalar.js +1 -1
  138. package/dist/esm/reflect/unsafe.js +1 -1
  139. package/dist/esm/registry.js +25 -2
  140. package/dist/esm/to-binary.js +1 -1
  141. package/dist/esm/to-json.d.ts +1 -1
  142. package/dist/esm/to-json.js +14 -17
  143. package/dist/esm/types.d.ts +1 -1
  144. package/dist/esm/types.js +1 -1
  145. package/dist/esm/wire/base64-encoding.js +1 -1
  146. package/dist/esm/wire/binary-encoding.d.ts +9 -7
  147. package/dist/esm/wire/binary-encoding.js +19 -9
  148. package/dist/esm/wire/index.js +1 -1
  149. package/dist/esm/wire/size-delimited.js +1 -1
  150. package/dist/esm/wire/text-encoding.d.ts +4 -2
  151. package/dist/esm/wire/text-encoding.js +9 -2
  152. package/dist/esm/wire/text-format.js +1 -1
  153. package/dist/esm/wkt/any.js +1 -1
  154. package/dist/esm/wkt/duration.js +1 -1
  155. package/dist/esm/wkt/gen/google/protobuf/any_pb.js +1 -1
  156. package/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +1 -1
  157. package/dist/esm/wkt/gen/google/protobuf/api_pb.js +1 -1
  158. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +2 -2
  159. package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +1 -1
  160. package/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +1 -1
  161. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +37 -23
  162. package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +2 -2
  163. package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +1 -1
  164. package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +1 -1
  165. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +32 -36
  166. package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +1 -1
  167. package/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +65 -0
  168. package/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +38 -2
  169. package/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +1 -1
  170. package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +1 -1
  171. package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +1 -1
  172. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +5 -5
  173. package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +1 -1
  174. package/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +3 -3
  175. package/dist/esm/wkt/gen/google/protobuf/type_pb.js +1 -1
  176. package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +1 -1
  177. package/dist/esm/wkt/index.js +1 -1
  178. package/dist/esm/wkt/timestamp.js +1 -1
  179. package/dist/esm/wkt/wrappers.d.ts +10 -0
  180. package/dist/esm/wkt/wrappers.js +24 -1
  181. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- // Copyright 2021-2025 Buf Technologies, Inc.
1
+ // Copyright 2021-2026 Buf Technologies, Inc.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -22,6 +22,29 @@ export function isWrapperDesc(messageDesc) {
22
22
  f.name == "value" &&
23
23
  f.number == 1);
24
24
  }
25
+ /**
26
+ * Returns true if the descriptor is a well-known type with a custom JSON
27
+ * representation per the protobuf JSON spec. Examples: Timestamp as an
28
+ * RFC 3339 string, Duration as "5s", wrappers as the unwrapped scalar.
29
+ *
30
+ * When packed inside `google.protobuf.Any`, these messages are serialized
31
+ * as `{"@type": ..., "value": <custom form>}`; all other messages embed
32
+ * their fields directly.
33
+ */
34
+ export function hasCustomJsonRepresentation(desc) {
35
+ switch (desc.typeName) {
36
+ case "google.protobuf.Any":
37
+ case "google.protobuf.Timestamp":
38
+ case "google.protobuf.Duration":
39
+ case "google.protobuf.FieldMask":
40
+ case "google.protobuf.Struct":
41
+ case "google.protobuf.Value":
42
+ case "google.protobuf.ListValue":
43
+ return true;
44
+ default:
45
+ return isWrapperDesc(desc);
46
+ }
47
+ }
25
48
  function isWrapperTypeName(name) {
26
49
  return (name.startsWith("google.protobuf.") &&
27
50
  [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bufbuild/protobuf",
3
- "version": "2.10.2",
3
+ "version": "2.12.0",
4
4
  "license": "(Apache-2.0 AND BSD-3-Clause)",
5
5
  "description": "A complete implementation of Protocol Buffers in TypeScript, suitable for web browsers and Node.js.",
6
6
  "keywords": ["protobuf", "schema", "typescript", "ecmascript"],