@bufbuild/protobuf 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,22 @@
1
- import { localName, safeIdentifier, safeObjectProperty } from "./private/names.js";
2
- import { getUnwrappedFieldType } from "./private/field-wrapper.js";
3
- import { scalarDefaultValue } from "./private/scalars.js";
4
1
  import { reifyWkt } from "./private/reify-wkt.js";
2
+ import type { DescEnum, DescEnumValue, DescField, DescMessage, DescMethod, DescOneof, DescService } from "./descriptor-set";
3
+ import { LongType, ScalarType } from "./field.js";
5
4
  interface CodegenInfo {
5
+ /**
6
+ * Name of the runtime library NPM package.
7
+ */
6
8
  readonly packageName: string;
7
- readonly localName: typeof localName;
9
+ readonly localName: (desc: DescEnum | DescEnumValue | DescMessage | DescOneof | DescField | DescService | DescMethod) => string;
8
10
  readonly symbols: Record<RuntimeSymbolName, RuntimeSymbolInfo>;
9
- readonly getUnwrappedFieldType: typeof getUnwrappedFieldType;
11
+ readonly getUnwrappedFieldType: (field: DescField) => ScalarType | undefined;
10
12
  readonly wktSourceFiles: readonly string[];
11
- readonly scalarDefaultValue: typeof scalarDefaultValue;
13
+ readonly scalarDefaultValue: (type: ScalarType, longType: LongType) => any;
14
+ /**
15
+ * @deprecated please use reifyWkt from @bufbuild/protoplugin/ecmascript instead
16
+ */
12
17
  readonly reifyWkt: typeof reifyWkt;
13
- readonly safeIdentifier: typeof safeIdentifier;
14
- readonly safeObjectProperty: typeof safeObjectProperty;
18
+ readonly safeIdentifier: (name: string) => string;
19
+ readonly safeObjectProperty: (name: string) => string;
15
20
  }
16
21
  type RuntimeSymbolName = "proto2" | "proto3" | "Message" | "PartialMessage" | "PlainMessage" | "FieldList" | "MessageType" | "BinaryReadOptions" | "BinaryWriteOptions" | "JsonReadOptions" | "JsonWriteOptions" | "JsonValue" | "JsonObject" | "protoDouble" | "protoInt64" | "ScalarType" | "LongType" | "MethodKind" | "MethodIdempotency" | "IMessageTypeRegistry";
17
22
  type RuntimeSymbolInfo = {
@@ -20,7 +20,7 @@ const scalars_js_1 = require("./private/scalars.js");
20
20
  const reify_wkt_js_1 = require("./private/reify-wkt.js");
21
21
  const packageName = "@bufbuild/protobuf";
22
22
  exports.codegenInfo = {
23
- packageName,
23
+ packageName: "@bufbuild/protobuf",
24
24
  localName: names_js_1.localName,
25
25
  reifyWkt: reify_wkt_js_1.reifyWkt,
26
26
  getUnwrappedFieldType: field_wrapper_js_1.getUnwrappedFieldType,
@@ -1,9 +1,66 @@
1
+ import { proto2 } from "../../proto2.js";
1
2
  import type { PartialMessage, PlainMessage } from "../../message.js";
2
3
  import { Message } from "../../message.js";
3
- import { proto2 } from "../../proto2.js";
4
4
  import type { FieldList } from "../../field-list.js";
5
5
  import type { BinaryReadOptions } from "../../binary-format.js";
6
6
  import type { JsonReadOptions, JsonValue } from "../../json-format.js";
7
+ /**
8
+ * The full set of known editions.
9
+ *
10
+ * @generated from enum google.protobuf.Edition
11
+ */
12
+ export declare enum Edition {
13
+ /**
14
+ * A placeholder for an unknown edition value.
15
+ *
16
+ * @generated from enum value: EDITION_UNKNOWN = 0;
17
+ */
18
+ EDITION_UNKNOWN = 0,
19
+ /**
20
+ * Legacy syntax "editions". These pre-date editions, but behave much like
21
+ * distinct editions. These can't be used to specify the edition of proto
22
+ * files, but feature definitions must supply proto2/proto3 defaults for
23
+ * backwards compatibility.
24
+ *
25
+ * @generated from enum value: EDITION_PROTO2 = 998;
26
+ */
27
+ EDITION_PROTO2 = 998,
28
+ /**
29
+ * @generated from enum value: EDITION_PROTO3 = 999;
30
+ */
31
+ EDITION_PROTO3 = 999,
32
+ /**
33
+ * Editions that have been released. The specific values are arbitrary and
34
+ * should not be depended on, but they will always be time-ordered for easy
35
+ * comparison.
36
+ *
37
+ * @generated from enum value: EDITION_2023 = 1000;
38
+ */
39
+ EDITION_2023 = 1000,
40
+ /**
41
+ * Placeholder editions for testing feature resolution. These should not be
42
+ * used or relyed on outside of tests.
43
+ *
44
+ * @generated from enum value: EDITION_1_TEST_ONLY = 1;
45
+ */
46
+ EDITION_1_TEST_ONLY = 1,
47
+ /**
48
+ * @generated from enum value: EDITION_2_TEST_ONLY = 2;
49
+ */
50
+ EDITION_2_TEST_ONLY = 2,
51
+ /**
52
+ * @generated from enum value: EDITION_99997_TEST_ONLY = 99997;
53
+ */
54
+ EDITION_99997_TEST_ONLY = 99997,
55
+ /**
56
+ * @generated from enum value: EDITION_99998_TEST_ONLY = 99998;
57
+ */
58
+ EDITION_99998_TEST_ONLY = 99998,
59
+ /**
60
+ * @generated from enum value: EDITION_99999_TEST_ONLY = 99999;
61
+ */
62
+ EDITION_99999_TEST_ONLY = 99999
63
+ }
7
64
  /**
8
65
  * The protocol compiler can output a FileDescriptorSet containing the .proto
9
66
  * files it parses.
@@ -102,11 +159,11 @@ export declare class FileDescriptorProto extends Message<FileDescriptorProto> {
102
159
  */
103
160
  syntax?: string;
104
161
  /**
105
- * The edition of the proto file, which is an opaque string.
162
+ * The edition of the proto file.
106
163
  *
107
- * @generated from field: optional string edition = 13;
164
+ * @generated from field: optional google.protobuf.Edition edition = 14;
108
165
  */
109
- edition?: string;
166
+ edition?: Edition;
110
167
  constructor(data?: PartialMessage<FileDescriptorProto>);
111
168
  static readonly runtime: typeof proto2;
112
169
  static readonly typeName = "google.protobuf.FileDescriptorProto";
@@ -258,7 +315,7 @@ export declare class ExtensionRangeOptions extends Message<ExtensionRangeOptions
258
315
  features?: FeatureSet;
259
316
  /**
260
317
  * The verification state of the range.
261
- * TODO(b/278783756): flip the default to DECLARATION once all empty ranges
318
+ * TODO: flip the default to DECLARATION once all empty ranges
262
319
  * are marked as UNVERIFIED.
263
320
  *
264
321
  * @generated from field: optional google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED];
@@ -496,9 +553,10 @@ export declare enum FieldDescriptorProto_Type {
496
553
  STRING = 9,
497
554
  /**
498
555
  * Tag-delimited aggregate.
499
- * Group type is deprecated and not supported in proto3. However, Proto3
556
+ * Group type is deprecated and not supported after google.protobuf. However, Proto3
500
557
  * implementations should still be able to parse the group wire format and
501
- * treat group fields as unknown fields.
558
+ * treat group fields as unknown fields. In Editions, the group wire format
559
+ * can be enabled via the `message_encoding` feature.
502
560
  *
503
561
  * @generated from enum value: TYPE_GROUP = 10;
504
562
  */
@@ -555,13 +613,17 @@ export declare enum FieldDescriptorProto_Label {
555
613
  */
556
614
  OPTIONAL = 1,
557
615
  /**
558
- * @generated from enum value: LABEL_REQUIRED = 2;
616
+ * @generated from enum value: LABEL_REPEATED = 3;
559
617
  */
560
- REQUIRED = 2,
618
+ REPEATED = 3,
561
619
  /**
562
- * @generated from enum value: LABEL_REPEATED = 3;
620
+ * The required label is only allowed in google.protobuf. In proto3 and Editions
621
+ * it's explicitly prohibited. In Editions, the `field_presence` feature
622
+ * can be used to get this behavior.
623
+ *
624
+ * @generated from enum value: LABEL_REQUIRED = 2;
563
625
  */
564
- REPEATED = 3
626
+ REQUIRED = 2
565
627
  }
566
628
  /**
567
629
  * Describes a oneof.
@@ -1050,7 +1112,7 @@ export declare class MessageOptions extends Message<MessageOptions> {
1050
1112
  * This should only be used as a temporary measure against broken builds due
1051
1113
  * to the change in behavior for JSON field name conflicts.
1052
1114
  *
1053
- * TODO(b/261750190) This is legacy behavior we plan to remove once downstream
1115
+ * TODO This is legacy behavior we plan to remove once downstream
1054
1116
  * teams have had time to migrate.
1055
1117
  *
1056
1118
  * @generated from field: optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
@@ -1098,7 +1160,9 @@ export declare class FieldOptions extends Message<FieldOptions> {
1098
1160
  * a more efficient representation on the wire. Rather than repeatedly
1099
1161
  * writing the tag and type for each element, the entire array is encoded as
1100
1162
  * a single length-delimited blob. In proto3, only explicit setting it to
1101
- * false will avoid using packed encoding.
1163
+ * false will avoid using packed encoding. This option is prohibited in
1164
+ * Editions, but the `repeated_field_encoding` feature can be used to control
1165
+ * the behavior.
1102
1166
  *
1103
1167
  * @generated from field: optional bool packed = 2;
1104
1168
  */
@@ -1342,9 +1406,9 @@ export declare enum FieldOptions_OptionTargetType {
1342
1406
  */
1343
1407
  export declare class FieldOptions_EditionDefault extends Message<FieldOptions_EditionDefault> {
1344
1408
  /**
1345
- * @generated from field: optional string edition = 1;
1409
+ * @generated from field: optional google.protobuf.Edition edition = 3;
1346
1410
  */
1347
- edition?: string;
1411
+ edition?: Edition;
1348
1412
  /**
1349
1413
  * Textproto value.
1350
1414
  *
@@ -1410,7 +1474,7 @@ export declare class EnumOptions extends Message<EnumOptions> {
1410
1474
  * and strips underscored from the fields before comparison in proto3 only.
1411
1475
  * The new behavior takes `json_name` into account and applies to proto2 as
1412
1476
  * well.
1413
- * TODO(b/261750190) Remove this legacy behavior once downstream teams have
1477
+ * TODO Remove this legacy behavior once downstream teams have
1414
1478
  * had time to migrate.
1415
1479
  *
1416
1480
  * @generated from field: optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
@@ -1656,7 +1720,7 @@ export declare class UninterpretedOption_NamePart extends Message<UninterpretedO
1656
1720
  static equals(a: UninterpretedOption_NamePart | PlainMessage<UninterpretedOption_NamePart> | undefined, b: UninterpretedOption_NamePart | PlainMessage<UninterpretedOption_NamePart> | undefined): boolean;
1657
1721
  }
1658
1722
  /**
1659
- * TODO(b/274655146) Enums in C++ gencode (and potentially other languages) are
1723
+ * TODO Enums in C++ gencode (and potentially other languages) are
1660
1724
  * not well scoped. This means that each of the feature enums below can clash
1661
1725
  * with each other. The short names we've chosen maximize call-site
1662
1726
  * readability, but leave us very open to this scenario. A future feature will
@@ -1679,9 +1743,9 @@ export declare class FeatureSet extends Message<FeatureSet> {
1679
1743
  */
1680
1744
  repeatedFieldEncoding?: FeatureSet_RepeatedFieldEncoding;
1681
1745
  /**
1682
- * @generated from field: optional google.protobuf.FeatureSet.StringFieldValidation string_field_validation = 4;
1746
+ * @generated from field: optional google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4;
1683
1747
  */
1684
- stringFieldValidation?: FeatureSet_StringFieldValidation;
1748
+ utf8Validation?: FeatureSet_Utf8Validation;
1685
1749
  /**
1686
1750
  * @generated from field: optional google.protobuf.FeatureSet.MessageEncoding message_encoding = 5;
1687
1751
  */
@@ -1690,10 +1754,6 @@ export declare class FeatureSet extends Message<FeatureSet> {
1690
1754
  * @generated from field: optional google.protobuf.FeatureSet.JsonFormat json_format = 6;
1691
1755
  */
1692
1756
  jsonFormat?: FeatureSet_JsonFormat;
1693
- /**
1694
- * @generated from field: optional google.protobuf.FeatureSet raw_features = 999;
1695
- */
1696
- rawFeatures?: FeatureSet;
1697
1757
  constructor(data?: PartialMessage<FeatureSet>);
1698
1758
  static readonly runtime: typeof proto2;
1699
1759
  static readonly typeName = "google.protobuf.FeatureSet";
@@ -1759,25 +1819,21 @@ export declare enum FeatureSet_RepeatedFieldEncoding {
1759
1819
  EXPANDED = 2
1760
1820
  }
1761
1821
  /**
1762
- * @generated from enum google.protobuf.FeatureSet.StringFieldValidation
1822
+ * @generated from enum google.protobuf.FeatureSet.Utf8Validation
1763
1823
  */
1764
- export declare enum FeatureSet_StringFieldValidation {
1765
- /**
1766
- * @generated from enum value: STRING_FIELD_VALIDATION_UNKNOWN = 0;
1767
- */
1768
- STRING_FIELD_VALIDATION_UNKNOWN = 0,
1824
+ export declare enum FeatureSet_Utf8Validation {
1769
1825
  /**
1770
- * @generated from enum value: MANDATORY = 1;
1826
+ * @generated from enum value: UTF8_VALIDATION_UNKNOWN = 0;
1771
1827
  */
1772
- MANDATORY = 1,
1828
+ UTF8_VALIDATION_UNKNOWN = 0,
1773
1829
  /**
1774
- * @generated from enum value: HINT = 2;
1830
+ * @generated from enum value: NONE = 1;
1775
1831
  */
1776
- HINT = 2,
1832
+ NONE = 1,
1777
1833
  /**
1778
- * @generated from enum value: NONE = 3;
1834
+ * @generated from enum value: VERIFY = 2;
1779
1835
  */
1780
- NONE = 3
1836
+ VERIFY = 2
1781
1837
  }
1782
1838
  /**
1783
1839
  * @generated from enum google.protobuf.FeatureSet.MessageEncoding
@@ -1813,6 +1869,68 @@ export declare enum FeatureSet_JsonFormat {
1813
1869
  */
1814
1870
  LEGACY_BEST_EFFORT = 2
1815
1871
  }
1872
+ /**
1873
+ * A compiled specification for the defaults of a set of features. These
1874
+ * messages are generated from FeatureSet extensions and can be used to seed
1875
+ * feature resolution. The resolution with this object becomes a simple search
1876
+ * for the closest matching edition, followed by proto merges.
1877
+ *
1878
+ * @generated from message google.protobuf.FeatureSetDefaults
1879
+ */
1880
+ export declare class FeatureSetDefaults extends Message<FeatureSetDefaults> {
1881
+ /**
1882
+ * @generated from field: repeated google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
1883
+ */
1884
+ defaults: FeatureSetDefaults_FeatureSetEditionDefault[];
1885
+ /**
1886
+ * The minimum supported edition (inclusive) when this was constructed.
1887
+ * Editions before this will not have defaults.
1888
+ *
1889
+ * @generated from field: optional google.protobuf.Edition minimum_edition = 4;
1890
+ */
1891
+ minimumEdition?: Edition;
1892
+ /**
1893
+ * The maximum known edition (inclusive) when this was constructed. Editions
1894
+ * after this will not have reliable defaults.
1895
+ *
1896
+ * @generated from field: optional google.protobuf.Edition maximum_edition = 5;
1897
+ */
1898
+ maximumEdition?: Edition;
1899
+ constructor(data?: PartialMessage<FeatureSetDefaults>);
1900
+ static readonly runtime: typeof proto2;
1901
+ static readonly typeName = "google.protobuf.FeatureSetDefaults";
1902
+ static readonly fields: FieldList;
1903
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FeatureSetDefaults;
1904
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FeatureSetDefaults;
1905
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FeatureSetDefaults;
1906
+ static equals(a: FeatureSetDefaults | PlainMessage<FeatureSetDefaults> | undefined, b: FeatureSetDefaults | PlainMessage<FeatureSetDefaults> | undefined): boolean;
1907
+ }
1908
+ /**
1909
+ * A map from every known edition with a unique set of defaults to its
1910
+ * defaults. Not all editions may be contained here. For a given edition,
1911
+ * the defaults at the closest matching edition ordered at or before it should
1912
+ * be used. This field must be in strict ascending order by edition.
1913
+ *
1914
+ * @generated from message google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
1915
+ */
1916
+ export declare class FeatureSetDefaults_FeatureSetEditionDefault extends Message<FeatureSetDefaults_FeatureSetEditionDefault> {
1917
+ /**
1918
+ * @generated from field: optional google.protobuf.Edition edition = 3;
1919
+ */
1920
+ edition?: Edition;
1921
+ /**
1922
+ * @generated from field: optional google.protobuf.FeatureSet features = 2;
1923
+ */
1924
+ features?: FeatureSet;
1925
+ constructor(data?: PartialMessage<FeatureSetDefaults_FeatureSetEditionDefault>);
1926
+ static readonly runtime: typeof proto2;
1927
+ static readonly typeName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
1928
+ static readonly fields: FieldList;
1929
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FeatureSetDefaults_FeatureSetEditionDefault;
1930
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FeatureSetDefaults_FeatureSetEditionDefault;
1931
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FeatureSetDefaults_FeatureSetEditionDefault;
1932
+ static equals(a: FeatureSetDefaults_FeatureSetEditionDefault | PlainMessage<FeatureSetDefaults_FeatureSetEditionDefault> | undefined, b: FeatureSetDefaults_FeatureSetEditionDefault | PlainMessage<FeatureSetDefaults_FeatureSetEditionDefault> | undefined): boolean;
1933
+ }
1816
1934
  /**
1817
1935
  * Encapsulates information about the original source file from which a
1818
1936
  * FileDescriptorProto was generated.
@@ -13,9 +13,89 @@
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.GeneratedCodeInfo_Annotation_Semantic = exports.GeneratedCodeInfo_Annotation = exports.GeneratedCodeInfo = exports.SourceCodeInfo_Location = exports.SourceCodeInfo = exports.FeatureSet_JsonFormat = exports.FeatureSet_MessageEncoding = exports.FeatureSet_StringFieldValidation = exports.FeatureSet_RepeatedFieldEncoding = exports.FeatureSet_EnumType = exports.FeatureSet_FieldPresence = exports.FeatureSet = exports.UninterpretedOption_NamePart = exports.UninterpretedOption = exports.MethodOptions_IdempotencyLevel = exports.MethodOptions = exports.ServiceOptions = exports.EnumValueOptions = exports.EnumOptions = exports.OneofOptions = exports.FieldOptions_EditionDefault = exports.FieldOptions_OptionTargetType = exports.FieldOptions_OptionRetention = exports.FieldOptions_JSType = exports.FieldOptions_CType = exports.FieldOptions = exports.MessageOptions = exports.FileOptions_OptimizeMode = exports.FileOptions = exports.MethodDescriptorProto = exports.ServiceDescriptorProto = exports.EnumValueDescriptorProto = exports.EnumDescriptorProto_EnumReservedRange = exports.EnumDescriptorProto = exports.OneofDescriptorProto = exports.FieldDescriptorProto_Label = exports.FieldDescriptorProto_Type = exports.FieldDescriptorProto = exports.ExtensionRangeOptions_Declaration = exports.ExtensionRangeOptions_VerificationState = exports.ExtensionRangeOptions = exports.DescriptorProto_ReservedRange = exports.DescriptorProto_ExtensionRange = exports.DescriptorProto = exports.FileDescriptorProto = exports.FileDescriptorSet = void 0;
17
- const message_js_1 = require("../../message.js");
16
+ exports.GeneratedCodeInfo_Annotation_Semantic = exports.GeneratedCodeInfo_Annotation = exports.GeneratedCodeInfo = exports.SourceCodeInfo_Location = exports.SourceCodeInfo = exports.FeatureSetDefaults_FeatureSetEditionDefault = exports.FeatureSetDefaults = exports.FeatureSet_JsonFormat = exports.FeatureSet_MessageEncoding = exports.FeatureSet_Utf8Validation = exports.FeatureSet_RepeatedFieldEncoding = exports.FeatureSet_EnumType = exports.FeatureSet_FieldPresence = exports.FeatureSet = exports.UninterpretedOption_NamePart = exports.UninterpretedOption = exports.MethodOptions_IdempotencyLevel = exports.MethodOptions = exports.ServiceOptions = exports.EnumValueOptions = exports.EnumOptions = exports.OneofOptions = exports.FieldOptions_EditionDefault = exports.FieldOptions_OptionTargetType = exports.FieldOptions_OptionRetention = exports.FieldOptions_JSType = exports.FieldOptions_CType = exports.FieldOptions = exports.MessageOptions = exports.FileOptions_OptimizeMode = exports.FileOptions = exports.MethodDescriptorProto = exports.ServiceDescriptorProto = exports.EnumValueDescriptorProto = exports.EnumDescriptorProto_EnumReservedRange = exports.EnumDescriptorProto = exports.OneofDescriptorProto = exports.FieldDescriptorProto_Label = exports.FieldDescriptorProto_Type = exports.FieldDescriptorProto = exports.ExtensionRangeOptions_Declaration = exports.ExtensionRangeOptions_VerificationState = exports.ExtensionRangeOptions = exports.DescriptorProto_ReservedRange = exports.DescriptorProto_ExtensionRange = exports.DescriptorProto = exports.FileDescriptorProto = exports.FileDescriptorSet = exports.Edition = void 0;
17
+ // Author: kenton@google.com (Kenton Varda)
18
+ // Based on original Protocol Buffers design by
19
+ // Sanjay Ghemawat, Jeff Dean, and others.
20
+ //
21
+ // The messages in this file describe the definitions found in .proto files.
22
+ // A valid .proto file can be translated directly to a FileDescriptorProto
23
+ // without any other information (e.g. without reading its imports).
24
+ // @generated by protoc-gen-es v1.4.2 with parameter "bootstrap_wkt=true,ts_nocheck=false,target=ts"
25
+ // @generated from file google/protobuf/descriptor.proto (package google.protobuf, syntax proto2)
26
+ /* eslint-disable */
18
27
  const proto2_js_1 = require("../../proto2.js");
28
+ const message_js_1 = require("../../message.js");
29
+ /**
30
+ * The full set of known editions.
31
+ *
32
+ * @generated from enum google.protobuf.Edition
33
+ */
34
+ var Edition;
35
+ (function (Edition) {
36
+ /**
37
+ * A placeholder for an unknown edition value.
38
+ *
39
+ * @generated from enum value: EDITION_UNKNOWN = 0;
40
+ */
41
+ Edition[Edition["EDITION_UNKNOWN"] = 0] = "EDITION_UNKNOWN";
42
+ /**
43
+ * Legacy syntax "editions". These pre-date editions, but behave much like
44
+ * distinct editions. These can't be used to specify the edition of proto
45
+ * files, but feature definitions must supply proto2/proto3 defaults for
46
+ * backwards compatibility.
47
+ *
48
+ * @generated from enum value: EDITION_PROTO2 = 998;
49
+ */
50
+ Edition[Edition["EDITION_PROTO2"] = 998] = "EDITION_PROTO2";
51
+ /**
52
+ * @generated from enum value: EDITION_PROTO3 = 999;
53
+ */
54
+ Edition[Edition["EDITION_PROTO3"] = 999] = "EDITION_PROTO3";
55
+ /**
56
+ * Editions that have been released. The specific values are arbitrary and
57
+ * should not be depended on, but they will always be time-ordered for easy
58
+ * comparison.
59
+ *
60
+ * @generated from enum value: EDITION_2023 = 1000;
61
+ */
62
+ Edition[Edition["EDITION_2023"] = 1000] = "EDITION_2023";
63
+ /**
64
+ * Placeholder editions for testing feature resolution. These should not be
65
+ * used or relyed on outside of tests.
66
+ *
67
+ * @generated from enum value: EDITION_1_TEST_ONLY = 1;
68
+ */
69
+ Edition[Edition["EDITION_1_TEST_ONLY"] = 1] = "EDITION_1_TEST_ONLY";
70
+ /**
71
+ * @generated from enum value: EDITION_2_TEST_ONLY = 2;
72
+ */
73
+ Edition[Edition["EDITION_2_TEST_ONLY"] = 2] = "EDITION_2_TEST_ONLY";
74
+ /**
75
+ * @generated from enum value: EDITION_99997_TEST_ONLY = 99997;
76
+ */
77
+ Edition[Edition["EDITION_99997_TEST_ONLY"] = 99997] = "EDITION_99997_TEST_ONLY";
78
+ /**
79
+ * @generated from enum value: EDITION_99998_TEST_ONLY = 99998;
80
+ */
81
+ Edition[Edition["EDITION_99998_TEST_ONLY"] = 99998] = "EDITION_99998_TEST_ONLY";
82
+ /**
83
+ * @generated from enum value: EDITION_99999_TEST_ONLY = 99999;
84
+ */
85
+ Edition[Edition["EDITION_99999_TEST_ONLY"] = 99999] = "EDITION_99999_TEST_ONLY";
86
+ })(Edition || (exports.Edition = Edition = {}));
87
+ // Retrieve enum metadata with: proto2.getEnumType(Edition)
88
+ proto2_js_1.proto2.util.setEnumType(Edition, "google.protobuf.Edition", [
89
+ { no: 0, name: "EDITION_UNKNOWN" },
90
+ { no: 998, name: "EDITION_PROTO2" },
91
+ { no: 999, name: "EDITION_PROTO3" },
92
+ { no: 1000, name: "EDITION_2023" },
93
+ { no: 1, name: "EDITION_1_TEST_ONLY" },
94
+ { no: 2, name: "EDITION_2_TEST_ONLY" },
95
+ { no: 99997, name: "EDITION_99997_TEST_ONLY" },
96
+ { no: 99998, name: "EDITION_99998_TEST_ONLY" },
97
+ { no: 99999, name: "EDITION_99999_TEST_ONLY" },
98
+ ]);
19
99
  /**
20
100
  * The protocol compiler can output a FileDescriptorSet containing the .proto
21
101
  * files it parses.
@@ -126,7 +206,7 @@ FileDescriptorProto.fields = proto2_js_1.proto2.util.newFieldList(() => [
126
206
  { no: 8, name: "options", kind: "message", T: FileOptions, opt: true },
127
207
  { no: 9, name: "source_code_info", kind: "message", T: SourceCodeInfo, opt: true },
128
208
  { no: 12, name: "syntax", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
129
- { no: 13, name: "edition", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
209
+ { no: 14, name: "edition", kind: "enum", T: proto2_js_1.proto2.getEnumType(Edition), opt: true },
130
210
  ]);
131
211
  /**
132
212
  * Describes a message type.
@@ -451,9 +531,10 @@ var FieldDescriptorProto_Type;
451
531
  FieldDescriptorProto_Type[FieldDescriptorProto_Type["STRING"] = 9] = "STRING";
452
532
  /**
453
533
  * Tag-delimited aggregate.
454
- * Group type is deprecated and not supported in proto3. However, Proto3
534
+ * Group type is deprecated and not supported after google.protobuf. However, Proto3
455
535
  * implementations should still be able to parse the group wire format and
456
- * treat group fields as unknown fields.
536
+ * treat group fields as unknown fields. In Editions, the group wire format
537
+ * can be enabled via the `message_encoding` feature.
457
538
  *
458
539
  * @generated from enum value: TYPE_GROUP = 10;
459
540
  */
@@ -531,20 +612,24 @@ var FieldDescriptorProto_Label;
531
612
  * @generated from enum value: LABEL_OPTIONAL = 1;
532
613
  */
533
614
  FieldDescriptorProto_Label[FieldDescriptorProto_Label["OPTIONAL"] = 1] = "OPTIONAL";
534
- /**
535
- * @generated from enum value: LABEL_REQUIRED = 2;
536
- */
537
- FieldDescriptorProto_Label[FieldDescriptorProto_Label["REQUIRED"] = 2] = "REQUIRED";
538
615
  /**
539
616
  * @generated from enum value: LABEL_REPEATED = 3;
540
617
  */
541
618
  FieldDescriptorProto_Label[FieldDescriptorProto_Label["REPEATED"] = 3] = "REPEATED";
619
+ /**
620
+ * The required label is only allowed in google.protobuf. In proto3 and Editions
621
+ * it's explicitly prohibited. In Editions, the `field_presence` feature
622
+ * can be used to get this behavior.
623
+ *
624
+ * @generated from enum value: LABEL_REQUIRED = 2;
625
+ */
626
+ FieldDescriptorProto_Label[FieldDescriptorProto_Label["REQUIRED"] = 2] = "REQUIRED";
542
627
  })(FieldDescriptorProto_Label || (exports.FieldDescriptorProto_Label = FieldDescriptorProto_Label = {}));
543
628
  // Retrieve enum metadata with: proto2.getEnumType(FieldDescriptorProto_Label)
544
629
  proto2_js_1.proto2.util.setEnumType(FieldDescriptorProto_Label, "google.protobuf.FieldDescriptorProto.Label", [
545
630
  { no: 1, name: "LABEL_OPTIONAL" },
546
- { no: 2, name: "LABEL_REQUIRED" },
547
631
  { no: 3, name: "LABEL_REPEATED" },
632
+ { no: 2, name: "LABEL_REQUIRED" },
548
633
  ]);
549
634
  /**
550
635
  * Describes a oneof.
@@ -1124,7 +1209,7 @@ exports.FieldOptions_EditionDefault = FieldOptions_EditionDefault;
1124
1209
  FieldOptions_EditionDefault.runtime = proto2_js_1.proto2;
1125
1210
  FieldOptions_EditionDefault.typeName = "google.protobuf.FieldOptions.EditionDefault";
1126
1211
  FieldOptions_EditionDefault.fields = proto2_js_1.proto2.util.newFieldList(() => [
1127
- { no: 1, name: "edition", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1212
+ { no: 3, name: "edition", kind: "enum", T: proto2_js_1.proto2.getEnumType(Edition), opt: true },
1128
1213
  { no: 2, name: "value", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1129
1214
  ]);
1130
1215
  /**
@@ -1416,7 +1501,7 @@ UninterpretedOption_NamePart.fields = proto2_js_1.proto2.util.newFieldList(() =>
1416
1501
  { no: 2, name: "is_extension", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
1417
1502
  ]);
1418
1503
  /**
1419
- * TODO(b/274655146) Enums in C++ gencode (and potentially other languages) are
1504
+ * TODO Enums in C++ gencode (and potentially other languages) are
1420
1505
  * not well scoped. This means that each of the feature enums below can clash
1421
1506
  * with each other. The short names we've chosen maximize call-site
1422
1507
  * readability, but leave us very open to this scenario. A future feature will
@@ -1450,10 +1535,9 @@ FeatureSet.fields = proto2_js_1.proto2.util.newFieldList(() => [
1450
1535
  { no: 1, name: "field_presence", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_FieldPresence), opt: true },
1451
1536
  { no: 2, name: "enum_type", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_EnumType), opt: true },
1452
1537
  { no: 3, name: "repeated_field_encoding", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_RepeatedFieldEncoding), opt: true },
1453
- { no: 4, name: "string_field_validation", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_StringFieldValidation), opt: true },
1538
+ { no: 4, name: "utf8_validation", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_Utf8Validation), opt: true },
1454
1539
  { no: 5, name: "message_encoding", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_MessageEncoding), opt: true },
1455
1540
  { no: 6, name: "json_format", kind: "enum", T: proto2_js_1.proto2.getEnumType(FeatureSet_JsonFormat), opt: true },
1456
- { no: 999, name: "raw_features", kind: "message", T: FeatureSet, opt: true },
1457
1541
  ]);
1458
1542
  /**
1459
1543
  * @generated from enum google.protobuf.FeatureSet.FieldPresence
@@ -1533,33 +1617,28 @@ proto2_js_1.proto2.util.setEnumType(FeatureSet_RepeatedFieldEncoding, "google.pr
1533
1617
  { no: 2, name: "EXPANDED" },
1534
1618
  ]);
1535
1619
  /**
1536
- * @generated from enum google.protobuf.FeatureSet.StringFieldValidation
1620
+ * @generated from enum google.protobuf.FeatureSet.Utf8Validation
1537
1621
  */
1538
- var FeatureSet_StringFieldValidation;
1539
- (function (FeatureSet_StringFieldValidation) {
1622
+ var FeatureSet_Utf8Validation;
1623
+ (function (FeatureSet_Utf8Validation) {
1540
1624
  /**
1541
- * @generated from enum value: STRING_FIELD_VALIDATION_UNKNOWN = 0;
1625
+ * @generated from enum value: UTF8_VALIDATION_UNKNOWN = 0;
1542
1626
  */
1543
- FeatureSet_StringFieldValidation[FeatureSet_StringFieldValidation["STRING_FIELD_VALIDATION_UNKNOWN"] = 0] = "STRING_FIELD_VALIDATION_UNKNOWN";
1627
+ FeatureSet_Utf8Validation[FeatureSet_Utf8Validation["UTF8_VALIDATION_UNKNOWN"] = 0] = "UTF8_VALIDATION_UNKNOWN";
1544
1628
  /**
1545
- * @generated from enum value: MANDATORY = 1;
1629
+ * @generated from enum value: NONE = 1;
1546
1630
  */
1547
- FeatureSet_StringFieldValidation[FeatureSet_StringFieldValidation["MANDATORY"] = 1] = "MANDATORY";
1631
+ FeatureSet_Utf8Validation[FeatureSet_Utf8Validation["NONE"] = 1] = "NONE";
1548
1632
  /**
1549
- * @generated from enum value: HINT = 2;
1633
+ * @generated from enum value: VERIFY = 2;
1550
1634
  */
1551
- FeatureSet_StringFieldValidation[FeatureSet_StringFieldValidation["HINT"] = 2] = "HINT";
1552
- /**
1553
- * @generated from enum value: NONE = 3;
1554
- */
1555
- FeatureSet_StringFieldValidation[FeatureSet_StringFieldValidation["NONE"] = 3] = "NONE";
1556
- })(FeatureSet_StringFieldValidation || (exports.FeatureSet_StringFieldValidation = FeatureSet_StringFieldValidation = {}));
1557
- // Retrieve enum metadata with: proto2.getEnumType(FeatureSet_StringFieldValidation)
1558
- proto2_js_1.proto2.util.setEnumType(FeatureSet_StringFieldValidation, "google.protobuf.FeatureSet.StringFieldValidation", [
1559
- { no: 0, name: "STRING_FIELD_VALIDATION_UNKNOWN" },
1560
- { no: 1, name: "MANDATORY" },
1561
- { no: 2, name: "HINT" },
1562
- { no: 3, name: "NONE" },
1635
+ FeatureSet_Utf8Validation[FeatureSet_Utf8Validation["VERIFY"] = 2] = "VERIFY";
1636
+ })(FeatureSet_Utf8Validation || (exports.FeatureSet_Utf8Validation = FeatureSet_Utf8Validation = {}));
1637
+ // Retrieve enum metadata with: proto2.getEnumType(FeatureSet_Utf8Validation)
1638
+ proto2_js_1.proto2.util.setEnumType(FeatureSet_Utf8Validation, "google.protobuf.FeatureSet.Utf8Validation", [
1639
+ { no: 0, name: "UTF8_VALIDATION_UNKNOWN" },
1640
+ { no: 1, name: "NONE" },
1641
+ { no: 2, name: "VERIFY" },
1563
1642
  ]);
1564
1643
  /**
1565
1644
  * @generated from enum google.protobuf.FeatureSet.MessageEncoding
@@ -1609,6 +1688,77 @@ proto2_js_1.proto2.util.setEnumType(FeatureSet_JsonFormat, "google.protobuf.Feat
1609
1688
  { no: 1, name: "ALLOW" },
1610
1689
  { no: 2, name: "LEGACY_BEST_EFFORT" },
1611
1690
  ]);
1691
+ /**
1692
+ * A compiled specification for the defaults of a set of features. These
1693
+ * messages are generated from FeatureSet extensions and can be used to seed
1694
+ * feature resolution. The resolution with this object becomes a simple search
1695
+ * for the closest matching edition, followed by proto merges.
1696
+ *
1697
+ * @generated from message google.protobuf.FeatureSetDefaults
1698
+ */
1699
+ class FeatureSetDefaults extends message_js_1.Message {
1700
+ constructor(data) {
1701
+ super();
1702
+ /**
1703
+ * @generated from field: repeated google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
1704
+ */
1705
+ this.defaults = [];
1706
+ proto2_js_1.proto2.util.initPartial(data, this);
1707
+ }
1708
+ static fromBinary(bytes, options) {
1709
+ return new FeatureSetDefaults().fromBinary(bytes, options);
1710
+ }
1711
+ static fromJson(jsonValue, options) {
1712
+ return new FeatureSetDefaults().fromJson(jsonValue, options);
1713
+ }
1714
+ static fromJsonString(jsonString, options) {
1715
+ return new FeatureSetDefaults().fromJsonString(jsonString, options);
1716
+ }
1717
+ static equals(a, b) {
1718
+ return proto2_js_1.proto2.util.equals(FeatureSetDefaults, a, b);
1719
+ }
1720
+ }
1721
+ exports.FeatureSetDefaults = FeatureSetDefaults;
1722
+ FeatureSetDefaults.runtime = proto2_js_1.proto2;
1723
+ FeatureSetDefaults.typeName = "google.protobuf.FeatureSetDefaults";
1724
+ FeatureSetDefaults.fields = proto2_js_1.proto2.util.newFieldList(() => [
1725
+ { no: 1, name: "defaults", kind: "message", T: FeatureSetDefaults_FeatureSetEditionDefault, repeated: true },
1726
+ { no: 4, name: "minimum_edition", kind: "enum", T: proto2_js_1.proto2.getEnumType(Edition), opt: true },
1727
+ { no: 5, name: "maximum_edition", kind: "enum", T: proto2_js_1.proto2.getEnumType(Edition), opt: true },
1728
+ ]);
1729
+ /**
1730
+ * A map from every known edition with a unique set of defaults to its
1731
+ * defaults. Not all editions may be contained here. For a given edition,
1732
+ * the defaults at the closest matching edition ordered at or before it should
1733
+ * be used. This field must be in strict ascending order by edition.
1734
+ *
1735
+ * @generated from message google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
1736
+ */
1737
+ class FeatureSetDefaults_FeatureSetEditionDefault extends message_js_1.Message {
1738
+ constructor(data) {
1739
+ super();
1740
+ proto2_js_1.proto2.util.initPartial(data, this);
1741
+ }
1742
+ static fromBinary(bytes, options) {
1743
+ return new FeatureSetDefaults_FeatureSetEditionDefault().fromBinary(bytes, options);
1744
+ }
1745
+ static fromJson(jsonValue, options) {
1746
+ return new FeatureSetDefaults_FeatureSetEditionDefault().fromJson(jsonValue, options);
1747
+ }
1748
+ static fromJsonString(jsonString, options) {
1749
+ return new FeatureSetDefaults_FeatureSetEditionDefault().fromJsonString(jsonString, options);
1750
+ }
1751
+ static equals(a, b) {
1752
+ return proto2_js_1.proto2.util.equals(FeatureSetDefaults_FeatureSetEditionDefault, a, b);
1753
+ }
1754
+ }
1755
+ exports.FeatureSetDefaults_FeatureSetEditionDefault = FeatureSetDefaults_FeatureSetEditionDefault;
1756
+ FeatureSetDefaults_FeatureSetEditionDefault.runtime = proto2_js_1.proto2;
1757
+ FeatureSetDefaults_FeatureSetEditionDefault.typeName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
1758
+ FeatureSetDefaults_FeatureSetEditionDefault.fields = proto2_js_1.proto2.util.newFieldList(() => [
1759
+ { no: 3, name: "edition", kind: "enum", T: proto2_js_1.proto2.getEnumType(Edition), opt: true },
1760
+ { no: 2, name: "features", kind: "message", T: FeatureSet, opt: true },
1761
+ ]);
1612
1762
  /**
1613
1763
  * Encapsulates information about the original source file from which a
1614
1764
  * FileDescriptorProto was generated.
@@ -14,7 +14,7 @@
14
14
  // limitations under the License.
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.ListValue = exports.Value = exports.Struct = exports.NullValue = void 0;
17
- // @generated by protoc-gen-es v1.4.0 with parameter "bootstrap_wkt=true,ts_nocheck=false,target=ts"
17
+ // @generated by protoc-gen-es v1.4.2 with parameter "bootstrap_wkt=true,ts_nocheck=false,target=ts"
18
18
  // @generated from file google/protobuf/struct.proto (package google.protobuf, syntax proto3)
19
19
  /* eslint-disable */
20
20
  const proto3_js_1 = require("../../proto3.js");