@google-cloud/apikeys 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6023,6 +6023,7 @@
6023
6023
  * @property {number} IMMUTABLE=5 IMMUTABLE value
6024
6024
  * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value
6025
6025
  * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value
6026
+ * @property {number} IDENTIFIER=8 IDENTIFIER value
6026
6027
  */
6027
6028
  api.FieldBehavior = (function() {
6028
6029
  var valuesById = {}, values = Object.create(valuesById);
@@ -6034,6 +6035,7 @@
6034
6035
  values[valuesById[5] = "IMMUTABLE"] = 5;
6035
6036
  values[valuesById[6] = "UNORDERED_LIST"] = 6;
6036
6037
  values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7;
6038
+ values[valuesById[8] = "IDENTIFIER"] = 8;
6037
6039
  return values;
6038
6040
  })();
6039
6041
 
@@ -7534,6 +7536,7 @@
7534
7536
  * @property {string|null} [docTagPrefix] Publishing docTagPrefix
7535
7537
  * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization
7536
7538
  * @property {Array.<google.api.IClientLibrarySettings>|null} [librarySettings] Publishing librarySettings
7539
+ * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri
7537
7540
  */
7538
7541
 
7539
7542
  /**
@@ -7626,6 +7629,14 @@
7626
7629
  */
7627
7630
  Publishing.prototype.librarySettings = $util.emptyArray;
7628
7631
 
7632
+ /**
7633
+ * Publishing protoReferenceDocumentationUri.
7634
+ * @member {string} protoReferenceDocumentationUri
7635
+ * @memberof google.api.Publishing
7636
+ * @instance
7637
+ */
7638
+ Publishing.prototype.protoReferenceDocumentationUri = "";
7639
+
7629
7640
  /**
7630
7641
  * Creates a new Publishing instance using the specified properties.
7631
7642
  * @function create
@@ -7671,6 +7682,8 @@
7671
7682
  if (message.librarySettings != null && message.librarySettings.length)
7672
7683
  for (var i = 0; i < message.librarySettings.length; ++i)
7673
7684
  $root.google.api.ClientLibrarySettings.encode(message.librarySettings[i], writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim();
7685
+ if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri"))
7686
+ writer.uint32(/* id 110, wireType 2 =*/882).string(message.protoReferenceDocumentationUri);
7674
7687
  return writer;
7675
7688
  };
7676
7689
 
@@ -7747,6 +7760,10 @@
7747
7760
  message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32()));
7748
7761
  break;
7749
7762
  }
7763
+ case 110: {
7764
+ message.protoReferenceDocumentationUri = reader.string();
7765
+ break;
7766
+ }
7750
7767
  default:
7751
7768
  reader.skipType(tag & 7);
7752
7769
  break;
@@ -7822,6 +7839,9 @@
7822
7839
  case 2:
7823
7840
  case 3:
7824
7841
  case 4:
7842
+ case 5:
7843
+ case 6:
7844
+ case 7:
7825
7845
  break;
7826
7846
  }
7827
7847
  if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) {
@@ -7833,6 +7853,9 @@
7833
7853
  return "librarySettings." + error;
7834
7854
  }
7835
7855
  }
7856
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
7857
+ if (!$util.isString(message.protoReferenceDocumentationUri))
7858
+ return "protoReferenceDocumentationUri: string expected";
7836
7859
  return null;
7837
7860
  };
7838
7861
 
@@ -7902,6 +7925,18 @@
7902
7925
  case 4:
7903
7926
  message.organization = 4;
7904
7927
  break;
7928
+ case "SHOPPING":
7929
+ case 5:
7930
+ message.organization = 5;
7931
+ break;
7932
+ case "GEO":
7933
+ case 6:
7934
+ message.organization = 6;
7935
+ break;
7936
+ case "GENERATIVE_AI":
7937
+ case 7:
7938
+ message.organization = 7;
7939
+ break;
7905
7940
  }
7906
7941
  if (object.librarySettings) {
7907
7942
  if (!Array.isArray(object.librarySettings))
@@ -7913,6 +7948,8 @@
7913
7948
  message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]);
7914
7949
  }
7915
7950
  }
7951
+ if (object.protoReferenceDocumentationUri != null)
7952
+ message.protoReferenceDocumentationUri = String(object.protoReferenceDocumentationUri);
7916
7953
  return message;
7917
7954
  };
7918
7955
 
@@ -7941,6 +7978,7 @@
7941
7978
  object.githubLabel = "";
7942
7979
  object.docTagPrefix = "";
7943
7980
  object.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0;
7981
+ object.protoReferenceDocumentationUri = "";
7944
7982
  }
7945
7983
  if (message.methodSettings && message.methodSettings.length) {
7946
7984
  object.methodSettings = [];
@@ -7969,6 +8007,8 @@
7969
8007
  for (var j = 0; j < message.librarySettings.length; ++j)
7970
8008
  object.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options);
7971
8009
  }
8010
+ if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri"))
8011
+ object.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri;
7972
8012
  return object;
7973
8013
  };
7974
8014
 
@@ -9131,6 +9171,11 @@
9131
9171
  * @memberof google.api
9132
9172
  * @interface IDotnetSettings
9133
9173
  * @property {google.api.ICommonLanguageSettings|null} [common] DotnetSettings common
9174
+ * @property {Object.<string,string>|null} [renamedServices] DotnetSettings renamedServices
9175
+ * @property {Object.<string,string>|null} [renamedResources] DotnetSettings renamedResources
9176
+ * @property {Array.<string>|null} [ignoredResources] DotnetSettings ignoredResources
9177
+ * @property {Array.<string>|null} [forcedNamespaceAliases] DotnetSettings forcedNamespaceAliases
9178
+ * @property {Array.<string>|null} [handwrittenSignatures] DotnetSettings handwrittenSignatures
9134
9179
  */
9135
9180
 
9136
9181
  /**
@@ -9142,6 +9187,11 @@
9142
9187
  * @param {google.api.IDotnetSettings=} [properties] Properties to set
9143
9188
  */
9144
9189
  function DotnetSettings(properties) {
9190
+ this.renamedServices = {};
9191
+ this.renamedResources = {};
9192
+ this.ignoredResources = [];
9193
+ this.forcedNamespaceAliases = [];
9194
+ this.handwrittenSignatures = [];
9145
9195
  if (properties)
9146
9196
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
9147
9197
  if (properties[keys[i]] != null)
@@ -9156,6 +9206,46 @@
9156
9206
  */
9157
9207
  DotnetSettings.prototype.common = null;
9158
9208
 
9209
+ /**
9210
+ * DotnetSettings renamedServices.
9211
+ * @member {Object.<string,string>} renamedServices
9212
+ * @memberof google.api.DotnetSettings
9213
+ * @instance
9214
+ */
9215
+ DotnetSettings.prototype.renamedServices = $util.emptyObject;
9216
+
9217
+ /**
9218
+ * DotnetSettings renamedResources.
9219
+ * @member {Object.<string,string>} renamedResources
9220
+ * @memberof google.api.DotnetSettings
9221
+ * @instance
9222
+ */
9223
+ DotnetSettings.prototype.renamedResources = $util.emptyObject;
9224
+
9225
+ /**
9226
+ * DotnetSettings ignoredResources.
9227
+ * @member {Array.<string>} ignoredResources
9228
+ * @memberof google.api.DotnetSettings
9229
+ * @instance
9230
+ */
9231
+ DotnetSettings.prototype.ignoredResources = $util.emptyArray;
9232
+
9233
+ /**
9234
+ * DotnetSettings forcedNamespaceAliases.
9235
+ * @member {Array.<string>} forcedNamespaceAliases
9236
+ * @memberof google.api.DotnetSettings
9237
+ * @instance
9238
+ */
9239
+ DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray;
9240
+
9241
+ /**
9242
+ * DotnetSettings handwrittenSignatures.
9243
+ * @member {Array.<string>} handwrittenSignatures
9244
+ * @memberof google.api.DotnetSettings
9245
+ * @instance
9246
+ */
9247
+ DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray;
9248
+
9159
9249
  /**
9160
9250
  * Creates a new DotnetSettings instance using the specified properties.
9161
9251
  * @function create
@@ -9182,6 +9272,21 @@
9182
9272
  writer = $Writer.create();
9183
9273
  if (message.common != null && Object.hasOwnProperty.call(message, "common"))
9184
9274
  $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
9275
+ if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices"))
9276
+ for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i)
9277
+ 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();
9278
+ if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources"))
9279
+ for (var keys = Object.keys(message.renamedResources), i = 0; i < keys.length; ++i)
9280
+ 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();
9281
+ if (message.ignoredResources != null && message.ignoredResources.length)
9282
+ for (var i = 0; i < message.ignoredResources.length; ++i)
9283
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.ignoredResources[i]);
9284
+ if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length)
9285
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
9286
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.forcedNamespaceAliases[i]);
9287
+ if (message.handwrittenSignatures != null && message.handwrittenSignatures.length)
9288
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
9289
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.handwrittenSignatures[i]);
9185
9290
  return writer;
9186
9291
  };
9187
9292
 
@@ -9212,7 +9317,7 @@
9212
9317
  DotnetSettings.decode = function decode(reader, length) {
9213
9318
  if (!(reader instanceof $Reader))
9214
9319
  reader = $Reader.create(reader);
9215
- var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings();
9320
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value;
9216
9321
  while (reader.pos < end) {
9217
9322
  var tag = reader.uint32();
9218
9323
  switch (tag >>> 3) {
@@ -9220,6 +9325,70 @@
9220
9325
  message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
9221
9326
  break;
9222
9327
  }
9328
+ case 2: {
9329
+ if (message.renamedServices === $util.emptyObject)
9330
+ message.renamedServices = {};
9331
+ var end2 = reader.uint32() + reader.pos;
9332
+ key = "";
9333
+ value = "";
9334
+ while (reader.pos < end2) {
9335
+ var tag2 = reader.uint32();
9336
+ switch (tag2 >>> 3) {
9337
+ case 1:
9338
+ key = reader.string();
9339
+ break;
9340
+ case 2:
9341
+ value = reader.string();
9342
+ break;
9343
+ default:
9344
+ reader.skipType(tag2 & 7);
9345
+ break;
9346
+ }
9347
+ }
9348
+ message.renamedServices[key] = value;
9349
+ break;
9350
+ }
9351
+ case 3: {
9352
+ if (message.renamedResources === $util.emptyObject)
9353
+ message.renamedResources = {};
9354
+ var end2 = reader.uint32() + reader.pos;
9355
+ key = "";
9356
+ value = "";
9357
+ while (reader.pos < end2) {
9358
+ var tag2 = reader.uint32();
9359
+ switch (tag2 >>> 3) {
9360
+ case 1:
9361
+ key = reader.string();
9362
+ break;
9363
+ case 2:
9364
+ value = reader.string();
9365
+ break;
9366
+ default:
9367
+ reader.skipType(tag2 & 7);
9368
+ break;
9369
+ }
9370
+ }
9371
+ message.renamedResources[key] = value;
9372
+ break;
9373
+ }
9374
+ case 4: {
9375
+ if (!(message.ignoredResources && message.ignoredResources.length))
9376
+ message.ignoredResources = [];
9377
+ message.ignoredResources.push(reader.string());
9378
+ break;
9379
+ }
9380
+ case 5: {
9381
+ if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length))
9382
+ message.forcedNamespaceAliases = [];
9383
+ message.forcedNamespaceAliases.push(reader.string());
9384
+ break;
9385
+ }
9386
+ case 6: {
9387
+ if (!(message.handwrittenSignatures && message.handwrittenSignatures.length))
9388
+ message.handwrittenSignatures = [];
9389
+ message.handwrittenSignatures.push(reader.string());
9390
+ break;
9391
+ }
9223
9392
  default:
9224
9393
  reader.skipType(tag & 7);
9225
9394
  break;
@@ -9260,6 +9429,43 @@
9260
9429
  if (error)
9261
9430
  return "common." + error;
9262
9431
  }
9432
+ if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) {
9433
+ if (!$util.isObject(message.renamedServices))
9434
+ return "renamedServices: object expected";
9435
+ var key = Object.keys(message.renamedServices);
9436
+ for (var i = 0; i < key.length; ++i)
9437
+ if (!$util.isString(message.renamedServices[key[i]]))
9438
+ return "renamedServices: string{k:string} expected";
9439
+ }
9440
+ if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) {
9441
+ if (!$util.isObject(message.renamedResources))
9442
+ return "renamedResources: object expected";
9443
+ var key = Object.keys(message.renamedResources);
9444
+ for (var i = 0; i < key.length; ++i)
9445
+ if (!$util.isString(message.renamedResources[key[i]]))
9446
+ return "renamedResources: string{k:string} expected";
9447
+ }
9448
+ if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) {
9449
+ if (!Array.isArray(message.ignoredResources))
9450
+ return "ignoredResources: array expected";
9451
+ for (var i = 0; i < message.ignoredResources.length; ++i)
9452
+ if (!$util.isString(message.ignoredResources[i]))
9453
+ return "ignoredResources: string[] expected";
9454
+ }
9455
+ if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) {
9456
+ if (!Array.isArray(message.forcedNamespaceAliases))
9457
+ return "forcedNamespaceAliases: array expected";
9458
+ for (var i = 0; i < message.forcedNamespaceAliases.length; ++i)
9459
+ if (!$util.isString(message.forcedNamespaceAliases[i]))
9460
+ return "forcedNamespaceAliases: string[] expected";
9461
+ }
9462
+ if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) {
9463
+ if (!Array.isArray(message.handwrittenSignatures))
9464
+ return "handwrittenSignatures: array expected";
9465
+ for (var i = 0; i < message.handwrittenSignatures.length; ++i)
9466
+ if (!$util.isString(message.handwrittenSignatures[i]))
9467
+ return "handwrittenSignatures: string[] expected";
9468
+ }
9263
9469
  return null;
9264
9470
  };
9265
9471
 
@@ -9280,6 +9486,41 @@
9280
9486
  throw TypeError(".google.api.DotnetSettings.common: object expected");
9281
9487
  message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
9282
9488
  }
9489
+ if (object.renamedServices) {
9490
+ if (typeof object.renamedServices !== "object")
9491
+ throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");
9492
+ message.renamedServices = {};
9493
+ for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i)
9494
+ message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]);
9495
+ }
9496
+ if (object.renamedResources) {
9497
+ if (typeof object.renamedResources !== "object")
9498
+ throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");
9499
+ message.renamedResources = {};
9500
+ for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i)
9501
+ message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]);
9502
+ }
9503
+ if (object.ignoredResources) {
9504
+ if (!Array.isArray(object.ignoredResources))
9505
+ throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected");
9506
+ message.ignoredResources = [];
9507
+ for (var i = 0; i < object.ignoredResources.length; ++i)
9508
+ message.ignoredResources[i] = String(object.ignoredResources[i]);
9509
+ }
9510
+ if (object.forcedNamespaceAliases) {
9511
+ if (!Array.isArray(object.forcedNamespaceAliases))
9512
+ throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected");
9513
+ message.forcedNamespaceAliases = [];
9514
+ for (var i = 0; i < object.forcedNamespaceAliases.length; ++i)
9515
+ message.forcedNamespaceAliases[i] = String(object.forcedNamespaceAliases[i]);
9516
+ }
9517
+ if (object.handwrittenSignatures) {
9518
+ if (!Array.isArray(object.handwrittenSignatures))
9519
+ throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected");
9520
+ message.handwrittenSignatures = [];
9521
+ for (var i = 0; i < object.handwrittenSignatures.length; ++i)
9522
+ message.handwrittenSignatures[i] = String(object.handwrittenSignatures[i]);
9523
+ }
9283
9524
  return message;
9284
9525
  };
9285
9526
 
@@ -9296,10 +9537,45 @@
9296
9537
  if (!options)
9297
9538
  options = {};
9298
9539
  var object = {};
9540
+ if (options.arrays || options.defaults) {
9541
+ object.ignoredResources = [];
9542
+ object.forcedNamespaceAliases = [];
9543
+ object.handwrittenSignatures = [];
9544
+ }
9545
+ if (options.objects || options.defaults) {
9546
+ object.renamedServices = {};
9547
+ object.renamedResources = {};
9548
+ }
9299
9549
  if (options.defaults)
9300
9550
  object.common = null;
9301
9551
  if (message.common != null && message.hasOwnProperty("common"))
9302
9552
  object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
9553
+ var keys2;
9554
+ if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
9555
+ object.renamedServices = {};
9556
+ for (var j = 0; j < keys2.length; ++j)
9557
+ object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
9558
+ }
9559
+ if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) {
9560
+ object.renamedResources = {};
9561
+ for (var j = 0; j < keys2.length; ++j)
9562
+ object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]];
9563
+ }
9564
+ if (message.ignoredResources && message.ignoredResources.length) {
9565
+ object.ignoredResources = [];
9566
+ for (var j = 0; j < message.ignoredResources.length; ++j)
9567
+ object.ignoredResources[j] = message.ignoredResources[j];
9568
+ }
9569
+ if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) {
9570
+ object.forcedNamespaceAliases = [];
9571
+ for (var j = 0; j < message.forcedNamespaceAliases.length; ++j)
9572
+ object.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j];
9573
+ }
9574
+ if (message.handwrittenSignatures && message.handwrittenSignatures.length) {
9575
+ object.handwrittenSignatures = [];
9576
+ for (var j = 0; j < message.handwrittenSignatures.length; ++j)
9577
+ object.handwrittenSignatures[j] = message.handwrittenSignatures[j];
9578
+ }
9303
9579
  return object;
9304
9580
  };
9305
9581
 
@@ -9756,6 +10032,7 @@
9756
10032
  * @interface IMethodSettings
9757
10033
  * @property {string|null} [selector] MethodSettings selector
9758
10034
  * @property {google.api.MethodSettings.ILongRunning|null} [longRunning] MethodSettings longRunning
10035
+ * @property {Array.<string>|null} [autoPopulatedFields] MethodSettings autoPopulatedFields
9759
10036
  */
9760
10037
 
9761
10038
  /**
@@ -9767,6 +10044,7 @@
9767
10044
  * @param {google.api.IMethodSettings=} [properties] Properties to set
9768
10045
  */
9769
10046
  function MethodSettings(properties) {
10047
+ this.autoPopulatedFields = [];
9770
10048
  if (properties)
9771
10049
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
9772
10050
  if (properties[keys[i]] != null)
@@ -9789,6 +10067,14 @@
9789
10067
  */
9790
10068
  MethodSettings.prototype.longRunning = null;
9791
10069
 
10070
+ /**
10071
+ * MethodSettings autoPopulatedFields.
10072
+ * @member {Array.<string>} autoPopulatedFields
10073
+ * @memberof google.api.MethodSettings
10074
+ * @instance
10075
+ */
10076
+ MethodSettings.prototype.autoPopulatedFields = $util.emptyArray;
10077
+
9792
10078
  /**
9793
10079
  * Creates a new MethodSettings instance using the specified properties.
9794
10080
  * @function create
@@ -9817,6 +10103,9 @@
9817
10103
  writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
9818
10104
  if (message.longRunning != null && Object.hasOwnProperty.call(message, "longRunning"))
9819
10105
  $root.google.api.MethodSettings.LongRunning.encode(message.longRunning, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
10106
+ if (message.autoPopulatedFields != null && message.autoPopulatedFields.length)
10107
+ for (var i = 0; i < message.autoPopulatedFields.length; ++i)
10108
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.autoPopulatedFields[i]);
9820
10109
  return writer;
9821
10110
  };
9822
10111
 
@@ -9859,6 +10148,12 @@
9859
10148
  message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32());
9860
10149
  break;
9861
10150
  }
10151
+ case 3: {
10152
+ if (!(message.autoPopulatedFields && message.autoPopulatedFields.length))
10153
+ message.autoPopulatedFields = [];
10154
+ message.autoPopulatedFields.push(reader.string());
10155
+ break;
10156
+ }
9862
10157
  default:
9863
10158
  reader.skipType(tag & 7);
9864
10159
  break;
@@ -9902,6 +10197,13 @@
9902
10197
  if (error)
9903
10198
  return "longRunning." + error;
9904
10199
  }
10200
+ if (message.autoPopulatedFields != null && message.hasOwnProperty("autoPopulatedFields")) {
10201
+ if (!Array.isArray(message.autoPopulatedFields))
10202
+ return "autoPopulatedFields: array expected";
10203
+ for (var i = 0; i < message.autoPopulatedFields.length; ++i)
10204
+ if (!$util.isString(message.autoPopulatedFields[i]))
10205
+ return "autoPopulatedFields: string[] expected";
10206
+ }
9905
10207
  return null;
9906
10208
  };
9907
10209
 
@@ -9924,6 +10226,13 @@
9924
10226
  throw TypeError(".google.api.MethodSettings.longRunning: object expected");
9925
10227
  message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning);
9926
10228
  }
10229
+ if (object.autoPopulatedFields) {
10230
+ if (!Array.isArray(object.autoPopulatedFields))
10231
+ throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");
10232
+ message.autoPopulatedFields = [];
10233
+ for (var i = 0; i < object.autoPopulatedFields.length; ++i)
10234
+ message.autoPopulatedFields[i] = String(object.autoPopulatedFields[i]);
10235
+ }
9927
10236
  return message;
9928
10237
  };
9929
10238
 
@@ -9940,6 +10249,8 @@
9940
10249
  if (!options)
9941
10250
  options = {};
9942
10251
  var object = {};
10252
+ if (options.arrays || options.defaults)
10253
+ object.autoPopulatedFields = [];
9943
10254
  if (options.defaults) {
9944
10255
  object.selector = "";
9945
10256
  object.longRunning = null;
@@ -9948,6 +10259,11 @@
9948
10259
  object.selector = message.selector;
9949
10260
  if (message.longRunning != null && message.hasOwnProperty("longRunning"))
9950
10261
  object.longRunning = $root.google.api.MethodSettings.LongRunning.toObject(message.longRunning, options);
10262
+ if (message.autoPopulatedFields && message.autoPopulatedFields.length) {
10263
+ object.autoPopulatedFields = [];
10264
+ for (var j = 0; j < message.autoPopulatedFields.length; ++j)
10265
+ object.autoPopulatedFields[j] = message.autoPopulatedFields[j];
10266
+ }
9951
10267
  return object;
9952
10268
  };
9953
10269
 
@@ -10277,6 +10593,9 @@
10277
10593
  * @property {number} ADS=2 ADS value
10278
10594
  * @property {number} PHOTOS=3 PHOTOS value
10279
10595
  * @property {number} STREET_VIEW=4 STREET_VIEW value
10596
+ * @property {number} SHOPPING=5 SHOPPING value
10597
+ * @property {number} GEO=6 GEO value
10598
+ * @property {number} GENERATIVE_AI=7 GENERATIVE_AI value
10280
10599
  */
10281
10600
  api.ClientLibraryOrganization = (function() {
10282
10601
  var valuesById = {}, values = Object.create(valuesById);
@@ -10285,6 +10604,9 @@
10285
10604
  values[valuesById[2] = "ADS"] = 2;
10286
10605
  values[valuesById[3] = "PHOTOS"] = 3;
10287
10606
  values[valuesById[4] = "STREET_VIEW"] = 4;
10607
+ values[valuesById[5] = "SHOPPING"] = 5;
10608
+ values[valuesById[6] = "GEO"] = 6;
10609
+ values[valuesById[7] = "GENERATIVE_AI"] = 7;
10288
10610
  return values;
10289
10611
  })();
10290
10612
 
@@ -10566,6 +10888,38 @@
10566
10888
  return FileDescriptorSet;
10567
10889
  })();
10568
10890
 
10891
+ /**
10892
+ * Edition enum.
10893
+ * @name google.protobuf.Edition
10894
+ * @enum {number}
10895
+ * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value
10896
+ * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value
10897
+ * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value
10898
+ * @property {number} EDITION_2023=1000 EDITION_2023 value
10899
+ * @property {number} EDITION_2024=1001 EDITION_2024 value
10900
+ * @property {number} EDITION_1_TEST_ONLY=1 EDITION_1_TEST_ONLY value
10901
+ * @property {number} EDITION_2_TEST_ONLY=2 EDITION_2_TEST_ONLY value
10902
+ * @property {number} EDITION_99997_TEST_ONLY=99997 EDITION_99997_TEST_ONLY value
10903
+ * @property {number} EDITION_99998_TEST_ONLY=99998 EDITION_99998_TEST_ONLY value
10904
+ * @property {number} EDITION_99999_TEST_ONLY=99999 EDITION_99999_TEST_ONLY value
10905
+ * @property {number} EDITION_MAX=2147483647 EDITION_MAX value
10906
+ */
10907
+ protobuf.Edition = (function() {
10908
+ var valuesById = {}, values = Object.create(valuesById);
10909
+ values[valuesById[0] = "EDITION_UNKNOWN"] = 0;
10910
+ values[valuesById[998] = "EDITION_PROTO2"] = 998;
10911
+ values[valuesById[999] = "EDITION_PROTO3"] = 999;
10912
+ values[valuesById[1000] = "EDITION_2023"] = 1000;
10913
+ values[valuesById[1001] = "EDITION_2024"] = 1001;
10914
+ values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1;
10915
+ values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2;
10916
+ values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997;
10917
+ values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998;
10918
+ values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999;
10919
+ values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647;
10920
+ return values;
10921
+ })();
10922
+
10569
10923
  protobuf.FileDescriptorProto = (function() {
10570
10924
 
10571
10925
  /**
@@ -10584,7 +10938,7 @@
10584
10938
  * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options
10585
10939
  * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo
10586
10940
  * @property {string|null} [syntax] FileDescriptorProto syntax
10587
- * @property {string|null} [edition] FileDescriptorProto edition
10941
+ * @property {google.protobuf.Edition|null} [edition] FileDescriptorProto edition
10588
10942
  */
10589
10943
 
10590
10944
  /**
@@ -10707,11 +11061,11 @@
10707
11061
 
10708
11062
  /**
10709
11063
  * FileDescriptorProto edition.
10710
- * @member {string} edition
11064
+ * @member {google.protobuf.Edition} edition
10711
11065
  * @memberof google.protobuf.FileDescriptorProto
10712
11066
  * @instance
10713
11067
  */
10714
- FileDescriptorProto.prototype.edition = "";
11068
+ FileDescriptorProto.prototype.edition = 0;
10715
11069
 
10716
11070
  /**
10717
11071
  * Creates a new FileDescriptorProto instance using the specified properties.
@@ -10769,7 +11123,7 @@
10769
11123
  if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
10770
11124
  writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
10771
11125
  if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
10772
- writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition);
11126
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition);
10773
11127
  return writer;
10774
11128
  };
10775
11129
 
@@ -10876,8 +11230,8 @@
10876
11230
  message.syntax = reader.string();
10877
11231
  break;
10878
11232
  }
10879
- case 13: {
10880
- message.edition = reader.string();
11233
+ case 14: {
11234
+ message.edition = reader.int32();
10881
11235
  break;
10882
11236
  }
10883
11237
  default:
@@ -10992,8 +11346,22 @@
10992
11346
  if (!$util.isString(message.syntax))
10993
11347
  return "syntax: string expected";
10994
11348
  if (message.edition != null && message.hasOwnProperty("edition"))
10995
- if (!$util.isString(message.edition))
10996
- return "edition: string expected";
11349
+ switch (message.edition) {
11350
+ default:
11351
+ return "edition: enum value expected";
11352
+ case 0:
11353
+ case 998:
11354
+ case 999:
11355
+ case 1000:
11356
+ case 1001:
11357
+ case 1:
11358
+ case 2:
11359
+ case 99997:
11360
+ case 99998:
11361
+ case 99999:
11362
+ case 2147483647:
11363
+ break;
11364
+ }
10997
11365
  return null;
10998
11366
  };
10999
11367
 
@@ -11086,8 +11454,58 @@
11086
11454
  }
11087
11455
  if (object.syntax != null)
11088
11456
  message.syntax = String(object.syntax);
11089
- if (object.edition != null)
11090
- message.edition = String(object.edition);
11457
+ switch (object.edition) {
11458
+ default:
11459
+ if (typeof object.edition === "number") {
11460
+ message.edition = object.edition;
11461
+ break;
11462
+ }
11463
+ break;
11464
+ case "EDITION_UNKNOWN":
11465
+ case 0:
11466
+ message.edition = 0;
11467
+ break;
11468
+ case "EDITION_PROTO2":
11469
+ case 998:
11470
+ message.edition = 998;
11471
+ break;
11472
+ case "EDITION_PROTO3":
11473
+ case 999:
11474
+ message.edition = 999;
11475
+ break;
11476
+ case "EDITION_2023":
11477
+ case 1000:
11478
+ message.edition = 1000;
11479
+ break;
11480
+ case "EDITION_2024":
11481
+ case 1001:
11482
+ message.edition = 1001;
11483
+ break;
11484
+ case "EDITION_1_TEST_ONLY":
11485
+ case 1:
11486
+ message.edition = 1;
11487
+ break;
11488
+ case "EDITION_2_TEST_ONLY":
11489
+ case 2:
11490
+ message.edition = 2;
11491
+ break;
11492
+ case "EDITION_99997_TEST_ONLY":
11493
+ case 99997:
11494
+ message.edition = 99997;
11495
+ break;
11496
+ case "EDITION_99998_TEST_ONLY":
11497
+ case 99998:
11498
+ message.edition = 99998;
11499
+ break;
11500
+ case "EDITION_99999_TEST_ONLY":
11501
+ case 99999:
11502
+ message.edition = 99999;
11503
+ break;
11504
+ case "EDITION_MAX":
11505
+ case 2147483647:
11506
+ message.edition = 2147483647;
11507
+ break;
11508
+ }
11091
11509
  return message;
11092
11510
  };
11093
11511
 
@@ -11119,7 +11537,7 @@
11119
11537
  object.options = null;
11120
11538
  object.sourceCodeInfo = null;
11121
11539
  object.syntax = "";
11122
- object.edition = "";
11540
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
11123
11541
  }
11124
11542
  if (message.name != null && message.hasOwnProperty("name"))
11125
11543
  object.name = message.name;
@@ -11167,7 +11585,7 @@
11167
11585
  if (message.syntax != null && message.hasOwnProperty("syntax"))
11168
11586
  object.syntax = message.syntax;
11169
11587
  if (message.edition != null && message.hasOwnProperty("edition"))
11170
- object.edition = message.edition;
11588
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
11171
11589
  return object;
11172
11590
  };
11173
11591
 
@@ -12270,6 +12688,9 @@
12270
12688
  * @memberof google.protobuf
12271
12689
  * @interface IExtensionRangeOptions
12272
12690
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption
12691
+ * @property {Array.<google.protobuf.ExtensionRangeOptions.IDeclaration>|null} [declaration] ExtensionRangeOptions declaration
12692
+ * @property {google.protobuf.IFeatureSet|null} [features] ExtensionRangeOptions features
12693
+ * @property {google.protobuf.ExtensionRangeOptions.VerificationState|null} [verification] ExtensionRangeOptions verification
12273
12694
  */
12274
12695
 
12275
12696
  /**
@@ -12282,6 +12703,7 @@
12282
12703
  */
12283
12704
  function ExtensionRangeOptions(properties) {
12284
12705
  this.uninterpretedOption = [];
12706
+ this.declaration = [];
12285
12707
  if (properties)
12286
12708
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
12287
12709
  if (properties[keys[i]] != null)
@@ -12296,6 +12718,30 @@
12296
12718
  */
12297
12719
  ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
12298
12720
 
12721
+ /**
12722
+ * ExtensionRangeOptions declaration.
12723
+ * @member {Array.<google.protobuf.ExtensionRangeOptions.IDeclaration>} declaration
12724
+ * @memberof google.protobuf.ExtensionRangeOptions
12725
+ * @instance
12726
+ */
12727
+ ExtensionRangeOptions.prototype.declaration = $util.emptyArray;
12728
+
12729
+ /**
12730
+ * ExtensionRangeOptions features.
12731
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
12732
+ * @memberof google.protobuf.ExtensionRangeOptions
12733
+ * @instance
12734
+ */
12735
+ ExtensionRangeOptions.prototype.features = null;
12736
+
12737
+ /**
12738
+ * ExtensionRangeOptions verification.
12739
+ * @member {google.protobuf.ExtensionRangeOptions.VerificationState} verification
12740
+ * @memberof google.protobuf.ExtensionRangeOptions
12741
+ * @instance
12742
+ */
12743
+ ExtensionRangeOptions.prototype.verification = 1;
12744
+
12299
12745
  /**
12300
12746
  * Creates a new ExtensionRangeOptions instance using the specified properties.
12301
12747
  * @function create
@@ -12320,6 +12766,13 @@
12320
12766
  ExtensionRangeOptions.encode = function encode(message, writer) {
12321
12767
  if (!writer)
12322
12768
  writer = $Writer.create();
12769
+ if (message.declaration != null && message.declaration.length)
12770
+ for (var i = 0; i < message.declaration.length; ++i)
12771
+ $root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
12772
+ if (message.verification != null && Object.hasOwnProperty.call(message, "verification"))
12773
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.verification);
12774
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
12775
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
12323
12776
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
12324
12777
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
12325
12778
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -12363,6 +12816,20 @@
12363
12816
  message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
12364
12817
  break;
12365
12818
  }
12819
+ case 2: {
12820
+ if (!(message.declaration && message.declaration.length))
12821
+ message.declaration = [];
12822
+ message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32()));
12823
+ break;
12824
+ }
12825
+ case 50: {
12826
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
12827
+ break;
12828
+ }
12829
+ case 3: {
12830
+ message.verification = reader.int32();
12831
+ break;
12832
+ }
12366
12833
  default:
12367
12834
  reader.skipType(tag & 7);
12368
12835
  break;
@@ -12407,6 +12874,28 @@
12407
12874
  return "uninterpretedOption." + error;
12408
12875
  }
12409
12876
  }
12877
+ if (message.declaration != null && message.hasOwnProperty("declaration")) {
12878
+ if (!Array.isArray(message.declaration))
12879
+ return "declaration: array expected";
12880
+ for (var i = 0; i < message.declaration.length; ++i) {
12881
+ var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]);
12882
+ if (error)
12883
+ return "declaration." + error;
12884
+ }
12885
+ }
12886
+ if (message.features != null && message.hasOwnProperty("features")) {
12887
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
12888
+ if (error)
12889
+ return "features." + error;
12890
+ }
12891
+ if (message.verification != null && message.hasOwnProperty("verification"))
12892
+ switch (message.verification) {
12893
+ default:
12894
+ return "verification: enum value expected";
12895
+ case 0:
12896
+ case 1:
12897
+ break;
12898
+ }
12410
12899
  return null;
12411
12900
  };
12412
12901
 
@@ -12432,6 +12921,37 @@
12432
12921
  message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
12433
12922
  }
12434
12923
  }
12924
+ if (object.declaration) {
12925
+ if (!Array.isArray(object.declaration))
12926
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected");
12927
+ message.declaration = [];
12928
+ for (var i = 0; i < object.declaration.length; ++i) {
12929
+ if (typeof object.declaration[i] !== "object")
12930
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");
12931
+ message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]);
12932
+ }
12933
+ }
12934
+ if (object.features != null) {
12935
+ if (typeof object.features !== "object")
12936
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");
12937
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
12938
+ }
12939
+ switch (object.verification) {
12940
+ case "DECLARATION":
12941
+ case 0:
12942
+ message.verification = 0;
12943
+ break;
12944
+ default:
12945
+ if (typeof object.verification === "number") {
12946
+ message.verification = object.verification;
12947
+ break;
12948
+ }
12949
+ break;
12950
+ case "UNVERIFIED":
12951
+ case 1:
12952
+ message.verification = 1;
12953
+ break;
12954
+ }
12435
12955
  return message;
12436
12956
  };
12437
12957
 
@@ -12448,8 +12968,23 @@
12448
12968
  if (!options)
12449
12969
  options = {};
12450
12970
  var object = {};
12451
- if (options.arrays || options.defaults)
12971
+ if (options.arrays || options.defaults) {
12972
+ object.declaration = [];
12452
12973
  object.uninterpretedOption = [];
12974
+ }
12975
+ if (options.defaults) {
12976
+ object.verification = options.enums === String ? "UNVERIFIED" : 1;
12977
+ object.features = null;
12978
+ }
12979
+ if (message.declaration && message.declaration.length) {
12980
+ object.declaration = [];
12981
+ for (var j = 0; j < message.declaration.length; ++j)
12982
+ object.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options);
12983
+ }
12984
+ if (message.verification != null && message.hasOwnProperty("verification"))
12985
+ object.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === undefined ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification;
12986
+ if (message.features != null && message.hasOwnProperty("features"))
12987
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
12453
12988
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
12454
12989
  object.uninterpretedOption = [];
12455
12990
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -12484,52 +13019,362 @@
12484
13019
  return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
12485
13020
  };
12486
13021
 
12487
- return ExtensionRangeOptions;
12488
- })();
13022
+ ExtensionRangeOptions.Declaration = (function() {
12489
13023
 
12490
- protobuf.FieldDescriptorProto = (function() {
13024
+ /**
13025
+ * Properties of a Declaration.
13026
+ * @memberof google.protobuf.ExtensionRangeOptions
13027
+ * @interface IDeclaration
13028
+ * @property {number|null} [number] Declaration number
13029
+ * @property {string|null} [fullName] Declaration fullName
13030
+ * @property {string|null} [type] Declaration type
13031
+ * @property {boolean|null} [reserved] Declaration reserved
13032
+ * @property {boolean|null} [repeated] Declaration repeated
13033
+ */
12491
13034
 
12492
- /**
12493
- * Properties of a FieldDescriptorProto.
12494
- * @memberof google.protobuf
12495
- * @interface IFieldDescriptorProto
12496
- * @property {string|null} [name] FieldDescriptorProto name
12497
- * @property {number|null} [number] FieldDescriptorProto number
12498
- * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
12499
- * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
12500
- * @property {string|null} [typeName] FieldDescriptorProto typeName
12501
- * @property {string|null} [extendee] FieldDescriptorProto extendee
12502
- * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
12503
- * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
12504
- * @property {string|null} [jsonName] FieldDescriptorProto jsonName
12505
- * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
12506
- * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
12507
- */
13035
+ /**
13036
+ * Constructs a new Declaration.
13037
+ * @memberof google.protobuf.ExtensionRangeOptions
13038
+ * @classdesc Represents a Declaration.
13039
+ * @implements IDeclaration
13040
+ * @constructor
13041
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
13042
+ */
13043
+ function Declaration(properties) {
13044
+ if (properties)
13045
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
13046
+ if (properties[keys[i]] != null)
13047
+ this[keys[i]] = properties[keys[i]];
13048
+ }
12508
13049
 
12509
- /**
12510
- * Constructs a new FieldDescriptorProto.
12511
- * @memberof google.protobuf
12512
- * @classdesc Represents a FieldDescriptorProto.
12513
- * @implements IFieldDescriptorProto
12514
- * @constructor
12515
- * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
12516
- */
12517
- function FieldDescriptorProto(properties) {
12518
- if (properties)
12519
- for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
12520
- if (properties[keys[i]] != null)
12521
- this[keys[i]] = properties[keys[i]];
12522
- }
13050
+ /**
13051
+ * Declaration number.
13052
+ * @member {number} number
13053
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13054
+ * @instance
13055
+ */
13056
+ Declaration.prototype.number = 0;
12523
13057
 
12524
- /**
12525
- * FieldDescriptorProto name.
12526
- * @member {string} name
12527
- * @memberof google.protobuf.FieldDescriptorProto
12528
- * @instance
12529
- */
12530
- FieldDescriptorProto.prototype.name = "";
13058
+ /**
13059
+ * Declaration fullName.
13060
+ * @member {string} fullName
13061
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13062
+ * @instance
13063
+ */
13064
+ Declaration.prototype.fullName = "";
12531
13065
 
12532
- /**
13066
+ /**
13067
+ * Declaration type.
13068
+ * @member {string} type
13069
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13070
+ * @instance
13071
+ */
13072
+ Declaration.prototype.type = "";
13073
+
13074
+ /**
13075
+ * Declaration reserved.
13076
+ * @member {boolean} reserved
13077
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13078
+ * @instance
13079
+ */
13080
+ Declaration.prototype.reserved = false;
13081
+
13082
+ /**
13083
+ * Declaration repeated.
13084
+ * @member {boolean} repeated
13085
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13086
+ * @instance
13087
+ */
13088
+ Declaration.prototype.repeated = false;
13089
+
13090
+ /**
13091
+ * Creates a new Declaration instance using the specified properties.
13092
+ * @function create
13093
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13094
+ * @static
13095
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set
13096
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration instance
13097
+ */
13098
+ Declaration.create = function create(properties) {
13099
+ return new Declaration(properties);
13100
+ };
13101
+
13102
+ /**
13103
+ * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
13104
+ * @function encode
13105
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13106
+ * @static
13107
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
13108
+ * @param {$protobuf.Writer} [writer] Writer to encode to
13109
+ * @returns {$protobuf.Writer} Writer
13110
+ */
13111
+ Declaration.encode = function encode(message, writer) {
13112
+ if (!writer)
13113
+ writer = $Writer.create();
13114
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
13115
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.number);
13116
+ if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName"))
13117
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName);
13118
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
13119
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.type);
13120
+ if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved"))
13121
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reserved);
13122
+ if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated"))
13123
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.repeated);
13124
+ return writer;
13125
+ };
13126
+
13127
+ /**
13128
+ * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages.
13129
+ * @function encodeDelimited
13130
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13131
+ * @static
13132
+ * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode
13133
+ * @param {$protobuf.Writer} [writer] Writer to encode to
13134
+ * @returns {$protobuf.Writer} Writer
13135
+ */
13136
+ Declaration.encodeDelimited = function encodeDelimited(message, writer) {
13137
+ return this.encode(message, writer).ldelim();
13138
+ };
13139
+
13140
+ /**
13141
+ * Decodes a Declaration message from the specified reader or buffer.
13142
+ * @function decode
13143
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13144
+ * @static
13145
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
13146
+ * @param {number} [length] Message length if known beforehand
13147
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
13148
+ * @throws {Error} If the payload is not a reader or valid buffer
13149
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
13150
+ */
13151
+ Declaration.decode = function decode(reader, length) {
13152
+ if (!(reader instanceof $Reader))
13153
+ reader = $Reader.create(reader);
13154
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
13155
+ while (reader.pos < end) {
13156
+ var tag = reader.uint32();
13157
+ switch (tag >>> 3) {
13158
+ case 1: {
13159
+ message.number = reader.int32();
13160
+ break;
13161
+ }
13162
+ case 2: {
13163
+ message.fullName = reader.string();
13164
+ break;
13165
+ }
13166
+ case 3: {
13167
+ message.type = reader.string();
13168
+ break;
13169
+ }
13170
+ case 5: {
13171
+ message.reserved = reader.bool();
13172
+ break;
13173
+ }
13174
+ case 6: {
13175
+ message.repeated = reader.bool();
13176
+ break;
13177
+ }
13178
+ default:
13179
+ reader.skipType(tag & 7);
13180
+ break;
13181
+ }
13182
+ }
13183
+ return message;
13184
+ };
13185
+
13186
+ /**
13187
+ * Decodes a Declaration message from the specified reader or buffer, length delimited.
13188
+ * @function decodeDelimited
13189
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13190
+ * @static
13191
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
13192
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
13193
+ * @throws {Error} If the payload is not a reader or valid buffer
13194
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
13195
+ */
13196
+ Declaration.decodeDelimited = function decodeDelimited(reader) {
13197
+ if (!(reader instanceof $Reader))
13198
+ reader = new $Reader(reader);
13199
+ return this.decode(reader, reader.uint32());
13200
+ };
13201
+
13202
+ /**
13203
+ * Verifies a Declaration message.
13204
+ * @function verify
13205
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13206
+ * @static
13207
+ * @param {Object.<string,*>} message Plain object to verify
13208
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
13209
+ */
13210
+ Declaration.verify = function verify(message) {
13211
+ if (typeof message !== "object" || message === null)
13212
+ return "object expected";
13213
+ if (message.number != null && message.hasOwnProperty("number"))
13214
+ if (!$util.isInteger(message.number))
13215
+ return "number: integer expected";
13216
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
13217
+ if (!$util.isString(message.fullName))
13218
+ return "fullName: string expected";
13219
+ if (message.type != null && message.hasOwnProperty("type"))
13220
+ if (!$util.isString(message.type))
13221
+ return "type: string expected";
13222
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
13223
+ if (typeof message.reserved !== "boolean")
13224
+ return "reserved: boolean expected";
13225
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
13226
+ if (typeof message.repeated !== "boolean")
13227
+ return "repeated: boolean expected";
13228
+ return null;
13229
+ };
13230
+
13231
+ /**
13232
+ * Creates a Declaration message from a plain object. Also converts values to their respective internal types.
13233
+ * @function fromObject
13234
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13235
+ * @static
13236
+ * @param {Object.<string,*>} object Plain object
13237
+ * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
13238
+ */
13239
+ Declaration.fromObject = function fromObject(object) {
13240
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)
13241
+ return object;
13242
+ var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
13243
+ if (object.number != null)
13244
+ message.number = object.number | 0;
13245
+ if (object.fullName != null)
13246
+ message.fullName = String(object.fullName);
13247
+ if (object.type != null)
13248
+ message.type = String(object.type);
13249
+ if (object.reserved != null)
13250
+ message.reserved = Boolean(object.reserved);
13251
+ if (object.repeated != null)
13252
+ message.repeated = Boolean(object.repeated);
13253
+ return message;
13254
+ };
13255
+
13256
+ /**
13257
+ * Creates a plain object from a Declaration message. Also converts values to other types if specified.
13258
+ * @function toObject
13259
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13260
+ * @static
13261
+ * @param {google.protobuf.ExtensionRangeOptions.Declaration} message Declaration
13262
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
13263
+ * @returns {Object.<string,*>} Plain object
13264
+ */
13265
+ Declaration.toObject = function toObject(message, options) {
13266
+ if (!options)
13267
+ options = {};
13268
+ var object = {};
13269
+ if (options.defaults) {
13270
+ object.number = 0;
13271
+ object.fullName = "";
13272
+ object.type = "";
13273
+ object.reserved = false;
13274
+ object.repeated = false;
13275
+ }
13276
+ if (message.number != null && message.hasOwnProperty("number"))
13277
+ object.number = message.number;
13278
+ if (message.fullName != null && message.hasOwnProperty("fullName"))
13279
+ object.fullName = message.fullName;
13280
+ if (message.type != null && message.hasOwnProperty("type"))
13281
+ object.type = message.type;
13282
+ if (message.reserved != null && message.hasOwnProperty("reserved"))
13283
+ object.reserved = message.reserved;
13284
+ if (message.repeated != null && message.hasOwnProperty("repeated"))
13285
+ object.repeated = message.repeated;
13286
+ return object;
13287
+ };
13288
+
13289
+ /**
13290
+ * Converts this Declaration to JSON.
13291
+ * @function toJSON
13292
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13293
+ * @instance
13294
+ * @returns {Object.<string,*>} JSON object
13295
+ */
13296
+ Declaration.prototype.toJSON = function toJSON() {
13297
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
13298
+ };
13299
+
13300
+ /**
13301
+ * Gets the default type url for Declaration
13302
+ * @function getTypeUrl
13303
+ * @memberof google.protobuf.ExtensionRangeOptions.Declaration
13304
+ * @static
13305
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
13306
+ * @returns {string} The default type url
13307
+ */
13308
+ Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
13309
+ if (typeUrlPrefix === undefined) {
13310
+ typeUrlPrefix = "type.googleapis.com";
13311
+ }
13312
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration";
13313
+ };
13314
+
13315
+ return Declaration;
13316
+ })();
13317
+
13318
+ /**
13319
+ * VerificationState enum.
13320
+ * @name google.protobuf.ExtensionRangeOptions.VerificationState
13321
+ * @enum {number}
13322
+ * @property {number} DECLARATION=0 DECLARATION value
13323
+ * @property {number} UNVERIFIED=1 UNVERIFIED value
13324
+ */
13325
+ ExtensionRangeOptions.VerificationState = (function() {
13326
+ var valuesById = {}, values = Object.create(valuesById);
13327
+ values[valuesById[0] = "DECLARATION"] = 0;
13328
+ values[valuesById[1] = "UNVERIFIED"] = 1;
13329
+ return values;
13330
+ })();
13331
+
13332
+ return ExtensionRangeOptions;
13333
+ })();
13334
+
13335
+ protobuf.FieldDescriptorProto = (function() {
13336
+
13337
+ /**
13338
+ * Properties of a FieldDescriptorProto.
13339
+ * @memberof google.protobuf
13340
+ * @interface IFieldDescriptorProto
13341
+ * @property {string|null} [name] FieldDescriptorProto name
13342
+ * @property {number|null} [number] FieldDescriptorProto number
13343
+ * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
13344
+ * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
13345
+ * @property {string|null} [typeName] FieldDescriptorProto typeName
13346
+ * @property {string|null} [extendee] FieldDescriptorProto extendee
13347
+ * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
13348
+ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
13349
+ * @property {string|null} [jsonName] FieldDescriptorProto jsonName
13350
+ * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
13351
+ * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
13352
+ */
13353
+
13354
+ /**
13355
+ * Constructs a new FieldDescriptorProto.
13356
+ * @memberof google.protobuf
13357
+ * @classdesc Represents a FieldDescriptorProto.
13358
+ * @implements IFieldDescriptorProto
13359
+ * @constructor
13360
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
13361
+ */
13362
+ function FieldDescriptorProto(properties) {
13363
+ if (properties)
13364
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
13365
+ if (properties[keys[i]] != null)
13366
+ this[keys[i]] = properties[keys[i]];
13367
+ }
13368
+
13369
+ /**
13370
+ * FieldDescriptorProto name.
13371
+ * @member {string} name
13372
+ * @memberof google.protobuf.FieldDescriptorProto
13373
+ * @instance
13374
+ */
13375
+ FieldDescriptorProto.prototype.name = "";
13376
+
13377
+ /**
12533
13378
  * FieldDescriptorProto number.
12534
13379
  * @member {number} number
12535
13380
  * @memberof google.protobuf.FieldDescriptorProto
@@ -12779,8 +13624,8 @@
12779
13624
  default:
12780
13625
  return "label: enum value expected";
12781
13626
  case 1:
12782
- case 2:
12783
13627
  case 3:
13628
+ case 2:
12784
13629
  break;
12785
13630
  }
12786
13631
  if (message.type != null && message.hasOwnProperty("type"))
@@ -12860,14 +13705,14 @@
12860
13705
  case 1:
12861
13706
  message.label = 1;
12862
13707
  break;
12863
- case "LABEL_REQUIRED":
12864
- case 2:
12865
- message.label = 2;
12866
- break;
12867
13708
  case "LABEL_REPEATED":
12868
13709
  case 3:
12869
13710
  message.label = 3;
12870
13711
  break;
13712
+ case "LABEL_REQUIRED":
13713
+ case 2:
13714
+ message.label = 2;
13715
+ break;
12871
13716
  }
12872
13717
  switch (object.type) {
12873
13718
  default:
@@ -13097,14 +13942,14 @@
13097
13942
  * @name google.protobuf.FieldDescriptorProto.Label
13098
13943
  * @enum {number}
13099
13944
  * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value
13100
- * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value
13101
13945
  * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value
13946
+ * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value
13102
13947
  */
13103
13948
  FieldDescriptorProto.Label = (function() {
13104
13949
  var valuesById = {}, values = Object.create(valuesById);
13105
13950
  values[valuesById[1] = "LABEL_OPTIONAL"] = 1;
13106
- values[valuesById[2] = "LABEL_REQUIRED"] = 2;
13107
13951
  values[valuesById[3] = "LABEL_REPEATED"] = 3;
13952
+ values[valuesById[2] = "LABEL_REQUIRED"] = 2;
13108
13953
  return values;
13109
13954
  })();
13110
13955
 
@@ -14803,7 +15648,6 @@
14803
15648
  * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices
14804
15649
  * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices
14805
15650
  * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices
14806
- * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices
14807
15651
  * @property {boolean|null} [deprecated] FileOptions deprecated
14808
15652
  * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas
14809
15653
  * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix
@@ -14813,6 +15657,7 @@
14813
15657
  * @property {string|null} [phpNamespace] FileOptions phpNamespace
14814
15658
  * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace
14815
15659
  * @property {string|null} [rubyPackage] FileOptions rubyPackage
15660
+ * @property {google.protobuf.IFeatureSet|null} [features] FileOptions features
14816
15661
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] FileOptions uninterpretedOption
14817
15662
  * @property {Array.<google.api.IResourceDescriptor>|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition
14818
15663
  */
@@ -14914,14 +15759,6 @@
14914
15759
  */
14915
15760
  FileOptions.prototype.pyGenericServices = false;
14916
15761
 
14917
- /**
14918
- * FileOptions phpGenericServices.
14919
- * @member {boolean} phpGenericServices
14920
- * @memberof google.protobuf.FileOptions
14921
- * @instance
14922
- */
14923
- FileOptions.prototype.phpGenericServices = false;
14924
-
14925
15762
  /**
14926
15763
  * FileOptions deprecated.
14927
15764
  * @member {boolean} deprecated
@@ -14994,6 +15831,14 @@
14994
15831
  */
14995
15832
  FileOptions.prototype.rubyPackage = "";
14996
15833
 
15834
+ /**
15835
+ * FileOptions features.
15836
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
15837
+ * @memberof google.protobuf.FileOptions
15838
+ * @instance
15839
+ */
15840
+ FileOptions.prototype.features = null;
15841
+
14997
15842
  /**
14998
15843
  * FileOptions uninterpretedOption.
14999
15844
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -15068,12 +15913,12 @@
15068
15913
  writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix);
15069
15914
  if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace"))
15070
15915
  writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace);
15071
- if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices"))
15072
- writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices);
15073
15916
  if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace"))
15074
15917
  writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace);
15075
15918
  if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage"))
15076
15919
  writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage);
15920
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
15921
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim();
15077
15922
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
15078
15923
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
15079
15924
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -15154,10 +15999,6 @@
15154
15999
  message.pyGenericServices = reader.bool();
15155
16000
  break;
15156
16001
  }
15157
- case 42: {
15158
- message.phpGenericServices = reader.bool();
15159
- break;
15160
- }
15161
16002
  case 23: {
15162
16003
  message.deprecated = reader.bool();
15163
16004
  break;
@@ -15194,6 +16035,10 @@
15194
16035
  message.rubyPackage = reader.string();
15195
16036
  break;
15196
16037
  }
16038
+ case 50: {
16039
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
16040
+ break;
16041
+ }
15197
16042
  case 999: {
15198
16043
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
15199
16044
  message.uninterpretedOption = [];
@@ -15277,9 +16122,6 @@
15277
16122
  if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices"))
15278
16123
  if (typeof message.pyGenericServices !== "boolean")
15279
16124
  return "pyGenericServices: boolean expected";
15280
- if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices"))
15281
- if (typeof message.phpGenericServices !== "boolean")
15282
- return "phpGenericServices: boolean expected";
15283
16125
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
15284
16126
  if (typeof message.deprecated !== "boolean")
15285
16127
  return "deprecated: boolean expected";
@@ -15307,6 +16149,11 @@
15307
16149
  if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
15308
16150
  if (!$util.isString(message.rubyPackage))
15309
16151
  return "rubyPackage: string expected";
16152
+ if (message.features != null && message.hasOwnProperty("features")) {
16153
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
16154
+ if (error)
16155
+ return "features." + error;
16156
+ }
15310
16157
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
15311
16158
  if (!Array.isArray(message.uninterpretedOption))
15312
16159
  return "uninterpretedOption: array expected";
@@ -15378,8 +16225,6 @@
15378
16225
  message.javaGenericServices = Boolean(object.javaGenericServices);
15379
16226
  if (object.pyGenericServices != null)
15380
16227
  message.pyGenericServices = Boolean(object.pyGenericServices);
15381
- if (object.phpGenericServices != null)
15382
- message.phpGenericServices = Boolean(object.phpGenericServices);
15383
16228
  if (object.deprecated != null)
15384
16229
  message.deprecated = Boolean(object.deprecated);
15385
16230
  if (object.ccEnableArenas != null)
@@ -15398,6 +16243,11 @@
15398
16243
  message.phpMetadataNamespace = String(object.phpMetadataNamespace);
15399
16244
  if (object.rubyPackage != null)
15400
16245
  message.rubyPackage = String(object.rubyPackage);
16246
+ if (object.features != null) {
16247
+ if (typeof object.features !== "object")
16248
+ throw TypeError(".google.protobuf.FileOptions.features: object expected");
16249
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
16250
+ }
15401
16251
  if (object.uninterpretedOption) {
15402
16252
  if (!Array.isArray(object.uninterpretedOption))
15403
16253
  throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");
@@ -15456,9 +16306,9 @@
15456
16306
  object.swiftPrefix = "";
15457
16307
  object.phpClassPrefix = "";
15458
16308
  object.phpNamespace = "";
15459
- object.phpGenericServices = false;
15460
16309
  object.phpMetadataNamespace = "";
15461
16310
  object.rubyPackage = "";
16311
+ object.features = null;
15462
16312
  }
15463
16313
  if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
15464
16314
  object.javaPackage = message.javaPackage;
@@ -15494,12 +16344,12 @@
15494
16344
  object.phpClassPrefix = message.phpClassPrefix;
15495
16345
  if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace"))
15496
16346
  object.phpNamespace = message.phpNamespace;
15497
- if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices"))
15498
- object.phpGenericServices = message.phpGenericServices;
15499
16347
  if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace"))
15500
16348
  object.phpMetadataNamespace = message.phpMetadataNamespace;
15501
16349
  if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage"))
15502
16350
  object.rubyPackage = message.rubyPackage;
16351
+ if (message.features != null && message.hasOwnProperty("features"))
16352
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
15503
16353
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
15504
16354
  object.uninterpretedOption = [];
15505
16355
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -15569,6 +16419,7 @@
15569
16419
  * @property {boolean|null} [deprecated] MessageOptions deprecated
15570
16420
  * @property {boolean|null} [mapEntry] MessageOptions mapEntry
15571
16421
  * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] MessageOptions deprecatedLegacyJsonFieldConflicts
16422
+ * @property {google.protobuf.IFeatureSet|null} [features] MessageOptions features
15572
16423
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] MessageOptions uninterpretedOption
15573
16424
  * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource
15574
16425
  */
@@ -15629,6 +16480,14 @@
15629
16480
  */
15630
16481
  MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
15631
16482
 
16483
+ /**
16484
+ * MessageOptions features.
16485
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
16486
+ * @memberof google.protobuf.MessageOptions
16487
+ * @instance
16488
+ */
16489
+ MessageOptions.prototype.features = null;
16490
+
15632
16491
  /**
15633
16492
  * MessageOptions uninterpretedOption.
15634
16493
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -15679,6 +16538,8 @@
15679
16538
  writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry);
15680
16539
  if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
15681
16540
  writer.uint32(/* id 11, wireType 0 =*/88).bool(message.deprecatedLegacyJsonFieldConflicts);
16541
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
16542
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
15682
16543
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
15683
16544
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
15684
16545
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -15738,6 +16599,10 @@
15738
16599
  message.deprecatedLegacyJsonFieldConflicts = reader.bool();
15739
16600
  break;
15740
16601
  }
16602
+ case 12: {
16603
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
16604
+ break;
16605
+ }
15741
16606
  case 999: {
15742
16607
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
15743
16608
  message.uninterpretedOption = [];
@@ -15798,6 +16663,11 @@
15798
16663
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
15799
16664
  if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
15800
16665
  return "deprecatedLegacyJsonFieldConflicts: boolean expected";
16666
+ if (message.features != null && message.hasOwnProperty("features")) {
16667
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
16668
+ if (error)
16669
+ return "features." + error;
16670
+ }
15801
16671
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
15802
16672
  if (!Array.isArray(message.uninterpretedOption))
15803
16673
  return "uninterpretedOption: array expected";
@@ -15837,6 +16707,11 @@
15837
16707
  message.mapEntry = Boolean(object.mapEntry);
15838
16708
  if (object.deprecatedLegacyJsonFieldConflicts != null)
15839
16709
  message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
16710
+ if (object.features != null) {
16711
+ if (typeof object.features !== "object")
16712
+ throw TypeError(".google.protobuf.MessageOptions.features: object expected");
16713
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
16714
+ }
15840
16715
  if (object.uninterpretedOption) {
15841
16716
  if (!Array.isArray(object.uninterpretedOption))
15842
16717
  throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");
@@ -15876,6 +16751,7 @@
15876
16751
  object.deprecated = false;
15877
16752
  object.mapEntry = false;
15878
16753
  object.deprecatedLegacyJsonFieldConflicts = false;
16754
+ object.features = null;
15879
16755
  object[".google.api.resource"] = null;
15880
16756
  }
15881
16757
  if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
@@ -15888,6 +16764,8 @@
15888
16764
  object.mapEntry = message.mapEntry;
15889
16765
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
15890
16766
  object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
16767
+ if (message.features != null && message.hasOwnProperty("features"))
16768
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
15891
16769
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
15892
16770
  object.uninterpretedOption = [];
15893
16771
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -15942,7 +16820,9 @@
15942
16820
  * @property {boolean|null} [weak] FieldOptions weak
15943
16821
  * @property {boolean|null} [debugRedact] FieldOptions debugRedact
15944
16822
  * @property {google.protobuf.FieldOptions.OptionRetention|null} [retention] FieldOptions retention
15945
- * @property {google.protobuf.FieldOptions.OptionTargetType|null} [target] FieldOptions target
16823
+ * @property {Array.<google.protobuf.FieldOptions.OptionTargetType>|null} [targets] FieldOptions targets
16824
+ * @property {Array.<google.protobuf.FieldOptions.IEditionDefault>|null} [editionDefaults] FieldOptions editionDefaults
16825
+ * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features
15946
16826
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] FieldOptions uninterpretedOption
15947
16827
  * @property {Array.<google.api.FieldBehavior>|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior
15948
16828
  * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference
@@ -15957,6 +16837,8 @@
15957
16837
  * @param {google.protobuf.IFieldOptions=} [properties] Properties to set
15958
16838
  */
15959
16839
  function FieldOptions(properties) {
16840
+ this.targets = [];
16841
+ this.editionDefaults = [];
15960
16842
  this.uninterpretedOption = [];
15961
16843
  this[".google.api.fieldBehavior"] = [];
15962
16844
  if (properties)
@@ -16038,12 +16920,28 @@
16038
16920
  FieldOptions.prototype.retention = 0;
16039
16921
 
16040
16922
  /**
16041
- * FieldOptions target.
16042
- * @member {google.protobuf.FieldOptions.OptionTargetType} target
16923
+ * FieldOptions targets.
16924
+ * @member {Array.<google.protobuf.FieldOptions.OptionTargetType>} targets
16925
+ * @memberof google.protobuf.FieldOptions
16926
+ * @instance
16927
+ */
16928
+ FieldOptions.prototype.targets = $util.emptyArray;
16929
+
16930
+ /**
16931
+ * FieldOptions editionDefaults.
16932
+ * @member {Array.<google.protobuf.FieldOptions.IEditionDefault>} editionDefaults
16933
+ * @memberof google.protobuf.FieldOptions
16934
+ * @instance
16935
+ */
16936
+ FieldOptions.prototype.editionDefaults = $util.emptyArray;
16937
+
16938
+ /**
16939
+ * FieldOptions features.
16940
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
16043
16941
  * @memberof google.protobuf.FieldOptions
16044
16942
  * @instance
16045
16943
  */
16046
- FieldOptions.prototype.target = 0;
16944
+ FieldOptions.prototype.features = null;
16047
16945
 
16048
16946
  /**
16049
16947
  * FieldOptions uninterpretedOption.
@@ -16111,8 +17009,14 @@
16111
17009
  writer.uint32(/* id 16, wireType 0 =*/128).bool(message.debugRedact);
16112
17010
  if (message.retention != null && Object.hasOwnProperty.call(message, "retention"))
16113
17011
  writer.uint32(/* id 17, wireType 0 =*/136).int32(message.retention);
16114
- if (message.target != null && Object.hasOwnProperty.call(message, "target"))
16115
- writer.uint32(/* id 18, wireType 0 =*/144).int32(message.target);
17012
+ if (message.targets != null && message.targets.length)
17013
+ for (var i = 0; i < message.targets.length; ++i)
17014
+ writer.uint32(/* id 19, wireType 0 =*/152).int32(message.targets[i]);
17015
+ if (message.editionDefaults != null && message.editionDefaults.length)
17016
+ for (var i = 0; i < message.editionDefaults.length; ++i)
17017
+ $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
17018
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
17019
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
16116
17020
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
16117
17021
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
16118
17022
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -16194,14 +17098,31 @@
16194
17098
  message.retention = reader.int32();
16195
17099
  break;
16196
17100
  }
16197
- case 18: {
16198
- message.target = reader.int32();
17101
+ case 19: {
17102
+ if (!(message.targets && message.targets.length))
17103
+ message.targets = [];
17104
+ if ((tag & 7) === 2) {
17105
+ var end2 = reader.uint32() + reader.pos;
17106
+ while (reader.pos < end2)
17107
+ message.targets.push(reader.int32());
17108
+ } else
17109
+ message.targets.push(reader.int32());
16199
17110
  break;
16200
17111
  }
16201
- case 999: {
16202
- if (!(message.uninterpretedOption && message.uninterpretedOption.length))
16203
- message.uninterpretedOption = [];
16204
- message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
17112
+ case 20: {
17113
+ if (!(message.editionDefaults && message.editionDefaults.length))
17114
+ message.editionDefaults = [];
17115
+ message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32()));
17116
+ break;
17117
+ }
17118
+ case 21: {
17119
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
17120
+ break;
17121
+ }
17122
+ case 999: {
17123
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
17124
+ message.uninterpretedOption = [];
17125
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
16205
17126
  break;
16206
17127
  }
16207
17128
  case 1052: {
@@ -16299,22 +17220,40 @@
16299
17220
  case 2:
16300
17221
  break;
16301
17222
  }
16302
- if (message.target != null && message.hasOwnProperty("target"))
16303
- switch (message.target) {
16304
- default:
16305
- return "target: enum value expected";
16306
- case 0:
16307
- case 1:
16308
- case 2:
16309
- case 3:
16310
- case 4:
16311
- case 5:
16312
- case 6:
16313
- case 7:
16314
- case 8:
16315
- case 9:
16316
- break;
17223
+ if (message.targets != null && message.hasOwnProperty("targets")) {
17224
+ if (!Array.isArray(message.targets))
17225
+ return "targets: array expected";
17226
+ for (var i = 0; i < message.targets.length; ++i)
17227
+ switch (message.targets[i]) {
17228
+ default:
17229
+ return "targets: enum value[] expected";
17230
+ case 0:
17231
+ case 1:
17232
+ case 2:
17233
+ case 3:
17234
+ case 4:
17235
+ case 5:
17236
+ case 6:
17237
+ case 7:
17238
+ case 8:
17239
+ case 9:
17240
+ break;
17241
+ }
17242
+ }
17243
+ if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) {
17244
+ if (!Array.isArray(message.editionDefaults))
17245
+ return "editionDefaults: array expected";
17246
+ for (var i = 0; i < message.editionDefaults.length; ++i) {
17247
+ var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]);
17248
+ if (error)
17249
+ return "editionDefaults." + error;
16317
17250
  }
17251
+ }
17252
+ if (message.features != null && message.hasOwnProperty("features")) {
17253
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
17254
+ if (error)
17255
+ return "features." + error;
17256
+ }
16318
17257
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
16319
17258
  if (!Array.isArray(message.uninterpretedOption))
16320
17259
  return "uninterpretedOption: array expected";
@@ -16339,6 +17278,7 @@
16339
17278
  case 5:
16340
17279
  case 6:
16341
17280
  case 7:
17281
+ case 8:
16342
17282
  break;
16343
17283
  }
16344
17284
  }
@@ -16434,53 +17374,73 @@
16434
17374
  message.retention = 2;
16435
17375
  break;
16436
17376
  }
16437
- switch (object.target) {
16438
- default:
16439
- if (typeof object.target === "number") {
16440
- message.target = object.target;
16441
- break;
17377
+ if (object.targets) {
17378
+ if (!Array.isArray(object.targets))
17379
+ throw TypeError(".google.protobuf.FieldOptions.targets: array expected");
17380
+ message.targets = [];
17381
+ for (var i = 0; i < object.targets.length; ++i)
17382
+ switch (object.targets[i]) {
17383
+ default:
17384
+ if (typeof object.targets[i] === "number") {
17385
+ message.targets[i] = object.targets[i];
17386
+ break;
17387
+ }
17388
+ case "TARGET_TYPE_UNKNOWN":
17389
+ case 0:
17390
+ message.targets[i] = 0;
17391
+ break;
17392
+ case "TARGET_TYPE_FILE":
17393
+ case 1:
17394
+ message.targets[i] = 1;
17395
+ break;
17396
+ case "TARGET_TYPE_EXTENSION_RANGE":
17397
+ case 2:
17398
+ message.targets[i] = 2;
17399
+ break;
17400
+ case "TARGET_TYPE_MESSAGE":
17401
+ case 3:
17402
+ message.targets[i] = 3;
17403
+ break;
17404
+ case "TARGET_TYPE_FIELD":
17405
+ case 4:
17406
+ message.targets[i] = 4;
17407
+ break;
17408
+ case "TARGET_TYPE_ONEOF":
17409
+ case 5:
17410
+ message.targets[i] = 5;
17411
+ break;
17412
+ case "TARGET_TYPE_ENUM":
17413
+ case 6:
17414
+ message.targets[i] = 6;
17415
+ break;
17416
+ case "TARGET_TYPE_ENUM_ENTRY":
17417
+ case 7:
17418
+ message.targets[i] = 7;
17419
+ break;
17420
+ case "TARGET_TYPE_SERVICE":
17421
+ case 8:
17422
+ message.targets[i] = 8;
17423
+ break;
17424
+ case "TARGET_TYPE_METHOD":
17425
+ case 9:
17426
+ message.targets[i] = 9;
17427
+ break;
17428
+ }
17429
+ }
17430
+ if (object.editionDefaults) {
17431
+ if (!Array.isArray(object.editionDefaults))
17432
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected");
17433
+ message.editionDefaults = [];
17434
+ for (var i = 0; i < object.editionDefaults.length; ++i) {
17435
+ if (typeof object.editionDefaults[i] !== "object")
17436
+ throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");
17437
+ message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]);
16442
17438
  }
16443
- break;
16444
- case "TARGET_TYPE_UNKNOWN":
16445
- case 0:
16446
- message.target = 0;
16447
- break;
16448
- case "TARGET_TYPE_FILE":
16449
- case 1:
16450
- message.target = 1;
16451
- break;
16452
- case "TARGET_TYPE_EXTENSION_RANGE":
16453
- case 2:
16454
- message.target = 2;
16455
- break;
16456
- case "TARGET_TYPE_MESSAGE":
16457
- case 3:
16458
- message.target = 3;
16459
- break;
16460
- case "TARGET_TYPE_FIELD":
16461
- case 4:
16462
- message.target = 4;
16463
- break;
16464
- case "TARGET_TYPE_ONEOF":
16465
- case 5:
16466
- message.target = 5;
16467
- break;
16468
- case "TARGET_TYPE_ENUM":
16469
- case 6:
16470
- message.target = 6;
16471
- break;
16472
- case "TARGET_TYPE_ENUM_ENTRY":
16473
- case 7:
16474
- message.target = 7;
16475
- break;
16476
- case "TARGET_TYPE_SERVICE":
16477
- case 8:
16478
- message.target = 8;
16479
- break;
16480
- case "TARGET_TYPE_METHOD":
16481
- case 9:
16482
- message.target = 9;
16483
- break;
17439
+ }
17440
+ if (object.features != null) {
17441
+ if (typeof object.features !== "object")
17442
+ throw TypeError(".google.protobuf.FieldOptions.features: object expected");
17443
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
16484
17444
  }
16485
17445
  if (object.uninterpretedOption) {
16486
17446
  if (!Array.isArray(object.uninterpretedOption))
@@ -16535,6 +17495,10 @@
16535
17495
  case 7:
16536
17496
  message[".google.api.fieldBehavior"][i] = 7;
16537
17497
  break;
17498
+ case "IDENTIFIER":
17499
+ case 8:
17500
+ message[".google.api.fieldBehavior"][i] = 8;
17501
+ break;
16538
17502
  }
16539
17503
  }
16540
17504
  if (object[".google.api.resourceReference"] != null) {
@@ -16559,6 +17523,8 @@
16559
17523
  options = {};
16560
17524
  var object = {};
16561
17525
  if (options.arrays || options.defaults) {
17526
+ object.targets = [];
17527
+ object.editionDefaults = [];
16562
17528
  object.uninterpretedOption = [];
16563
17529
  object[".google.api.fieldBehavior"] = [];
16564
17530
  }
@@ -16572,7 +17538,7 @@
16572
17538
  object.unverifiedLazy = false;
16573
17539
  object.debugRedact = false;
16574
17540
  object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0;
16575
- object.target = options.enums === String ? "TARGET_TYPE_UNKNOWN" : 0;
17541
+ object.features = null;
16576
17542
  object[".google.api.resourceReference"] = null;
16577
17543
  }
16578
17544
  if (message.ctype != null && message.hasOwnProperty("ctype"))
@@ -16593,8 +17559,18 @@
16593
17559
  object.debugRedact = message.debugRedact;
16594
17560
  if (message.retention != null && message.hasOwnProperty("retention"))
16595
17561
  object.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === undefined ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention;
16596
- if (message.target != null && message.hasOwnProperty("target"))
16597
- object.target = options.enums === String ? $root.google.protobuf.FieldOptions.OptionTargetType[message.target] === undefined ? message.target : $root.google.protobuf.FieldOptions.OptionTargetType[message.target] : message.target;
17562
+ if (message.targets && message.targets.length) {
17563
+ object.targets = [];
17564
+ for (var j = 0; j < message.targets.length; ++j)
17565
+ 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];
17566
+ }
17567
+ if (message.editionDefaults && message.editionDefaults.length) {
17568
+ object.editionDefaults = [];
17569
+ for (var j = 0; j < message.editionDefaults.length; ++j)
17570
+ object.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options);
17571
+ }
17572
+ if (message.features != null && message.hasOwnProperty("features"))
17573
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
16598
17574
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
16599
17575
  object.uninterpretedOption = [];
16600
17576
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -16714,6 +17690,297 @@
16714
17690
  return values;
16715
17691
  })();
16716
17692
 
17693
+ FieldOptions.EditionDefault = (function() {
17694
+
17695
+ /**
17696
+ * Properties of an EditionDefault.
17697
+ * @memberof google.protobuf.FieldOptions
17698
+ * @interface IEditionDefault
17699
+ * @property {google.protobuf.Edition|null} [edition] EditionDefault edition
17700
+ * @property {string|null} [value] EditionDefault value
17701
+ */
17702
+
17703
+ /**
17704
+ * Constructs a new EditionDefault.
17705
+ * @memberof google.protobuf.FieldOptions
17706
+ * @classdesc Represents an EditionDefault.
17707
+ * @implements IEditionDefault
17708
+ * @constructor
17709
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
17710
+ */
17711
+ function EditionDefault(properties) {
17712
+ if (properties)
17713
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17714
+ if (properties[keys[i]] != null)
17715
+ this[keys[i]] = properties[keys[i]];
17716
+ }
17717
+
17718
+ /**
17719
+ * EditionDefault edition.
17720
+ * @member {google.protobuf.Edition} edition
17721
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17722
+ * @instance
17723
+ */
17724
+ EditionDefault.prototype.edition = 0;
17725
+
17726
+ /**
17727
+ * EditionDefault value.
17728
+ * @member {string} value
17729
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17730
+ * @instance
17731
+ */
17732
+ EditionDefault.prototype.value = "";
17733
+
17734
+ /**
17735
+ * Creates a new EditionDefault instance using the specified properties.
17736
+ * @function create
17737
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17738
+ * @static
17739
+ * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set
17740
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault instance
17741
+ */
17742
+ EditionDefault.create = function create(properties) {
17743
+ return new EditionDefault(properties);
17744
+ };
17745
+
17746
+ /**
17747
+ * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
17748
+ * @function encode
17749
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17750
+ * @static
17751
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
17752
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17753
+ * @returns {$protobuf.Writer} Writer
17754
+ */
17755
+ EditionDefault.encode = function encode(message, writer) {
17756
+ if (!writer)
17757
+ writer = $Writer.create();
17758
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
17759
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.value);
17760
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
17761
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition);
17762
+ return writer;
17763
+ };
17764
+
17765
+ /**
17766
+ * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages.
17767
+ * @function encodeDelimited
17768
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17769
+ * @static
17770
+ * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode
17771
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17772
+ * @returns {$protobuf.Writer} Writer
17773
+ */
17774
+ EditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
17775
+ return this.encode(message, writer).ldelim();
17776
+ };
17777
+
17778
+ /**
17779
+ * Decodes an EditionDefault message from the specified reader or buffer.
17780
+ * @function decode
17781
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17782
+ * @static
17783
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17784
+ * @param {number} [length] Message length if known beforehand
17785
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
17786
+ * @throws {Error} If the payload is not a reader or valid buffer
17787
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17788
+ */
17789
+ EditionDefault.decode = function decode(reader, length) {
17790
+ if (!(reader instanceof $Reader))
17791
+ reader = $Reader.create(reader);
17792
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault();
17793
+ while (reader.pos < end) {
17794
+ var tag = reader.uint32();
17795
+ switch (tag >>> 3) {
17796
+ case 3: {
17797
+ message.edition = reader.int32();
17798
+ break;
17799
+ }
17800
+ case 2: {
17801
+ message.value = reader.string();
17802
+ break;
17803
+ }
17804
+ default:
17805
+ reader.skipType(tag & 7);
17806
+ break;
17807
+ }
17808
+ }
17809
+ return message;
17810
+ };
17811
+
17812
+ /**
17813
+ * Decodes an EditionDefault message from the specified reader or buffer, length delimited.
17814
+ * @function decodeDelimited
17815
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17816
+ * @static
17817
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17818
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
17819
+ * @throws {Error} If the payload is not a reader or valid buffer
17820
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17821
+ */
17822
+ EditionDefault.decodeDelimited = function decodeDelimited(reader) {
17823
+ if (!(reader instanceof $Reader))
17824
+ reader = new $Reader(reader);
17825
+ return this.decode(reader, reader.uint32());
17826
+ };
17827
+
17828
+ /**
17829
+ * Verifies an EditionDefault message.
17830
+ * @function verify
17831
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17832
+ * @static
17833
+ * @param {Object.<string,*>} message Plain object to verify
17834
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
17835
+ */
17836
+ EditionDefault.verify = function verify(message) {
17837
+ if (typeof message !== "object" || message === null)
17838
+ return "object expected";
17839
+ if (message.edition != null && message.hasOwnProperty("edition"))
17840
+ switch (message.edition) {
17841
+ default:
17842
+ return "edition: enum value expected";
17843
+ case 0:
17844
+ case 998:
17845
+ case 999:
17846
+ case 1000:
17847
+ case 1001:
17848
+ case 1:
17849
+ case 2:
17850
+ case 99997:
17851
+ case 99998:
17852
+ case 99999:
17853
+ case 2147483647:
17854
+ break;
17855
+ }
17856
+ if (message.value != null && message.hasOwnProperty("value"))
17857
+ if (!$util.isString(message.value))
17858
+ return "value: string expected";
17859
+ return null;
17860
+ };
17861
+
17862
+ /**
17863
+ * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types.
17864
+ * @function fromObject
17865
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17866
+ * @static
17867
+ * @param {Object.<string,*>} object Plain object
17868
+ * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
17869
+ */
17870
+ EditionDefault.fromObject = function fromObject(object) {
17871
+ if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault)
17872
+ return object;
17873
+ var message = new $root.google.protobuf.FieldOptions.EditionDefault();
17874
+ switch (object.edition) {
17875
+ default:
17876
+ if (typeof object.edition === "number") {
17877
+ message.edition = object.edition;
17878
+ break;
17879
+ }
17880
+ break;
17881
+ case "EDITION_UNKNOWN":
17882
+ case 0:
17883
+ message.edition = 0;
17884
+ break;
17885
+ case "EDITION_PROTO2":
17886
+ case 998:
17887
+ message.edition = 998;
17888
+ break;
17889
+ case "EDITION_PROTO3":
17890
+ case 999:
17891
+ message.edition = 999;
17892
+ break;
17893
+ case "EDITION_2023":
17894
+ case 1000:
17895
+ message.edition = 1000;
17896
+ break;
17897
+ case "EDITION_2024":
17898
+ case 1001:
17899
+ message.edition = 1001;
17900
+ break;
17901
+ case "EDITION_1_TEST_ONLY":
17902
+ case 1:
17903
+ message.edition = 1;
17904
+ break;
17905
+ case "EDITION_2_TEST_ONLY":
17906
+ case 2:
17907
+ message.edition = 2;
17908
+ break;
17909
+ case "EDITION_99997_TEST_ONLY":
17910
+ case 99997:
17911
+ message.edition = 99997;
17912
+ break;
17913
+ case "EDITION_99998_TEST_ONLY":
17914
+ case 99998:
17915
+ message.edition = 99998;
17916
+ break;
17917
+ case "EDITION_99999_TEST_ONLY":
17918
+ case 99999:
17919
+ message.edition = 99999;
17920
+ break;
17921
+ case "EDITION_MAX":
17922
+ case 2147483647:
17923
+ message.edition = 2147483647;
17924
+ break;
17925
+ }
17926
+ if (object.value != null)
17927
+ message.value = String(object.value);
17928
+ return message;
17929
+ };
17930
+
17931
+ /**
17932
+ * Creates a plain object from an EditionDefault message. Also converts values to other types if specified.
17933
+ * @function toObject
17934
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17935
+ * @static
17936
+ * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault
17937
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
17938
+ * @returns {Object.<string,*>} Plain object
17939
+ */
17940
+ EditionDefault.toObject = function toObject(message, options) {
17941
+ if (!options)
17942
+ options = {};
17943
+ var object = {};
17944
+ if (options.defaults) {
17945
+ object.value = "";
17946
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
17947
+ }
17948
+ if (message.value != null && message.hasOwnProperty("value"))
17949
+ object.value = message.value;
17950
+ if (message.edition != null && message.hasOwnProperty("edition"))
17951
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
17952
+ return object;
17953
+ };
17954
+
17955
+ /**
17956
+ * Converts this EditionDefault to JSON.
17957
+ * @function toJSON
17958
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17959
+ * @instance
17960
+ * @returns {Object.<string,*>} JSON object
17961
+ */
17962
+ EditionDefault.prototype.toJSON = function toJSON() {
17963
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17964
+ };
17965
+
17966
+ /**
17967
+ * Gets the default type url for EditionDefault
17968
+ * @function getTypeUrl
17969
+ * @memberof google.protobuf.FieldOptions.EditionDefault
17970
+ * @static
17971
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
17972
+ * @returns {string} The default type url
17973
+ */
17974
+ EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17975
+ if (typeUrlPrefix === undefined) {
17976
+ typeUrlPrefix = "type.googleapis.com";
17977
+ }
17978
+ return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault";
17979
+ };
17980
+
17981
+ return EditionDefault;
17982
+ })();
17983
+
16717
17984
  return FieldOptions;
16718
17985
  })();
16719
17986
 
@@ -16723,6 +17990,7 @@
16723
17990
  * Properties of an OneofOptions.
16724
17991
  * @memberof google.protobuf
16725
17992
  * @interface IOneofOptions
17993
+ * @property {google.protobuf.IFeatureSet|null} [features] OneofOptions features
16726
17994
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] OneofOptions uninterpretedOption
16727
17995
  */
16728
17996
 
@@ -16743,15 +18011,23 @@
16743
18011
  }
16744
18012
 
16745
18013
  /**
16746
- * OneofOptions uninterpretedOption.
16747
- * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
18014
+ * OneofOptions features.
18015
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
16748
18016
  * @memberof google.protobuf.OneofOptions
16749
18017
  * @instance
16750
18018
  */
16751
- OneofOptions.prototype.uninterpretedOption = $util.emptyArray;
18019
+ OneofOptions.prototype.features = null;
16752
18020
 
16753
18021
  /**
16754
- * Creates a new OneofOptions instance using the specified properties.
18022
+ * OneofOptions uninterpretedOption.
18023
+ * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
18024
+ * @memberof google.protobuf.OneofOptions
18025
+ * @instance
18026
+ */
18027
+ OneofOptions.prototype.uninterpretedOption = $util.emptyArray;
18028
+
18029
+ /**
18030
+ * Creates a new OneofOptions instance using the specified properties.
16755
18031
  * @function create
16756
18032
  * @memberof google.protobuf.OneofOptions
16757
18033
  * @static
@@ -16774,6 +18050,8 @@
16774
18050
  OneofOptions.encode = function encode(message, writer) {
16775
18051
  if (!writer)
16776
18052
  writer = $Writer.create();
18053
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
18054
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
16777
18055
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
16778
18056
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
16779
18057
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -16811,6 +18089,10 @@
16811
18089
  while (reader.pos < end) {
16812
18090
  var tag = reader.uint32();
16813
18091
  switch (tag >>> 3) {
18092
+ case 1: {
18093
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
18094
+ break;
18095
+ }
16814
18096
  case 999: {
16815
18097
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
16816
18098
  message.uninterpretedOption = [];
@@ -16852,6 +18134,11 @@
16852
18134
  OneofOptions.verify = function verify(message) {
16853
18135
  if (typeof message !== "object" || message === null)
16854
18136
  return "object expected";
18137
+ if (message.features != null && message.hasOwnProperty("features")) {
18138
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
18139
+ if (error)
18140
+ return "features." + error;
18141
+ }
16855
18142
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
16856
18143
  if (!Array.isArray(message.uninterpretedOption))
16857
18144
  return "uninterpretedOption: array expected";
@@ -16876,6 +18163,11 @@
16876
18163
  if (object instanceof $root.google.protobuf.OneofOptions)
16877
18164
  return object;
16878
18165
  var message = new $root.google.protobuf.OneofOptions();
18166
+ if (object.features != null) {
18167
+ if (typeof object.features !== "object")
18168
+ throw TypeError(".google.protobuf.OneofOptions.features: object expected");
18169
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
18170
+ }
16879
18171
  if (object.uninterpretedOption) {
16880
18172
  if (!Array.isArray(object.uninterpretedOption))
16881
18173
  throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");
@@ -16904,6 +18196,10 @@
16904
18196
  var object = {};
16905
18197
  if (options.arrays || options.defaults)
16906
18198
  object.uninterpretedOption = [];
18199
+ if (options.defaults)
18200
+ object.features = null;
18201
+ if (message.features != null && message.hasOwnProperty("features"))
18202
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
16907
18203
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
16908
18204
  object.uninterpretedOption = [];
16909
18205
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -16950,6 +18246,7 @@
16950
18246
  * @property {boolean|null} [allowAlias] EnumOptions allowAlias
16951
18247
  * @property {boolean|null} [deprecated] EnumOptions deprecated
16952
18248
  * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] EnumOptions deprecatedLegacyJsonFieldConflicts
18249
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumOptions features
16953
18250
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] EnumOptions uninterpretedOption
16954
18251
  */
16955
18252
 
@@ -16993,6 +18290,14 @@
16993
18290
  */
16994
18291
  EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false;
16995
18292
 
18293
+ /**
18294
+ * EnumOptions features.
18295
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
18296
+ * @memberof google.protobuf.EnumOptions
18297
+ * @instance
18298
+ */
18299
+ EnumOptions.prototype.features = null;
18300
+
16996
18301
  /**
16997
18302
  * EnumOptions uninterpretedOption.
16998
18303
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -17031,6 +18336,8 @@
17031
18336
  writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated);
17032
18337
  if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts"))
17033
18338
  writer.uint32(/* id 6, wireType 0 =*/48).bool(message.deprecatedLegacyJsonFieldConflicts);
18339
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
18340
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
17034
18341
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
17035
18342
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
17036
18343
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -17080,6 +18387,10 @@
17080
18387
  message.deprecatedLegacyJsonFieldConflicts = reader.bool();
17081
18388
  break;
17082
18389
  }
18390
+ case 7: {
18391
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
18392
+ break;
18393
+ }
17083
18394
  case 999: {
17084
18395
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
17085
18396
  message.uninterpretedOption = [];
@@ -17130,6 +18441,11 @@
17130
18441
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
17131
18442
  if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
17132
18443
  return "deprecatedLegacyJsonFieldConflicts: boolean expected";
18444
+ if (message.features != null && message.hasOwnProperty("features")) {
18445
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
18446
+ if (error)
18447
+ return "features." + error;
18448
+ }
17133
18449
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
17134
18450
  if (!Array.isArray(message.uninterpretedOption))
17135
18451
  return "uninterpretedOption: array expected";
@@ -17160,6 +18476,11 @@
17160
18476
  message.deprecated = Boolean(object.deprecated);
17161
18477
  if (object.deprecatedLegacyJsonFieldConflicts != null)
17162
18478
  message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts);
18479
+ if (object.features != null) {
18480
+ if (typeof object.features !== "object")
18481
+ throw TypeError(".google.protobuf.EnumOptions.features: object expected");
18482
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
18483
+ }
17163
18484
  if (object.uninterpretedOption) {
17164
18485
  if (!Array.isArray(object.uninterpretedOption))
17165
18486
  throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");
@@ -17192,6 +18513,7 @@
17192
18513
  object.allowAlias = false;
17193
18514
  object.deprecated = false;
17194
18515
  object.deprecatedLegacyJsonFieldConflicts = false;
18516
+ object.features = null;
17195
18517
  }
17196
18518
  if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
17197
18519
  object.allowAlias = message.allowAlias;
@@ -17199,6 +18521,8 @@
17199
18521
  object.deprecated = message.deprecated;
17200
18522
  if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))
17201
18523
  object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts;
18524
+ if (message.features != null && message.hasOwnProperty("features"))
18525
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
17202
18526
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
17203
18527
  object.uninterpretedOption = [];
17204
18528
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -17243,6 +18567,8 @@
17243
18567
  * @memberof google.protobuf
17244
18568
  * @interface IEnumValueOptions
17245
18569
  * @property {boolean|null} [deprecated] EnumValueOptions deprecated
18570
+ * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features
18571
+ * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact
17246
18572
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] EnumValueOptions uninterpretedOption
17247
18573
  */
17248
18574
 
@@ -17270,6 +18596,22 @@
17270
18596
  */
17271
18597
  EnumValueOptions.prototype.deprecated = false;
17272
18598
 
18599
+ /**
18600
+ * EnumValueOptions features.
18601
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
18602
+ * @memberof google.protobuf.EnumValueOptions
18603
+ * @instance
18604
+ */
18605
+ EnumValueOptions.prototype.features = null;
18606
+
18607
+ /**
18608
+ * EnumValueOptions debugRedact.
18609
+ * @member {boolean} debugRedact
18610
+ * @memberof google.protobuf.EnumValueOptions
18611
+ * @instance
18612
+ */
18613
+ EnumValueOptions.prototype.debugRedact = false;
18614
+
17273
18615
  /**
17274
18616
  * EnumValueOptions uninterpretedOption.
17275
18617
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -17304,6 +18646,10 @@
17304
18646
  writer = $Writer.create();
17305
18647
  if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
17306
18648
  writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated);
18649
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
18650
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
18651
+ if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
18652
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact);
17307
18653
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
17308
18654
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
17309
18655
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -17345,6 +18691,14 @@
17345
18691
  message.deprecated = reader.bool();
17346
18692
  break;
17347
18693
  }
18694
+ case 2: {
18695
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
18696
+ break;
18697
+ }
18698
+ case 3: {
18699
+ message.debugRedact = reader.bool();
18700
+ break;
18701
+ }
17348
18702
  case 999: {
17349
18703
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
17350
18704
  message.uninterpretedOption = [];
@@ -17389,6 +18743,14 @@
17389
18743
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
17390
18744
  if (typeof message.deprecated !== "boolean")
17391
18745
  return "deprecated: boolean expected";
18746
+ if (message.features != null && message.hasOwnProperty("features")) {
18747
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
18748
+ if (error)
18749
+ return "features." + error;
18750
+ }
18751
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
18752
+ if (typeof message.debugRedact !== "boolean")
18753
+ return "debugRedact: boolean expected";
17392
18754
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
17393
18755
  if (!Array.isArray(message.uninterpretedOption))
17394
18756
  return "uninterpretedOption: array expected";
@@ -17415,6 +18777,13 @@
17415
18777
  var message = new $root.google.protobuf.EnumValueOptions();
17416
18778
  if (object.deprecated != null)
17417
18779
  message.deprecated = Boolean(object.deprecated);
18780
+ if (object.features != null) {
18781
+ if (typeof object.features !== "object")
18782
+ throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");
18783
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
18784
+ }
18785
+ if (object.debugRedact != null)
18786
+ message.debugRedact = Boolean(object.debugRedact);
17418
18787
  if (object.uninterpretedOption) {
17419
18788
  if (!Array.isArray(object.uninterpretedOption))
17420
18789
  throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
@@ -17443,10 +18812,17 @@
17443
18812
  var object = {};
17444
18813
  if (options.arrays || options.defaults)
17445
18814
  object.uninterpretedOption = [];
17446
- if (options.defaults)
18815
+ if (options.defaults) {
17447
18816
  object.deprecated = false;
18817
+ object.features = null;
18818
+ object.debugRedact = false;
18819
+ }
17448
18820
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
17449
18821
  object.deprecated = message.deprecated;
18822
+ if (message.features != null && message.hasOwnProperty("features"))
18823
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
18824
+ if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
18825
+ object.debugRedact = message.debugRedact;
17450
18826
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
17451
18827
  object.uninterpretedOption = [];
17452
18828
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -17490,6 +18866,7 @@
17490
18866
  * Properties of a ServiceOptions.
17491
18867
  * @memberof google.protobuf
17492
18868
  * @interface IServiceOptions
18869
+ * @property {google.protobuf.IFeatureSet|null} [features] ServiceOptions features
17493
18870
  * @property {boolean|null} [deprecated] ServiceOptions deprecated
17494
18871
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] ServiceOptions uninterpretedOption
17495
18872
  * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost
@@ -17512,6 +18889,14 @@
17512
18889
  this[keys[i]] = properties[keys[i]];
17513
18890
  }
17514
18891
 
18892
+ /**
18893
+ * ServiceOptions features.
18894
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
18895
+ * @memberof google.protobuf.ServiceOptions
18896
+ * @instance
18897
+ */
18898
+ ServiceOptions.prototype.features = null;
18899
+
17515
18900
  /**
17516
18901
  * ServiceOptions deprecated.
17517
18902
  * @member {boolean} deprecated
@@ -17570,6 +18955,8 @@
17570
18955
  writer = $Writer.create();
17571
18956
  if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated"))
17572
18957
  writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
18958
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
18959
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim();
17573
18960
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
17574
18961
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
17575
18962
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -17611,6 +18998,10 @@
17611
18998
  while (reader.pos < end) {
17612
18999
  var tag = reader.uint32();
17613
19000
  switch (tag >>> 3) {
19001
+ case 34: {
19002
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
19003
+ break;
19004
+ }
17614
19005
  case 33: {
17615
19006
  message.deprecated = reader.bool();
17616
19007
  break;
@@ -17664,6 +19055,11 @@
17664
19055
  ServiceOptions.verify = function verify(message) {
17665
19056
  if (typeof message !== "object" || message === null)
17666
19057
  return "object expected";
19058
+ if (message.features != null && message.hasOwnProperty("features")) {
19059
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
19060
+ if (error)
19061
+ return "features." + error;
19062
+ }
17667
19063
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
17668
19064
  if (typeof message.deprecated !== "boolean")
17669
19065
  return "deprecated: boolean expected";
@@ -17697,6 +19093,11 @@
17697
19093
  if (object instanceof $root.google.protobuf.ServiceOptions)
17698
19094
  return object;
17699
19095
  var message = new $root.google.protobuf.ServiceOptions();
19096
+ if (object.features != null) {
19097
+ if (typeof object.features !== "object")
19098
+ throw TypeError(".google.protobuf.ServiceOptions.features: object expected");
19099
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
19100
+ }
17700
19101
  if (object.deprecated != null)
17701
19102
  message.deprecated = Boolean(object.deprecated);
17702
19103
  if (object.uninterpretedOption) {
@@ -17733,11 +19134,14 @@
17733
19134
  object.uninterpretedOption = [];
17734
19135
  if (options.defaults) {
17735
19136
  object.deprecated = false;
19137
+ object.features = null;
17736
19138
  object[".google.api.defaultHost"] = "";
17737
19139
  object[".google.api.oauthScopes"] = "";
17738
19140
  }
17739
19141
  if (message.deprecated != null && message.hasOwnProperty("deprecated"))
17740
19142
  object.deprecated = message.deprecated;
19143
+ if (message.features != null && message.hasOwnProperty("features"))
19144
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
17741
19145
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
17742
19146
  object.uninterpretedOption = [];
17743
19147
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -17787,6 +19191,7 @@
17787
19191
  * @interface IMethodOptions
17788
19192
  * @property {boolean|null} [deprecated] MethodOptions deprecated
17789
19193
  * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel
19194
+ * @property {google.protobuf.IFeatureSet|null} [features] MethodOptions features
17790
19195
  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] MethodOptions uninterpretedOption
17791
19196
  * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http
17792
19197
  * @property {Array.<string>|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature
@@ -17826,6 +19231,14 @@
17826
19231
  */
17827
19232
  MethodOptions.prototype.idempotencyLevel = 0;
17828
19233
 
19234
+ /**
19235
+ * MethodOptions features.
19236
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
19237
+ * @memberof google.protobuf.MethodOptions
19238
+ * @instance
19239
+ */
19240
+ MethodOptions.prototype.features = null;
19241
+
17829
19242
  /**
17830
19243
  * MethodOptions uninterpretedOption.
17831
19244
  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -17886,6 +19299,8 @@
17886
19299
  writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated);
17887
19300
  if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel"))
17888
19301
  writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel);
19302
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
19303
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim();
17889
19304
  if (message.uninterpretedOption != null && message.uninterpretedOption.length)
17890
19305
  for (var i = 0; i < message.uninterpretedOption.length; ++i)
17891
19306
  $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -17938,6 +19353,10 @@
17938
19353
  message.idempotencyLevel = reader.int32();
17939
19354
  break;
17940
19355
  }
19356
+ case 35: {
19357
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
19358
+ break;
19359
+ }
17941
19360
  case 999: {
17942
19361
  if (!(message.uninterpretedOption && message.uninterpretedOption.length))
17943
19362
  message.uninterpretedOption = [];
@@ -18005,6 +19424,11 @@
18005
19424
  case 2:
18006
19425
  break;
18007
19426
  }
19427
+ if (message.features != null && message.hasOwnProperty("features")) {
19428
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
19429
+ if (error)
19430
+ return "features." + error;
19431
+ }
18008
19432
  if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
18009
19433
  if (!Array.isArray(message.uninterpretedOption))
18010
19434
  return "uninterpretedOption: array expected";
@@ -18068,6 +19492,11 @@
18068
19492
  message.idempotencyLevel = 2;
18069
19493
  break;
18070
19494
  }
19495
+ if (object.features != null) {
19496
+ if (typeof object.features !== "object")
19497
+ throw TypeError(".google.protobuf.MethodOptions.features: object expected");
19498
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
19499
+ }
18071
19500
  if (object.uninterpretedOption) {
18072
19501
  if (!Array.isArray(object.uninterpretedOption))
18073
19502
  throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");
@@ -18118,6 +19547,7 @@
18118
19547
  if (options.defaults) {
18119
19548
  object.deprecated = false;
18120
19549
  object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0;
19550
+ object.features = null;
18121
19551
  object[".google.longrunning.operationInfo"] = null;
18122
19552
  object[".google.api.http"] = null;
18123
19553
  }
@@ -18125,6 +19555,8 @@
18125
19555
  object.deprecated = message.deprecated;
18126
19556
  if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel"))
18127
19557
  object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel;
19558
+ if (message.features != null && message.hasOwnProperty("features"))
19559
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
18128
19560
  if (message.uninterpretedOption && message.uninterpretedOption.length) {
18129
19561
  object.uninterpretedOption = [];
18130
19562
  for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -18815,6 +20247,1268 @@
18815
20247
  return UninterpretedOption;
18816
20248
  })();
18817
20249
 
20250
+ protobuf.FeatureSet = (function() {
20251
+
20252
+ /**
20253
+ * Properties of a FeatureSet.
20254
+ * @memberof google.protobuf
20255
+ * @interface IFeatureSet
20256
+ * @property {google.protobuf.FeatureSet.FieldPresence|null} [fieldPresence] FeatureSet fieldPresence
20257
+ * @property {google.protobuf.FeatureSet.EnumType|null} [enumType] FeatureSet enumType
20258
+ * @property {google.protobuf.FeatureSet.RepeatedFieldEncoding|null} [repeatedFieldEncoding] FeatureSet repeatedFieldEncoding
20259
+ * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation
20260
+ * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding
20261
+ * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat
20262
+ */
20263
+
20264
+ /**
20265
+ * Constructs a new FeatureSet.
20266
+ * @memberof google.protobuf
20267
+ * @classdesc Represents a FeatureSet.
20268
+ * @implements IFeatureSet
20269
+ * @constructor
20270
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
20271
+ */
20272
+ function FeatureSet(properties) {
20273
+ if (properties)
20274
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
20275
+ if (properties[keys[i]] != null)
20276
+ this[keys[i]] = properties[keys[i]];
20277
+ }
20278
+
20279
+ /**
20280
+ * FeatureSet fieldPresence.
20281
+ * @member {google.protobuf.FeatureSet.FieldPresence} fieldPresence
20282
+ * @memberof google.protobuf.FeatureSet
20283
+ * @instance
20284
+ */
20285
+ FeatureSet.prototype.fieldPresence = 0;
20286
+
20287
+ /**
20288
+ * FeatureSet enumType.
20289
+ * @member {google.protobuf.FeatureSet.EnumType} enumType
20290
+ * @memberof google.protobuf.FeatureSet
20291
+ * @instance
20292
+ */
20293
+ FeatureSet.prototype.enumType = 0;
20294
+
20295
+ /**
20296
+ * FeatureSet repeatedFieldEncoding.
20297
+ * @member {google.protobuf.FeatureSet.RepeatedFieldEncoding} repeatedFieldEncoding
20298
+ * @memberof google.protobuf.FeatureSet
20299
+ * @instance
20300
+ */
20301
+ FeatureSet.prototype.repeatedFieldEncoding = 0;
20302
+
20303
+ /**
20304
+ * FeatureSet utf8Validation.
20305
+ * @member {google.protobuf.FeatureSet.Utf8Validation} utf8Validation
20306
+ * @memberof google.protobuf.FeatureSet
20307
+ * @instance
20308
+ */
20309
+ FeatureSet.prototype.utf8Validation = 0;
20310
+
20311
+ /**
20312
+ * FeatureSet messageEncoding.
20313
+ * @member {google.protobuf.FeatureSet.MessageEncoding} messageEncoding
20314
+ * @memberof google.protobuf.FeatureSet
20315
+ * @instance
20316
+ */
20317
+ FeatureSet.prototype.messageEncoding = 0;
20318
+
20319
+ /**
20320
+ * FeatureSet jsonFormat.
20321
+ * @member {google.protobuf.FeatureSet.JsonFormat} jsonFormat
20322
+ * @memberof google.protobuf.FeatureSet
20323
+ * @instance
20324
+ */
20325
+ FeatureSet.prototype.jsonFormat = 0;
20326
+
20327
+ /**
20328
+ * Creates a new FeatureSet instance using the specified properties.
20329
+ * @function create
20330
+ * @memberof google.protobuf.FeatureSet
20331
+ * @static
20332
+ * @param {google.protobuf.IFeatureSet=} [properties] Properties to set
20333
+ * @returns {google.protobuf.FeatureSet} FeatureSet instance
20334
+ */
20335
+ FeatureSet.create = function create(properties) {
20336
+ return new FeatureSet(properties);
20337
+ };
20338
+
20339
+ /**
20340
+ * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
20341
+ * @function encode
20342
+ * @memberof google.protobuf.FeatureSet
20343
+ * @static
20344
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
20345
+ * @param {$protobuf.Writer} [writer] Writer to encode to
20346
+ * @returns {$protobuf.Writer} Writer
20347
+ */
20348
+ FeatureSet.encode = function encode(message, writer) {
20349
+ if (!writer)
20350
+ writer = $Writer.create();
20351
+ if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence"))
20352
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.fieldPresence);
20353
+ if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType"))
20354
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.enumType);
20355
+ if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding"))
20356
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.repeatedFieldEncoding);
20357
+ if (message.utf8Validation != null && Object.hasOwnProperty.call(message, "utf8Validation"))
20358
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.utf8Validation);
20359
+ if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding"))
20360
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding);
20361
+ if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat"))
20362
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat);
20363
+ return writer;
20364
+ };
20365
+
20366
+ /**
20367
+ * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages.
20368
+ * @function encodeDelimited
20369
+ * @memberof google.protobuf.FeatureSet
20370
+ * @static
20371
+ * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode
20372
+ * @param {$protobuf.Writer} [writer] Writer to encode to
20373
+ * @returns {$protobuf.Writer} Writer
20374
+ */
20375
+ FeatureSet.encodeDelimited = function encodeDelimited(message, writer) {
20376
+ return this.encode(message, writer).ldelim();
20377
+ };
20378
+
20379
+ /**
20380
+ * Decodes a FeatureSet message from the specified reader or buffer.
20381
+ * @function decode
20382
+ * @memberof google.protobuf.FeatureSet
20383
+ * @static
20384
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
20385
+ * @param {number} [length] Message length if known beforehand
20386
+ * @returns {google.protobuf.FeatureSet} FeatureSet
20387
+ * @throws {Error} If the payload is not a reader or valid buffer
20388
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
20389
+ */
20390
+ FeatureSet.decode = function decode(reader, length) {
20391
+ if (!(reader instanceof $Reader))
20392
+ reader = $Reader.create(reader);
20393
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet();
20394
+ while (reader.pos < end) {
20395
+ var tag = reader.uint32();
20396
+ switch (tag >>> 3) {
20397
+ case 1: {
20398
+ message.fieldPresence = reader.int32();
20399
+ break;
20400
+ }
20401
+ case 2: {
20402
+ message.enumType = reader.int32();
20403
+ break;
20404
+ }
20405
+ case 3: {
20406
+ message.repeatedFieldEncoding = reader.int32();
20407
+ break;
20408
+ }
20409
+ case 4: {
20410
+ message.utf8Validation = reader.int32();
20411
+ break;
20412
+ }
20413
+ case 5: {
20414
+ message.messageEncoding = reader.int32();
20415
+ break;
20416
+ }
20417
+ case 6: {
20418
+ message.jsonFormat = reader.int32();
20419
+ break;
20420
+ }
20421
+ default:
20422
+ reader.skipType(tag & 7);
20423
+ break;
20424
+ }
20425
+ }
20426
+ return message;
20427
+ };
20428
+
20429
+ /**
20430
+ * Decodes a FeatureSet message from the specified reader or buffer, length delimited.
20431
+ * @function decodeDelimited
20432
+ * @memberof google.protobuf.FeatureSet
20433
+ * @static
20434
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
20435
+ * @returns {google.protobuf.FeatureSet} FeatureSet
20436
+ * @throws {Error} If the payload is not a reader or valid buffer
20437
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
20438
+ */
20439
+ FeatureSet.decodeDelimited = function decodeDelimited(reader) {
20440
+ if (!(reader instanceof $Reader))
20441
+ reader = new $Reader(reader);
20442
+ return this.decode(reader, reader.uint32());
20443
+ };
20444
+
20445
+ /**
20446
+ * Verifies a FeatureSet message.
20447
+ * @function verify
20448
+ * @memberof google.protobuf.FeatureSet
20449
+ * @static
20450
+ * @param {Object.<string,*>} message Plain object to verify
20451
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
20452
+ */
20453
+ FeatureSet.verify = function verify(message) {
20454
+ if (typeof message !== "object" || message === null)
20455
+ return "object expected";
20456
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
20457
+ switch (message.fieldPresence) {
20458
+ default:
20459
+ return "fieldPresence: enum value expected";
20460
+ case 0:
20461
+ case 1:
20462
+ case 2:
20463
+ case 3:
20464
+ break;
20465
+ }
20466
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
20467
+ switch (message.enumType) {
20468
+ default:
20469
+ return "enumType: enum value expected";
20470
+ case 0:
20471
+ case 1:
20472
+ case 2:
20473
+ break;
20474
+ }
20475
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
20476
+ switch (message.repeatedFieldEncoding) {
20477
+ default:
20478
+ return "repeatedFieldEncoding: enum value expected";
20479
+ case 0:
20480
+ case 1:
20481
+ case 2:
20482
+ break;
20483
+ }
20484
+ if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
20485
+ switch (message.utf8Validation) {
20486
+ default:
20487
+ return "utf8Validation: enum value expected";
20488
+ case 0:
20489
+ case 2:
20490
+ case 3:
20491
+ break;
20492
+ }
20493
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
20494
+ switch (message.messageEncoding) {
20495
+ default:
20496
+ return "messageEncoding: enum value expected";
20497
+ case 0:
20498
+ case 1:
20499
+ case 2:
20500
+ break;
20501
+ }
20502
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
20503
+ switch (message.jsonFormat) {
20504
+ default:
20505
+ return "jsonFormat: enum value expected";
20506
+ case 0:
20507
+ case 1:
20508
+ case 2:
20509
+ break;
20510
+ }
20511
+ return null;
20512
+ };
20513
+
20514
+ /**
20515
+ * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types.
20516
+ * @function fromObject
20517
+ * @memberof google.protobuf.FeatureSet
20518
+ * @static
20519
+ * @param {Object.<string,*>} object Plain object
20520
+ * @returns {google.protobuf.FeatureSet} FeatureSet
20521
+ */
20522
+ FeatureSet.fromObject = function fromObject(object) {
20523
+ if (object instanceof $root.google.protobuf.FeatureSet)
20524
+ return object;
20525
+ var message = new $root.google.protobuf.FeatureSet();
20526
+ switch (object.fieldPresence) {
20527
+ default:
20528
+ if (typeof object.fieldPresence === "number") {
20529
+ message.fieldPresence = object.fieldPresence;
20530
+ break;
20531
+ }
20532
+ break;
20533
+ case "FIELD_PRESENCE_UNKNOWN":
20534
+ case 0:
20535
+ message.fieldPresence = 0;
20536
+ break;
20537
+ case "EXPLICIT":
20538
+ case 1:
20539
+ message.fieldPresence = 1;
20540
+ break;
20541
+ case "IMPLICIT":
20542
+ case 2:
20543
+ message.fieldPresence = 2;
20544
+ break;
20545
+ case "LEGACY_REQUIRED":
20546
+ case 3:
20547
+ message.fieldPresence = 3;
20548
+ break;
20549
+ }
20550
+ switch (object.enumType) {
20551
+ default:
20552
+ if (typeof object.enumType === "number") {
20553
+ message.enumType = object.enumType;
20554
+ break;
20555
+ }
20556
+ break;
20557
+ case "ENUM_TYPE_UNKNOWN":
20558
+ case 0:
20559
+ message.enumType = 0;
20560
+ break;
20561
+ case "OPEN":
20562
+ case 1:
20563
+ message.enumType = 1;
20564
+ break;
20565
+ case "CLOSED":
20566
+ case 2:
20567
+ message.enumType = 2;
20568
+ break;
20569
+ }
20570
+ switch (object.repeatedFieldEncoding) {
20571
+ default:
20572
+ if (typeof object.repeatedFieldEncoding === "number") {
20573
+ message.repeatedFieldEncoding = object.repeatedFieldEncoding;
20574
+ break;
20575
+ }
20576
+ break;
20577
+ case "REPEATED_FIELD_ENCODING_UNKNOWN":
20578
+ case 0:
20579
+ message.repeatedFieldEncoding = 0;
20580
+ break;
20581
+ case "PACKED":
20582
+ case 1:
20583
+ message.repeatedFieldEncoding = 1;
20584
+ break;
20585
+ case "EXPANDED":
20586
+ case 2:
20587
+ message.repeatedFieldEncoding = 2;
20588
+ break;
20589
+ }
20590
+ switch (object.utf8Validation) {
20591
+ default:
20592
+ if (typeof object.utf8Validation === "number") {
20593
+ message.utf8Validation = object.utf8Validation;
20594
+ break;
20595
+ }
20596
+ break;
20597
+ case "UTF8_VALIDATION_UNKNOWN":
20598
+ case 0:
20599
+ message.utf8Validation = 0;
20600
+ break;
20601
+ case "VERIFY":
20602
+ case 2:
20603
+ message.utf8Validation = 2;
20604
+ break;
20605
+ case "NONE":
20606
+ case 3:
20607
+ message.utf8Validation = 3;
20608
+ break;
20609
+ }
20610
+ switch (object.messageEncoding) {
20611
+ default:
20612
+ if (typeof object.messageEncoding === "number") {
20613
+ message.messageEncoding = object.messageEncoding;
20614
+ break;
20615
+ }
20616
+ break;
20617
+ case "MESSAGE_ENCODING_UNKNOWN":
20618
+ case 0:
20619
+ message.messageEncoding = 0;
20620
+ break;
20621
+ case "LENGTH_PREFIXED":
20622
+ case 1:
20623
+ message.messageEncoding = 1;
20624
+ break;
20625
+ case "DELIMITED":
20626
+ case 2:
20627
+ message.messageEncoding = 2;
20628
+ break;
20629
+ }
20630
+ switch (object.jsonFormat) {
20631
+ default:
20632
+ if (typeof object.jsonFormat === "number") {
20633
+ message.jsonFormat = object.jsonFormat;
20634
+ break;
20635
+ }
20636
+ break;
20637
+ case "JSON_FORMAT_UNKNOWN":
20638
+ case 0:
20639
+ message.jsonFormat = 0;
20640
+ break;
20641
+ case "ALLOW":
20642
+ case 1:
20643
+ message.jsonFormat = 1;
20644
+ break;
20645
+ case "LEGACY_BEST_EFFORT":
20646
+ case 2:
20647
+ message.jsonFormat = 2;
20648
+ break;
20649
+ }
20650
+ return message;
20651
+ };
20652
+
20653
+ /**
20654
+ * Creates a plain object from a FeatureSet message. Also converts values to other types if specified.
20655
+ * @function toObject
20656
+ * @memberof google.protobuf.FeatureSet
20657
+ * @static
20658
+ * @param {google.protobuf.FeatureSet} message FeatureSet
20659
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
20660
+ * @returns {Object.<string,*>} Plain object
20661
+ */
20662
+ FeatureSet.toObject = function toObject(message, options) {
20663
+ if (!options)
20664
+ options = {};
20665
+ var object = {};
20666
+ if (options.defaults) {
20667
+ object.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0;
20668
+ object.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0;
20669
+ object.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0;
20670
+ object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0;
20671
+ object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0;
20672
+ object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0;
20673
+ }
20674
+ if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
20675
+ object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence;
20676
+ if (message.enumType != null && message.hasOwnProperty("enumType"))
20677
+ object.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === undefined ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType;
20678
+ if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding"))
20679
+ object.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === undefined ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding;
20680
+ if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation"))
20681
+ object.utf8Validation = options.enums === String ? $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] === undefined ? message.utf8Validation : $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] : message.utf8Validation;
20682
+ if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding"))
20683
+ object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding;
20684
+ if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
20685
+ object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat;
20686
+ return object;
20687
+ };
20688
+
20689
+ /**
20690
+ * Converts this FeatureSet to JSON.
20691
+ * @function toJSON
20692
+ * @memberof google.protobuf.FeatureSet
20693
+ * @instance
20694
+ * @returns {Object.<string,*>} JSON object
20695
+ */
20696
+ FeatureSet.prototype.toJSON = function toJSON() {
20697
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
20698
+ };
20699
+
20700
+ /**
20701
+ * Gets the default type url for FeatureSet
20702
+ * @function getTypeUrl
20703
+ * @memberof google.protobuf.FeatureSet
20704
+ * @static
20705
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
20706
+ * @returns {string} The default type url
20707
+ */
20708
+ FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
20709
+ if (typeUrlPrefix === undefined) {
20710
+ typeUrlPrefix = "type.googleapis.com";
20711
+ }
20712
+ return typeUrlPrefix + "/google.protobuf.FeatureSet";
20713
+ };
20714
+
20715
+ /**
20716
+ * FieldPresence enum.
20717
+ * @name google.protobuf.FeatureSet.FieldPresence
20718
+ * @enum {number}
20719
+ * @property {number} FIELD_PRESENCE_UNKNOWN=0 FIELD_PRESENCE_UNKNOWN value
20720
+ * @property {number} EXPLICIT=1 EXPLICIT value
20721
+ * @property {number} IMPLICIT=2 IMPLICIT value
20722
+ * @property {number} LEGACY_REQUIRED=3 LEGACY_REQUIRED value
20723
+ */
20724
+ FeatureSet.FieldPresence = (function() {
20725
+ var valuesById = {}, values = Object.create(valuesById);
20726
+ values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0;
20727
+ values[valuesById[1] = "EXPLICIT"] = 1;
20728
+ values[valuesById[2] = "IMPLICIT"] = 2;
20729
+ values[valuesById[3] = "LEGACY_REQUIRED"] = 3;
20730
+ return values;
20731
+ })();
20732
+
20733
+ /**
20734
+ * EnumType enum.
20735
+ * @name google.protobuf.FeatureSet.EnumType
20736
+ * @enum {number}
20737
+ * @property {number} ENUM_TYPE_UNKNOWN=0 ENUM_TYPE_UNKNOWN value
20738
+ * @property {number} OPEN=1 OPEN value
20739
+ * @property {number} CLOSED=2 CLOSED value
20740
+ */
20741
+ FeatureSet.EnumType = (function() {
20742
+ var valuesById = {}, values = Object.create(valuesById);
20743
+ values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0;
20744
+ values[valuesById[1] = "OPEN"] = 1;
20745
+ values[valuesById[2] = "CLOSED"] = 2;
20746
+ return values;
20747
+ })();
20748
+
20749
+ /**
20750
+ * RepeatedFieldEncoding enum.
20751
+ * @name google.protobuf.FeatureSet.RepeatedFieldEncoding
20752
+ * @enum {number}
20753
+ * @property {number} REPEATED_FIELD_ENCODING_UNKNOWN=0 REPEATED_FIELD_ENCODING_UNKNOWN value
20754
+ * @property {number} PACKED=1 PACKED value
20755
+ * @property {number} EXPANDED=2 EXPANDED value
20756
+ */
20757
+ FeatureSet.RepeatedFieldEncoding = (function() {
20758
+ var valuesById = {}, values = Object.create(valuesById);
20759
+ values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0;
20760
+ values[valuesById[1] = "PACKED"] = 1;
20761
+ values[valuesById[2] = "EXPANDED"] = 2;
20762
+ return values;
20763
+ })();
20764
+
20765
+ /**
20766
+ * Utf8Validation enum.
20767
+ * @name google.protobuf.FeatureSet.Utf8Validation
20768
+ * @enum {number}
20769
+ * @property {number} UTF8_VALIDATION_UNKNOWN=0 UTF8_VALIDATION_UNKNOWN value
20770
+ * @property {number} VERIFY=2 VERIFY value
20771
+ * @property {number} NONE=3 NONE value
20772
+ */
20773
+ FeatureSet.Utf8Validation = (function() {
20774
+ var valuesById = {}, values = Object.create(valuesById);
20775
+ values[valuesById[0] = "UTF8_VALIDATION_UNKNOWN"] = 0;
20776
+ values[valuesById[2] = "VERIFY"] = 2;
20777
+ values[valuesById[3] = "NONE"] = 3;
20778
+ return values;
20779
+ })();
20780
+
20781
+ /**
20782
+ * MessageEncoding enum.
20783
+ * @name google.protobuf.FeatureSet.MessageEncoding
20784
+ * @enum {number}
20785
+ * @property {number} MESSAGE_ENCODING_UNKNOWN=0 MESSAGE_ENCODING_UNKNOWN value
20786
+ * @property {number} LENGTH_PREFIXED=1 LENGTH_PREFIXED value
20787
+ * @property {number} DELIMITED=2 DELIMITED value
20788
+ */
20789
+ FeatureSet.MessageEncoding = (function() {
20790
+ var valuesById = {}, values = Object.create(valuesById);
20791
+ values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0;
20792
+ values[valuesById[1] = "LENGTH_PREFIXED"] = 1;
20793
+ values[valuesById[2] = "DELIMITED"] = 2;
20794
+ return values;
20795
+ })();
20796
+
20797
+ /**
20798
+ * JsonFormat enum.
20799
+ * @name google.protobuf.FeatureSet.JsonFormat
20800
+ * @enum {number}
20801
+ * @property {number} JSON_FORMAT_UNKNOWN=0 JSON_FORMAT_UNKNOWN value
20802
+ * @property {number} ALLOW=1 ALLOW value
20803
+ * @property {number} LEGACY_BEST_EFFORT=2 LEGACY_BEST_EFFORT value
20804
+ */
20805
+ FeatureSet.JsonFormat = (function() {
20806
+ var valuesById = {}, values = Object.create(valuesById);
20807
+ values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0;
20808
+ values[valuesById[1] = "ALLOW"] = 1;
20809
+ values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2;
20810
+ return values;
20811
+ })();
20812
+
20813
+ return FeatureSet;
20814
+ })();
20815
+
20816
+ protobuf.FeatureSetDefaults = (function() {
20817
+
20818
+ /**
20819
+ * Properties of a FeatureSetDefaults.
20820
+ * @memberof google.protobuf
20821
+ * @interface IFeatureSetDefaults
20822
+ * @property {Array.<google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault>|null} [defaults] FeatureSetDefaults defaults
20823
+ * @property {google.protobuf.Edition|null} [minimumEdition] FeatureSetDefaults minimumEdition
20824
+ * @property {google.protobuf.Edition|null} [maximumEdition] FeatureSetDefaults maximumEdition
20825
+ */
20826
+
20827
+ /**
20828
+ * Constructs a new FeatureSetDefaults.
20829
+ * @memberof google.protobuf
20830
+ * @classdesc Represents a FeatureSetDefaults.
20831
+ * @implements IFeatureSetDefaults
20832
+ * @constructor
20833
+ * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set
20834
+ */
20835
+ function FeatureSetDefaults(properties) {
20836
+ this.defaults = [];
20837
+ if (properties)
20838
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
20839
+ if (properties[keys[i]] != null)
20840
+ this[keys[i]] = properties[keys[i]];
20841
+ }
20842
+
20843
+ /**
20844
+ * FeatureSetDefaults defaults.
20845
+ * @member {Array.<google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault>} defaults
20846
+ * @memberof google.protobuf.FeatureSetDefaults
20847
+ * @instance
20848
+ */
20849
+ FeatureSetDefaults.prototype.defaults = $util.emptyArray;
20850
+
20851
+ /**
20852
+ * FeatureSetDefaults minimumEdition.
20853
+ * @member {google.protobuf.Edition} minimumEdition
20854
+ * @memberof google.protobuf.FeatureSetDefaults
20855
+ * @instance
20856
+ */
20857
+ FeatureSetDefaults.prototype.minimumEdition = 0;
20858
+
20859
+ /**
20860
+ * FeatureSetDefaults maximumEdition.
20861
+ * @member {google.protobuf.Edition} maximumEdition
20862
+ * @memberof google.protobuf.FeatureSetDefaults
20863
+ * @instance
20864
+ */
20865
+ FeatureSetDefaults.prototype.maximumEdition = 0;
20866
+
20867
+ /**
20868
+ * Creates a new FeatureSetDefaults instance using the specified properties.
20869
+ * @function create
20870
+ * @memberof google.protobuf.FeatureSetDefaults
20871
+ * @static
20872
+ * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set
20873
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults instance
20874
+ */
20875
+ FeatureSetDefaults.create = function create(properties) {
20876
+ return new FeatureSetDefaults(properties);
20877
+ };
20878
+
20879
+ /**
20880
+ * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
20881
+ * @function encode
20882
+ * @memberof google.protobuf.FeatureSetDefaults
20883
+ * @static
20884
+ * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode
20885
+ * @param {$protobuf.Writer} [writer] Writer to encode to
20886
+ * @returns {$protobuf.Writer} Writer
20887
+ */
20888
+ FeatureSetDefaults.encode = function encode(message, writer) {
20889
+ if (!writer)
20890
+ writer = $Writer.create();
20891
+ if (message.defaults != null && message.defaults.length)
20892
+ for (var i = 0; i < message.defaults.length; ++i)
20893
+ $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
20894
+ if (message.minimumEdition != null && Object.hasOwnProperty.call(message, "minimumEdition"))
20895
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minimumEdition);
20896
+ if (message.maximumEdition != null && Object.hasOwnProperty.call(message, "maximumEdition"))
20897
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.maximumEdition);
20898
+ return writer;
20899
+ };
20900
+
20901
+ /**
20902
+ * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages.
20903
+ * @function encodeDelimited
20904
+ * @memberof google.protobuf.FeatureSetDefaults
20905
+ * @static
20906
+ * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode
20907
+ * @param {$protobuf.Writer} [writer] Writer to encode to
20908
+ * @returns {$protobuf.Writer} Writer
20909
+ */
20910
+ FeatureSetDefaults.encodeDelimited = function encodeDelimited(message, writer) {
20911
+ return this.encode(message, writer).ldelim();
20912
+ };
20913
+
20914
+ /**
20915
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer.
20916
+ * @function decode
20917
+ * @memberof google.protobuf.FeatureSetDefaults
20918
+ * @static
20919
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
20920
+ * @param {number} [length] Message length if known beforehand
20921
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
20922
+ * @throws {Error} If the payload is not a reader or valid buffer
20923
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
20924
+ */
20925
+ FeatureSetDefaults.decode = function decode(reader, length) {
20926
+ if (!(reader instanceof $Reader))
20927
+ reader = $Reader.create(reader);
20928
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults();
20929
+ while (reader.pos < end) {
20930
+ var tag = reader.uint32();
20931
+ switch (tag >>> 3) {
20932
+ case 1: {
20933
+ if (!(message.defaults && message.defaults.length))
20934
+ message.defaults = [];
20935
+ message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32()));
20936
+ break;
20937
+ }
20938
+ case 4: {
20939
+ message.minimumEdition = reader.int32();
20940
+ break;
20941
+ }
20942
+ case 5: {
20943
+ message.maximumEdition = reader.int32();
20944
+ break;
20945
+ }
20946
+ default:
20947
+ reader.skipType(tag & 7);
20948
+ break;
20949
+ }
20950
+ }
20951
+ return message;
20952
+ };
20953
+
20954
+ /**
20955
+ * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited.
20956
+ * @function decodeDelimited
20957
+ * @memberof google.protobuf.FeatureSetDefaults
20958
+ * @static
20959
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
20960
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
20961
+ * @throws {Error} If the payload is not a reader or valid buffer
20962
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
20963
+ */
20964
+ FeatureSetDefaults.decodeDelimited = function decodeDelimited(reader) {
20965
+ if (!(reader instanceof $Reader))
20966
+ reader = new $Reader(reader);
20967
+ return this.decode(reader, reader.uint32());
20968
+ };
20969
+
20970
+ /**
20971
+ * Verifies a FeatureSetDefaults message.
20972
+ * @function verify
20973
+ * @memberof google.protobuf.FeatureSetDefaults
20974
+ * @static
20975
+ * @param {Object.<string,*>} message Plain object to verify
20976
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
20977
+ */
20978
+ FeatureSetDefaults.verify = function verify(message) {
20979
+ if (typeof message !== "object" || message === null)
20980
+ return "object expected";
20981
+ if (message.defaults != null && message.hasOwnProperty("defaults")) {
20982
+ if (!Array.isArray(message.defaults))
20983
+ return "defaults: array expected";
20984
+ for (var i = 0; i < message.defaults.length; ++i) {
20985
+ var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]);
20986
+ if (error)
20987
+ return "defaults." + error;
20988
+ }
20989
+ }
20990
+ if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
20991
+ switch (message.minimumEdition) {
20992
+ default:
20993
+ return "minimumEdition: enum value expected";
20994
+ case 0:
20995
+ case 998:
20996
+ case 999:
20997
+ case 1000:
20998
+ case 1001:
20999
+ case 1:
21000
+ case 2:
21001
+ case 99997:
21002
+ case 99998:
21003
+ case 99999:
21004
+ case 2147483647:
21005
+ break;
21006
+ }
21007
+ if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
21008
+ switch (message.maximumEdition) {
21009
+ default:
21010
+ return "maximumEdition: enum value expected";
21011
+ case 0:
21012
+ case 998:
21013
+ case 999:
21014
+ case 1000:
21015
+ case 1001:
21016
+ case 1:
21017
+ case 2:
21018
+ case 99997:
21019
+ case 99998:
21020
+ case 99999:
21021
+ case 2147483647:
21022
+ break;
21023
+ }
21024
+ return null;
21025
+ };
21026
+
21027
+ /**
21028
+ * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types.
21029
+ * @function fromObject
21030
+ * @memberof google.protobuf.FeatureSetDefaults
21031
+ * @static
21032
+ * @param {Object.<string,*>} object Plain object
21033
+ * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
21034
+ */
21035
+ FeatureSetDefaults.fromObject = function fromObject(object) {
21036
+ if (object instanceof $root.google.protobuf.FeatureSetDefaults)
21037
+ return object;
21038
+ var message = new $root.google.protobuf.FeatureSetDefaults();
21039
+ if (object.defaults) {
21040
+ if (!Array.isArray(object.defaults))
21041
+ throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");
21042
+ message.defaults = [];
21043
+ for (var i = 0; i < object.defaults.length; ++i) {
21044
+ if (typeof object.defaults[i] !== "object")
21045
+ throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");
21046
+ message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]);
21047
+ }
21048
+ }
21049
+ switch (object.minimumEdition) {
21050
+ default:
21051
+ if (typeof object.minimumEdition === "number") {
21052
+ message.minimumEdition = object.minimumEdition;
21053
+ break;
21054
+ }
21055
+ break;
21056
+ case "EDITION_UNKNOWN":
21057
+ case 0:
21058
+ message.minimumEdition = 0;
21059
+ break;
21060
+ case "EDITION_PROTO2":
21061
+ case 998:
21062
+ message.minimumEdition = 998;
21063
+ break;
21064
+ case "EDITION_PROTO3":
21065
+ case 999:
21066
+ message.minimumEdition = 999;
21067
+ break;
21068
+ case "EDITION_2023":
21069
+ case 1000:
21070
+ message.minimumEdition = 1000;
21071
+ break;
21072
+ case "EDITION_2024":
21073
+ case 1001:
21074
+ message.minimumEdition = 1001;
21075
+ break;
21076
+ case "EDITION_1_TEST_ONLY":
21077
+ case 1:
21078
+ message.minimumEdition = 1;
21079
+ break;
21080
+ case "EDITION_2_TEST_ONLY":
21081
+ case 2:
21082
+ message.minimumEdition = 2;
21083
+ break;
21084
+ case "EDITION_99997_TEST_ONLY":
21085
+ case 99997:
21086
+ message.minimumEdition = 99997;
21087
+ break;
21088
+ case "EDITION_99998_TEST_ONLY":
21089
+ case 99998:
21090
+ message.minimumEdition = 99998;
21091
+ break;
21092
+ case "EDITION_99999_TEST_ONLY":
21093
+ case 99999:
21094
+ message.minimumEdition = 99999;
21095
+ break;
21096
+ case "EDITION_MAX":
21097
+ case 2147483647:
21098
+ message.minimumEdition = 2147483647;
21099
+ break;
21100
+ }
21101
+ switch (object.maximumEdition) {
21102
+ default:
21103
+ if (typeof object.maximumEdition === "number") {
21104
+ message.maximumEdition = object.maximumEdition;
21105
+ break;
21106
+ }
21107
+ break;
21108
+ case "EDITION_UNKNOWN":
21109
+ case 0:
21110
+ message.maximumEdition = 0;
21111
+ break;
21112
+ case "EDITION_PROTO2":
21113
+ case 998:
21114
+ message.maximumEdition = 998;
21115
+ break;
21116
+ case "EDITION_PROTO3":
21117
+ case 999:
21118
+ message.maximumEdition = 999;
21119
+ break;
21120
+ case "EDITION_2023":
21121
+ case 1000:
21122
+ message.maximumEdition = 1000;
21123
+ break;
21124
+ case "EDITION_2024":
21125
+ case 1001:
21126
+ message.maximumEdition = 1001;
21127
+ break;
21128
+ case "EDITION_1_TEST_ONLY":
21129
+ case 1:
21130
+ message.maximumEdition = 1;
21131
+ break;
21132
+ case "EDITION_2_TEST_ONLY":
21133
+ case 2:
21134
+ message.maximumEdition = 2;
21135
+ break;
21136
+ case "EDITION_99997_TEST_ONLY":
21137
+ case 99997:
21138
+ message.maximumEdition = 99997;
21139
+ break;
21140
+ case "EDITION_99998_TEST_ONLY":
21141
+ case 99998:
21142
+ message.maximumEdition = 99998;
21143
+ break;
21144
+ case "EDITION_99999_TEST_ONLY":
21145
+ case 99999:
21146
+ message.maximumEdition = 99999;
21147
+ break;
21148
+ case "EDITION_MAX":
21149
+ case 2147483647:
21150
+ message.maximumEdition = 2147483647;
21151
+ break;
21152
+ }
21153
+ return message;
21154
+ };
21155
+
21156
+ /**
21157
+ * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified.
21158
+ * @function toObject
21159
+ * @memberof google.protobuf.FeatureSetDefaults
21160
+ * @static
21161
+ * @param {google.protobuf.FeatureSetDefaults} message FeatureSetDefaults
21162
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
21163
+ * @returns {Object.<string,*>} Plain object
21164
+ */
21165
+ FeatureSetDefaults.toObject = function toObject(message, options) {
21166
+ if (!options)
21167
+ options = {};
21168
+ var object = {};
21169
+ if (options.arrays || options.defaults)
21170
+ object.defaults = [];
21171
+ if (options.defaults) {
21172
+ object.minimumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
21173
+ object.maximumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0;
21174
+ }
21175
+ if (message.defaults && message.defaults.length) {
21176
+ object.defaults = [];
21177
+ for (var j = 0; j < message.defaults.length; ++j)
21178
+ object.defaults[j] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j], options);
21179
+ }
21180
+ if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition"))
21181
+ object.minimumEdition = options.enums === String ? $root.google.protobuf.Edition[message.minimumEdition] === undefined ? message.minimumEdition : $root.google.protobuf.Edition[message.minimumEdition] : message.minimumEdition;
21182
+ if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition"))
21183
+ object.maximumEdition = options.enums === String ? $root.google.protobuf.Edition[message.maximumEdition] === undefined ? message.maximumEdition : $root.google.protobuf.Edition[message.maximumEdition] : message.maximumEdition;
21184
+ return object;
21185
+ };
21186
+
21187
+ /**
21188
+ * Converts this FeatureSetDefaults to JSON.
21189
+ * @function toJSON
21190
+ * @memberof google.protobuf.FeatureSetDefaults
21191
+ * @instance
21192
+ * @returns {Object.<string,*>} JSON object
21193
+ */
21194
+ FeatureSetDefaults.prototype.toJSON = function toJSON() {
21195
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
21196
+ };
21197
+
21198
+ /**
21199
+ * Gets the default type url for FeatureSetDefaults
21200
+ * @function getTypeUrl
21201
+ * @memberof google.protobuf.FeatureSetDefaults
21202
+ * @static
21203
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
21204
+ * @returns {string} The default type url
21205
+ */
21206
+ FeatureSetDefaults.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
21207
+ if (typeUrlPrefix === undefined) {
21208
+ typeUrlPrefix = "type.googleapis.com";
21209
+ }
21210
+ return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults";
21211
+ };
21212
+
21213
+ FeatureSetDefaults.FeatureSetEditionDefault = (function() {
21214
+
21215
+ /**
21216
+ * Properties of a FeatureSetEditionDefault.
21217
+ * @memberof google.protobuf.FeatureSetDefaults
21218
+ * @interface IFeatureSetEditionDefault
21219
+ * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition
21220
+ * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features
21221
+ */
21222
+
21223
+ /**
21224
+ * Constructs a new FeatureSetEditionDefault.
21225
+ * @memberof google.protobuf.FeatureSetDefaults
21226
+ * @classdesc Represents a FeatureSetEditionDefault.
21227
+ * @implements IFeatureSetEditionDefault
21228
+ * @constructor
21229
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set
21230
+ */
21231
+ function FeatureSetEditionDefault(properties) {
21232
+ if (properties)
21233
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
21234
+ if (properties[keys[i]] != null)
21235
+ this[keys[i]] = properties[keys[i]];
21236
+ }
21237
+
21238
+ /**
21239
+ * FeatureSetEditionDefault edition.
21240
+ * @member {google.protobuf.Edition} edition
21241
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21242
+ * @instance
21243
+ */
21244
+ FeatureSetEditionDefault.prototype.edition = 0;
21245
+
21246
+ /**
21247
+ * FeatureSetEditionDefault features.
21248
+ * @member {google.protobuf.IFeatureSet|null|undefined} features
21249
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21250
+ * @instance
21251
+ */
21252
+ FeatureSetEditionDefault.prototype.features = null;
21253
+
21254
+ /**
21255
+ * Creates a new FeatureSetEditionDefault instance using the specified properties.
21256
+ * @function create
21257
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21258
+ * @static
21259
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set
21260
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault instance
21261
+ */
21262
+ FeatureSetEditionDefault.create = function create(properties) {
21263
+ return new FeatureSetEditionDefault(properties);
21264
+ };
21265
+
21266
+ /**
21267
+ * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
21268
+ * @function encode
21269
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21270
+ * @static
21271
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode
21272
+ * @param {$protobuf.Writer} [writer] Writer to encode to
21273
+ * @returns {$protobuf.Writer} Writer
21274
+ */
21275
+ FeatureSetEditionDefault.encode = function encode(message, writer) {
21276
+ if (!writer)
21277
+ writer = $Writer.create();
21278
+ if (message.features != null && Object.hasOwnProperty.call(message, "features"))
21279
+ $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
21280
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
21281
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition);
21282
+ return writer;
21283
+ };
21284
+
21285
+ /**
21286
+ * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages.
21287
+ * @function encodeDelimited
21288
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21289
+ * @static
21290
+ * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode
21291
+ * @param {$protobuf.Writer} [writer] Writer to encode to
21292
+ * @returns {$protobuf.Writer} Writer
21293
+ */
21294
+ FeatureSetEditionDefault.encodeDelimited = function encodeDelimited(message, writer) {
21295
+ return this.encode(message, writer).ldelim();
21296
+ };
21297
+
21298
+ /**
21299
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer.
21300
+ * @function decode
21301
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21302
+ * @static
21303
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
21304
+ * @param {number} [length] Message length if known beforehand
21305
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
21306
+ * @throws {Error} If the payload is not a reader or valid buffer
21307
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
21308
+ */
21309
+ FeatureSetEditionDefault.decode = function decode(reader, length) {
21310
+ if (!(reader instanceof $Reader))
21311
+ reader = $Reader.create(reader);
21312
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
21313
+ while (reader.pos < end) {
21314
+ var tag = reader.uint32();
21315
+ switch (tag >>> 3) {
21316
+ case 3: {
21317
+ message.edition = reader.int32();
21318
+ break;
21319
+ }
21320
+ case 2: {
21321
+ message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
21322
+ break;
21323
+ }
21324
+ default:
21325
+ reader.skipType(tag & 7);
21326
+ break;
21327
+ }
21328
+ }
21329
+ return message;
21330
+ };
21331
+
21332
+ /**
21333
+ * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited.
21334
+ * @function decodeDelimited
21335
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21336
+ * @static
21337
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
21338
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
21339
+ * @throws {Error} If the payload is not a reader or valid buffer
21340
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
21341
+ */
21342
+ FeatureSetEditionDefault.decodeDelimited = function decodeDelimited(reader) {
21343
+ if (!(reader instanceof $Reader))
21344
+ reader = new $Reader(reader);
21345
+ return this.decode(reader, reader.uint32());
21346
+ };
21347
+
21348
+ /**
21349
+ * Verifies a FeatureSetEditionDefault message.
21350
+ * @function verify
21351
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21352
+ * @static
21353
+ * @param {Object.<string,*>} message Plain object to verify
21354
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
21355
+ */
21356
+ FeatureSetEditionDefault.verify = function verify(message) {
21357
+ if (typeof message !== "object" || message === null)
21358
+ return "object expected";
21359
+ if (message.edition != null && message.hasOwnProperty("edition"))
21360
+ switch (message.edition) {
21361
+ default:
21362
+ return "edition: enum value expected";
21363
+ case 0:
21364
+ case 998:
21365
+ case 999:
21366
+ case 1000:
21367
+ case 1001:
21368
+ case 1:
21369
+ case 2:
21370
+ case 99997:
21371
+ case 99998:
21372
+ case 99999:
21373
+ case 2147483647:
21374
+ break;
21375
+ }
21376
+ if (message.features != null && message.hasOwnProperty("features")) {
21377
+ var error = $root.google.protobuf.FeatureSet.verify(message.features);
21378
+ if (error)
21379
+ return "features." + error;
21380
+ }
21381
+ return null;
21382
+ };
21383
+
21384
+ /**
21385
+ * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types.
21386
+ * @function fromObject
21387
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21388
+ * @static
21389
+ * @param {Object.<string,*>} object Plain object
21390
+ * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
21391
+ */
21392
+ FeatureSetEditionDefault.fromObject = function fromObject(object) {
21393
+ if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
21394
+ return object;
21395
+ var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
21396
+ switch (object.edition) {
21397
+ default:
21398
+ if (typeof object.edition === "number") {
21399
+ message.edition = object.edition;
21400
+ break;
21401
+ }
21402
+ break;
21403
+ case "EDITION_UNKNOWN":
21404
+ case 0:
21405
+ message.edition = 0;
21406
+ break;
21407
+ case "EDITION_PROTO2":
21408
+ case 998:
21409
+ message.edition = 998;
21410
+ break;
21411
+ case "EDITION_PROTO3":
21412
+ case 999:
21413
+ message.edition = 999;
21414
+ break;
21415
+ case "EDITION_2023":
21416
+ case 1000:
21417
+ message.edition = 1000;
21418
+ break;
21419
+ case "EDITION_2024":
21420
+ case 1001:
21421
+ message.edition = 1001;
21422
+ break;
21423
+ case "EDITION_1_TEST_ONLY":
21424
+ case 1:
21425
+ message.edition = 1;
21426
+ break;
21427
+ case "EDITION_2_TEST_ONLY":
21428
+ case 2:
21429
+ message.edition = 2;
21430
+ break;
21431
+ case "EDITION_99997_TEST_ONLY":
21432
+ case 99997:
21433
+ message.edition = 99997;
21434
+ break;
21435
+ case "EDITION_99998_TEST_ONLY":
21436
+ case 99998:
21437
+ message.edition = 99998;
21438
+ break;
21439
+ case "EDITION_99999_TEST_ONLY":
21440
+ case 99999:
21441
+ message.edition = 99999;
21442
+ break;
21443
+ case "EDITION_MAX":
21444
+ case 2147483647:
21445
+ message.edition = 2147483647;
21446
+ break;
21447
+ }
21448
+ if (object.features != null) {
21449
+ if (typeof object.features !== "object")
21450
+ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected");
21451
+ message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
21452
+ }
21453
+ return message;
21454
+ };
21455
+
21456
+ /**
21457
+ * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified.
21458
+ * @function toObject
21459
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21460
+ * @static
21461
+ * @param {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} message FeatureSetEditionDefault
21462
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
21463
+ * @returns {Object.<string,*>} Plain object
21464
+ */
21465
+ FeatureSetEditionDefault.toObject = function toObject(message, options) {
21466
+ if (!options)
21467
+ options = {};
21468
+ var object = {};
21469
+ if (options.defaults) {
21470
+ object.features = null;
21471
+ object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
21472
+ }
21473
+ if (message.features != null && message.hasOwnProperty("features"))
21474
+ object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
21475
+ if (message.edition != null && message.hasOwnProperty("edition"))
21476
+ object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
21477
+ return object;
21478
+ };
21479
+
21480
+ /**
21481
+ * Converts this FeatureSetEditionDefault to JSON.
21482
+ * @function toJSON
21483
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21484
+ * @instance
21485
+ * @returns {Object.<string,*>} JSON object
21486
+ */
21487
+ FeatureSetEditionDefault.prototype.toJSON = function toJSON() {
21488
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
21489
+ };
21490
+
21491
+ /**
21492
+ * Gets the default type url for FeatureSetEditionDefault
21493
+ * @function getTypeUrl
21494
+ * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
21495
+ * @static
21496
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
21497
+ * @returns {string} The default type url
21498
+ */
21499
+ FeatureSetEditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
21500
+ if (typeUrlPrefix === undefined) {
21501
+ typeUrlPrefix = "type.googleapis.com";
21502
+ }
21503
+ return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
21504
+ };
21505
+
21506
+ return FeatureSetEditionDefault;
21507
+ })();
21508
+
21509
+ return FeatureSetDefaults;
21510
+ })();
21511
+
18818
21512
  protobuf.SourceCodeInfo = (function() {
18819
21513
 
18820
21514
  /**