@google-cloud/pubsub 4.0.5 → 4.0.7

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.
@@ -21139,6 +21139,7 @@
21139
21139
  * @property {string|null} [docTagPrefix] Publishing docTagPrefix
21140
21140
  * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization
21141
21141
  * @property {Array.<google.api.IClientLibrarySettings>|null} [librarySettings] Publishing librarySettings
21142
+ * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri
21142
21143
  */
21143
21144
 
21144
21145
  /**
@@ -21231,6 +21232,14 @@
21231
21232
  */
21232
21233
  Publishing.prototype.librarySettings = $util.emptyArray;
21233
21234
 
21235
+ /**
21236
+ * Publishing protoReferenceDocumentationUri.
21237
+ * @member {string} protoReferenceDocumentationUri
21238
+ * @memberof google.api.Publishing
21239
+ * @instance
21240
+ */
21241
+ Publishing.prototype.protoReferenceDocumentationUri = "";
21242
+
21234
21243
  /**
21235
21244
  * Creates a new Publishing instance using the specified properties.
21236
21245
  * @function create
@@ -21276,6 +21285,8 @@
21276
21285
  if (message.librarySettings != null && message.librarySettings.length)
21277
21286
  for (var i = 0; i < message.librarySettings.length; ++i)
21278
21287
  $root.google.api.ClientLibrarySettings.encode(message.librarySettings[i], writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim();
21288
+ if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri"))
21289
+ writer.uint32(/* id 110, wireType 2 =*/882).string(message.protoReferenceDocumentationUri);
21279
21290
  return writer;
21280
21291
  };
21281
21292
 
@@ -21352,6 +21363,10 @@
21352
21363
  message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32()));
21353
21364
  break;
21354
21365
  }
21366
+ case 110: {
21367
+ message.protoReferenceDocumentationUri = reader.string();
21368
+ break;
21369
+ }
21355
21370
  default:
21356
21371
  reader.skipType(tag & 7);
21357
21372
  break;
@@ -21427,6 +21442,9 @@
21427
21442
  case 2:
21428
21443
  case 3:
21429
21444
  case 4:
21445
+ case 5:
21446
+ case 6:
21447
+ case 7:
21430
21448
  break;
21431
21449
  }
21432
21450
  if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) {
@@ -21438,6 +21456,9 @@
21438
21456
  return "librarySettings." + error;
21439
21457
  }
21440
21458
  }
21459
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
21460
+ if (!$util.isString(message.protoReferenceDocumentationUri))
21461
+ return "protoReferenceDocumentationUri: string expected";
21441
21462
  return null;
21442
21463
  };
21443
21464
 
@@ -21507,6 +21528,18 @@
21507
21528
  case 4:
21508
21529
  message.organization = 4;
21509
21530
  break;
21531
+ case "SHOPPING":
21532
+ case 5:
21533
+ message.organization = 5;
21534
+ break;
21535
+ case "GEO":
21536
+ case 6:
21537
+ message.organization = 6;
21538
+ break;
21539
+ case "GENERATIVE_AI":
21540
+ case 7:
21541
+ message.organization = 7;
21542
+ break;
21510
21543
  }
21511
21544
  if (object.librarySettings) {
21512
21545
  if (!Array.isArray(object.librarySettings))
@@ -21518,6 +21551,8 @@
21518
21551
  message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]);
21519
21552
  }
21520
21553
  }
21554
+ if (object.protoReferenceDocumentationUri != null)
21555
+ message.protoReferenceDocumentationUri = String(object.protoReferenceDocumentationUri);
21521
21556
  return message;
21522
21557
  };
21523
21558
 
@@ -21546,6 +21581,7 @@
21546
21581
  object.githubLabel = "";
21547
21582
  object.docTagPrefix = "";
21548
21583
  object.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0;
21584
+ object.protoReferenceDocumentationUri = "";
21549
21585
  }
21550
21586
  if (message.methodSettings && message.methodSettings.length) {
21551
21587
  object.methodSettings = [];
@@ -21574,6 +21610,8 @@
21574
21610
  for (var j = 0; j < message.librarySettings.length; ++j)
21575
21611
  object.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options);
21576
21612
  }
21613
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
21614
+ object.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri;
21577
21615
  return object;
21578
21616
  };
21579
21617
 
@@ -22736,6 +22774,11 @@
22736
22774
  * @memberof google.api
22737
22775
  * @interface IDotnetSettings
22738
22776
  * @property {google.api.ICommonLanguageSettings|null} [common] DotnetSettings common
22777
+ * @property {Object.<string,string>|null} [renamedServices] DotnetSettings renamedServices
22778
+ * @property {Object.<string,string>|null} [renamedResources] DotnetSettings renamedResources
22779
+ * @property {Array.<string>|null} [ignoredResources] DotnetSettings ignoredResources
22780
+ * @property {Array.<string>|null} [forcedNamespaceAliases] DotnetSettings forcedNamespaceAliases
22781
+ * @property {Array.<string>|null} [handwrittenSignatures] DotnetSettings handwrittenSignatures
22739
22782
  */
22740
22783
 
22741
22784
  /**
@@ -22747,6 +22790,11 @@
22747
22790
  * @param {google.api.IDotnetSettings=} [properties] Properties to set
22748
22791
  */
22749
22792
  function DotnetSettings(properties) {
22793
+ this.renamedServices = {};
22794
+ this.renamedResources = {};
22795
+ this.ignoredResources = [];
22796
+ this.forcedNamespaceAliases = [];
22797
+ this.handwrittenSignatures = [];
22750
22798
  if (properties)
22751
22799
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
22752
22800
  if (properties[keys[i]] != null)
@@ -22761,6 +22809,46 @@
22761
22809
  */
22762
22810
  DotnetSettings.prototype.common = null;
22763
22811
 
22812
+ /**
22813
+ * DotnetSettings renamedServices.
22814
+ * @member {Object.<string,string>} renamedServices
22815
+ * @memberof google.api.DotnetSettings
22816
+ * @instance
22817
+ */
22818
+ DotnetSettings.prototype.renamedServices = $util.emptyObject;
22819
+
22820
+ /**
22821
+ * DotnetSettings renamedResources.
22822
+ * @member {Object.<string,string>} renamedResources
22823
+ * @memberof google.api.DotnetSettings
22824
+ * @instance
22825
+ */
22826
+ DotnetSettings.prototype.renamedResources = $util.emptyObject;
22827
+
22828
+ /**
22829
+ * DotnetSettings ignoredResources.
22830
+ * @member {Array.<string>} ignoredResources
22831
+ * @memberof google.api.DotnetSettings
22832
+ * @instance
22833
+ */
22834
+ DotnetSettings.prototype.ignoredResources = $util.emptyArray;
22835
+
22836
+ /**
22837
+ * DotnetSettings forcedNamespaceAliases.
22838
+ * @member {Array.<string>} forcedNamespaceAliases
22839
+ * @memberof google.api.DotnetSettings
22840
+ * @instance
22841
+ */
22842
+ DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray;
22843
+
22844
+ /**
22845
+ * DotnetSettings handwrittenSignatures.
22846
+ * @member {Array.<string>} handwrittenSignatures
22847
+ * @memberof google.api.DotnetSettings
22848
+ * @instance
22849
+ */
22850
+ DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray;
22851
+
22764
22852
  /**
22765
22853
  * Creates a new DotnetSettings instance using the specified properties.
22766
22854
  * @function create
@@ -22787,6 +22875,21 @@
22787
22875
  writer = $Writer.create();
22788
22876
  if (message.common != null && Object.hasOwnProperty.call(message, "common"))
22789
22877
  $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
22878
+ if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices"))
22879
+ for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i)
22880
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim();
22881
+ if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources"))
22882
+ for (var keys = Object.keys(message.renamedResources), i = 0; i < keys.length; ++i)
22883
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedResources[keys[i]]).ldelim();
22884
+ if (message.ignoredResources != null && message.ignoredResources.length)
22885
+ for (var i = 0; i < message.ignoredResources.length; ++i)
22886
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.ignoredResources[i]);
22887
+ if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length)
22888
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
22889
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.forcedNamespaceAliases[i]);
22890
+ if (message.handwrittenSignatures != null && message.handwrittenSignatures.length)
22891
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
22892
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.handwrittenSignatures[i]);
22790
22893
  return writer;
22791
22894
  };
22792
22895
 
@@ -22817,7 +22920,7 @@
22817
22920
  DotnetSettings.decode = function decode(reader, length) {
22818
22921
  if (!(reader instanceof $Reader))
22819
22922
  reader = $Reader.create(reader);
22820
- var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings();
22923
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value;
22821
22924
  while (reader.pos < end) {
22822
22925
  var tag = reader.uint32();
22823
22926
  switch (tag >>> 3) {
@@ -22825,6 +22928,70 @@
22825
22928
  message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
22826
22929
  break;
22827
22930
  }
22931
+ case 2: {
22932
+ if (message.renamedServices === $util.emptyObject)
22933
+ message.renamedServices = {};
22934
+ var end2 = reader.uint32() + reader.pos;
22935
+ key = "";
22936
+ value = "";
22937
+ while (reader.pos < end2) {
22938
+ var tag2 = reader.uint32();
22939
+ switch (tag2 >>> 3) {
22940
+ case 1:
22941
+ key = reader.string();
22942
+ break;
22943
+ case 2:
22944
+ value = reader.string();
22945
+ break;
22946
+ default:
22947
+ reader.skipType(tag2 & 7);
22948
+ break;
22949
+ }
22950
+ }
22951
+ message.renamedServices[key] = value;
22952
+ break;
22953
+ }
22954
+ case 3: {
22955
+ if (message.renamedResources === $util.emptyObject)
22956
+ message.renamedResources = {};
22957
+ var end2 = reader.uint32() + reader.pos;
22958
+ key = "";
22959
+ value = "";
22960
+ while (reader.pos < end2) {
22961
+ var tag2 = reader.uint32();
22962
+ switch (tag2 >>> 3) {
22963
+ case 1:
22964
+ key = reader.string();
22965
+ break;
22966
+ case 2:
22967
+ value = reader.string();
22968
+ break;
22969
+ default:
22970
+ reader.skipType(tag2 & 7);
22971
+ break;
22972
+ }
22973
+ }
22974
+ message.renamedResources[key] = value;
22975
+ break;
22976
+ }
22977
+ case 4: {
22978
+ if (!(message.ignoredResources && message.ignoredResources.length))
22979
+ message.ignoredResources = [];
22980
+ message.ignoredResources.push(reader.string());
22981
+ break;
22982
+ }
22983
+ case 5: {
22984
+ if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length))
22985
+ message.forcedNamespaceAliases = [];
22986
+ message.forcedNamespaceAliases.push(reader.string());
22987
+ break;
22988
+ }
22989
+ case 6: {
22990
+ if (!(message.handwrittenSignatures && message.handwrittenSignatures.length))
22991
+ message.handwrittenSignatures = [];
22992
+ message.handwrittenSignatures.push(reader.string());
22993
+ break;
22994
+ }
22828
22995
  default:
22829
22996
  reader.skipType(tag & 7);
22830
22997
  break;
@@ -22865,6 +23032,43 @@
22865
23032
  if (error)
22866
23033
  return "common." + error;
22867
23034
  }
23035
+ if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) {
23036
+ if (!$util.isObject(message.renamedServices))
23037
+ return "renamedServices: object expected";
23038
+ var key = Object.keys(message.renamedServices);
23039
+ for (var i = 0; i < key.length; ++i)
23040
+ if (!$util.isString(message.renamedServices[key[i]]))
23041
+ return "renamedServices: string{k:string} expected";
23042
+ }
23043
+ if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) {
23044
+ if (!$util.isObject(message.renamedResources))
23045
+ return "renamedResources: object expected";
23046
+ var key = Object.keys(message.renamedResources);
23047
+ for (var i = 0; i < key.length; ++i)
23048
+ if (!$util.isString(message.renamedResources[key[i]]))
23049
+ return "renamedResources: string{k:string} expected";
23050
+ }
23051
+ if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) {
23052
+ if (!Array.isArray(message.ignoredResources))
23053
+ return "ignoredResources: array expected";
23054
+ for (var i = 0; i < message.ignoredResources.length; ++i)
23055
+ if (!$util.isString(message.ignoredResources[i]))
23056
+ return "ignoredResources: string[] expected";
23057
+ }
23058
+ if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) {
23059
+ if (!Array.isArray(message.forcedNamespaceAliases))
23060
+ return "forcedNamespaceAliases: array expected";
23061
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
23062
+ if (!$util.isString(message.forcedNamespaceAliases[i]))
23063
+ return "forcedNamespaceAliases: string[] expected";
23064
+ }
23065
+ if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) {
23066
+ if (!Array.isArray(message.handwrittenSignatures))
23067
+ return "handwrittenSignatures: array expected";
23068
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
23069
+ if (!$util.isString(message.handwrittenSignatures[i]))
23070
+ return "handwrittenSignatures: string[] expected";
23071
+ }
22868
23072
  return null;
22869
23073
  };
22870
23074
 
@@ -22885,6 +23089,41 @@
22885
23089
  throw TypeError(".google.api.DotnetSettings.common: object expected");
22886
23090
  message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
22887
23091
  }
23092
+ if (object.renamedServices) {
23093
+ if (typeof object.renamedServices !== "object")
23094
+ throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");
23095
+ message.renamedServices = {};
23096
+ for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i)
23097
+ message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]);
23098
+ }
23099
+ if (object.renamedResources) {
23100
+ if (typeof object.renamedResources !== "object")
23101
+ throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");
23102
+ message.renamedResources = {};
23103
+ for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i)
23104
+ message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]);
23105
+ }
23106
+ if (object.ignoredResources) {
23107
+ if (!Array.isArray(object.ignoredResources))
23108
+ throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");
23109
+ message.ignoredResources = [];
23110
+ for (var i = 0; i < object.ignoredResources.length; ++i)
23111
+ message.ignoredResources[i] = String(object.ignoredResources[i]);
23112
+ }
23113
+ if (object.forcedNamespaceAliases) {
23114
+ if (!Array.isArray(object.forcedNamespaceAliases))
23115
+ throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");
23116
+ message.forcedNamespaceAliases = [];
23117
+ for (var i = 0; i < object.forcedNamespaceAliases.length; ++i)
23118
+ message.forcedNamespaceAliases[i] = String(object.forcedNamespaceAliases[i]);
23119
+ }
23120
+ if (object.handwrittenSignatures) {
23121
+ if (!Array.isArray(object.handwrittenSignatures))
23122
+ throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");
23123
+ message.handwrittenSignatures = [];
23124
+ for (var i = 0; i < object.handwrittenSignatures.length; ++i)
23125
+ message.handwrittenSignatures[i] = String(object.handwrittenSignatures[i]);
23126
+ }
22888
23127
  return message;
22889
23128
  };
22890
23129
 
@@ -22901,10 +23140,45 @@
22901
23140
  if (!options)
22902
23141
  options = {};
22903
23142
  var object = {};
23143
+ if (options.arrays || options.defaults) {
23144
+ object.ignoredResources = [];
23145
+ object.forcedNamespaceAliases = [];
23146
+ object.handwrittenSignatures = [];
23147
+ }
23148
+ if (options.objects || options.defaults) {
23149
+ object.renamedServices = {};
23150
+ object.renamedResources = {};
23151
+ }
22904
23152
  if (options.defaults)
22905
23153
  object.common = null;
22906
23154
  if (message.common != null && message.hasOwnProperty("common"))
22907
23155
  object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
23156
+ var keys2;
23157
+ if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
23158
+ object.renamedServices = {};
23159
+ for (var j = 0; j < keys2.length; ++j)
23160
+ object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
23161
+ }
23162
+ if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) {
23163
+ object.renamedResources = {};
23164
+ for (var j = 0; j < keys2.length; ++j)
23165
+ object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]];
23166
+ }
23167
+ if (message.ignoredResources && message.ignoredResources.length) {
23168
+ object.ignoredResources = [];
23169
+ for (var j = 0; j < message.ignoredResources.length; ++j)
23170
+ object.ignoredResources[j] = message.ignoredResources[j];
23171
+ }
23172
+ if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) {
23173
+ object.forcedNamespaceAliases = [];
23174
+ for (var j = 0; j < message.forcedNamespaceAliases.length; ++j)
23175
+ object.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j];
23176
+ }
23177
+ if (message.handwrittenSignatures && message.handwrittenSignatures.length) {
23178
+ object.handwrittenSignatures = [];
23179
+ for (var j = 0; j < message.handwrittenSignatures.length; ++j)
23180
+ object.handwrittenSignatures[j] = message.handwrittenSignatures[j];
23181
+ }
22908
23182
  return object;
22909
23183
  };
22910
23184
 
@@ -23882,6 +24156,9 @@
23882
24156
  * @property {number} ADS=2 ADS value
23883
24157
  * @property {number} PHOTOS=3 PHOTOS value
23884
24158
  * @property {number} STREET_VIEW=4 STREET_VIEW value
24159
+ * @property {number} SHOPPING=5 SHOPPING value
24160
+ * @property {number} GEO=6 GEO value
24161
+ * @property {number} GENERATIVE_AI=7 GENERATIVE_AI value
23885
24162
  */
23886
24163
  api.ClientLibraryOrganization = (function() {
23887
24164
  var valuesById = {}, values = Object.create(valuesById);
@@ -23890,6 +24167,9 @@
23890
24167
  values[valuesById[2] = "ADS"] = 2;
23891
24168
  values[valuesById[3] = "PHOTOS"] = 3;
23892
24169
  values[valuesById[4] = "STREET_VIEW"] = 4;
24170
+ values[valuesById[5] = "SHOPPING"] = 5;
24171
+ values[valuesById[6] = "GEO"] = 6;
24172
+ values[valuesById[7] = "GENERATIVE_AI"] = 7;
23893
24173
  return values;
23894
24174
  })();
23895
24175
 
@@ -26585,6 +26865,9 @@
26585
26865
  * @memberof google.protobuf
26586
26866
  * @interface IExtensionRangeOptions
26587
26867
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption
26868
+ * @property {Array.<google.protobuf.ExtensionRangeOptions.IDeclaration>|null} [declaration] ExtensionRangeOptions declaration
26869
+ * @property {google.protobuf.IFeatureSet|null} [features] ExtensionRangeOptions features
26870
+ * @property {google.protobuf.ExtensionRangeOptions.VerificationState|null} [verification] ExtensionRangeOptions verification
26588
26871
  */
26589
26872
 
26590
26873
  /**
@@ -26597,6 +26880,7 @@
26597
26880
  */
26598
26881
  function ExtensionRangeOptions(properties) {
26599
26882
  this.uninterpretedOption = [];
26883
+ this.declaration = [];
26600
26884
  if (properties)
26601
26885
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
26602
26886
  if (properties[keys[i]] != null)
@@ -26611,6 +26895,30 @@
26611
26895
  */
26612
26896
  ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
26613
26897
 
26898
+ /**
26899
+ * ExtensionRangeOptions declaration.
26900
+ * @member {Array.<google.protobuf.ExtensionRangeOptions.IDeclaration>} declaration
26901
+ * @memberof google.protobuf.ExtensionRangeOptions
26902
+ * @instance
26903
+ */
26904
+ ExtensionRangeOptions.prototype.declaration = $util.emptyArray;
26905
+
26906
+ /**
26907
+ * ExtensionRangeOptions features.
26908
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
26909
+ * @memberof google.protobuf.ExtensionRangeOptions
26910
+ * @instance
26911
+ */
26912
+ ExtensionRangeOptions.prototype.features = null;
26913
+
26914
+ /**
26915
+ * ExtensionRangeOptions verification.
26916
+ * @member {google.protobuf.ExtensionRangeOptions.VerificationState} verification
26917
+ * @memberof google.protobuf.ExtensionRangeOptions
26918
+ * @instance
26919
+ */
26920
+ ExtensionRangeOptions.prototype.verification = 1;
26921
+
26614
26922
  /**
26615
26923
  * Creates a new ExtensionRangeOptions instance using the specified properties.
26616
26924
  * @function create
@@ -26635,6 +26943,13 @@
26635
26943
  ExtensionRangeOptions.encode = function encode(message, writer) {
26636
26944
  if (!writer)
26637
26945
  writer = $Writer.create();
26946
+ if (message.declaration != null && message.declaration.length)
26947
+ for (var i = 0; i < message.declaration.length; ++i)
26948
+ $root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
26949
+ if (message.verification != null && Object.hasOwnProperty.call(message, "verification"))
26950
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.verification);
26951
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
26952
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
26638
26953
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
26639
26954
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
26640
26955
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -26678,6 +26993,20 @@
26678
26993
  message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
26679
26994
  break;
26680
26995
  }
26996
+ case 2: {
26997
+ if (!(message.declaration && message.declaration.length))
26998
+ message.declaration = [];
26999
+ message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32()));
27000
+ break;
27001
+ }
27002
+ case 50: {
27003
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
27004
+ break;
27005
+ }
27006
+ case 3: {
27007
+ message.verification = reader.int32();
27008
+ break;
27009
+ }
26681
27010
  default:
26682
27011
  reader.skipType(tag & 7);
26683
27012
  break;
@@ -26722,6 +27051,28 @@
26722
27051
  return "uninterpretedOption." + error;
26723
27052
  }
26724
27053
  }
27054
+ if (message.declaration != null && message.hasOwnProperty("declaration")) {
27055
+ if (!Array.isArray(message.declaration))
27056
+ return "declaration: array expected";
27057
+ for (var i = 0; i < message.declaration.length; ++i) {
27058
+ var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]);
27059
+ if (error)
27060
+ return "declaration." + error;
27061
+ }
27062
+ }
27063
+ if (message.features != null && message.hasOwnProperty("features")) {
27064
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
27065
+ if (error)
27066
+ return "features." + error;
27067
+ }
27068
+ if (message.verification != null && message.hasOwnProperty("verification"))
27069
+ switch (message.verification) {
27070
+ default:
27071
+ return "verification: enum value expected";
27072
+ case 0:
27073
+ case 1:
27074
+ break;
27075
+ }
26725
27076
  return null;
26726
27077
  };
26727
27078
 
@@ -26747,6 +27098,37 @@
26747
27098
  message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
26748
27099
  }
26749
27100
  }
27101
+ if (object.declaration) {
27102
+ if (!Array.isArray(object.declaration))
27103
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");
27104
+ message.declaration = [];
27105
+ for (var i = 0; i < object.declaration.length; ++i) {
27106
+ if (typeof object.declaration[i] !== "object")
27107
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");
27108
+ message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]);
27109
+ }
27110
+ }
27111
+ if (object.features != null) {
27112
+ if (typeof object.features !== "object")
27113
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");
27114
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
27115
+ }
27116
+ switch (object.verification) {
27117
+ case "DECLARATION":
27118
+ case 0:
27119
+ message.verification = 0;
27120
+ break;
27121
+ default:
27122
+ if (typeof object.verification === "number") {
27123
+ message.verification = object.verification;
27124
+ break;
27125
+ }
27126
+ break;
27127
+ case "UNVERIFIED":
27128
+ case 1:
27129
+ message.verification = 1;
27130
+ break;
27131
+ }
26750
27132
  return message;
26751
27133
  };
26752
27134
 
@@ -26763,8 +27145,23 @@
26763
27145
  if (!options)
26764
27146
  options = {};
26765
27147
  var object = {};
26766
- if (options.arrays || options.defaults)
27148
+ if (options.arrays || options.defaults) {
27149
+ object.declaration = [];
26767
27150
  object.uninterpretedOption = [];
27151
+ }
27152
+ if (options.defaults) {
27153
+ object.verification = options.enums === String ? "UNVERIFIED" : 1;
27154
+ object.features = null;
27155
+ }
27156
+ if (message.declaration && message.declaration.length) {
27157
+ object.declaration = [];
27158
+ for (var j = 0; j < message.declaration.length; ++j)
27159
+ object.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options);
27160
+ }
27161
+ if (message.verification != null && message.hasOwnProperty("verification"))
27162
+ object.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === undefined ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification;
27163
+ if (message.features != null && message.hasOwnProperty("features"))
27164
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
26768
27165
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
26769
27166
  object.uninterpretedOption = [];
26770
27167
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -26799,86 +27196,396 @@
26799
27196
  return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
26800
27197
  };
26801
27198
 
26802
- return ExtensionRangeOptions;
26803
- })();
27199
+ ExtensionRangeOptions.Declaration = (function() {
26804
27200
 
26805
- protobuf.FieldDescriptorProto = (function() {
27201
+ /**
27202
+ * Properties of a Declaration.
27203
+ * @memberof google.protobuf.ExtensionRangeOptions
27204
+ * @interface IDeclaration
27205
+ * @property {number|null} [number] Declaration number
27206
+ * @property {string|null} [fullName] Declaration fullName
27207
+ * @property {string|null} [type] Declaration type
27208
+ * @property {boolean|null} [reserved] Declaration reserved
27209
+ * @property {boolean|null} [repeated] Declaration repeated
27210
+ */
26806
27211
 
26807
- /**
26808
- * Properties of a FieldDescriptorProto.
26809
- * @memberof google.protobuf
26810
- * @interface IFieldDescriptorProto
26811
- * @property {string|null} [name] FieldDescriptorProto name
26812
- * @property {number|null} [number] FieldDescriptorProto number
26813
- * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
26814
- * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
26815
- * @property {string|null} [typeName] FieldDescriptorProto typeName
26816
- * @property {string|null} [extendee] FieldDescriptorProto extendee
26817
- * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
26818
- * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
26819
- * @property {string|null} [jsonName] FieldDescriptorProto jsonName
26820
- * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
26821
- * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
26822
- */
27212
+ /**
27213
+ * Constructs a new Declaration.
27214
+ * @memberof google.protobuf.ExtensionRangeOptions
27215
+ * @classdesc Represents a Declaration.
27216
+ * @implements IDeclaration
27217
+ * @constructor
27218
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
27219
+ */
27220
+ function Declaration(properties) {
27221
+ if (properties)
27222
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
27223
+ if (properties[keys[i]] != null)
27224
+ this[keys[i]] = properties[keys[i]];
27225
+ }
26823
27226
 
26824
- /**
26825
- * Constructs a new FieldDescriptorProto.
26826
- * @memberof google.protobuf
26827
- * @classdesc Represents a FieldDescriptorProto.
26828
- * @implements IFieldDescriptorProto
26829
- * @constructor
26830
- * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
26831
- */
26832
- function FieldDescriptorProto(properties) {
26833
- if (properties)
26834
- for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
26835
- if (properties[keys[i]] != null)
26836
- this[keys[i]] = properties[keys[i]];
26837
- }
27227
+ /**
27228
+ * Declaration number.
27229
+ * @member {number} number
27230
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27231
+ * @instance
27232
+ */
27233
+ Declaration.prototype.number = 0;
26838
27234
 
26839
- /**
26840
- * FieldDescriptorProto name.
26841
- * @member {string} name
26842
- * @memberof google.protobuf.FieldDescriptorProto
26843
- * @instance
26844
- */
26845
- FieldDescriptorProto.prototype.name = "";
27235
+ /**
27236
+ * Declaration fullName.
27237
+ * @member {string} fullName
27238
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27239
+ * @instance
27240
+ */
27241
+ Declaration.prototype.fullName = "";
26846
27242
 
26847
- /**
26848
- * FieldDescriptorProto number.
26849
- * @member {number} number
26850
- * @memberof google.protobuf.FieldDescriptorProto
26851
- * @instance
26852
- */
26853
- FieldDescriptorProto.prototype.number = 0;
27243
+ /**
27244
+ * Declaration type.
27245
+ * @member {string} type
27246
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27247
+ * @instance
27248
+ */
27249
+ Declaration.prototype.type = "";
26854
27250
 
26855
- /**
26856
- * FieldDescriptorProto label.
26857
- * @member {google.protobuf.FieldDescriptorProto.Label} label
26858
- * @memberof google.protobuf.FieldDescriptorProto
26859
- * @instance
26860
- */
26861
- FieldDescriptorProto.prototype.label = 1;
27251
+ /**
27252
+ * Declaration reserved.
27253
+ * @member {boolean} reserved
27254
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27255
+ * @instance
27256
+ */
27257
+ Declaration.prototype.reserved = false;
26862
27258
 
26863
- /**
26864
- * FieldDescriptorProto type.
26865
- * @member {google.protobuf.FieldDescriptorProto.Type} type
26866
- * @memberof google.protobuf.FieldDescriptorProto
26867
- * @instance
26868
- */
26869
- FieldDescriptorProto.prototype.type = 1;
27259
+ /**
27260
+ * Declaration repeated.
27261
+ * @member {boolean} repeated
27262
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27263
+ * @instance
27264
+ */
27265
+ Declaration.prototype.repeated = false;
26870
27266
 
26871
- /**
26872
- * FieldDescriptorProto typeName.
26873
- * @member {string} typeName
26874
- * @memberof google.protobuf.FieldDescriptorProto
26875
- * @instance
26876
- */
26877
- FieldDescriptorProto.prototype.typeName = "";
27267
+ /**
27268
+ * Creates a new Declaration instance using the specified properties.
27269
+ * @function create
27270
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27271
+ * @static
27272
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
27273
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration instance
27274
+ */
27275
+ Declaration.create = function create(properties) {
27276
+ return new Declaration(properties);
27277
+ };
26878
27278
 
26879
- /**
26880
- * FieldDescriptorProto extendee.
26881
- * @member {string} extendee
27279
+ /**
27280
+ * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
27281
+ * @function encode
27282
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27283
+ * @static
27284
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
27285
+ * @param {$protobuf.Writer} [writer] Writer to encode to
27286
+ * @returns {$protobuf.Writer} Writer
27287
+ */
27288
+ Declaration.encode = function encode(message, writer) {
27289
+ if (!writer)
27290
+ writer = $Writer.create();
27291
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
27292
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.number);
27293
+ if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName"))
27294
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName);
27295
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
27296
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.type);
27297
+ if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
27298
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reserved);
27299
+ if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated"))
27300
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.repeated);
27301
+ return writer;
27302
+ };
27303
+
27304
+ /**
27305
+ * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
27306
+ * @function encodeDelimited
27307
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27308
+ * @static
27309
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
27310
+ * @param {$protobuf.Writer} [writer] Writer to encode to
27311
+ * @returns {$protobuf.Writer} Writer
27312
+ */
27313
+ Declaration.encodeDelimited = function encodeDelimited(message, writer) {
27314
+ return this.encode(message, writer).ldelim();
27315
+ };
27316
+
27317
+ /**
27318
+ * Decodes a Declaration message from the specified reader or buffer.
27319
+ * @function decode
27320
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27321
+ * @static
27322
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
27323
+ * @param {number} [length] Message length if known beforehand
27324
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
27325
+ * @throws {Error} If the payload is not a reader or valid buffer
27326
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
27327
+ */
27328
+ Declaration.decode = function decode(reader, length) {
27329
+ if (!(reader instanceof $Reader))
27330
+ reader = $Reader.create(reader);
27331
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
27332
+ while (reader.pos < end) {
27333
+ var tag = reader.uint32();
27334
+ switch (tag >>> 3) {
27335
+ case 1: {
27336
+ message.number = reader.int32();
27337
+ break;
27338
+ }
27339
+ case 2: {
27340
+ message.fullName = reader.string();
27341
+ break;
27342
+ }
27343
+ case 3: {
27344
+ message.type = reader.string();
27345
+ break;
27346
+ }
27347
+ case 5: {
27348
+ message.reserved = reader.bool();
27349
+ break;
27350
+ }
27351
+ case 6: {
27352
+ message.repeated = reader.bool();
27353
+ break;
27354
+ }
27355
+ default:
27356
+ reader.skipType(tag & 7);
27357
+ break;
27358
+ }
27359
+ }
27360
+ return message;
27361
+ };
27362
+
27363
+ /**
27364
+ * Decodes a Declaration message from the specified reader or buffer, length delimited.
27365
+ * @function decodeDelimited
27366
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27367
+ * @static
27368
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
27369
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
27370
+ * @throws {Error} If the payload is not a reader or valid buffer
27371
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
27372
+ */
27373
+ Declaration.decodeDelimited = function decodeDelimited(reader) {
27374
+ if (!(reader instanceof $Reader))
27375
+ reader = new $Reader(reader);
27376
+ return this.decode(reader, reader.uint32());
27377
+ };
27378
+
27379
+ /**
27380
+ * Verifies a Declaration message.
27381
+ * @function verify
27382
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27383
+ * @static
27384
+ * @param {Object.<string,*>} message Plain object to verify
27385
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
27386
+ */
27387
+ Declaration.verify = function verify(message) {
27388
+ if (typeof message !== "object" || message === null)
27389
+ return "object expected";
27390
+ if (message.number != null && message.hasOwnProperty("number"))
27391
+ if (!$util.isInteger(message.number))
27392
+ return "number: integer expected";
27393
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
27394
+ if (!$util.isString(message.fullName))
27395
+ return "fullName: string expected";
27396
+ if (message.type != null && message.hasOwnProperty("type"))
27397
+ if (!$util.isString(message.type))
27398
+ return "type: string expected";
27399
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
27400
+ if (typeof message.reserved !== "boolean")
27401
+ return "reserved: boolean expected";
27402
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
27403
+ if (typeof message.repeated !== "boolean")
27404
+ return "repeated: boolean expected";
27405
+ return null;
27406
+ };
27407
+
27408
+ /**
27409
+ * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
27410
+ * @function fromObject
27411
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27412
+ * @static
27413
+ * @param {Object.<string,*>} object Plain object
27414
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
27415
+ */
27416
+ Declaration.fromObject = function fromObject(object) {
27417
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)
27418
+ return object;
27419
+ var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
27420
+ if (object.number != null)
27421
+ message.number = object.number | 0;
27422
+ if (object.fullName != null)
27423
+ message.fullName = String(object.fullName);
27424
+ if (object.type != null)
27425
+ message.type = String(object.type);
27426
+ if (object.reserved != null)
27427
+ message.reserved = Boolean(object.reserved);
27428
+ if (object.repeated != null)
27429
+ message.repeated = Boolean(object.repeated);
27430
+ return message;
27431
+ };
27432
+
27433
+ /**
27434
+ * Creates a plain object from a Declaration message. Also converts values to other types if specified.
27435
+ * @function toObject
27436
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27437
+ * @static
27438
+ * @param {google.protobuf.ExtensionRangeOptions.Declaration} message Declaration
27439
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
27440
+ * @returns {Object.<string,*>} Plain object
27441
+ */
27442
+ Declaration.toObject = function toObject(message, options) {
27443
+ if (!options)
27444
+ options = {};
27445
+ var object = {};
27446
+ if (options.defaults) {
27447
+ object.number = 0;
27448
+ object.fullName = "";
27449
+ object.type = "";
27450
+ object.reserved = false;
27451
+ object.repeated = false;
27452
+ }
27453
+ if (message.number != null && message.hasOwnProperty("number"))
27454
+ object.number = message.number;
27455
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
27456
+ object.fullName = message.fullName;
27457
+ if (message.type != null && message.hasOwnProperty("type"))
27458
+ object.type = message.type;
27459
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
27460
+ object.reserved = message.reserved;
27461
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
27462
+ object.repeated = message.repeated;
27463
+ return object;
27464
+ };
27465
+
27466
+ /**
27467
+ * Converts this Declaration to JSON.
27468
+ * @function toJSON
27469
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27470
+ * @instance
27471
+ * @returns {Object.<string,*>} JSON object
27472
+ */
27473
+ Declaration.prototype.toJSON = function toJSON() {
27474
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
27475
+ };
27476
+
27477
+ /**
27478
+ * Gets the default type url for Declaration
27479
+ * @function getTypeUrl
27480
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
27481
+ * @static
27482
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
27483
+ * @returns {string} The default type url
27484
+ */
27485
+ Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
27486
+ if (typeUrlPrefix === undefined) {
27487
+ typeUrlPrefix = "type.googleapis.com";
27488
+ }
27489
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration";
27490
+ };
27491
+
27492
+ return Declaration;
27493
+ })();
27494
+
27495
+ /**
27496
+ * VerificationState enum.
27497
+ * @name google.protobuf.ExtensionRangeOptions.VerificationState
27498
+ * @enum {number}
27499
+ * @property {number} DECLARATION=0 DECLARATION value
27500
+ * @property {number} UNVERIFIED=1 UNVERIFIED value
27501
+ */
27502
+ ExtensionRangeOptions.VerificationState = (function() {
27503
+ var valuesById = {}, values = Object.create(valuesById);
27504
+ values[valuesById[0] = "DECLARATION"] = 0;
27505
+ values[valuesById[1] = "UNVERIFIED"] = 1;
27506
+ return values;
27507
+ })();
27508
+
27509
+ return ExtensionRangeOptions;
27510
+ })();
27511
+
27512
+ protobuf.FieldDescriptorProto = (function() {
27513
+
27514
+ /**
27515
+ * Properties of a FieldDescriptorProto.
27516
+ * @memberof google.protobuf
27517
+ * @interface IFieldDescriptorProto
27518
+ * @property {string|null} [name] FieldDescriptorProto name
27519
+ * @property {number|null} [number] FieldDescriptorProto number
27520
+ * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
27521
+ * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
27522
+ * @property {string|null} [typeName] FieldDescriptorProto typeName
27523
+ * @property {string|null} [extendee] FieldDescriptorProto extendee
27524
+ * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
27525
+ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
27526
+ * @property {string|null} [jsonName] FieldDescriptorProto jsonName
27527
+ * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
27528
+ * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
27529
+ */
27530
+
27531
+ /**
27532
+ * Constructs a new FieldDescriptorProto.
27533
+ * @memberof google.protobuf
27534
+ * @classdesc Represents a FieldDescriptorProto.
27535
+ * @implements IFieldDescriptorProto
27536
+ * @constructor
27537
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
27538
+ */
27539
+ function FieldDescriptorProto(properties) {
27540
+ if (properties)
27541
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
27542
+ if (properties[keys[i]] != null)
27543
+ this[keys[i]] = properties[keys[i]];
27544
+ }
27545
+
27546
+ /**
27547
+ * FieldDescriptorProto name.
27548
+ * @member {string} name
27549
+ * @memberof google.protobuf.FieldDescriptorProto
27550
+ * @instance
27551
+ */
27552
+ FieldDescriptorProto.prototype.name = "";
27553
+
27554
+ /**
27555
+ * FieldDescriptorProto number.
27556
+ * @member {number} number
27557
+ * @memberof google.protobuf.FieldDescriptorProto
27558
+ * @instance
27559
+ */
27560
+ FieldDescriptorProto.prototype.number = 0;
27561
+
27562
+ /**
27563
+ * FieldDescriptorProto label.
27564
+ * @member {google.protobuf.FieldDescriptorProto.Label} label
27565
+ * @memberof google.protobuf.FieldDescriptorProto
27566
+ * @instance
27567
+ */
27568
+ FieldDescriptorProto.prototype.label = 1;
27569
+
27570
+ /**
27571
+ * FieldDescriptorProto type.
27572
+ * @member {google.protobuf.FieldDescriptorProto.Type} type
27573
+ * @memberof google.protobuf.FieldDescriptorProto
27574
+ * @instance
27575
+ */
27576
+ FieldDescriptorProto.prototype.type = 1;
27577
+
27578
+ /**
27579
+ * FieldDescriptorProto typeName.
27580
+ * @member {string} typeName
27581
+ * @memberof google.protobuf.FieldDescriptorProto
27582
+ * @instance
27583
+ */
27584
+ FieldDescriptorProto.prototype.typeName = "";
27585
+
27586
+ /**
27587
+ * FieldDescriptorProto extendee.
27588
+ * @member {string} extendee
26882
27589
  * @memberof google.protobuf.FieldDescriptorProto
26883
27590
  * @instance
26884
27591
  */
@@ -29128,6 +29835,7 @@
29128
29835
  * @property {string|null} [phpNamespace] FileOptions phpNamespace
29129
29836
  * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace
29130
29837
  * @property {string|null} [rubyPackage] FileOptions rubyPackage
29838
+ * @property {google.protobuf.IFeatureSet|null} [features] FileOptions features
29131
29839
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] FileOptions uninterpretedOption
29132
29840
  * @property {Array.<google.api.IResourceDescriptor>|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition
29133
29841
  */
@@ -29309,6 +30017,14 @@
29309
30017
  */
29310
30018
  FileOptions.prototype.rubyPackage = "";
29311
30019
 
30020
+ /**
30021
+ * FileOptions features.
30022
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
30023
+ * @memberof google.protobuf.FileOptions
30024
+ * @instance
30025
+ */
30026
+ FileOptions.prototype.features = null;
30027
+
29312
30028
  /**
29313
30029
  * FileOptions uninterpretedOption.
29314
30030
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -29389,6 +30105,8 @@
29389
30105
  writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace);
29390
30106
  if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage"))
29391
30107
  writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage);
30108
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
30109
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
29392
30110
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
29393
30111
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
29394
30112
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -29509,6 +30227,10 @@
29509
30227
  message.rubyPackage = reader.string();
29510
30228
  break;
29511
30229
  }
30230
+ case 50: {
30231
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
30232
+ break;
30233
+ }
29512
30234
  case 999: {
29513
30235
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
29514
30236
  message.uninterpretedOption = [];
@@ -29622,6 +30344,11 @@
29622
30344
  if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
29623
30345
  if (!$util.isString(message.rubyPackage))
29624
30346
  return "rubyPackage: string expected";
30347
+ if (message.features != null && message.hasOwnProperty("features")) {
30348
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
30349
+ if (error)
30350
+ return "features." + error;
30351
+ }
29625
30352
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
29626
30353
  if (!Array.isArray(message.uninterpretedOption))
29627
30354
  return "uninterpretedOption: array expected";
@@ -29713,6 +30440,11 @@
29713
30440
  message.phpMetadataNamespace = String(object.phpMetadataNamespace);
29714
30441
  if (object.rubyPackage != null)
29715
30442
  message.rubyPackage = String(object.rubyPackage);
30443
+ if (object.features != null) {
30444
+ if (typeof object.features !== "object")
30445
+ throw TypeError(".google.protobuf.FileOptions.features: object expected");
30446
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
30447
+ }
29716
30448
  if (object.uninterpretedOption) {
29717
30449
  if (!Array.isArray(object.uninterpretedOption))
29718
30450
  throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
@@ -29774,6 +30506,7 @@
29774
30506
  object.phpGenericServices = false;
29775
30507
  object.phpMetadataNamespace = "";
29776
30508
  object.rubyPackage = "";
30509
+ object.features = null;
29777
30510
  }
29778
30511
  if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
29779
30512
  object.javaPackage = message.javaPackage;
@@ -29815,6 +30548,8 @@
29815
30548
  object.phpMetadataNamespace = message.phpMetadataNamespace;
29816
30549
  if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
29817
30550
  object.rubyPackage = message.rubyPackage;
30551
+ if (message.features != null && message.hasOwnProperty("features"))
30552
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
29818
30553
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
29819
30554
  object.uninterpretedOption = [];
29820
30555
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -29884,6 +30619,7 @@
29884
30619
  * @property {boolean|null} [deprecated] MessageOptions deprecated
29885
30620
  * @property {boolean|null} [mapEntry] MessageOptions mapEntry
29886
30621
  * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] MessageOptions deprecatedLegacyJsonFieldConflicts
30622
+ * @property {google.protobuf.IFeatureSet|null} [features] MessageOptions features
29887
30623
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] MessageOptions uninterpretedOption
29888
30624
  * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource
29889
30625
  */
@@ -29944,6 +30680,14 @@
29944
30680
  */
29945
30681
  MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
29946
30682
 
30683
+ /**
30684
+ * MessageOptions features.
30685
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
30686
+ * @memberof google.protobuf.MessageOptions
30687
+ * @instance
30688
+ */
30689
+ MessageOptions.prototype.features = null;
30690
+
29947
30691
  /**
29948
30692
  * MessageOptions uninterpretedOption.
29949
30693
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -29994,6 +30738,8 @@
29994
30738
  writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry);
29995
30739
  if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
29996
30740
  writer.uint32(/* id 11, wireType 0 =*/88).bool(message.deprecatedLegacyJsonFieldConflicts);
30741
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
30742
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
29997
30743
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
29998
30744
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
29999
30745
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -30053,6 +30799,10 @@
30053
30799
  message.deprecatedLegacyJsonFieldConflicts = reader.bool();
30054
30800
  break;
30055
30801
  }
30802
+ case 12: {
30803
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
30804
+ break;
30805
+ }
30056
30806
  case 999: {
30057
30807
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
30058
30808
  message.uninterpretedOption = [];
@@ -30113,6 +30863,11 @@
30113
30863
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
30114
30864
  if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
30115
30865
  return "deprecatedLegacyJsonFieldConflicts: boolean expected";
30866
+ if (message.features != null && message.hasOwnProperty("features")) {
30867
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
30868
+ if (error)
30869
+ return "features." + error;
30870
+ }
30116
30871
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
30117
30872
  if (!Array.isArray(message.uninterpretedOption))
30118
30873
  return "uninterpretedOption: array expected";
@@ -30152,6 +30907,11 @@
30152
30907
  message.mapEntry = Boolean(object.mapEntry);
30153
30908
  if (object.deprecatedLegacyJsonFieldConflicts != null)
30154
30909
  message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
30910
+ if (object.features != null) {
30911
+ if (typeof object.features !== "object")
30912
+ throw TypeError(".google.protobuf.MessageOptions.features: object expected");
30913
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
30914
+ }
30155
30915
  if (object.uninterpretedOption) {
30156
30916
  if (!Array.isArray(object.uninterpretedOption))
30157
30917
  throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
@@ -30191,6 +30951,7 @@
30191
30951
  object.deprecated = false;
30192
30952
  object.mapEntry = false;
30193
30953
  object.deprecatedLegacyJsonFieldConflicts = false;
30954
+ object.features = null;
30194
30955
  object[".google.api.resource"] = null;
30195
30956
  }
30196
30957
  if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
@@ -30203,6 +30964,8 @@
30203
30964
  object.mapEntry = message.mapEntry;
30204
30965
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
30205
30966
  object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
30967
+ if (message.features != null && message.hasOwnProperty("features"))
30968
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
30206
30969
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
30207
30970
  object.uninterpretedOption = [];
30208
30971
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -30257,7 +31020,9 @@
30257
31020
  * @property {boolean|null} [weak] FieldOptions weak
30258
31021
  * @property {boolean|null} [debugRedact] FieldOptions debugRedact
30259
31022
  * @property {google.protobuf.FieldOptions.OptionRetention|null} [retention] FieldOptions retention
30260
- * @property {google.protobuf.FieldOptions.OptionTargetType|null} [target] FieldOptions target
31023
+ * @property {Array.<google.protobuf.FieldOptions.OptionTargetType>|null} [targets] FieldOptions targets
31024
+ * @property {Array.<google.protobuf.FieldOptions.IEditionDefault>|null} [editionDefaults] FieldOptions editionDefaults
31025
+ * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features
30261
31026
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] FieldOptions uninterpretedOption
30262
31027
  * @property {Array.<google.api.FieldBehavior>|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior
30263
31028
  * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference
@@ -30272,6 +31037,8 @@
30272
31037
  * @param {google.protobuf.IFieldOptions=} [properties] Properties to set
30273
31038
  */
30274
31039
  function FieldOptions(properties) {
31040
+ this.targets = [];
31041
+ this.editionDefaults = [];
30275
31042
  this.uninterpretedOption = [];
30276
31043
  this[".google.api.fieldBehavior"] = [];
30277
31044
  if (properties)
@@ -30353,12 +31120,28 @@
30353
31120
  FieldOptions.prototype.retention = 0;
30354
31121
 
30355
31122
  /**
30356
- * FieldOptions target.
30357
- * @member {google.protobuf.FieldOptions.OptionTargetType} target
31123
+ * FieldOptions targets.
31124
+ * @member {Array.<google.protobuf.FieldOptions.OptionTargetType>} targets
31125
+ * @memberof google.protobuf.FieldOptions
31126
+ * @instance
31127
+ */
31128
+ FieldOptions.prototype.targets = $util.emptyArray;
31129
+
31130
+ /**
31131
+ * FieldOptions editionDefaults.
31132
+ * @member {Array.<google.protobuf.FieldOptions.IEditionDefault>} editionDefaults
31133
+ * @memberof google.protobuf.FieldOptions
31134
+ * @instance
31135
+ */
31136
+ FieldOptions.prototype.editionDefaults = $util.emptyArray;
31137
+
31138
+ /**
31139
+ * FieldOptions features.
31140
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
30358
31141
  * @memberof google.protobuf.FieldOptions
30359
31142
  * @instance
30360
31143
  */
30361
- FieldOptions.prototype.target = 0;
31144
+ FieldOptions.prototype.features = null;
30362
31145
 
30363
31146
  /**
30364
31147
  * FieldOptions uninterpretedOption.
@@ -30426,8 +31209,14 @@
30426
31209
  writer.uint32(/* id 16, wireType 0 =*/128).bool(message.debugRedact);
30427
31210
  if (message.retention != null && Object.hasOwnProperty.call(message, "retention"))
30428
31211
  writer.uint32(/* id 17, wireType 0 =*/136).int32(message.retention);
30429
- if (message.target != null && Object.hasOwnProperty.call(message, "target"))
30430
- writer.uint32(/* id 18, wireType 0 =*/144).int32(message.target);
31212
+ if (message.targets != null && message.targets.length)
31213
+ for (var i = 0; i < message.targets.length; ++i)
31214
+ writer.uint32(/* id 19, wireType 0 =*/152).int32(message.targets[i]);
31215
+ if (message.editionDefaults != null && message.editionDefaults.length)
31216
+ for (var i = 0; i < message.editionDefaults.length; ++i)
31217
+ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
31218
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
31219
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
30431
31220
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
30432
31221
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
30433
31222
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -30509,8 +31298,25 @@
30509
31298
  message.retention = reader.int32();
30510
31299
  break;
30511
31300
  }
30512
- case 18: {
30513
- message.target = reader.int32();
31301
+ case 19: {
31302
+ if (!(message.targets && message.targets.length))
31303
+ message.targets = [];
31304
+ if ((tag & 7) === 2) {
31305
+ var end2 = reader.uint32() + reader.pos;
31306
+ while (reader.pos < end2)
31307
+ message.targets.push(reader.int32());
31308
+ } else
31309
+ message.targets.push(reader.int32());
31310
+ break;
31311
+ }
31312
+ case 20: {
31313
+ if (!(message.editionDefaults && message.editionDefaults.length))
31314
+ message.editionDefaults = [];
31315
+ message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32()));
31316
+ break;
31317
+ }
31318
+ case 21: {
31319
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
30514
31320
  break;
30515
31321
  }
30516
31322
  case 999: {
@@ -30614,22 +31420,40 @@
30614
31420
  case 2:
30615
31421
  break;
30616
31422
  }
30617
- if (message.target != null && message.hasOwnProperty("target"))
30618
- switch (message.target) {
30619
- default:
30620
- return "target: enum value expected";
30621
- case 0:
30622
- case 1:
30623
- case 2:
30624
- case 3:
30625
- case 4:
30626
- case 5:
30627
- case 6:
30628
- case 7:
30629
- case 8:
30630
- case 9:
30631
- break;
31423
+ if (message.targets != null && message.hasOwnProperty("targets")) {
31424
+ if (!Array.isArray(message.targets))
31425
+ return "targets: array expected";
31426
+ for (var i = 0; i < message.targets.length; ++i)
31427
+ switch (message.targets[i]) {
31428
+ default:
31429
+ return "targets: enum value[] expected";
31430
+ case 0:
31431
+ case 1:
31432
+ case 2:
31433
+ case 3:
31434
+ case 4:
31435
+ case 5:
31436
+ case 6:
31437
+ case 7:
31438
+ case 8:
31439
+ case 9:
31440
+ break;
31441
+ }
31442
+ }
31443
+ if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) {
31444
+ if (!Array.isArray(message.editionDefaults))
31445
+ return "editionDefaults: array expected";
31446
+ for (var i = 0; i < message.editionDefaults.length; ++i) {
31447
+ var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]);
31448
+ if (error)
31449
+ return "editionDefaults." + error;
30632
31450
  }
31451
+ }
31452
+ if (message.features != null && message.hasOwnProperty("features")) {
31453
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
31454
+ if (error)
31455
+ return "features." + error;
31456
+ }
30633
31457
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
30634
31458
  if (!Array.isArray(message.uninterpretedOption))
30635
31459
  return "uninterpretedOption: array expected";
@@ -30749,53 +31573,73 @@
30749
31573
  message.retention = 2;
30750
31574
  break;
30751
31575
  }
30752
- switch (object.target) {
30753
- default:
30754
- if (typeof object.target === "number") {
30755
- message.target = object.target;
30756
- break;
31576
+ if (object.targets) {
31577
+ if (!Array.isArray(object.targets))
31578
+ throw TypeError(".google.protobuf.FieldOptions.targets: array expected");
31579
+ message.targets = [];
31580
+ for (var i = 0; i < object.targets.length; ++i)
31581
+ switch (object.targets[i]) {
31582
+ default:
31583
+ if (typeof object.targets[i] === "number") {
31584
+ message.targets[i] = object.targets[i];
31585
+ break;
31586
+ }
31587
+ case "TARGET_TYPE_UNKNOWN":
31588
+ case 0:
31589
+ message.targets[i] = 0;
31590
+ break;
31591
+ case "TARGET_TYPE_FILE":
31592
+ case 1:
31593
+ message.targets[i] = 1;
31594
+ break;
31595
+ case "TARGET_TYPE_EXTENSION_RANGE":
31596
+ case 2:
31597
+ message.targets[i] = 2;
31598
+ break;
31599
+ case "TARGET_TYPE_MESSAGE":
31600
+ case 3:
31601
+ message.targets[i] = 3;
31602
+ break;
31603
+ case "TARGET_TYPE_FIELD":
31604
+ case 4:
31605
+ message.targets[i] = 4;
31606
+ break;
31607
+ case "TARGET_TYPE_ONEOF":
31608
+ case 5:
31609
+ message.targets[i] = 5;
31610
+ break;
31611
+ case "TARGET_TYPE_ENUM":
31612
+ case 6:
31613
+ message.targets[i] = 6;
31614
+ break;
31615
+ case "TARGET_TYPE_ENUM_ENTRY":
31616
+ case 7:
31617
+ message.targets[i] = 7;
31618
+ break;
31619
+ case "TARGET_TYPE_SERVICE":
31620
+ case 8:
31621
+ message.targets[i] = 8;
31622
+ break;
31623
+ case "TARGET_TYPE_METHOD":
31624
+ case 9:
31625
+ message.targets[i] = 9;
31626
+ break;
31627
+ }
31628
+ }
31629
+ if (object.editionDefaults) {
31630
+ if (!Array.isArray(object.editionDefaults))
31631
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");
31632
+ message.editionDefaults = [];
31633
+ for (var i = 0; i < object.editionDefaults.length; ++i) {
31634
+ if (typeof object.editionDefaults[i] !== "object")
31635
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");
31636
+ message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]);
30757
31637
  }
30758
- break;
30759
- case "TARGET_TYPE_UNKNOWN":
30760
- case 0:
30761
- message.target = 0;
30762
- break;
30763
- case "TARGET_TYPE_FILE":
30764
- case 1:
30765
- message.target = 1;
30766
- break;
30767
- case "TARGET_TYPE_EXTENSION_RANGE":
30768
- case 2:
30769
- message.target = 2;
30770
- break;
30771
- case "TARGET_TYPE_MESSAGE":
30772
- case 3:
30773
- message.target = 3;
30774
- break;
30775
- case "TARGET_TYPE_FIELD":
30776
- case 4:
30777
- message.target = 4;
30778
- break;
30779
- case "TARGET_TYPE_ONEOF":
30780
- case 5:
30781
- message.target = 5;
30782
- break;
30783
- case "TARGET_TYPE_ENUM":
30784
- case 6:
30785
- message.target = 6;
30786
- break;
30787
- case "TARGET_TYPE_ENUM_ENTRY":
30788
- case 7:
30789
- message.target = 7;
30790
- break;
30791
- case "TARGET_TYPE_SERVICE":
30792
- case 8:
30793
- message.target = 8;
30794
- break;
30795
- case "TARGET_TYPE_METHOD":
30796
- case 9:
30797
- message.target = 9;
30798
- break;
31638
+ }
31639
+ if (object.features != null) {
31640
+ if (typeof object.features !== "object")
31641
+ throw TypeError(".google.protobuf.FieldOptions.features: object expected");
31642
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
30799
31643
  }
30800
31644
  if (object.uninterpretedOption) {
30801
31645
  if (!Array.isArray(object.uninterpretedOption))
@@ -30874,6 +31718,8 @@
30874
31718
  options = {};
30875
31719
  var object = {};
30876
31720
  if (options.arrays || options.defaults) {
31721
+ object.targets = [];
31722
+ object.editionDefaults = [];
30877
31723
  object.uninterpretedOption = [];
30878
31724
  object[".google.api.fieldBehavior"] = [];
30879
31725
  }
@@ -30887,7 +31733,7 @@
30887
31733
  object.unverifiedLazy = false;
30888
31734
  object.debugRedact = false;
30889
31735
  object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0;
30890
- object.target = options.enums === String ? "TARGET_TYPE_UNKNOWN" : 0;
31736
+ object.features = null;
30891
31737
  object[".google.api.resourceReference"] = null;
30892
31738
  }
30893
31739
  if (message.ctype != null && message.hasOwnProperty("ctype"))
@@ -30908,8 +31754,18 @@
30908
31754
  object.debugRedact = message.debugRedact;
30909
31755
  if (message.retention != null && message.hasOwnProperty("retention"))
30910
31756
  object.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === undefined ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention;
30911
- if (message.target != null && message.hasOwnProperty("target"))
30912
- object.target = options.enums === String ? $root.google.protobuf.FieldOptions.OptionTargetType[message.target] === undefined ? message.target : $root.google.protobuf.FieldOptions.OptionTargetType[message.target] : message.target;
31757
+ if (message.targets && message.targets.length) {
31758
+ object.targets = [];
31759
+ for (var j = 0; j < message.targets.length; ++j)
31760
+ object.targets[j] = options.enums === String ? $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] === undefined ? message.targets[j] : $root.google.protobuf.FieldOptions.OptionTargetType[message.targets[j]] : message.targets[j];
31761
+ }
31762
+ if (message.editionDefaults && message.editionDefaults.length) {
31763
+ object.editionDefaults = [];
31764
+ for (var j = 0; j < message.editionDefaults.length; ++j)
31765
+ object.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options);
31766
+ }
31767
+ if (message.features != null && message.hasOwnProperty("features"))
31768
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
30913
31769
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
30914
31770
  object.uninterpretedOption = [];
30915
31771
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -31029,6 +31885,233 @@
31029
31885
  return values;
31030
31886
  })();
31031
31887
 
31888
+ FieldOptions.EditionDefault = (function() {
31889
+
31890
+ /**
31891
+ * Properties of an EditionDefault.
31892
+ * @memberof google.protobuf.FieldOptions
31893
+ * @interface IEditionDefault
31894
+ * @property {string|null} [edition] EditionDefault edition
31895
+ * @property {string|null} [value] EditionDefault value
31896
+ */
31897
+
31898
+ /**
31899
+ * Constructs a new EditionDefault.
31900
+ * @memberof google.protobuf.FieldOptions
31901
+ * @classdesc Represents an EditionDefault.
31902
+ * @implements IEditionDefault
31903
+ * @constructor
31904
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
31905
+ */
31906
+ function EditionDefault(properties) {
31907
+ if (properties)
31908
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
31909
+ if (properties[keys[i]] != null)
31910
+ this[keys[i]] = properties[keys[i]];
31911
+ }
31912
+
31913
+ /**
31914
+ * EditionDefault edition.
31915
+ * @member {string} edition
31916
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31917
+ * @instance
31918
+ */
31919
+ EditionDefault.prototype.edition = "";
31920
+
31921
+ /**
31922
+ * EditionDefault value.
31923
+ * @member {string} value
31924
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31925
+ * @instance
31926
+ */
31927
+ EditionDefault.prototype.value = "";
31928
+
31929
+ /**
31930
+ * Creates a new EditionDefault instance using the specified properties.
31931
+ * @function create
31932
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31933
+ * @static
31934
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
31935
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault instance
31936
+ */
31937
+ EditionDefault.create = function create(properties) {
31938
+ return new EditionDefault(properties);
31939
+ };
31940
+
31941
+ /**
31942
+ * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
31943
+ * @function encode
31944
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31945
+ * @static
31946
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
31947
+ * @param {$protobuf.Writer} [writer] Writer to encode to
31948
+ * @returns {$protobuf.Writer} Writer
31949
+ */
31950
+ EditionDefault.encode = function encode(message, writer) {
31951
+ if (!writer)
31952
+ writer = $Writer.create();
31953
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
31954
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.edition);
31955
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
31956
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.value);
31957
+ return writer;
31958
+ };
31959
+
31960
+ /**
31961
+ * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
31962
+ * @function encodeDelimited
31963
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31964
+ * @static
31965
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
31966
+ * @param {$protobuf.Writer} [writer] Writer to encode to
31967
+ * @returns {$protobuf.Writer} Writer
31968
+ */
31969
+ EditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
31970
+ return this.encode(message, writer).ldelim();
31971
+ };
31972
+
31973
+ /**
31974
+ * Decodes an EditionDefault message from the specified reader or buffer.
31975
+ * @function decode
31976
+ * @memberof google.protobuf.FieldOptions.EditionDefault
31977
+ * @static
31978
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
31979
+ * @param {number} [length] Message length if known beforehand
31980
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
31981
+ * @throws {Error} If the payload is not a reader or valid buffer
31982
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
31983
+ */
31984
+ EditionDefault.decode = function decode(reader, length) {
31985
+ if (!(reader instanceof $Reader))
31986
+ reader = $Reader.create(reader);
31987
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault();
31988
+ while (reader.pos < end) {
31989
+ var tag = reader.uint32();
31990
+ switch (tag >>> 3) {
31991
+ case 1: {
31992
+ message.edition = reader.string();
31993
+ break;
31994
+ }
31995
+ case 2: {
31996
+ message.value = reader.string();
31997
+ break;
31998
+ }
31999
+ default:
32000
+ reader.skipType(tag & 7);
32001
+ break;
32002
+ }
32003
+ }
32004
+ return message;
32005
+ };
32006
+
32007
+ /**
32008
+ * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
32009
+ * @function decodeDelimited
32010
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32011
+ * @static
32012
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
32013
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
32014
+ * @throws {Error} If the payload is not a reader or valid buffer
32015
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
32016
+ */
32017
+ EditionDefault.decodeDelimited = function decodeDelimited(reader) {
32018
+ if (!(reader instanceof $Reader))
32019
+ reader = new $Reader(reader);
32020
+ return this.decode(reader, reader.uint32());
32021
+ };
32022
+
32023
+ /**
32024
+ * Verifies an EditionDefault message.
32025
+ * @function verify
32026
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32027
+ * @static
32028
+ * @param {Object.<string,*>} message Plain object to verify
32029
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
32030
+ */
32031
+ EditionDefault.verify = function verify(message) {
32032
+ if (typeof message !== "object" || message === null)
32033
+ return "object expected";
32034
+ if (message.edition != null && message.hasOwnProperty("edition"))
32035
+ if (!$util.isString(message.edition))
32036
+ return "edition: string expected";
32037
+ if (message.value != null && message.hasOwnProperty("value"))
32038
+ if (!$util.isString(message.value))
32039
+ return "value: string expected";
32040
+ return null;
32041
+ };
32042
+
32043
+ /**
32044
+ * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
32045
+ * @function fromObject
32046
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32047
+ * @static
32048
+ * @param {Object.<string,*>} object Plain object
32049
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
32050
+ */
32051
+ EditionDefault.fromObject = function fromObject(object) {
32052
+ if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault)
32053
+ return object;
32054
+ var message = new $root.google.protobuf.FieldOptions.EditionDefault();
32055
+ if (object.edition != null)
32056
+ message.edition = String(object.edition);
32057
+ if (object.value != null)
32058
+ message.value = String(object.value);
32059
+ return message;
32060
+ };
32061
+
32062
+ /**
32063
+ * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
32064
+ * @function toObject
32065
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32066
+ * @static
32067
+ * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault
32068
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
32069
+ * @returns {Object.<string,*>} Plain object
32070
+ */
32071
+ EditionDefault.toObject = function toObject(message, options) {
32072
+ if (!options)
32073
+ options = {};
32074
+ var object = {};
32075
+ if (options.defaults) {
32076
+ object.edition = "";
32077
+ object.value = "";
32078
+ }
32079
+ if (message.edition != null && message.hasOwnProperty("edition"))
32080
+ object.edition = message.edition;
32081
+ if (message.value != null && message.hasOwnProperty("value"))
32082
+ object.value = message.value;
32083
+ return object;
32084
+ };
32085
+
32086
+ /**
32087
+ * Converts this EditionDefault to JSON.
32088
+ * @function toJSON
32089
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32090
+ * @instance
32091
+ * @returns {Object.<string,*>} JSON object
32092
+ */
32093
+ EditionDefault.prototype.toJSON = function toJSON() {
32094
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
32095
+ };
32096
+
32097
+ /**
32098
+ * Gets the default type url for EditionDefault
32099
+ * @function getTypeUrl
32100
+ * @memberof google.protobuf.FieldOptions.EditionDefault
32101
+ * @static
32102
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
32103
+ * @returns {string} The default type url
32104
+ */
32105
+ EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
32106
+ if (typeUrlPrefix === undefined) {
32107
+ typeUrlPrefix = "type.googleapis.com";
32108
+ }
32109
+ return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault";
32110
+ };
32111
+
32112
+ return EditionDefault;
32113
+ })();
32114
+
31032
32115
  return FieldOptions;
31033
32116
  })();
31034
32117
 
@@ -31038,6 +32121,7 @@
31038
32121
  * Properties of an OneofOptions.
31039
32122
  * @memberof google.protobuf
31040
32123
  * @interface IOneofOptions
32124
+ * @property {google.protobuf.IFeatureSet|null} [features] OneofOptions features
31041
32125
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] OneofOptions uninterpretedOption
31042
32126
  */
31043
32127
 
@@ -31057,6 +32141,14 @@
31057
32141
  this[keys[i]] = properties[keys[i]];
31058
32142
  }
31059
32143
 
32144
+ /**
32145
+ * OneofOptions features.
32146
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
32147
+ * @memberof google.protobuf.OneofOptions
32148
+ * @instance
32149
+ */
32150
+ OneofOptions.prototype.features = null;
32151
+
31060
32152
  /**
31061
32153
  * OneofOptions uninterpretedOption.
31062
32154
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -31089,6 +32181,8 @@
31089
32181
  OneofOptions.encode = function encode(message, writer) {
31090
32182
  if (!writer)
31091
32183
  writer = $Writer.create();
32184
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
32185
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
31092
32186
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
31093
32187
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
31094
32188
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -31126,6 +32220,10 @@
31126
32220
  while (reader.pos < end) {
31127
32221
  var tag = reader.uint32();
31128
32222
  switch (tag >>> 3) {
32223
+ case 1: {
32224
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
32225
+ break;
32226
+ }
31129
32227
  case 999: {
31130
32228
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
31131
32229
  message.uninterpretedOption = [];
@@ -31167,6 +32265,11 @@
31167
32265
  OneofOptions.verify = function verify(message) {
31168
32266
  if (typeof message !== "object" || message === null)
31169
32267
  return "object expected";
32268
+ if (message.features != null && message.hasOwnProperty("features")) {
32269
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
32270
+ if (error)
32271
+ return "features." + error;
32272
+ }
31170
32273
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
31171
32274
  if (!Array.isArray(message.uninterpretedOption))
31172
32275
  return "uninterpretedOption: array expected";
@@ -31191,6 +32294,11 @@
31191
32294
  if (object instanceof $root.google.protobuf.OneofOptions)
31192
32295
  return object;
31193
32296
  var message = new $root.google.protobuf.OneofOptions();
32297
+ if (object.features != null) {
32298
+ if (typeof object.features !== "object")
32299
+ throw TypeError(".google.protobuf.OneofOptions.features: object expected");
32300
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
32301
+ }
31194
32302
  if (object.uninterpretedOption) {
31195
32303
  if (!Array.isArray(object.uninterpretedOption))
31196
32304
  throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
@@ -31219,6 +32327,10 @@
31219
32327
  var object = {};
31220
32328
  if (options.arrays || options.defaults)
31221
32329
  object.uninterpretedOption = [];
32330
+ if (options.defaults)
32331
+ object.features = null;
32332
+ if (message.features != null && message.hasOwnProperty("features"))
32333
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
31222
32334
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
31223
32335
  object.uninterpretedOption = [];
31224
32336
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -31265,6 +32377,7 @@
31265
32377
  * @property {boolean|null} [allowAlias] EnumOptions allowAlias
31266
32378
  * @property {boolean|null} [deprecated] EnumOptions deprecated
31267
32379
  * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] EnumOptions deprecatedLegacyJsonFieldConflicts
32380
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumOptions features
31268
32381
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] EnumOptions uninterpretedOption
31269
32382
  */
31270
32383
 
@@ -31308,6 +32421,14 @@
31308
32421
  */
31309
32422
  EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
31310
32423
 
32424
+ /**
32425
+ * EnumOptions features.
32426
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
32427
+ * @memberof google.protobuf.EnumOptions
32428
+ * @instance
32429
+ */
32430
+ EnumOptions.prototype.features = null;
32431
+
31311
32432
  /**
31312
32433
  * EnumOptions uninterpretedOption.
31313
32434
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -31346,6 +32467,8 @@
31346
32467
  writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated);
31347
32468
  if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
31348
32469
  writer.uint32(/* id 6, wireType 0 =*/48).bool(message.deprecatedLegacyJsonFieldConflicts);
32470
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
32471
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
31349
32472
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
31350
32473
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
31351
32474
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -31395,6 +32518,10 @@
31395
32518
  message.deprecatedLegacyJsonFieldConflicts = reader.bool();
31396
32519
  break;
31397
32520
  }
32521
+ case 7: {
32522
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
32523
+ break;
32524
+ }
31398
32525
  case 999: {
31399
32526
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
31400
32527
  message.uninterpretedOption = [];
@@ -31445,6 +32572,11 @@
31445
32572
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
31446
32573
  if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
31447
32574
  return "deprecatedLegacyJsonFieldConflicts: boolean expected";
32575
+ if (message.features != null && message.hasOwnProperty("features")) {
32576
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
32577
+ if (error)
32578
+ return "features." + error;
32579
+ }
31448
32580
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
31449
32581
  if (!Array.isArray(message.uninterpretedOption))
31450
32582
  return "uninterpretedOption: array expected";
@@ -31475,6 +32607,11 @@
31475
32607
  message.deprecated = Boolean(object.deprecated);
31476
32608
  if (object.deprecatedLegacyJsonFieldConflicts != null)
31477
32609
  message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
32610
+ if (object.features != null) {
32611
+ if (typeof object.features !== "object")
32612
+ throw TypeError(".google.protobuf.EnumOptions.features: object expected");
32613
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
32614
+ }
31478
32615
  if (object.uninterpretedOption) {
31479
32616
  if (!Array.isArray(object.uninterpretedOption))
31480
32617
  throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
@@ -31507,6 +32644,7 @@
31507
32644
  object.allowAlias = false;
31508
32645
  object.deprecated = false;
31509
32646
  object.deprecatedLegacyJsonFieldConflicts = false;
32647
+ object.features = null;
31510
32648
  }
31511
32649
  if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
31512
32650
  object.allowAlias = message.allowAlias;
@@ -31514,6 +32652,8 @@
31514
32652
  object.deprecated = message.deprecated;
31515
32653
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
31516
32654
  object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
32655
+ if (message.features != null && message.hasOwnProperty("features"))
32656
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
31517
32657
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
31518
32658
  object.uninterpretedOption = [];
31519
32659
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -31558,6 +32698,8 @@
31558
32698
  * @memberof google.protobuf
31559
32699
  * @interface IEnumValueOptions
31560
32700
  * @property {boolean|null} [deprecated] EnumValueOptions deprecated
32701
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features
32702
+ * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact
31561
32703
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] EnumValueOptions uninterpretedOption
31562
32704
  */
31563
32705
 
@@ -31585,6 +32727,22 @@
31585
32727
  */
31586
32728
  EnumValueOptions.prototype.deprecated = false;
31587
32729
 
32730
+ /**
32731
+ * EnumValueOptions features.
32732
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
32733
+ * @memberof google.protobuf.EnumValueOptions
32734
+ * @instance
32735
+ */
32736
+ EnumValueOptions.prototype.features = null;
32737
+
32738
+ /**
32739
+ * EnumValueOptions debugRedact.
32740
+ * @member {boolean} debugRedact
32741
+ * @memberof google.protobuf.EnumValueOptions
32742
+ * @instance
32743
+ */
32744
+ EnumValueOptions.prototype.debugRedact = false;
32745
+
31588
32746
  /**
31589
32747
  * EnumValueOptions uninterpretedOption.
31590
32748
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -31619,6 +32777,10 @@
31619
32777
  writer = $Writer.create();
31620
32778
  if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
31621
32779
  writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated);
32780
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
32781
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
32782
+ if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
32783
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact);
31622
32784
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
31623
32785
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
31624
32786
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -31660,6 +32822,14 @@
31660
32822
  message.deprecated = reader.bool();
31661
32823
  break;
31662
32824
  }
32825
+ case 2: {
32826
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
32827
+ break;
32828
+ }
32829
+ case 3: {
32830
+ message.debugRedact = reader.bool();
32831
+ break;
32832
+ }
31663
32833
  case 999: {
31664
32834
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
31665
32835
  message.uninterpretedOption = [];
@@ -31704,6 +32874,14 @@
31704
32874
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
31705
32875
  if (typeof message.deprecated !== "boolean")
31706
32876
  return "deprecated: boolean expected";
32877
+ if (message.features != null && message.hasOwnProperty("features")) {
32878
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
32879
+ if (error)
32880
+ return "features." + error;
32881
+ }
32882
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
32883
+ if (typeof message.debugRedact !== "boolean")
32884
+ return "debugRedact: boolean expected";
31707
32885
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
31708
32886
  if (!Array.isArray(message.uninterpretedOption))
31709
32887
  return "uninterpretedOption: array expected";
@@ -31730,6 +32908,13 @@
31730
32908
  var message = new $root.google.protobuf.EnumValueOptions();
31731
32909
  if (object.deprecated != null)
31732
32910
  message.deprecated = Boolean(object.deprecated);
32911
+ if (object.features != null) {
32912
+ if (typeof object.features !== "object")
32913
+ throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");
32914
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
32915
+ }
32916
+ if (object.debugRedact != null)
32917
+ message.debugRedact = Boolean(object.debugRedact);
31733
32918
  if (object.uninterpretedOption) {
31734
32919
  if (!Array.isArray(object.uninterpretedOption))
31735
32920
  throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
@@ -31758,10 +32943,17 @@
31758
32943
  var object = {};
31759
32944
  if (options.arrays || options.defaults)
31760
32945
  object.uninterpretedOption = [];
31761
- if (options.defaults)
32946
+ if (options.defaults) {
31762
32947
  object.deprecated = false;
32948
+ object.features = null;
32949
+ object.debugRedact = false;
32950
+ }
31763
32951
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
31764
32952
  object.deprecated = message.deprecated;
32953
+ if (message.features != null && message.hasOwnProperty("features"))
32954
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
32955
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
32956
+ object.debugRedact = message.debugRedact;
31765
32957
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
31766
32958
  object.uninterpretedOption = [];
31767
32959
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -31805,6 +32997,7 @@
31805
32997
  * Properties of a ServiceOptions.
31806
32998
  * @memberof google.protobuf
31807
32999
  * @interface IServiceOptions
33000
+ * @property {google.protobuf.IFeatureSet|null} [features] ServiceOptions features
31808
33001
  * @property {boolean|null} [deprecated] ServiceOptions deprecated
31809
33002
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] ServiceOptions uninterpretedOption
31810
33003
  * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost
@@ -31827,6 +33020,14 @@
31827
33020
  this[keys[i]] = properties[keys[i]];
31828
33021
  }
31829
33022
 
33023
+ /**
33024
+ * ServiceOptions features.
33025
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
33026
+ * @memberof google.protobuf.ServiceOptions
33027
+ * @instance
33028
+ */
33029
+ ServiceOptions.prototype.features = null;
33030
+
31830
33031
  /**
31831
33032
  * ServiceOptions deprecated.
31832
33033
  * @member {boolean} deprecated
@@ -31885,6 +33086,8 @@
31885
33086
  writer = $Writer.create();
31886
33087
  if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
31887
33088
  writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
33089
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
33090
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim();
31888
33091
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
31889
33092
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
31890
33093
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -31926,6 +33129,10 @@
31926
33129
  while (reader.pos < end) {
31927
33130
  var tag = reader.uint32();
31928
33131
  switch (tag >>> 3) {
33132
+ case 34: {
33133
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
33134
+ break;
33135
+ }
31929
33136
  case 33: {
31930
33137
  message.deprecated = reader.bool();
31931
33138
  break;
@@ -31979,6 +33186,11 @@
31979
33186
  ServiceOptions.verify = function verify(message) {
31980
33187
  if (typeof message !== "object" || message === null)
31981
33188
  return "object expected";
33189
+ if (message.features != null && message.hasOwnProperty("features")) {
33190
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
33191
+ if (error)
33192
+ return "features." + error;
33193
+ }
31982
33194
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
31983
33195
  if (typeof message.deprecated !== "boolean")
31984
33196
  return "deprecated: boolean expected";
@@ -32012,6 +33224,11 @@
32012
33224
  if (object instanceof $root.google.protobuf.ServiceOptions)
32013
33225
  return object;
32014
33226
  var message = new $root.google.protobuf.ServiceOptions();
33227
+ if (object.features != null) {
33228
+ if (typeof object.features !== "object")
33229
+ throw TypeError(".google.protobuf.ServiceOptions.features: object expected");
33230
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
33231
+ }
32015
33232
  if (object.deprecated != null)
32016
33233
  message.deprecated = Boolean(object.deprecated);
32017
33234
  if (object.uninterpretedOption) {
@@ -32048,11 +33265,14 @@
32048
33265
  object.uninterpretedOption = [];
32049
33266
  if (options.defaults) {
32050
33267
  object.deprecated = false;
33268
+ object.features = null;
32051
33269
  object[".google.api.defaultHost"] = "";
32052
33270
  object[".google.api.oauthScopes"] = "";
32053
33271
  }
32054
33272
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
32055
33273
  object.deprecated = message.deprecated;
33274
+ if (message.features != null && message.hasOwnProperty("features"))
33275
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
32056
33276
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
32057
33277
  object.uninterpretedOption = [];
32058
33278
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -32102,6 +33322,7 @@
32102
33322
  * @interface IMethodOptions
32103
33323
  * @property {boolean|null} [deprecated] MethodOptions deprecated
32104
33324
  * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel
33325
+ * @property {google.protobuf.IFeatureSet|null} [features] MethodOptions features
32105
33326
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] MethodOptions uninterpretedOption
32106
33327
  * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http
32107
33328
  * @property {Array.<string>|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature
@@ -32140,6 +33361,14 @@
32140
33361
  */
32141
33362
  MethodOptions.prototype.idempotencyLevel = 0;
32142
33363
 
33364
+ /**
33365
+ * MethodOptions features.
33366
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
33367
+ * @memberof google.protobuf.MethodOptions
33368
+ * @instance
33369
+ */
33370
+ MethodOptions.prototype.features = null;
33371
+
32143
33372
  /**
32144
33373
  * MethodOptions uninterpretedOption.
32145
33374
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -32192,6 +33421,8 @@
32192
33421
  writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
32193
33422
  if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel"))
32194
33423
  writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel);
33424
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
33425
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim();
32195
33426
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
32196
33427
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
32197
33428
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -32242,6 +33473,10 @@
32242
33473
  message.idempotencyLevel = reader.int32();
32243
33474
  break;
32244
33475
  }
33476
+ case 35: {
33477
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
33478
+ break;
33479
+ }
32245
33480
  case 999: {
32246
33481
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
32247
33482
  message.uninterpretedOption = [];
@@ -32305,6 +33540,11 @@
32305
33540
  case 2:
32306
33541
  break;
32307
33542
  }
33543
+ if (message.features != null && message.hasOwnProperty("features")) {
33544
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
33545
+ if (error)
33546
+ return "features." + error;
33547
+ }
32308
33548
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
32309
33549
  if (!Array.isArray(message.uninterpretedOption))
32310
33550
  return "uninterpretedOption: array expected";
@@ -32363,6 +33603,11 @@
32363
33603
  message.idempotencyLevel = 2;
32364
33604
  break;
32365
33605
  }
33606
+ if (object.features != null) {
33607
+ if (typeof object.features !== "object")
33608
+ throw TypeError(".google.protobuf.MethodOptions.features: object expected");
33609
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
33610
+ }
32366
33611
  if (object.uninterpretedOption) {
32367
33612
  if (!Array.isArray(object.uninterpretedOption))
32368
33613
  throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
@@ -32408,12 +33653,15 @@
32408
33653
  if (options.defaults) {
32409
33654
  object.deprecated = false;
32410
33655
  object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0;
33656
+ object.features = null;
32411
33657
  object[".google.api.http"] = null;
32412
33658
  }
32413
33659
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
32414
33660
  object.deprecated = message.deprecated;
32415
33661
  if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
32416
33662
  object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel;
33663
+ if (message.features != null && message.hasOwnProperty("features"))
33664
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
32417
33665
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
32418
33666
  object.uninterpretedOption = [];
32419
33667
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -33102,6 +34350,607 @@
33102
34350
  return UninterpretedOption;
33103
34351
  })();
33104
34352
 
34353
+ protobuf.FeatureSet = (function() {
34354
+
34355
+ /**
34356
+ * Properties of a FeatureSet.
34357
+ * @memberof google.protobuf
34358
+ * @interface IFeatureSet
34359
+ * @property {google.protobuf.FeatureSet.FieldPresence|null} [fieldPresence] FeatureSet fieldPresence
34360
+ * @property {google.protobuf.FeatureSet.EnumType|null} [enumType] FeatureSet enumType
34361
+ * @property {google.protobuf.FeatureSet.RepeatedFieldEncoding|null} [repeatedFieldEncoding] FeatureSet repeatedFieldEncoding
34362
+ * @property {google.protobuf.FeatureSet.StringFieldValidation|null} [stringFieldValidation] FeatureSet stringFieldValidation
34363
+ * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding
34364
+ * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat
34365
+ * @property {google.protobuf.IFeatureSet|null} [rawFeatures] FeatureSet rawFeatures
34366
+ */
34367
+
34368
+ /**
34369
+ * Constructs a new FeatureSet.
34370
+ * @memberof google.protobuf
34371
+ * @classdesc Represents a FeatureSet.
34372
+ * @implements IFeatureSet
34373
+ * @constructor
34374
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
34375
+ */
34376
+ function FeatureSet(properties) {
34377
+ if (properties)
34378
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
34379
+ if (properties[keys[i]] != null)
34380
+ this[keys[i]] = properties[keys[i]];
34381
+ }
34382
+
34383
+ /**
34384
+ * FeatureSet fieldPresence.
34385
+ * @member {google.protobuf.FeatureSet.FieldPresence} fieldPresence
34386
+ * @memberof google.protobuf.FeatureSet
34387
+ * @instance
34388
+ */
34389
+ FeatureSet.prototype.fieldPresence = 0;
34390
+
34391
+ /**
34392
+ * FeatureSet enumType.
34393
+ * @member {google.protobuf.FeatureSet.EnumType} enumType
34394
+ * @memberof google.protobuf.FeatureSet
34395
+ * @instance
34396
+ */
34397
+ FeatureSet.prototype.enumType = 0;
34398
+
34399
+ /**
34400
+ * FeatureSet repeatedFieldEncoding.
34401
+ * @member {google.protobuf.FeatureSet.RepeatedFieldEncoding} repeatedFieldEncoding
34402
+ * @memberof google.protobuf.FeatureSet
34403
+ * @instance
34404
+ */
34405
+ FeatureSet.prototype.repeatedFieldEncoding = 0;
34406
+
34407
+ /**
34408
+ * FeatureSet stringFieldValidation.
34409
+ * @member {google.protobuf.FeatureSet.StringFieldValidation} stringFieldValidation
34410
+ * @memberof google.protobuf.FeatureSet
34411
+ * @instance
34412
+ */
34413
+ FeatureSet.prototype.stringFieldValidation = 0;
34414
+
34415
+ /**
34416
+ * FeatureSet messageEncoding.
34417
+ * @member {google.protobuf.FeatureSet.MessageEncoding} messageEncoding
34418
+ * @memberof google.protobuf.FeatureSet
34419
+ * @instance
34420
+ */
34421
+ FeatureSet.prototype.messageEncoding = 0;
34422
+
34423
+ /**
34424
+ * FeatureSet jsonFormat.
34425
+ * @member {google.protobuf.FeatureSet.JsonFormat} jsonFormat
34426
+ * @memberof google.protobuf.FeatureSet
34427
+ * @instance
34428
+ */
34429
+ FeatureSet.prototype.jsonFormat = 0;
34430
+
34431
+ /**
34432
+ * FeatureSet rawFeatures.
34433
+ * @member {google.protobuf.IFeatureSet|null|undefined} rawFeatures
34434
+ * @memberof google.protobuf.FeatureSet
34435
+ * @instance
34436
+ */
34437
+ FeatureSet.prototype.rawFeatures = null;
34438
+
34439
+ /**
34440
+ * Creates a new FeatureSet instance using the specified properties.
34441
+ * @function create
34442
+ * @memberof google.protobuf.FeatureSet
34443
+ * @static
34444
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
34445
+ * @returns {google.protobuf.FeatureSet} FeatureSet instance
34446
+ */
34447
+ FeatureSet.create = function create(properties) {
34448
+ return new FeatureSet(properties);
34449
+ };
34450
+
34451
+ /**
34452
+ * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
34453
+ * @function encode
34454
+ * @memberof google.protobuf.FeatureSet
34455
+ * @static
34456
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
34457
+ * @param {$protobuf.Writer} [writer] Writer to encode to
34458
+ * @returns {$protobuf.Writer} Writer
34459
+ */
34460
+ FeatureSet.encode = function encode(message, writer) {
34461
+ if (!writer)
34462
+ writer = $Writer.create();
34463
+ if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence"))
34464
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.fieldPresence);
34465
+ if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType"))
34466
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.enumType);
34467
+ if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding"))
34468
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.repeatedFieldEncoding);
34469
+ if (message.stringFieldValidation != null && Object.hasOwnProperty.call(message, "stringFieldValidation"))
34470
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.stringFieldValidation);
34471
+ if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding"))
34472
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding);
34473
+ if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat"))
34474
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat);
34475
+ if (message.rawFeatures != null && Object.hasOwnProperty.call(message, "rawFeatures"))
34476
+ $root.google.protobuf.FeatureSet.encode(message.rawFeatures, writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
34477
+ return writer;
34478
+ };
34479
+
34480
+ /**
34481
+ * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
34482
+ * @function encodeDelimited
34483
+ * @memberof google.protobuf.FeatureSet
34484
+ * @static
34485
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
34486
+ * @param {$protobuf.Writer} [writer] Writer to encode to
34487
+ * @returns {$protobuf.Writer} Writer
34488
+ */
34489
+ FeatureSet.encodeDelimited = function encodeDelimited(message, writer) {
34490
+ return this.encode(message, writer).ldelim();
34491
+ };
34492
+
34493
+ /**
34494
+ * Decodes a FeatureSet message from the specified reader or buffer.
34495
+ * @function decode
34496
+ * @memberof google.protobuf.FeatureSet
34497
+ * @static
34498
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
34499
+ * @param {number} [length] Message length if known beforehand
34500
+ * @returns {google.protobuf.FeatureSet} FeatureSet
34501
+ * @throws {Error} If the payload is not a reader or valid buffer
34502
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
34503
+ */
34504
+ FeatureSet.decode = function decode(reader, length) {
34505
+ if (!(reader instanceof $Reader))
34506
+ reader = $Reader.create(reader);
34507
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet();
34508
+ while (reader.pos < end) {
34509
+ var tag = reader.uint32();
34510
+ switch (tag >>> 3) {
34511
+ case 1: {
34512
+ message.fieldPresence = reader.int32();
34513
+ break;
34514
+ }
34515
+ case 2: {
34516
+ message.enumType = reader.int32();
34517
+ break;
34518
+ }
34519
+ case 3: {
34520
+ message.repeatedFieldEncoding = reader.int32();
34521
+ break;
34522
+ }
34523
+ case 4: {
34524
+ message.stringFieldValidation = reader.int32();
34525
+ break;
34526
+ }
34527
+ case 5: {
34528
+ message.messageEncoding = reader.int32();
34529
+ break;
34530
+ }
34531
+ case 6: {
34532
+ message.jsonFormat = reader.int32();
34533
+ break;
34534
+ }
34535
+ case 999: {
34536
+ message.rawFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
34537
+ break;
34538
+ }
34539
+ default:
34540
+ reader.skipType(tag & 7);
34541
+ break;
34542
+ }
34543
+ }
34544
+ return message;
34545
+ };
34546
+
34547
+ /**
34548
+ * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
34549
+ * @function decodeDelimited
34550
+ * @memberof google.protobuf.FeatureSet
34551
+ * @static
34552
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
34553
+ * @returns {google.protobuf.FeatureSet} FeatureSet
34554
+ * @throws {Error} If the payload is not a reader or valid buffer
34555
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
34556
+ */
34557
+ FeatureSet.decodeDelimited = function decodeDelimited(reader) {
34558
+ if (!(reader instanceof $Reader))
34559
+ reader = new $Reader(reader);
34560
+ return this.decode(reader, reader.uint32());
34561
+ };
34562
+
34563
+ /**
34564
+ * Verifies a FeatureSet message.
34565
+ * @function verify
34566
+ * @memberof google.protobuf.FeatureSet
34567
+ * @static
34568
+ * @param {Object.<string,*>} message Plain object to verify
34569
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
34570
+ */
34571
+ FeatureSet.verify = function verify(message) {
34572
+ if (typeof message !== "object" || message === null)
34573
+ return "object expected";
34574
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
34575
+ switch (message.fieldPresence) {
34576
+ default:
34577
+ return "fieldPresence: enum value expected";
34578
+ case 0:
34579
+ case 1:
34580
+ case 2:
34581
+ case 3:
34582
+ break;
34583
+ }
34584
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
34585
+ switch (message.enumType) {
34586
+ default:
34587
+ return "enumType: enum value expected";
34588
+ case 0:
34589
+ case 1:
34590
+ case 2:
34591
+ break;
34592
+ }
34593
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
34594
+ switch (message.repeatedFieldEncoding) {
34595
+ default:
34596
+ return "repeatedFieldEncoding: enum value expected";
34597
+ case 0:
34598
+ case 1:
34599
+ case 2:
34600
+ break;
34601
+ }
34602
+ if (message.stringFieldValidation != null && message.hasOwnProperty("stringFieldValidation"))
34603
+ switch (message.stringFieldValidation) {
34604
+ default:
34605
+ return "stringFieldValidation: enum value expected";
34606
+ case 0:
34607
+ case 1:
34608
+ case 2:
34609
+ case 3:
34610
+ break;
34611
+ }
34612
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
34613
+ switch (message.messageEncoding) {
34614
+ default:
34615
+ return "messageEncoding: enum value expected";
34616
+ case 0:
34617
+ case 1:
34618
+ case 2:
34619
+ break;
34620
+ }
34621
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
34622
+ switch (message.jsonFormat) {
34623
+ default:
34624
+ return "jsonFormat: enum value expected";
34625
+ case 0:
34626
+ case 1:
34627
+ case 2:
34628
+ break;
34629
+ }
34630
+ if (message.rawFeatures != null && message.hasOwnProperty("rawFeatures")) {
34631
+ var error = $root.google.protobuf.FeatureSet.verify(message.rawFeatures);
34632
+ if (error)
34633
+ return "rawFeatures." + error;
34634
+ }
34635
+ return null;
34636
+ };
34637
+
34638
+ /**
34639
+ * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
34640
+ * @function fromObject
34641
+ * @memberof google.protobuf.FeatureSet
34642
+ * @static
34643
+ * @param {Object.<string,*>} object Plain object
34644
+ * @returns {google.protobuf.FeatureSet} FeatureSet
34645
+ */
34646
+ FeatureSet.fromObject = function fromObject(object) {
34647
+ if (object instanceof $root.google.protobuf.FeatureSet)
34648
+ return object;
34649
+ var message = new $root.google.protobuf.FeatureSet();
34650
+ switch (object.fieldPresence) {
34651
+ default:
34652
+ if (typeof object.fieldPresence === "number") {
34653
+ message.fieldPresence = object.fieldPresence;
34654
+ break;
34655
+ }
34656
+ break;
34657
+ case "FIELD_PRESENCE_UNKNOWN":
34658
+ case 0:
34659
+ message.fieldPresence = 0;
34660
+ break;
34661
+ case "EXPLICIT":
34662
+ case 1:
34663
+ message.fieldPresence = 1;
34664
+ break;
34665
+ case "IMPLICIT":
34666
+ case 2:
34667
+ message.fieldPresence = 2;
34668
+ break;
34669
+ case "LEGACY_REQUIRED":
34670
+ case 3:
34671
+ message.fieldPresence = 3;
34672
+ break;
34673
+ }
34674
+ switch (object.enumType) {
34675
+ default:
34676
+ if (typeof object.enumType === "number") {
34677
+ message.enumType = object.enumType;
34678
+ break;
34679
+ }
34680
+ break;
34681
+ case "ENUM_TYPE_UNKNOWN":
34682
+ case 0:
34683
+ message.enumType = 0;
34684
+ break;
34685
+ case "OPEN":
34686
+ case 1:
34687
+ message.enumType = 1;
34688
+ break;
34689
+ case "CLOSED":
34690
+ case 2:
34691
+ message.enumType = 2;
34692
+ break;
34693
+ }
34694
+ switch (object.repeatedFieldEncoding) {
34695
+ default:
34696
+ if (typeof object.repeatedFieldEncoding === "number") {
34697
+ message.repeatedFieldEncoding = object.repeatedFieldEncoding;
34698
+ break;
34699
+ }
34700
+ break;
34701
+ case "REPEATED_FIELD_ENCODING_UNKNOWN":
34702
+ case 0:
34703
+ message.repeatedFieldEncoding = 0;
34704
+ break;
34705
+ case "PACKED":
34706
+ case 1:
34707
+ message.repeatedFieldEncoding = 1;
34708
+ break;
34709
+ case "EXPANDED":
34710
+ case 2:
34711
+ message.repeatedFieldEncoding = 2;
34712
+ break;
34713
+ }
34714
+ switch (object.stringFieldValidation) {
34715
+ default:
34716
+ if (typeof object.stringFieldValidation === "number") {
34717
+ message.stringFieldValidation = object.stringFieldValidation;
34718
+ break;
34719
+ }
34720
+ break;
34721
+ case "STRING_FIELD_VALIDATION_UNKNOWN":
34722
+ case 0:
34723
+ message.stringFieldValidation = 0;
34724
+ break;
34725
+ case "MANDATORY":
34726
+ case 1:
34727
+ message.stringFieldValidation = 1;
34728
+ break;
34729
+ case "HINT":
34730
+ case 2:
34731
+ message.stringFieldValidation = 2;
34732
+ break;
34733
+ case "NONE":
34734
+ case 3:
34735
+ message.stringFieldValidation = 3;
34736
+ break;
34737
+ }
34738
+ switch (object.messageEncoding) {
34739
+ default:
34740
+ if (typeof object.messageEncoding === "number") {
34741
+ message.messageEncoding = object.messageEncoding;
34742
+ break;
34743
+ }
34744
+ break;
34745
+ case "MESSAGE_ENCODING_UNKNOWN":
34746
+ case 0:
34747
+ message.messageEncoding = 0;
34748
+ break;
34749
+ case "LENGTH_PREFIXED":
34750
+ case 1:
34751
+ message.messageEncoding = 1;
34752
+ break;
34753
+ case "DELIMITED":
34754
+ case 2:
34755
+ message.messageEncoding = 2;
34756
+ break;
34757
+ }
34758
+ switch (object.jsonFormat) {
34759
+ default:
34760
+ if (typeof object.jsonFormat === "number") {
34761
+ message.jsonFormat = object.jsonFormat;
34762
+ break;
34763
+ }
34764
+ break;
34765
+ case "JSON_FORMAT_UNKNOWN":
34766
+ case 0:
34767
+ message.jsonFormat = 0;
34768
+ break;
34769
+ case "ALLOW":
34770
+ case 1:
34771
+ message.jsonFormat = 1;
34772
+ break;
34773
+ case "LEGACY_BEST_EFFORT":
34774
+ case 2:
34775
+ message.jsonFormat = 2;
34776
+ break;
34777
+ }
34778
+ if (object.rawFeatures != null) {
34779
+ if (typeof object.rawFeatures !== "object")
34780
+ throw TypeError(".google.protobuf.FeatureSet.rawFeatures: object expected");
34781
+ message.rawFeatures = $root.google.protobuf.FeatureSet.fromObject(object.rawFeatures);
34782
+ }
34783
+ return message;
34784
+ };
34785
+
34786
+ /**
34787
+ * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
34788
+ * @function toObject
34789
+ * @memberof google.protobuf.FeatureSet
34790
+ * @static
34791
+ * @param {google.protobuf.FeatureSet} message FeatureSet
34792
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
34793
+ * @returns {Object.<string,*>} Plain object
34794
+ */
34795
+ FeatureSet.toObject = function toObject(message, options) {
34796
+ if (!options)
34797
+ options = {};
34798
+ var object = {};
34799
+ if (options.defaults) {
34800
+ object.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0;
34801
+ object.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0;
34802
+ object.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0;
34803
+ object.stringFieldValidation = options.enums === String ? "STRING_FIELD_VALIDATION_UNKNOWN" : 0;
34804
+ object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0;
34805
+ object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0;
34806
+ object.rawFeatures = null;
34807
+ }
34808
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
34809
+ object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence;
34810
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
34811
+ object.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === undefined ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType;
34812
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
34813
+ object.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === undefined ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding;
34814
+ if (message.stringFieldValidation != null && message.hasOwnProperty("stringFieldValidation"))
34815
+ object.stringFieldValidation = options.enums === String ? $root.google.protobuf.FeatureSet.StringFieldValidation[message.stringFieldValidation] === undefined ? message.stringFieldValidation : $root.google.protobuf.FeatureSet.StringFieldValidation[message.stringFieldValidation] : message.stringFieldValidation;
34816
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
34817
+ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding;
34818
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
34819
+ object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat;
34820
+ if (message.rawFeatures != null && message.hasOwnProperty("rawFeatures"))
34821
+ object.rawFeatures = $root.google.protobuf.FeatureSet.toObject(message.rawFeatures, options);
34822
+ return object;
34823
+ };
34824
+
34825
+ /**
34826
+ * Converts this FeatureSet to JSON.
34827
+ * @function toJSON
34828
+ * @memberof google.protobuf.FeatureSet
34829
+ * @instance
34830
+ * @returns {Object.<string,*>} JSON object
34831
+ */
34832
+ FeatureSet.prototype.toJSON = function toJSON() {
34833
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
34834
+ };
34835
+
34836
+ /**
34837
+ * Gets the default type url for FeatureSet
34838
+ * @function getTypeUrl
34839
+ * @memberof google.protobuf.FeatureSet
34840
+ * @static
34841
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
34842
+ * @returns {string} The default type url
34843
+ */
34844
+ FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
34845
+ if (typeUrlPrefix === undefined) {
34846
+ typeUrlPrefix = "type.googleapis.com";
34847
+ }
34848
+ return typeUrlPrefix + "/google.protobuf.FeatureSet";
34849
+ };
34850
+
34851
+ /**
34852
+ * FieldPresence enum.
34853
+ * @name google.protobuf.FeatureSet.FieldPresence
34854
+ * @enum {number}
34855
+ * @property {number} FIELD_PRESENCE_UNKNOWN=0 FIELD_PRESENCE_UNKNOWN value
34856
+ * @property {number} EXPLICIT=1 EXPLICIT value
34857
+ * @property {number} IMPLICIT=2 IMPLICIT value
34858
+ * @property {number} LEGACY_REQUIRED=3 LEGACY_REQUIRED value
34859
+ */
34860
+ FeatureSet.FieldPresence = (function() {
34861
+ var valuesById = {}, values = Object.create(valuesById);
34862
+ values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0;
34863
+ values[valuesById[1] = "EXPLICIT"] = 1;
34864
+ values[valuesById[2] = "IMPLICIT"] = 2;
34865
+ values[valuesById[3] = "LEGACY_REQUIRED"] = 3;
34866
+ return values;
34867
+ })();
34868
+
34869
+ /**
34870
+ * EnumType enum.
34871
+ * @name google.protobuf.FeatureSet.EnumType
34872
+ * @enum {number}
34873
+ * @property {number} ENUM_TYPE_UNKNOWN=0 ENUM_TYPE_UNKNOWN value
34874
+ * @property {number} OPEN=1 OPEN value
34875
+ * @property {number} CLOSED=2 CLOSED value
34876
+ */
34877
+ FeatureSet.EnumType = (function() {
34878
+ var valuesById = {}, values = Object.create(valuesById);
34879
+ values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0;
34880
+ values[valuesById[1] = "OPEN"] = 1;
34881
+ values[valuesById[2] = "CLOSED"] = 2;
34882
+ return values;
34883
+ })();
34884
+
34885
+ /**
34886
+ * RepeatedFieldEncoding enum.
34887
+ * @name google.protobuf.FeatureSet.RepeatedFieldEncoding
34888
+ * @enum {number}
34889
+ * @property {number} REPEATED_FIELD_ENCODING_UNKNOWN=0 REPEATED_FIELD_ENCODING_UNKNOWN value
34890
+ * @property {number} PACKED=1 PACKED value
34891
+ * @property {number} EXPANDED=2 EXPANDED value
34892
+ */
34893
+ FeatureSet.RepeatedFieldEncoding = (function() {
34894
+ var valuesById = {}, values = Object.create(valuesById);
34895
+ values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0;
34896
+ values[valuesById[1] = "PACKED"] = 1;
34897
+ values[valuesById[2] = "EXPANDED"] = 2;
34898
+ return values;
34899
+ })();
34900
+
34901
+ /**
34902
+ * StringFieldValidation enum.
34903
+ * @name google.protobuf.FeatureSet.StringFieldValidation
34904
+ * @enum {number}
34905
+ * @property {number} STRING_FIELD_VALIDATION_UNKNOWN=0 STRING_FIELD_VALIDATION_UNKNOWN value
34906
+ * @property {number} MANDATORY=1 MANDATORY value
34907
+ * @property {number} HINT=2 HINT value
34908
+ * @property {number} NONE=3 NONE value
34909
+ */
34910
+ FeatureSet.StringFieldValidation = (function() {
34911
+ var valuesById = {}, values = Object.create(valuesById);
34912
+ values[valuesById[0] = "STRING_FIELD_VALIDATION_UNKNOWN"] = 0;
34913
+ values[valuesById[1] = "MANDATORY"] = 1;
34914
+ values[valuesById[2] = "HINT"] = 2;
34915
+ values[valuesById[3] = "NONE"] = 3;
34916
+ return values;
34917
+ })();
34918
+
34919
+ /**
34920
+ * MessageEncoding enum.
34921
+ * @name google.protobuf.FeatureSet.MessageEncoding
34922
+ * @enum {number}
34923
+ * @property {number} MESSAGE_ENCODING_UNKNOWN=0 MESSAGE_ENCODING_UNKNOWN value
34924
+ * @property {number} LENGTH_PREFIXED=1 LENGTH_PREFIXED value
34925
+ * @property {number} DELIMITED=2 DELIMITED value
34926
+ */
34927
+ FeatureSet.MessageEncoding = (function() {
34928
+ var valuesById = {}, values = Object.create(valuesById);
34929
+ values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0;
34930
+ values[valuesById[1] = "LENGTH_PREFIXED"] = 1;
34931
+ values[valuesById[2] = "DELIMITED"] = 2;
34932
+ return values;
34933
+ })();
34934
+
34935
+ /**
34936
+ * JsonFormat enum.
34937
+ * @name google.protobuf.FeatureSet.JsonFormat
34938
+ * @enum {number}
34939
+ * @property {number} JSON_FORMAT_UNKNOWN=0 JSON_FORMAT_UNKNOWN value
34940
+ * @property {number} ALLOW=1 ALLOW value
34941
+ * @property {number} LEGACY_BEST_EFFORT=2 LEGACY_BEST_EFFORT value
34942
+ */
34943
+ FeatureSet.JsonFormat = (function() {
34944
+ var valuesById = {}, values = Object.create(valuesById);
34945
+ values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0;
34946
+ values[valuesById[1] = "ALLOW"] = 1;
34947
+ values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2;
34948
+ return values;
34949
+ })();
34950
+
34951
+ return FeatureSet;
34952
+ })();
34953
+
33105
34954
  protobuf.SourceCodeInfo = (function() {
33106
34955
 
33107
34956
  /**