From 6bb8ddac075619964a63ef388a46b4e140f74b6c Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Mon, 9 Dec 2024 18:07:03 +0000 Subject: [PATCH 1/2] fix!: Changed repeated flag of an existing field `gtin` in message `.google.shopping.merchant.products.v1beta.Attributes` fix!: An existing field `gtin` is moved out of oneof in message `.google.shopping.merchant.products.v1beta.Attributes` docs: A comment for message `ProductInput` is changed docs: A comment for field `name` in message `.google.shopping.merchant.products.v1beta.ProductInput` is changed docs: A comment for field `name` in message `.google.shopping.merchant.products.v1beta.DeleteProductInputRequest` is changed docs: A comment for message `Product` is changed docs: A comment for field `name` in message `.google.shopping.merchant.products.v1beta.Product` is changed docs: A comment for field `name` in message `.google.shopping.merchant.products.v1beta.GetProductRequest` is changed docs: A comment for field `page_size` in message `.google.shopping.merchant.products.v1beta.ListProductsRequest` is changed docs: A comment for field `gtin` in message `.google.shopping.merchant.products.v1beta.Attributes` is changed docs: A comment for field `tax_category` in message `.google.shopping.merchant.products.v1beta.Attributes` is changed docs: A comment for field `min_handling_time` in message `.google.shopping.merchant.products.v1beta.Shipping` is changed docs: A comment for field `max_handling_time` in message `.google.shopping.merchant.products.v1beta.Shipping` is changed docs: A comment for field `min_transit_time` in message `.google.shopping.merchant.products.v1beta.Shipping` is changed docs: A comment for field `max_transit_time` in message `.google.shopping.merchant.products.v1beta.Shipping` is changed feat: A new field `member_price_effective_date` is added to message `.google.shopping.merchant.products.v1beta.LoyaltyProgram` feat: A new field `shipping_label` is added to message `.google.shopping.merchant.products.v1beta.LoyaltyProgram` PiperOrigin-RevId: 704281512 Source-Link: https://github.com/googleapis/googleapis/commit/0f1beb9507162a4cbe3a2b1437922a6289ae5f24 Source-Link: https://github.com/googleapis/googleapis-gen/commit/5429d7d40b248ad0347e916defee17ba51164011 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LXByb2R1Y3RzLy5Pd2xCb3QueWFtbCIsImgiOiI1NDI5ZDdkNDBiMjQ4YWQwMzQ3ZTkxNmRlZmVlMTdiYTUxMTY0MDExIn0= --- .../v1beta/.eslintignore | 7 + .../v1beta/.eslintrc.json | 3 + .../v1beta/.gitignore | 14 + .../v1beta/.jsdoc.js | 55 + .../v1beta/.mocharc.js | 33 + .../v1beta/.prettierrc.js | 22 + .../v1beta/README.md | 1 + .../v1beta/package.json | 59 + .../products/v1beta/productinputs.proto | 215 + .../merchant/products/v1beta/products.proto | 200 + .../products/v1beta/products_common.proto | 846 + .../protos/google/shopping/type/types.proto | 193 + .../v1beta/protos/protos.d.ts | 11613 ++++++ .../v1beta/protos/protos.js | 32903 ++++++++++++++++ .../v1beta/protos/protos.json | 3893 ++ ...uct_inputs_service.delete_product_input.js | 73 + ...uct_inputs_service.insert_product_input.js | 75 + .../v1beta/products_service.get_product.js | 66 + .../v1beta/products_service.list_products.js | 78 + ...gle.shopping.merchant.products.v1beta.json | 195 + .../v1beta/src/index.ts | 27 + .../v1beta/src/v1beta/gapic_metadata.json | 81 + .../v1beta/src/v1beta/index.ts | 20 + .../v1beta/product_inputs_service_client.ts | 614 + .../product_inputs_service_client_config.json | 48 + .../product_inputs_service_proto_list.json | 6 + .../src/v1beta/products_service_client.ts | 735 + .../products_service_client_config.json | 48 + .../v1beta/products_service_proto_list.json | 6 + .../system-test/fixtures/sample/src/index.js | 28 + .../system-test/fixtures/sample/src/index.ts | 38 + .../v1beta/system-test/install.ts | 49 + .../gapic_product_inputs_service_v1beta.ts | 539 + .../test/gapic_products_service_v1beta.ts | 723 + .../v1beta/tsconfig.json | 19 + .../v1beta/webpack.config.js | 64 + 36 files changed, 53589 insertions(+) create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/README.md create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/package.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json create mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore b/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore new file mode 100644 index 00000000000..d4f03a0df2e --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +/.coverage +/coverage +/.nyc_output +/docs/ +/out/ +/build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js new file mode 100644 index 00000000000..dc287873ce0 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2024 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-shopping/products', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js new file mode 100644 index 00000000000..13b67c34edc --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js new file mode 100644 index 00000000000..9a8fd690982 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md b/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md new file mode 100644 index 00000000000..8a0dbf98da4 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md @@ -0,0 +1 @@ +Products: Nodejs Client diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json new file mode 100644 index 00000000000..c946be2ea8e --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json @@ -0,0 +1,59 @@ +{ + "name": "@google-shopping/products", + "version": "0.1.0", + "description": "Products client for Node.js", + "repository": "googleapis/nodejs-products", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google products", + "products", + "product inputs service", + "products service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^4.3.4" + }, + "devDependencies": { + "@types/mocha": "^10.0.6", + "@types/node": "^20.12.12", + "@types/sinon": "^10.0.20", + "c8": "^9.1.0", + "gapic-tools": "^0.4.2", + "gts": "5.3.0", + "jsdoc": "^4.0.3", + "jsdoc-fresh": "^3.0.0", + "jsdoc-region-tag": "^3.0.0", + "mocha": "^10.4.0", + "pack-n-play": "^2.0.3", + "sinon": "^15.2.0", + "typescript": "5.1.6" + }, + "engines": { + "node": ">=v14" + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto new file mode 100644 index 00000000000..53315dd6bd9 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto @@ -0,0 +1,215 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.merchant.products.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/shopping/merchant/products/v1beta/products_common.proto"; +import "google/shopping/type/types.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; +option java_multiple_files = true; +option java_outer_classname = "ProductInputsProto"; +option java_package = "com.google.shopping.merchant.products.v1beta"; + +// Service to use ProductInput resource. +// This service works for products with online channel only. +service ProductInputsService { + option (google.api.default_host) = "merchantapi.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Uploads a product input to your Merchant Center account. If an input + // with the same contentLanguage, offerId, and dataSource already exists, + // this method replaces that entry. + // + // After inserting, updating, or deleting a product input, it may take several + // minutes before the processed product can be retrieved. + rpc InsertProductInput(InsertProductInputRequest) returns (ProductInput) { + option (google.api.http) = { + post: "/products/v1beta/{parent=accounts/*}/productInputs:insert" + body: "product_input" + }; + } + + // Deletes a product input from your Merchant Center account. + // + // After inserting, updating, or deleting a product input, it may take several + // minutes before the processed product can be retrieved. + rpc DeleteProductInput(DeleteProductInputRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/products/v1beta/{name=accounts/*/productInputs/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// This resource represents input data you submit for a product, not the +// processed product that you see in Merchant Center, in Shopping ads, or across +// Google surfaces. Product inputs, rules and supplemental data source data are +// combined to create the processed +// [Product][google.shopping.merchant.products.v1beta.Product]. +// +// Required product input attributes to pass data validation checks are +// primarily defined in the [Products Data +// Specification](https://support.google.com/merchants/answer/188494). +// +// The following attributes are required: +// [feedLabel][google.shopping.merchant.products.v1beta.Product.feed_label], +// [contentLanguage][google.shopping.merchant.products.v1beta.Product.content_language] +// and [offerId][google.shopping.merchant.products.v1beta.Product.offer_id]. +// +// After inserting, updating, or deleting a product input, it may take several +// minutes before the processed product can be retrieved. +// +// All fields in the product input and its sub-messages match the English name +// of their corresponding attribute in the vertical spec with [some +// exceptions](https://support.google.com/merchants/answer/7052112). +message ProductInput { + option (google.api.resource) = { + type: "merchantapi.googleapis.com/ProductInput" + pattern: "accounts/{account}/productInputs/{productinput}" + plural: "productInputs" + singular: "productInput" + }; + + // Identifier. The name of the product input. + // Format: + // `"{productinput.name=accounts/{account}/productInputs/{productinput}}"` + // where the last section `productinput` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product input name is + // "accounts/123/productInputs/online~en~US~sku123" + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The name of the processed product. + // Format: + // `"{product.name=accounts/{account}/products/{product}}"` + string product = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The + // [channel](https://support.google.com/merchants/answer/7361332) of the + // product. + google.shopping.type.Channel.ChannelEnum channel = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. Your unique identifier for the product. This is the + // same for the product input and processed product. Leading and trailing + // whitespaces are stripped and multiple whitespaces are replaced by a single + // whitespace upon submission. See the [products data + // specification](https://support.google.com/merchants/answer/188494#id) for + // details. + string offer_id = 4 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. The two-letter [ISO + // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the + // product. + string content_language = 5 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Required. Immutable. The [feed + // label](https://developers.google.com/shopping-content/guides/products/feed-labels) + // for the product. + string feed_label = 6 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Optional. Represents the existing version (freshness) of the product, which + // can be used to preserve the right order when multiple updates are done at + // the same time. + // + // If set, the insertion is prevented when version number is lower than + // the current version number of the existing product. Re-insertion (for + // example, product refresh after 30 days) can be performed with the current + // `version_number`. + // + // Only supported for insertions into primary data sources. + // + // If the operation is prevented, the aborted exception will be + // thrown. + optional int64 version_number = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of product attributes. + Attributes attributes = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A list of custom (merchant-provided) attributes. It can also be + // used for submitting any attribute of the data specification in its generic + // form (for example, + // `{ "name": "size type", "value": "regular" }`). + // This is useful for submitting attributes not explicitly exposed by the + // API, such as additional attributes used for Buy on Google. + // Maximum allowed number of characters for each + // custom attribute is 10240 (represents sum of characters for name and + // value). Maximum 2500 custom attributes can be set per product, with total + // size of 102.4kB. Underscores in custom attribute names are replaced by + // spaces upon insertion. + repeated google.shopping.type.CustomAttribute custom_attributes = 9 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Request message for the InsertProductInput method. +message InsertProductInputRequest { + // Required. The account where this product will be inserted. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "merchantapi.googleapis.com/Product" + } + ]; + + // Required. The product input to insert. + ProductInput product_input = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The primary or supplemental product data source name. If the + // product already exists and data source provided is different, then the + // product will be moved to a new data source. Format: + // `accounts/{account}/dataSources/{datasource}`. + string data_source = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteProductInput method. +message DeleteProductInputRequest { + // Required. The name of the product input resource to delete. + // Format: accounts/{account}/productInputs/{product} + // where the last section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is + // "accounts/123/productInputs/online~en~US~sku123" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "merchantapi.googleapis.com/ProductInput" + } + ]; + + // Required. The primary or supplemental data source from which the product + // input should be deleted. Format: + // `accounts/{account}/dataSources/{datasource}`. + string data_source = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto new file mode 100644 index 00000000000..755e10ea675 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto @@ -0,0 +1,200 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.merchant.products.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/shopping/merchant/products/v1beta/products_common.proto"; +import "google/shopping/type/types.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; +option java_multiple_files = true; +option java_outer_classname = "ProductsProto"; +option java_package = "com.google.shopping.merchant.products.v1beta"; +option (google.api.resource_definition) = { + type: "merchantapi.googleapis.com/Account" + pattern: "accounts/{account}" +}; + +// Service to use Product resource. +// This service works for products with online channel only. +service ProductsService { + option (google.api.default_host) = "merchantapi.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Retrieves the processed product from your Merchant Center account. + // + // After inserting, updating, or deleting a product input, it may take several + // minutes before the updated final product can be retrieved. + rpc GetProduct(GetProductRequest) returns (Product) { + option (google.api.http) = { + get: "/products/v1beta/{name=accounts/*/products/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the processed products in your Merchant Center account. The response + // might contain fewer items than specified by pageSize. Rely on pageToken to + // determine if there are more items to be requested. + // + // After inserting, updating, or deleting a product input, it may take several + // minutes before the updated processed product can be retrieved. + rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) { + option (google.api.http) = { + get: "/products/v1beta/{parent=accounts/*}/products" + }; + option (google.api.method_signature) = "parent"; + } +} + +// The processed product, built from multiple [product +// inputs][google.shopping.merchant.products.v1main.ProductInput] +// after applying rules and supplemental data sources. This processed product +// matches what is shown in your Merchant Center account and in Shopping ads and +// other surfaces across Google. Each product is built from exactly one primary +// data source product input, and multiple supplemental data source inputs. +// After inserting, updating, or deleting a product input, it may take +// several minutes before the updated processed product can be retrieved. +// +// All fields in the processed product and its sub-messages match the name of +// their corresponding attribute in the [Product data +// specification](https://support.google.com/merchants/answer/7052112) with some +// exceptions. +message Product { + option (google.api.resource) = { + type: "merchantapi.googleapis.com/Product" + pattern: "accounts/{account}/products/{product}" + }; + + // The name of the product. + // Format: + // `"{product.name=accounts/{account}/products/{product}}"` where the last + // section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is "accounts/123/products/online~en~US~sku123" + string name = 1; + + // Output only. The + // [channel](https://support.google.com/merchants/answer/7361332) of the + // product. + google.shopping.type.Channel.ChannelEnum channel = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Your unique identifier for the product. This is the same for + // the product input and processed product. Leading and trailing whitespaces + // are stripped and multiple whitespaces are replaced by a single whitespace + // upon submission. See the [product data + // specification](https://support.google.com/merchants/answer/188494#id) for + // details. + string offer_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The two-letter [ISO + // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the + // product. + string content_language = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label for the product. + string feed_label = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The primary data source of the product. + string data_source = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Represents the existing version (freshness) of the product, + // which can be used to preserve the right order when multiple updates are + // done at the same time. + // + // If set, the insertion is prevented when version number is lower than + // the current version number of the existing product. Re-insertion (for + // example, product refresh after 30 days) can be performed with the current + // `version_number`. + // + // Only supported for insertions into primary data sources. + // + // If the operation is prevented, the aborted exception will be + // thrown. + optional int64 version_number = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of product attributes. + Attributes attributes = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of custom (merchant-provided) attributes. It can also + // be used to submit any attribute of the data specification in its generic + // form (for example, + // `{ "name": "size type", "value": "regular" }`). + // This is useful for submitting attributes not explicitly exposed by the + // API, such as additional attributes used for Buy on Google. + repeated google.shopping.type.CustomAttribute custom_attributes = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of a product, data validation issues, that is, + // information about a product computed asynchronously. + ProductStatus product_status = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for the GetProduct method. +message GetProductRequest { + // Required. The name of the product to retrieve. + // Format: `accounts/{account}/products/{product}` + // where the last section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is + // "accounts/123/products/online~en~US~sku123" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "merchantapi.googleapis.com/Product" + } + ]; +} + +// Request message for the ListProducts method. +message ListProductsRequest { + // Required. The account to list processed products for. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "merchantapi.googleapis.com/Product" + } + ]; + + // The maximum number of products to return. The service may return fewer than + // this value. + // The maximum value is 250; values above 250 will be coerced to 250. + // If unspecified, the maximum number of products will be returned. + int32 page_size = 2; + + // A page token, received from a previous `ListProducts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListProducts` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for the ListProducts method. +message ListProductsResponse { + // The processed products from the specified account. These are your processed + // products after applying rules and supplemental data sources. + repeated Product products = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto new file mode 100644 index 00000000000..a221ff1f2b1 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto @@ -0,0 +1,846 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.merchant.products.v1beta; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/type/types.proto"; +import "google/type/interval.proto"; + +option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; +option java_multiple_files = true; +option java_outer_classname = "ProductsCommonProto"; +option java_package = "com.google.shopping.merchant.products.v1beta"; + +// The subscription period of the product. +enum SubscriptionPeriod { + // Indicates that the subscription period is unspecified. + SUBSCRIPTION_PERIOD_UNSPECIFIED = 0; + + // Indicates that the subscription period is month. + MONTH = 1; + + // Indicates that the subscription period is year. + YEAR = 2; +} + +// Attributes. +message Attributes { + // Set this value to false when the item does not have unique product + // identifiers appropriate to its category, such as GTIN, MPN, and brand. + // Defaults to true, if not provided. + optional bool identifier_exists = 4; + + // Whether the item is a merchant-defined bundle. A bundle is a custom + // grouping of different products sold by a merchant for a single price. + optional bool is_bundle = 5; + + // Title of the item. + optional string title = 6; + + // Description of the item. + optional string description = 7; + + // URL directly linking to your item's page on your online store. + optional string link = 8; + + // URL for the mobile-optimized version of your item's landing page. + optional string mobile_link = 9; + + // URL for the canonical version of your item's landing page. + optional string canonical_link = 10; + + // URL of an image of the item. + optional string image_link = 11; + + // Additional URLs of images of the item. + repeated string additional_image_links = 12; + + // Date on which the item should expire, as specified upon insertion, in + // [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual + // expiration date is exposed in `productstatuses` as + // [googleExpirationDate](https://support.google.com/merchants/answer/6324499) + // and might be earlier if `expirationDate` is too far in the future. + google.protobuf.Timestamp expiration_date = 16; + + // The date time when an offer becomes visible in search results across + // Google’s YouTube surfaces, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date]( + // https://support.google.com/merchants/answer/13034208) for more information. + google.protobuf.Timestamp disclosure_date = 79; + + // Set to true if the item is targeted towards adults. + optional bool adult = 17; + + // Target [age group](https://support.google.com/merchants/answer/6324463) of + // the item. + optional string age_group = 18; + + // Availability status of the item. + optional string availability = 19; + + // The day a pre-ordered product becomes available for delivery, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp availability_date = 20; + + // Brand of the item. + optional string brand = 21; + + // Color of the item. + optional string color = 22; + + // Condition or state of the item. + optional string condition = 23; + + // Target gender of the item. + optional string gender = 24; + + // Google's category of the item (see [Google product + // taxonomy](https://support.google.com/merchants/answer/1705911)). When + // querying products, this field will contain the user provided value. There + // is currently no way to get back the auto assigned google product + // categories through the API. + optional string google_product_category = 25; + + // Global Trade Item Numbers + // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the + // item. + // You can provide up to 10 GTINs. + repeated string gtin = 26; + + // Shared identifier for all variants of the same product. + optional string item_group_id = 27; + + // The material of which the item is made. + optional string material = 28; + + // Manufacturer Part Number + // ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the + // item. + optional string mpn = 29; + + // The item's pattern (for example, polka dots). + optional string pattern = 30; + + // Price of the item. + google.shopping.type.Price price = 31; + + // Number and amount of installments to pay for an item. + Installment installment = 32; + + // Number of periods (months or years) and amount of payment per period + // for an item with an associated subscription contract. + SubscriptionCost subscription_cost = 33; + + // Loyalty points that users receive after purchasing the item. Japan only. + LoyaltyPoints loyalty_points = 34; + + // A list of loyalty program information that is used to surface loyalty + // benefits (for example, better pricing, points, etc) to the user of this + // item. + repeated LoyaltyProgram loyalty_programs = 136; + + // Categories of the item (formatted as in [product data + // specification](https://support.google.com/merchants/answer/188494#product_type)). + repeated string product_types = 35; + + // Advertised sale price of the item. + google.shopping.type.Price sale_price = 36; + + // Date range during which the item is on sale (see [product data + // specification](https://support.google.com/merchants/answer/188494#sale_price_effective_date)). + google.type.Interval sale_price_effective_date = 37; + + // The quantity of the product that is available for selling on Google. + // Supported only for online products. + optional int64 sell_on_google_quantity = 38; + + // The height of the product in the units provided. The value must be + // between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_height = 119; + + // The length of the product in the units provided. The value must be + // between 0 (exclusive) and 3000 (inclusive). + ProductDimension product_length = 120; + + // The width of the product in the units provided. The value must be between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_width = 121; + + // The weight of the product in the units provided. The value must be + // between 0 (exclusive) and 2000 (inclusive). + ProductWeight product_weight = 122; + + // Shipping rules. + repeated Shipping shipping = 39; + + // Conditions to be met for a product to have free shipping. + repeated FreeShippingThreshold free_shipping_threshold = 135; + + // Weight of the item for shipping. + ShippingWeight shipping_weight = 40; + + // Length of the item for shipping. + ShippingDimension shipping_length = 41; + + // Width of the item for shipping. + ShippingDimension shipping_width = 42; + + // Height of the item for shipping. + ShippingDimension shipping_height = 43; + + // Maximal product handling time (in business days). + optional int64 max_handling_time = 44; + + // Minimal product handling time (in business days). + optional int64 min_handling_time = 45; + + // The shipping label of the product, used to group product in account-level + // shipping rules. + optional string shipping_label = 46; + + // The transit time label of the product, used to group product in + // account-level transit time tables. + optional string transit_time_label = 47; + + // Size of the item. Only one value is allowed. For variants with different + // sizes, insert a separate product for each size with the same + // `itemGroupId` value (see + // [https://support.google.com/merchants/answer/6324492](size definition)). + optional string size = 48; + + // System in which the size is specified. Recommended for apparel items. + optional string size_system = 49; + + // The cut of the item. It can be used to represent combined size types for + // apparel items. Maximum two of size types can be provided (see + // [https://support.google.com/merchants/answer/6324497](size type)). + repeated string size_types = 50; + + // Tax information. + repeated Tax taxes = 51; + + // The tax category of the product. + optional string tax_category = 52; + + // The energy efficiency class as defined in EU directive 2010/30/EU. + optional string energy_efficiency_class = 53; + + // The energy efficiency class as defined in EU directive 2010/30/EU. + optional string min_energy_efficiency_class = 54; + + // The energy efficiency class as defined in EU directive 2010/30/EU. + optional string max_energy_efficiency_class = 55; + + // The measure and dimension of an item. + UnitPricingMeasure unit_pricing_measure = 56; + + // The preference of the denominator of the unit price. + UnitPricingBaseMeasure unit_pricing_base_measure = 57; + + // The number of identical products in a merchant-defined multipack. + optional int64 multipack = 58; + + // Used to group items in an arbitrary way. Only for CPA%, discouraged + // otherwise. + optional string ads_grouping = 59; + + // Similar to ads_grouping, but only works on CPC. + repeated string ads_labels = 60; + + // Allows advertisers to override the item URL when the product is shown + // within the context of Product ads. + optional string ads_redirect = 61; + + // Cost of goods sold. Used for gross profit reporting. + google.shopping.type.Price cost_of_goods_sold = 62; + + // Technical specification or additional product details. + repeated ProductDetail product_details = 63; + + // Bullet points describing the most relevant highlights of a product. + repeated string product_highlights = 64; + + // An identifier for an item for dynamic remarketing campaigns. + optional string display_ads_id = 65; + + // Advertiser-specified recommendations. + repeated string display_ads_similar_ids = 66; + + // Title of an item for dynamic remarketing campaigns. + optional string display_ads_title = 67; + + // URL directly to your item's landing page for dynamic remarketing + // campaigns. + optional string display_ads_link = 68; + + // Offer margin for dynamic remarketing campaigns. + optional double display_ads_value = 69; + + // The unique ID of a promotion. + repeated string promotion_ids = 70; + + // The pick up option for the item. + optional string pickup_method = 80; + + // Item store pickup timeline. + optional string pickup_sla = 81; + + // Link template for merchant hosted local storefront. + optional string link_template = 82; + + // Link template for merchant hosted local storefront optimized for mobile + // devices. + optional string mobile_link_template = 83; + + // Custom label 0 for custom grouping of items in a Shopping campaign. + optional string custom_label_0 = 71; + + // Custom label 1 for custom grouping of items in a Shopping campaign. + optional string custom_label_1 = 72; + + // Custom label 2 for custom grouping of items in a Shopping campaign. + optional string custom_label_2 = 73; + + // Custom label 3 for custom grouping of items in a Shopping campaign. + optional string custom_label_3 = 74; + + // Custom label 4 for custom grouping of items in a Shopping campaign. + optional string custom_label_4 = 75; + + // The list of destinations to include for this target (corresponds to + // checked check boxes in Merchant Center). Default destinations are always + // included unless provided in `excludedDestinations`. + repeated string included_destinations = 76; + + // The list of destinations to exclude for this target (corresponds to + // unchecked check boxes in Merchant Center). + repeated string excluded_destinations = 77; + + // List of country codes (ISO 3166-1 alpha-2) to exclude the offer from + // Shopping Ads destination. + // Countries from this list are removed from countries configured + // in data source settings. + repeated string shopping_ads_excluded_countries = 78; + + // Required for multi-seller accounts. Use this attribute if you're a + // marketplace uploading products for various sellers to your multi-seller + // account. + optional string external_seller_id = 1; + + // Publication of this item will be temporarily + // [paused](https://support.google.com/merchants/answer/11909930). + optional string pause = 13; + + // Additional URLs of lifestyle images of the item, used to explicitly + // identify images that showcase your item in a real-world context. See the + // [Help Center article](https://support.google.com/merchants/answer/9103186) + // for more information. + repeated string lifestyle_image_links = 14; + + // Extra fields to export to the Cloud Retail program. + repeated CloudExportAdditionalProperties cloud_export_additional_properties = + 84; + + // URL of the 3D image of the item. See the + // [Help Center article](https://support.google.com/merchants/answer/13674896) + // for more information. + optional string virtual_model_link = 130; + + // Product Certifications, for example for energy efficiency labeling of + // products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) + // database. See the [Help + // Center](https://support.google.com/merchants/answer/13528839) + // article for more information. + repeated Certification certifications = 123; + + // Structured title, for algorithmically (AI)-generated titles. + optional ProductStructuredTitle structured_title = 132; + + // Structured description, for algorithmically (AI)-generated descriptions. + optional ProductStructuredDescription structured_description = 133; + + // A safeguard in the "Automated Discounts" + // (https://support.google.com/merchants/answer/10295759) and + // "Dynamic Promotions" + // (https://support.google.com/merchants/answer/13949249) projects, + // ensuring that discounts on merchants' offers do not fall below this value, + // thereby preserving the offer's value and profitability. + google.shopping.type.Price auto_pricing_min_price = 124; +} + +// The Tax of the product. +message Tax { + // The percentage of tax rate that applies to the item price. + double rate = 1; + + // The country within which the item is taxed, specified as a [CLDR + // territory + // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml). + string country = 2; + + // The geographic region to which the tax rate applies. + string region = 3; + + // Set to true if tax is charged on shipping. + bool tax_ship = 4; + + // The numeric ID of a location that the tax rate applies to as defined in + // the [AdWords + // API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). + int64 location_id = 5; + + // The postal code range that the tax rate applies to, represented by + // a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP + // codes or two ZIP code prefixes of equal length. + // Examples: 94114, 94*, 94002-95460, 94*-95*. + string postal_code = 6; +} + +// The ShippingWeight of the product. +message ShippingWeight { + // The weight of the product used to calculate the shipping cost of the + // item. + double value = 1; + + // The unit of value. + string unit = 2; +} + +// The ShippingDimension of the product. +message ShippingDimension { + // The dimension of the product used to calculate the shipping cost of the + // item. + double value = 1; + + // The unit of value. + string unit = 2; +} + +// The UnitPricingBaseMeasure of the product. +message UnitPricingBaseMeasure { + // The denominator of the unit price. + int64 value = 1; + + // The unit of the denominator. + string unit = 2; +} + +// The UnitPricingMeasure of the product. +message UnitPricingMeasure { + // The measure of an item. + double value = 1; + + // The unit of the measure. + string unit = 2; +} + +// The SubscriptionCost of the product. +message SubscriptionCost { + // The type of subscription period. + // Supported values are: + // * "`month`" + // * "`year`" + SubscriptionPeriod period = 1; + + // The number of subscription periods the buyer has to pay. + int64 period_length = 2; + + // The amount the buyer has to pay per subscription period. + google.shopping.type.Price amount = 3; +} + +// A message that represents installment. +message Installment { + // The number of installments the buyer has to pay. + int64 months = 1; + + // The amount the buyer has to pay per month. + google.shopping.type.Price amount = 2; + + // The up-front down payment amount the buyer has to pay. + optional google.shopping.type.Price downpayment = 3; + + // Type of installment payments. + // Supported values are: + // * "`finance`" + // * "`lease`" + optional string credit_type = 4; +} + +// A message that represents loyalty points. +message LoyaltyPoints { + // Name of loyalty points program. It is recommended to limit the name to + // 12 full-width characters or 24 Roman characters. + string name = 1; + + // The retailer's loyalty points in absolute value. + int64 points_value = 2; + + // The ratio of a point when converted to currency. Google assumes currency + // based on Merchant Center settings. If ratio is left out, it defaults to + // 1.0. + double ratio = 3; +} + +// A message that represents loyalty program. +message LoyaltyProgram { + // The label of the loyalty program. This is an internal label that uniquely + // identifies the relationship between a merchant entity and a loyalty + // program entity. The label must be provided so that the system can associate + // the assets below (for example, price and points) with a merchant. The + // corresponding program must be linked to the merchant account. + optional string program_label = 1; + + // The label of the tier within the loyalty program. + // Must match one of the labels within the program. + optional string tier_label = 2; + + // The price for members of the given tier, that is, the instant discount + // price. Must be smaller or equal to the regular price. + optional google.shopping.type.Price price = 3; + + // The cashback that can be used for future purchases. + optional google.shopping.type.Price cashback_for_future_use = 4; + + // The amount of loyalty points earned on a purchase. + optional int64 loyalty_points = 5; + + // A date range during which the item is eligible for member price. If not + // specified, the member price is always applicable. The date range is + // represented by a pair of ISO 8601 dates separated by a space, + // comma, or slash. + optional google.type.Interval member_price_effective_date = 6; + + // The label of the shipping benefit. If the field has value, this offer has + // loyalty shipping benefit. If the field value isn't provided, the item is + // not eligible for loyalty shipping for the given loyalty tier. + optional string shipping_label = 7; +} + +// The Shipping of the product. +message Shipping { + // Fixed shipping price, represented as a number. + google.shopping.type.Price price = 1; + + // The [CLDR territory + // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) + // of the country to which an item will ship. + string country = 2; + + // The geographic region to which a shipping rate applies. + // See [region](https://support.google.com/merchants/answer/6324484) for more + // information. + string region = 3; + + // A free-form description of the service class or delivery speed. + string service = 4; + + // The numeric ID of a location that the shipping rate applies to as + // defined in the [AdWords + // API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). + int64 location_id = 5; + + // The location where the shipping is applicable, represented by a + // location group name. + string location_group_name = 6; + + // The postal code range that the shipping rate applies to, represented by + // a postal code, a postal code prefix followed by a * wildcard, a range + // between two postal codes or two postal code prefixes of equal length. + string postal_code = 7; + + // Minimum handling time (inclusive) between when the order is received and + // shipped in business days. 0 means that the order is shipped on the same + // day as it is received if it happens before the cut-off time. + // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] + // can only be present together with + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]; + // but it is not required if + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] + // is present. + optional int64 min_handling_time = 8; + + // Maximum handling time (inclusive) between when the order is received and + // shipped in business days. 0 means that the order is shipped on the same + // day as it is received if it happens before the cut-off time. Both + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] + // and + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] + // are required if providing shipping speeds. + // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] + // is optional if + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] + // is present. + optional int64 max_handling_time = 9; + + // Minimum transit time (inclusive) between when the order has shipped and + // when it is delivered in business days. 0 means that the order is + // delivered on the same day as it ships. + // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] + // can only be present together with + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]; + // but it is not required if + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] + // is present. + optional int64 min_transit_time = 10; + + // Maximum transit time (inclusive) between when the order has shipped and + // when it is delivered in business days. 0 means that the order is + // delivered on the same day as it ships. Both + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] + // and + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] + // are required if providing shipping speeds. + // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] + // is optional if + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] + // is present. + optional int64 max_transit_time = 11; +} + +// Conditions to be met for a product to have free shipping. +message FreeShippingThreshold { + // The [CLDR territory + // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) + // of the country to which an item will ship. + optional string country = 1; + + // The minimum product price for the shipping cost to become free. Represented + // as a number. + optional google.shopping.type.Price price_threshold = 2; +} + +// The product details. +message ProductDetail { + // The section header used to group a set of product details. + string section_name = 1; + + // The name of the product detail. + string attribute_name = 2; + + // The value of the product detail. + string attribute_value = 3; +} + +// Product +// [certification](https://support.google.com/merchants/answer/13528839), +// initially introduced for EU energy efficiency labeling compliance using the +// EU EPREL database. +message Certification { + // The certification authority, for example "European_Commission". + // Maximum length is 2000 characters. + optional string certification_authority = 1; + + // The name of the certification, for example "EPREL". + // Maximum length is 2000 characters. + optional string certification_name = 2; + + // The certification code. + // Maximum length is 2000 characters. + optional string certification_code = 3; + + // The certification value (also known as class, level or grade), for example + // "A+", "C", "gold". + // Maximum length is 2000 characters. + optional string certification_value = 4; +} + +// Structured title, for algorithmically (AI)-generated titles. +message ProductStructuredTitle { + // The digital source type, for example "trained_algorithmic_media". + // Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). + // Maximum length is 40 characters. + optional string digital_source_type = 1; + + // The title text + // Maximum length is 150 characters + optional string content = 2; +} + +// Structured description, for algorithmically (AI)-generated descriptions. +message ProductStructuredDescription { + // The digital source type, for example "trained_algorithmic_media". + // Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). + // Maximum length is 40 characters. + optional string digital_source_type = 1; + + // The description text + // Maximum length is 5000 characters + optional string content = 2; +} + +// The dimension of the product. +message ProductDimension { + // Required. The dimension value represented as a number. The value can have a + // maximum precision of four decimal places. + double value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The dimension units. + // Acceptable values are: + // * "`in`" + // * "`cm`" + string unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The weight of the product. +message ProductWeight { + // Required. The weight represented as a number. The weight can have a maximum + // precision of four decimal places. + double value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The weight unit. + // Acceptable values are: + // * "`g`" + // * "`kg`" + // * "`oz`" + // * "`lb`" + string unit = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The status of a product, data validation issues, that is, information about +// a product computed asynchronously. +message ProductStatus { + // The destination status of the product status. + message DestinationStatus { + // The name of the reporting context. + google.shopping.type.ReportingContext.ReportingContextEnum + reporting_context = 1; + + // List of country codes (ISO 3166-1 alpha-2) where the offer is approved. + repeated string approved_countries = 2; + + // List of country codes (ISO 3166-1 alpha-2) where the offer is pending + // approval. + repeated string pending_countries = 3; + + // List of country codes (ISO 3166-1 alpha-2) where the offer is + // disapproved. + repeated string disapproved_countries = 4; + } + + // The ItemLevelIssue of the product status. + message ItemLevelIssue { + // How the issue affects the serving of the product. + enum Severity { + // Not specified. + SEVERITY_UNSPECIFIED = 0; + + // This issue represents a warning and does not have a direct affect + // on the product. + NOT_IMPACTED = 1; + + // The product is demoted and most likely have limited performance + // in search results + DEMOTED = 2; + + // Issue disapproves the product. + DISAPPROVED = 3; + } + + // The error code of the issue. + string code = 1; + + // How this issue affects serving of the offer. + Severity severity = 2; + + // Whether the issue can be resolved by the merchant. + string resolution = 3; + + // The attribute's name, if the issue is caused by a single attribute. + string attribute = 4; + + // The reporting context the issue applies to. + google.shopping.type.ReportingContext.ReportingContextEnum + reporting_context = 5; + + // A short issue description in English. + string description = 6; + + // A detailed issue description in English. + string detail = 7; + + // The URL of a web page to help with resolving this issue. + string documentation = 8; + + // List of country codes (ISO 3166-1 alpha-2) where issue applies to the + // offer. + repeated string applicable_countries = 9; + } + + // The intended destinations for the product. + repeated DestinationStatus destination_statuses = 3; + + // A list of all issues associated with the product. + repeated ItemLevelIssue item_level_issues = 4; + + // Date on which the item has been created, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp creation_date = 5; + + // Date on which the item has been last updated, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp last_update_date = 6; + + // Date on which the item expires, in [ISO + // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + google.protobuf.Timestamp google_expiration_date = 7; +} + +// Product property for the Cloud Retail API. +// For example, properties for a TV product could be "Screen-Resolution" or +// "Screen-Size". +message CloudExportAdditionalProperties { + // Name of the given property. For example, + // "Screen-Resolution" for a TV product. Maximum string size is 256 + // characters. + optional string property_name = 1; + + // Text value of the given property. For example, + // "8K(UHD)" could be a text value for a TV product. Maximum + // repeatedness of this value is 400. Values are stored in an arbitrary but + // consistent order. Maximum string size is 256 characters. + repeated string text_value = 2; + + // Boolean value of the given property. For example for a TV product, + // "True" or "False" if the screen is UHD. + optional bool bool_value = 3; + + // Integer values of the given property. For example, 1080 for a TV + // product's Screen Resolution. Maximum repeatedness of this value + // is 400. Values are stored in an arbitrary but consistent order. + repeated int64 int_value = 4; + + // Float values of the given property. For example for a TV product + // 1.2345. Maximum repeatedness of this value is 400. Values + // are stored in an arbitrary but consistent order. + repeated float float_value = 5; + + // Minimum float value of the given property. For example for a TV + // product 1.00. + optional float min_value = 6; + + // Maximum float value of the given property. For example for a TV + // product 100.00. + optional float max_value = 7; + + // Unit of the given property. For example, "Pixels" for a TV product. Maximum + // string size is 256B. + optional string unit_code = 8; +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto new file mode 100644 index 00000000000..0d219e72d6a --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto @@ -0,0 +1,193 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.shopping.type; + +option csharp_namespace = "Google.Shopping.Type"; +option go_package = "cloud.google.com/go/shopping/type/typepb;typepb"; +option java_multiple_files = true; +option java_outer_classname = "TypesProto"; +option java_package = "com.google.shopping.type"; + +// The weight represented as the value in string and the unit. +message Weight { + // The weight unit. + enum WeightUnit { + // unit unspecified + WEIGHT_UNIT_UNSPECIFIED = 0; + + // lb unit. + POUND = 1; + + // kg unit. + KILOGRAM = 2; + } + + // Required. The weight represented as a number in micros (1 million micros is + // an equivalent to one's currency standard unit, for example, 1 kg = 1000000 + // micros). + // This field can also be set as infinity by setting to -1. + // This field only support -1 and positive value. + optional int64 amount_micros = 1; + + // Required. The weight unit. + // Acceptable values are: kg and lb + WeightUnit unit = 2; +} + +// The price represented as a number and currency. +message Price { + // The price represented as a number in micros (1 million micros is an + // equivalent to one's currency standard unit, for example, 1 USD = 1000000 + // micros). + optional int64 amount_micros = 1; + + // The currency of the price using three-letter acronyms according to [ISO + // 4217](http://en.wikipedia.org/wiki/ISO_4217). + optional string currency_code = 2; +} + +// A message that represents custom attributes. Exactly one of `value` or +// `group_values` must not be empty. +message CustomAttribute { + // The name of the attribute. + optional string name = 1; + + // The value of the attribute. If `value` is not empty, `group_values` must be + // empty. + optional string value = 2; + + // Subattributes within this attribute group. If + // `group_values` is not empty, `value` must be empty. + repeated CustomAttribute group_values = 3; +} + +// Destinations available for a product. +// +// Destinations are used in Merchant Center to allow you to control where the +// products from your data feed should be displayed. +// +message Destination { + // Destination values. + enum DestinationEnum { + // Not specified. + DESTINATION_ENUM_UNSPECIFIED = 0; + + // [Shopping ads](https://support.google.com/google-ads/answer/2454022). + SHOPPING_ADS = 1; + + // [Display ads](https://support.google.com/merchants/answer/6069387). + DISPLAY_ADS = 2; + + // [Local inventory + // ads](https://support.google.com/merchants/answer/3057972). + LOCAL_INVENTORY_ADS = 3; + + // [Free listings](https://support.google.com/merchants/answer/9199328). + FREE_LISTINGS = 4; + + // [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + FREE_LOCAL_LISTINGS = 5; + + // [YouTube Shopping](https://support.google.com/merchants/answer/12362804). + YOUTUBE_SHOPPING = 6; + } +} + +// Reporting contexts that your account and product issues apply to. +// +// Reporting contexts are groups of surfaces and formats for product results on +// Google. They can represent the entire destination (for example, [Shopping +// ads](https://support.google.com/merchants/answer/6149970)) or a subset of +// formats within a destination (for example, [Demand Gen +// ads](https://support.google.com/merchants/answer/13389785)). +// +message ReportingContext { + // Reporting context values. + enum ReportingContextEnum { + // Not specified. + REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0; + + // [Shopping ads](https://support.google.com/merchants/answer/6149970). + SHOPPING_ADS = 1; + + // Deprecated: Use `DEMAND_GEN_ADS` instead. + // [Discovery and Demand Gen + // ads](https://support.google.com/merchants/answer/13389785). + DISCOVERY_ADS = 2 [deprecated = true]; + + // [Demand Gen ads](https://support.google.com/merchants/answer/13389785). + DEMAND_GEN_ADS = 13; + + // [Demand Gen ads on Discover + // surface](https://support.google.com/merchants/answer/13389785). + DEMAND_GEN_ADS_DISCOVER_SURFACE = 14; + + // [Video ads](https://support.google.com/google-ads/answer/6340491). + VIDEO_ADS = 3; + + // [Display ads](https://support.google.com/merchants/answer/6069387). + DISPLAY_ADS = 4; + + // [Local inventory + // ads](https://support.google.com/merchants/answer/3271956). + LOCAL_INVENTORY_ADS = 5; + + // [Vehicle inventory + // ads](https://support.google.com/merchants/answer/11544533). + VEHICLE_INVENTORY_ADS = 6; + + // [Free product + // listings](https://support.google.com/merchants/answer/9199328). + FREE_LISTINGS = 7; + + // [Free local product + // listings](https://support.google.com/merchants/answer/9825611). + FREE_LOCAL_LISTINGS = 8; + + // [Free local vehicle + // listings](https://support.google.com/merchants/answer/11544533). + FREE_LOCAL_VEHICLE_LISTINGS = 9; + + // [YouTube + // Shopping](https://support.google.com/merchants/answer/13478370). + YOUTUBE_SHOPPING = 10; + + // [Cloud retail](https://cloud.google.com/solutions/retail). + CLOUD_RETAIL = 11; + + // [Local cloud retail](https://cloud.google.com/solutions/retail). + LOCAL_CLOUD_RETAIL = 12; + } +} + +// [Channel](https://support.google.com/merchants/answer/7361332) of a product. +// +// Channel is used to distinguish between online and local products. +message Channel { + // Channel values. + enum ChannelEnum { + // Not specified. + CHANNEL_ENUM_UNSPECIFIED = 0; + + // Online product. + ONLINE = 1; + + // Local product. + LOCAL = 2; + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts new file mode 100644 index 00000000000..ea7d5f21424 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts @@ -0,0 +1,11613 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); +/** Namespace google. */ +export namespace google { + + /** Namespace shopping. */ + namespace shopping { + + /** Namespace merchant. */ + namespace merchant { + + /** Namespace products. */ + namespace products { + + /** Namespace v1beta. */ + namespace v1beta { + + /** Represents a ProductInputsService */ + class ProductInputsService extends $protobuf.rpc.Service { + + /** + * Constructs a new ProductInputsService service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new ProductInputsService service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ProductInputsService; + + /** + * Calls InsertProductInput. + * @param request InsertProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductInput + */ + public insertProductInput(request: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, callback: google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInputCallback): void; + + /** + * Calls InsertProductInput. + * @param request InsertProductInputRequest message or plain object + * @returns Promise + */ + public insertProductInput(request: google.shopping.merchant.products.v1beta.IInsertProductInputRequest): Promise; + + /** + * Calls DeleteProductInput. + * @param request DeleteProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProductInput(request: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, callback: google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInputCallback): void; + + /** + * Calls DeleteProductInput. + * @param request DeleteProductInputRequest message or plain object + * @returns Promise + */ + public deleteProductInput(request: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest): Promise; + } + + namespace ProductInputsService { + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|insertProductInput}. + * @param error Error, if any + * @param [response] ProductInput + */ + type InsertProductInputCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.ProductInput) => void; + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|deleteProductInput}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductInputCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + } + + /** Properties of a ProductInput. */ + interface IProductInput { + + /** ProductInput name */ + name?: (string|null); + + /** ProductInput product */ + product?: (string|null); + + /** ProductInput channel */ + channel?: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum|null); + + /** ProductInput offerId */ + offerId?: (string|null); + + /** ProductInput contentLanguage */ + contentLanguage?: (string|null); + + /** ProductInput feedLabel */ + feedLabel?: (string|null); + + /** ProductInput versionNumber */ + versionNumber?: (number|Long|string|null); + + /** ProductInput attributes */ + attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); + + /** ProductInput customAttributes */ + customAttributes?: (google.shopping.type.ICustomAttribute[]|null); + } + + /** Represents a ProductInput. */ + class ProductInput implements IProductInput { + + /** + * Constructs a new ProductInput. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductInput); + + /** ProductInput name. */ + public name: string; + + /** ProductInput product. */ + public product: string; + + /** ProductInput channel. */ + public channel: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum); + + /** ProductInput offerId. */ + public offerId: string; + + /** ProductInput contentLanguage. */ + public contentLanguage: string; + + /** ProductInput feedLabel. */ + public feedLabel: string; + + /** ProductInput versionNumber. */ + public versionNumber?: (number|Long|string|null); + + /** ProductInput attributes. */ + public attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); + + /** ProductInput customAttributes. */ + public customAttributes: google.shopping.type.ICustomAttribute[]; + + /** ProductInput _versionNumber. */ + public _versionNumber?: "versionNumber"; + + /** + * Creates a new ProductInput instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductInput instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductInput): google.shopping.merchant.products.v1beta.ProductInput; + + /** + * Encodes the specified ProductInput message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. + * @param message ProductInput message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductInput, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductInput message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. + * @param message ProductInput message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductInput, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductInput message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductInput; + + /** + * Decodes a ProductInput message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductInput; + + /** + * Verifies a ProductInput message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductInput message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductInput + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductInput; + + /** + * Creates a plain object from a ProductInput message. Also converts values to other types if specified. + * @param message ProductInput + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductInput, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductInput to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductInput + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an InsertProductInputRequest. */ + interface IInsertProductInputRequest { + + /** InsertProductInputRequest parent */ + parent?: (string|null); + + /** InsertProductInputRequest productInput */ + productInput?: (google.shopping.merchant.products.v1beta.IProductInput|null); + + /** InsertProductInputRequest dataSource */ + dataSource?: (string|null); + } + + /** Represents an InsertProductInputRequest. */ + class InsertProductInputRequest implements IInsertProductInputRequest { + + /** + * Constructs a new InsertProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IInsertProductInputRequest); + + /** InsertProductInputRequest parent. */ + public parent: string; + + /** InsertProductInputRequest productInput. */ + public productInput?: (google.shopping.merchant.products.v1beta.IProductInput|null); + + /** InsertProductInputRequest dataSource. */ + public dataSource: string; + + /** + * Creates a new InsertProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns InsertProductInputRequest instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IInsertProductInputRequest): google.shopping.merchant.products.v1beta.InsertProductInputRequest; + + /** + * Encodes the specified InsertProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. + * @param message InsertProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InsertProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. + * @param message InsertProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InsertProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InsertProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.InsertProductInputRequest; + + /** + * Decodes an InsertProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InsertProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.InsertProductInputRequest; + + /** + * Verifies an InsertProductInputRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an InsertProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InsertProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.InsertProductInputRequest; + + /** + * Creates a plain object from an InsertProductInputRequest message. Also converts values to other types if specified. + * @param message InsertProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.InsertProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InsertProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InsertProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteProductInputRequest. */ + interface IDeleteProductInputRequest { + + /** DeleteProductInputRequest name */ + name?: (string|null); + + /** DeleteProductInputRequest dataSource */ + dataSource?: (string|null); + } + + /** Represents a DeleteProductInputRequest. */ + class DeleteProductInputRequest implements IDeleteProductInputRequest { + + /** + * Constructs a new DeleteProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest); + + /** DeleteProductInputRequest name. */ + public name: string; + + /** DeleteProductInputRequest dataSource. */ + public dataSource: string; + + /** + * Creates a new DeleteProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductInputRequest instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; + + /** + * Encodes the specified DeleteProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. + * @param message DeleteProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. + * @param message DeleteProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; + + /** + * Decodes a DeleteProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; + + /** + * Verifies a DeleteProductInputRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; + + /** + * Creates a plain object from a DeleteProductInputRequest message. Also converts values to other types if specified. + * @param message DeleteProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.DeleteProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** SubscriptionPeriod enum. */ + enum SubscriptionPeriod { + SUBSCRIPTION_PERIOD_UNSPECIFIED = 0, + MONTH = 1, + YEAR = 2 + } + + /** Properties of an Attributes. */ + interface IAttributes { + + /** Attributes identifierExists */ + identifierExists?: (boolean|null); + + /** Attributes isBundle */ + isBundle?: (boolean|null); + + /** Attributes title */ + title?: (string|null); + + /** Attributes description */ + description?: (string|null); + + /** Attributes link */ + link?: (string|null); + + /** Attributes mobileLink */ + mobileLink?: (string|null); + + /** Attributes canonicalLink */ + canonicalLink?: (string|null); + + /** Attributes imageLink */ + imageLink?: (string|null); + + /** Attributes additionalImageLinks */ + additionalImageLinks?: (string[]|null); + + /** Attributes expirationDate */ + expirationDate?: (google.protobuf.ITimestamp|null); + + /** Attributes disclosureDate */ + disclosureDate?: (google.protobuf.ITimestamp|null); + + /** Attributes adult */ + adult?: (boolean|null); + + /** Attributes ageGroup */ + ageGroup?: (string|null); + + /** Attributes availability */ + availability?: (string|null); + + /** Attributes availabilityDate */ + availabilityDate?: (google.protobuf.ITimestamp|null); + + /** Attributes brand */ + brand?: (string|null); + + /** Attributes color */ + color?: (string|null); + + /** Attributes condition */ + condition?: (string|null); + + /** Attributes gender */ + gender?: (string|null); + + /** Attributes googleProductCategory */ + googleProductCategory?: (string|null); + + /** Attributes gtin */ + gtin?: (string[]|null); + + /** Attributes itemGroupId */ + itemGroupId?: (string|null); + + /** Attributes material */ + material?: (string|null); + + /** Attributes mpn */ + mpn?: (string|null); + + /** Attributes pattern */ + pattern?: (string|null); + + /** Attributes price */ + price?: (google.shopping.type.IPrice|null); + + /** Attributes installment */ + installment?: (google.shopping.merchant.products.v1beta.IInstallment|null); + + /** Attributes subscriptionCost */ + subscriptionCost?: (google.shopping.merchant.products.v1beta.ISubscriptionCost|null); + + /** Attributes loyaltyPoints */ + loyaltyPoints?: (google.shopping.merchant.products.v1beta.ILoyaltyPoints|null); + + /** Attributes loyaltyPrograms */ + loyaltyPrograms?: (google.shopping.merchant.products.v1beta.ILoyaltyProgram[]|null); + + /** Attributes productTypes */ + productTypes?: (string[]|null); + + /** Attributes salePrice */ + salePrice?: (google.shopping.type.IPrice|null); + + /** Attributes salePriceEffectiveDate */ + salePriceEffectiveDate?: (google.type.IInterval|null); + + /** Attributes sellOnGoogleQuantity */ + sellOnGoogleQuantity?: (number|Long|string|null); + + /** Attributes productHeight */ + productHeight?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productLength */ + productLength?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productWidth */ + productWidth?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productWeight */ + productWeight?: (google.shopping.merchant.products.v1beta.IProductWeight|null); + + /** Attributes shipping */ + shipping?: (google.shopping.merchant.products.v1beta.IShipping[]|null); + + /** Attributes freeShippingThreshold */ + freeShippingThreshold?: (google.shopping.merchant.products.v1beta.IFreeShippingThreshold[]|null); + + /** Attributes shippingWeight */ + shippingWeight?: (google.shopping.merchant.products.v1beta.IShippingWeight|null); + + /** Attributes shippingLength */ + shippingLength?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes shippingWidth */ + shippingWidth?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes shippingHeight */ + shippingHeight?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes maxHandlingTime */ + maxHandlingTime?: (number|Long|string|null); + + /** Attributes minHandlingTime */ + minHandlingTime?: (number|Long|string|null); + + /** Attributes shippingLabel */ + shippingLabel?: (string|null); + + /** Attributes transitTimeLabel */ + transitTimeLabel?: (string|null); + + /** Attributes size */ + size?: (string|null); + + /** Attributes sizeSystem */ + sizeSystem?: (string|null); + + /** Attributes sizeTypes */ + sizeTypes?: (string[]|null); + + /** Attributes taxes */ + taxes?: (google.shopping.merchant.products.v1beta.ITax[]|null); + + /** Attributes taxCategory */ + taxCategory?: (string|null); + + /** Attributes energyEfficiencyClass */ + energyEfficiencyClass?: (string|null); + + /** Attributes minEnergyEfficiencyClass */ + minEnergyEfficiencyClass?: (string|null); + + /** Attributes maxEnergyEfficiencyClass */ + maxEnergyEfficiencyClass?: (string|null); + + /** Attributes unitPricingMeasure */ + unitPricingMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null); + + /** Attributes unitPricingBaseMeasure */ + unitPricingBaseMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null); + + /** Attributes multipack */ + multipack?: (number|Long|string|null); + + /** Attributes adsGrouping */ + adsGrouping?: (string|null); + + /** Attributes adsLabels */ + adsLabels?: (string[]|null); + + /** Attributes adsRedirect */ + adsRedirect?: (string|null); + + /** Attributes costOfGoodsSold */ + costOfGoodsSold?: (google.shopping.type.IPrice|null); + + /** Attributes productDetails */ + productDetails?: (google.shopping.merchant.products.v1beta.IProductDetail[]|null); + + /** Attributes productHighlights */ + productHighlights?: (string[]|null); + + /** Attributes displayAdsId */ + displayAdsId?: (string|null); + + /** Attributes displayAdsSimilarIds */ + displayAdsSimilarIds?: (string[]|null); + + /** Attributes displayAdsTitle */ + displayAdsTitle?: (string|null); + + /** Attributes displayAdsLink */ + displayAdsLink?: (string|null); + + /** Attributes displayAdsValue */ + displayAdsValue?: (number|null); + + /** Attributes promotionIds */ + promotionIds?: (string[]|null); + + /** Attributes pickupMethod */ + pickupMethod?: (string|null); + + /** Attributes pickupSla */ + pickupSla?: (string|null); + + /** Attributes linkTemplate */ + linkTemplate?: (string|null); + + /** Attributes mobileLinkTemplate */ + mobileLinkTemplate?: (string|null); + + /** Attributes customLabel_0 */ + customLabel_0?: (string|null); + + /** Attributes customLabel_1 */ + customLabel_1?: (string|null); + + /** Attributes customLabel_2 */ + customLabel_2?: (string|null); + + /** Attributes customLabel_3 */ + customLabel_3?: (string|null); + + /** Attributes customLabel_4 */ + customLabel_4?: (string|null); + + /** Attributes includedDestinations */ + includedDestinations?: (string[]|null); + + /** Attributes excludedDestinations */ + excludedDestinations?: (string[]|null); + + /** Attributes shoppingAdsExcludedCountries */ + shoppingAdsExcludedCountries?: (string[]|null); + + /** Attributes externalSellerId */ + externalSellerId?: (string|null); + + /** Attributes pause */ + pause?: (string|null); + + /** Attributes lifestyleImageLinks */ + lifestyleImageLinks?: (string[]|null); + + /** Attributes cloudExportAdditionalProperties */ + cloudExportAdditionalProperties?: (google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties[]|null); + + /** Attributes virtualModelLink */ + virtualModelLink?: (string|null); + + /** Attributes certifications */ + certifications?: (google.shopping.merchant.products.v1beta.ICertification[]|null); + + /** Attributes structuredTitle */ + structuredTitle?: (google.shopping.merchant.products.v1beta.IProductStructuredTitle|null); + + /** Attributes structuredDescription */ + structuredDescription?: (google.shopping.merchant.products.v1beta.IProductStructuredDescription|null); + + /** Attributes autoPricingMinPrice */ + autoPricingMinPrice?: (google.shopping.type.IPrice|null); + } + + /** Represents an Attributes. */ + class Attributes implements IAttributes { + + /** + * Constructs a new Attributes. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IAttributes); + + /** Attributes identifierExists. */ + public identifierExists?: (boolean|null); + + /** Attributes isBundle. */ + public isBundle?: (boolean|null); + + /** Attributes title. */ + public title?: (string|null); + + /** Attributes description. */ + public description?: (string|null); + + /** Attributes link. */ + public link?: (string|null); + + /** Attributes mobileLink. */ + public mobileLink?: (string|null); + + /** Attributes canonicalLink. */ + public canonicalLink?: (string|null); + + /** Attributes imageLink. */ + public imageLink?: (string|null); + + /** Attributes additionalImageLinks. */ + public additionalImageLinks: string[]; + + /** Attributes expirationDate. */ + public expirationDate?: (google.protobuf.ITimestamp|null); + + /** Attributes disclosureDate. */ + public disclosureDate?: (google.protobuf.ITimestamp|null); + + /** Attributes adult. */ + public adult?: (boolean|null); + + /** Attributes ageGroup. */ + public ageGroup?: (string|null); + + /** Attributes availability. */ + public availability?: (string|null); + + /** Attributes availabilityDate. */ + public availabilityDate?: (google.protobuf.ITimestamp|null); + + /** Attributes brand. */ + public brand?: (string|null); + + /** Attributes color. */ + public color?: (string|null); + + /** Attributes condition. */ + public condition?: (string|null); + + /** Attributes gender. */ + public gender?: (string|null); + + /** Attributes googleProductCategory. */ + public googleProductCategory?: (string|null); + + /** Attributes gtin. */ + public gtin: string[]; + + /** Attributes itemGroupId. */ + public itemGroupId?: (string|null); + + /** Attributes material. */ + public material?: (string|null); + + /** Attributes mpn. */ + public mpn?: (string|null); + + /** Attributes pattern. */ + public pattern?: (string|null); + + /** Attributes price. */ + public price?: (google.shopping.type.IPrice|null); + + /** Attributes installment. */ + public installment?: (google.shopping.merchant.products.v1beta.IInstallment|null); + + /** Attributes subscriptionCost. */ + public subscriptionCost?: (google.shopping.merchant.products.v1beta.ISubscriptionCost|null); + + /** Attributes loyaltyPoints. */ + public loyaltyPoints?: (google.shopping.merchant.products.v1beta.ILoyaltyPoints|null); + + /** Attributes loyaltyPrograms. */ + public loyaltyPrograms: google.shopping.merchant.products.v1beta.ILoyaltyProgram[]; + + /** Attributes productTypes. */ + public productTypes: string[]; + + /** Attributes salePrice. */ + public salePrice?: (google.shopping.type.IPrice|null); + + /** Attributes salePriceEffectiveDate. */ + public salePriceEffectiveDate?: (google.type.IInterval|null); + + /** Attributes sellOnGoogleQuantity. */ + public sellOnGoogleQuantity?: (number|Long|string|null); + + /** Attributes productHeight. */ + public productHeight?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productLength. */ + public productLength?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productWidth. */ + public productWidth?: (google.shopping.merchant.products.v1beta.IProductDimension|null); + + /** Attributes productWeight. */ + public productWeight?: (google.shopping.merchant.products.v1beta.IProductWeight|null); + + /** Attributes shipping. */ + public shipping: google.shopping.merchant.products.v1beta.IShipping[]; + + /** Attributes freeShippingThreshold. */ + public freeShippingThreshold: google.shopping.merchant.products.v1beta.IFreeShippingThreshold[]; + + /** Attributes shippingWeight. */ + public shippingWeight?: (google.shopping.merchant.products.v1beta.IShippingWeight|null); + + /** Attributes shippingLength. */ + public shippingLength?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes shippingWidth. */ + public shippingWidth?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes shippingHeight. */ + public shippingHeight?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); + + /** Attributes maxHandlingTime. */ + public maxHandlingTime?: (number|Long|string|null); + + /** Attributes minHandlingTime. */ + public minHandlingTime?: (number|Long|string|null); + + /** Attributes shippingLabel. */ + public shippingLabel?: (string|null); + + /** Attributes transitTimeLabel. */ + public transitTimeLabel?: (string|null); + + /** Attributes size. */ + public size?: (string|null); + + /** Attributes sizeSystem. */ + public sizeSystem?: (string|null); + + /** Attributes sizeTypes. */ + public sizeTypes: string[]; + + /** Attributes taxes. */ + public taxes: google.shopping.merchant.products.v1beta.ITax[]; + + /** Attributes taxCategory. */ + public taxCategory?: (string|null); + + /** Attributes energyEfficiencyClass. */ + public energyEfficiencyClass?: (string|null); + + /** Attributes minEnergyEfficiencyClass. */ + public minEnergyEfficiencyClass?: (string|null); + + /** Attributes maxEnergyEfficiencyClass. */ + public maxEnergyEfficiencyClass?: (string|null); + + /** Attributes unitPricingMeasure. */ + public unitPricingMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null); + + /** Attributes unitPricingBaseMeasure. */ + public unitPricingBaseMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null); + + /** Attributes multipack. */ + public multipack?: (number|Long|string|null); + + /** Attributes adsGrouping. */ + public adsGrouping?: (string|null); + + /** Attributes adsLabels. */ + public adsLabels: string[]; + + /** Attributes adsRedirect. */ + public adsRedirect?: (string|null); + + /** Attributes costOfGoodsSold. */ + public costOfGoodsSold?: (google.shopping.type.IPrice|null); + + /** Attributes productDetails. */ + public productDetails: google.shopping.merchant.products.v1beta.IProductDetail[]; + + /** Attributes productHighlights. */ + public productHighlights: string[]; + + /** Attributes displayAdsId. */ + public displayAdsId?: (string|null); + + /** Attributes displayAdsSimilarIds. */ + public displayAdsSimilarIds: string[]; + + /** Attributes displayAdsTitle. */ + public displayAdsTitle?: (string|null); + + /** Attributes displayAdsLink. */ + public displayAdsLink?: (string|null); + + /** Attributes displayAdsValue. */ + public displayAdsValue?: (number|null); + + /** Attributes promotionIds. */ + public promotionIds: string[]; + + /** Attributes pickupMethod. */ + public pickupMethod?: (string|null); + + /** Attributes pickupSla. */ + public pickupSla?: (string|null); + + /** Attributes linkTemplate. */ + public linkTemplate?: (string|null); + + /** Attributes mobileLinkTemplate. */ + public mobileLinkTemplate?: (string|null); + + /** Attributes customLabel_0. */ + public customLabel_0?: (string|null); + + /** Attributes customLabel_1. */ + public customLabel_1?: (string|null); + + /** Attributes customLabel_2. */ + public customLabel_2?: (string|null); + + /** Attributes customLabel_3. */ + public customLabel_3?: (string|null); + + /** Attributes customLabel_4. */ + public customLabel_4?: (string|null); + + /** Attributes includedDestinations. */ + public includedDestinations: string[]; + + /** Attributes excludedDestinations. */ + public excludedDestinations: string[]; + + /** Attributes shoppingAdsExcludedCountries. */ + public shoppingAdsExcludedCountries: string[]; + + /** Attributes externalSellerId. */ + public externalSellerId?: (string|null); + + /** Attributes pause. */ + public pause?: (string|null); + + /** Attributes lifestyleImageLinks. */ + public lifestyleImageLinks: string[]; + + /** Attributes cloudExportAdditionalProperties. */ + public cloudExportAdditionalProperties: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties[]; + + /** Attributes virtualModelLink. */ + public virtualModelLink?: (string|null); + + /** Attributes certifications. */ + public certifications: google.shopping.merchant.products.v1beta.ICertification[]; + + /** Attributes structuredTitle. */ + public structuredTitle?: (google.shopping.merchant.products.v1beta.IProductStructuredTitle|null); + + /** Attributes structuredDescription. */ + public structuredDescription?: (google.shopping.merchant.products.v1beta.IProductStructuredDescription|null); + + /** Attributes autoPricingMinPrice. */ + public autoPricingMinPrice?: (google.shopping.type.IPrice|null); + + /** Attributes _identifierExists. */ + public _identifierExists?: "identifierExists"; + + /** Attributes _isBundle. */ + public _isBundle?: "isBundle"; + + /** Attributes _title. */ + public _title?: "title"; + + /** Attributes _description. */ + public _description?: "description"; + + /** Attributes _link. */ + public _link?: "link"; + + /** Attributes _mobileLink. */ + public _mobileLink?: "mobileLink"; + + /** Attributes _canonicalLink. */ + public _canonicalLink?: "canonicalLink"; + + /** Attributes _imageLink. */ + public _imageLink?: "imageLink"; + + /** Attributes _adult. */ + public _adult?: "adult"; + + /** Attributes _ageGroup. */ + public _ageGroup?: "ageGroup"; + + /** Attributes _availability. */ + public _availability?: "availability"; + + /** Attributes _brand. */ + public _brand?: "brand"; + + /** Attributes _color. */ + public _color?: "color"; + + /** Attributes _condition. */ + public _condition?: "condition"; + + /** Attributes _gender. */ + public _gender?: "gender"; + + /** Attributes _googleProductCategory. */ + public _googleProductCategory?: "googleProductCategory"; + + /** Attributes _itemGroupId. */ + public _itemGroupId?: "itemGroupId"; + + /** Attributes _material. */ + public _material?: "material"; + + /** Attributes _mpn. */ + public _mpn?: "mpn"; + + /** Attributes _pattern. */ + public _pattern?: "pattern"; + + /** Attributes _sellOnGoogleQuantity. */ + public _sellOnGoogleQuantity?: "sellOnGoogleQuantity"; + + /** Attributes _maxHandlingTime. */ + public _maxHandlingTime?: "maxHandlingTime"; + + /** Attributes _minHandlingTime. */ + public _minHandlingTime?: "minHandlingTime"; + + /** Attributes _shippingLabel. */ + public _shippingLabel?: "shippingLabel"; + + /** Attributes _transitTimeLabel. */ + public _transitTimeLabel?: "transitTimeLabel"; + + /** Attributes _size. */ + public _size?: "size"; + + /** Attributes _sizeSystem. */ + public _sizeSystem?: "sizeSystem"; + + /** Attributes _taxCategory. */ + public _taxCategory?: "taxCategory"; + + /** Attributes _energyEfficiencyClass. */ + public _energyEfficiencyClass?: "energyEfficiencyClass"; + + /** Attributes _minEnergyEfficiencyClass. */ + public _minEnergyEfficiencyClass?: "minEnergyEfficiencyClass"; + + /** Attributes _maxEnergyEfficiencyClass. */ + public _maxEnergyEfficiencyClass?: "maxEnergyEfficiencyClass"; + + /** Attributes _multipack. */ + public _multipack?: "multipack"; + + /** Attributes _adsGrouping. */ + public _adsGrouping?: "adsGrouping"; + + /** Attributes _adsRedirect. */ + public _adsRedirect?: "adsRedirect"; + + /** Attributes _displayAdsId. */ + public _displayAdsId?: "displayAdsId"; + + /** Attributes _displayAdsTitle. */ + public _displayAdsTitle?: "displayAdsTitle"; + + /** Attributes _displayAdsLink. */ + public _displayAdsLink?: "displayAdsLink"; + + /** Attributes _displayAdsValue. */ + public _displayAdsValue?: "displayAdsValue"; + + /** Attributes _pickupMethod. */ + public _pickupMethod?: "pickupMethod"; + + /** Attributes _pickupSla. */ + public _pickupSla?: "pickupSla"; + + /** Attributes _linkTemplate. */ + public _linkTemplate?: "linkTemplate"; + + /** Attributes _mobileLinkTemplate. */ + public _mobileLinkTemplate?: "mobileLinkTemplate"; + + /** Attributes _customLabel_0. */ + public _customLabel_0?: "customLabel_0"; + + /** Attributes _customLabel_1. */ + public _customLabel_1?: "customLabel_1"; + + /** Attributes _customLabel_2. */ + public _customLabel_2?: "customLabel_2"; + + /** Attributes _customLabel_3. */ + public _customLabel_3?: "customLabel_3"; + + /** Attributes _customLabel_4. */ + public _customLabel_4?: "customLabel_4"; + + /** Attributes _externalSellerId. */ + public _externalSellerId?: "externalSellerId"; + + /** Attributes _pause. */ + public _pause?: "pause"; + + /** Attributes _virtualModelLink. */ + public _virtualModelLink?: "virtualModelLink"; + + /** Attributes _structuredTitle. */ + public _structuredTitle?: "structuredTitle"; + + /** Attributes _structuredDescription. */ + public _structuredDescription?: "structuredDescription"; + + /** + * Creates a new Attributes instance using the specified properties. + * @param [properties] Properties to set + * @returns Attributes instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IAttributes): google.shopping.merchant.products.v1beta.Attributes; + + /** + * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. + * @param message Attributes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. + * @param message Attributes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Attributes message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Attributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Attributes; + + /** + * Decodes an Attributes message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Attributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Attributes; + + /** + * Verifies an Attributes message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Attributes message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Attributes + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Attributes; + + /** + * Creates a plain object from an Attributes message. Also converts values to other types if specified. + * @param message Attributes + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Attributes, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Attributes to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Attributes + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Tax. */ + interface ITax { + + /** Tax rate */ + rate?: (number|null); + + /** Tax country */ + country?: (string|null); + + /** Tax region */ + region?: (string|null); + + /** Tax taxShip */ + taxShip?: (boolean|null); + + /** Tax locationId */ + locationId?: (number|Long|string|null); + + /** Tax postalCode */ + postalCode?: (string|null); + } + + /** Represents a Tax. */ + class Tax implements ITax { + + /** + * Constructs a new Tax. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ITax); + + /** Tax rate. */ + public rate: number; + + /** Tax country. */ + public country: string; + + /** Tax region. */ + public region: string; + + /** Tax taxShip. */ + public taxShip: boolean; + + /** Tax locationId. */ + public locationId: (number|Long|string); + + /** Tax postalCode. */ + public postalCode: string; + + /** + * Creates a new Tax instance using the specified properties. + * @param [properties] Properties to set + * @returns Tax instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ITax): google.shopping.merchant.products.v1beta.Tax; + + /** + * Encodes the specified Tax message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. + * @param message Tax message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ITax, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Tax message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. + * @param message Tax message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ITax, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Tax message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Tax + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Tax; + + /** + * Decodes a Tax message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Tax + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Tax; + + /** + * Verifies a Tax message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Tax message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Tax + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Tax; + + /** + * Creates a plain object from a Tax message. Also converts values to other types if specified. + * @param message Tax + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Tax, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Tax to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Tax + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ShippingWeight. */ + interface IShippingWeight { + + /** ShippingWeight value */ + value?: (number|null); + + /** ShippingWeight unit */ + unit?: (string|null); + } + + /** Represents a ShippingWeight. */ + class ShippingWeight implements IShippingWeight { + + /** + * Constructs a new ShippingWeight. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IShippingWeight); + + /** ShippingWeight value. */ + public value: number; + + /** ShippingWeight unit. */ + public unit: string; + + /** + * Creates a new ShippingWeight instance using the specified properties. + * @param [properties] Properties to set + * @returns ShippingWeight instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IShippingWeight): google.shopping.merchant.products.v1beta.ShippingWeight; + + /** + * Encodes the specified ShippingWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. + * @param message ShippingWeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IShippingWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShippingWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. + * @param message ShippingWeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShippingWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShippingWeight message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShippingWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ShippingWeight; + + /** + * Decodes a ShippingWeight message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShippingWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ShippingWeight; + + /** + * Verifies a ShippingWeight message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShippingWeight message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShippingWeight + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ShippingWeight; + + /** + * Creates a plain object from a ShippingWeight message. Also converts values to other types if specified. + * @param message ShippingWeight + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ShippingWeight, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShippingWeight to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShippingWeight + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ShippingDimension. */ + interface IShippingDimension { + + /** ShippingDimension value */ + value?: (number|null); + + /** ShippingDimension unit */ + unit?: (string|null); + } + + /** Represents a ShippingDimension. */ + class ShippingDimension implements IShippingDimension { + + /** + * Constructs a new ShippingDimension. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IShippingDimension); + + /** ShippingDimension value. */ + public value: number; + + /** ShippingDimension unit. */ + public unit: string; + + /** + * Creates a new ShippingDimension instance using the specified properties. + * @param [properties] Properties to set + * @returns ShippingDimension instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IShippingDimension): google.shopping.merchant.products.v1beta.ShippingDimension; + + /** + * Encodes the specified ShippingDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. + * @param message ShippingDimension message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IShippingDimension, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ShippingDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. + * @param message ShippingDimension message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShippingDimension, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ShippingDimension message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ShippingDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ShippingDimension; + + /** + * Decodes a ShippingDimension message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ShippingDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ShippingDimension; + + /** + * Verifies a ShippingDimension message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ShippingDimension message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ShippingDimension + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ShippingDimension; + + /** + * Creates a plain object from a ShippingDimension message. Also converts values to other types if specified. + * @param message ShippingDimension + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ShippingDimension, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ShippingDimension to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ShippingDimension + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UnitPricingBaseMeasure. */ + interface IUnitPricingBaseMeasure { + + /** UnitPricingBaseMeasure value */ + value?: (number|Long|string|null); + + /** UnitPricingBaseMeasure unit */ + unit?: (string|null); + } + + /** Represents an UnitPricingBaseMeasure. */ + class UnitPricingBaseMeasure implements IUnitPricingBaseMeasure { + + /** + * Constructs a new UnitPricingBaseMeasure. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure); + + /** UnitPricingBaseMeasure value. */ + public value: (number|Long|string); + + /** UnitPricingBaseMeasure unit. */ + public unit: string; + + /** + * Creates a new UnitPricingBaseMeasure instance using the specified properties. + * @param [properties] Properties to set + * @returns UnitPricingBaseMeasure instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; + + /** + * Encodes the specified UnitPricingBaseMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. + * @param message UnitPricingBaseMeasure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UnitPricingBaseMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. + * @param message UnitPricingBaseMeasure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UnitPricingBaseMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; + + /** + * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UnitPricingBaseMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; + + /** + * Verifies an UnitPricingBaseMeasure message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UnitPricingBaseMeasure message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UnitPricingBaseMeasure + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; + + /** + * Creates a plain object from an UnitPricingBaseMeasure message. Also converts values to other types if specified. + * @param message UnitPricingBaseMeasure + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UnitPricingBaseMeasure to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UnitPricingBaseMeasure + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UnitPricingMeasure. */ + interface IUnitPricingMeasure { + + /** UnitPricingMeasure value */ + value?: (number|null); + + /** UnitPricingMeasure unit */ + unit?: (string|null); + } + + /** Represents an UnitPricingMeasure. */ + class UnitPricingMeasure implements IUnitPricingMeasure { + + /** + * Constructs a new UnitPricingMeasure. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IUnitPricingMeasure); + + /** UnitPricingMeasure value. */ + public value: number; + + /** UnitPricingMeasure unit. */ + public unit: string; + + /** + * Creates a new UnitPricingMeasure instance using the specified properties. + * @param [properties] Properties to set + * @returns UnitPricingMeasure instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IUnitPricingMeasure): google.shopping.merchant.products.v1beta.UnitPricingMeasure; + + /** + * Encodes the specified UnitPricingMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. + * @param message UnitPricingMeasure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IUnitPricingMeasure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UnitPricingMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. + * @param message UnitPricingMeasure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IUnitPricingMeasure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UnitPricingMeasure message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UnitPricingMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.UnitPricingMeasure; + + /** + * Decodes an UnitPricingMeasure message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UnitPricingMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.UnitPricingMeasure; + + /** + * Verifies an UnitPricingMeasure message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UnitPricingMeasure message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UnitPricingMeasure + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.UnitPricingMeasure; + + /** + * Creates a plain object from an UnitPricingMeasure message. Also converts values to other types if specified. + * @param message UnitPricingMeasure + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.UnitPricingMeasure, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UnitPricingMeasure to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UnitPricingMeasure + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SubscriptionCost. */ + interface ISubscriptionCost { + + /** SubscriptionCost period */ + period?: (google.shopping.merchant.products.v1beta.SubscriptionPeriod|keyof typeof google.shopping.merchant.products.v1beta.SubscriptionPeriod|null); + + /** SubscriptionCost periodLength */ + periodLength?: (number|Long|string|null); + + /** SubscriptionCost amount */ + amount?: (google.shopping.type.IPrice|null); + } + + /** Represents a SubscriptionCost. */ + class SubscriptionCost implements ISubscriptionCost { + + /** + * Constructs a new SubscriptionCost. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ISubscriptionCost); + + /** SubscriptionCost period. */ + public period: (google.shopping.merchant.products.v1beta.SubscriptionPeriod|keyof typeof google.shopping.merchant.products.v1beta.SubscriptionPeriod); + + /** SubscriptionCost periodLength. */ + public periodLength: (number|Long|string); + + /** SubscriptionCost amount. */ + public amount?: (google.shopping.type.IPrice|null); + + /** + * Creates a new SubscriptionCost instance using the specified properties. + * @param [properties] Properties to set + * @returns SubscriptionCost instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ISubscriptionCost): google.shopping.merchant.products.v1beta.SubscriptionCost; + + /** + * Encodes the specified SubscriptionCost message. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. + * @param message SubscriptionCost message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ISubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. + * @param message SubscriptionCost message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ISubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SubscriptionCost message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.SubscriptionCost; + + /** + * Decodes a SubscriptionCost message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.SubscriptionCost; + + /** + * Verifies a SubscriptionCost message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SubscriptionCost message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SubscriptionCost + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.SubscriptionCost; + + /** + * Creates a plain object from a SubscriptionCost message. Also converts values to other types if specified. + * @param message SubscriptionCost + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.SubscriptionCost, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SubscriptionCost to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SubscriptionCost + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Installment. */ + interface IInstallment { + + /** Installment months */ + months?: (number|Long|string|null); + + /** Installment amount */ + amount?: (google.shopping.type.IPrice|null); + + /** Installment downpayment */ + downpayment?: (google.shopping.type.IPrice|null); + + /** Installment creditType */ + creditType?: (string|null); + } + + /** Represents an Installment. */ + class Installment implements IInstallment { + + /** + * Constructs a new Installment. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IInstallment); + + /** Installment months. */ + public months: (number|Long|string); + + /** Installment amount. */ + public amount?: (google.shopping.type.IPrice|null); + + /** Installment downpayment. */ + public downpayment?: (google.shopping.type.IPrice|null); + + /** Installment creditType. */ + public creditType?: (string|null); + + /** Installment _downpayment. */ + public _downpayment?: "downpayment"; + + /** Installment _creditType. */ + public _creditType?: "creditType"; + + /** + * Creates a new Installment instance using the specified properties. + * @param [properties] Properties to set + * @returns Installment instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IInstallment): google.shopping.merchant.products.v1beta.Installment; + + /** + * Encodes the specified Installment message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. + * @param message Installment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IInstallment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Installment message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. + * @param message Installment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IInstallment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Installment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Installment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Installment; + + /** + * Decodes an Installment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Installment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Installment; + + /** + * Verifies an Installment message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Installment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Installment + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Installment; + + /** + * Creates a plain object from an Installment message. Also converts values to other types if specified. + * @param message Installment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Installment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Installment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Installment + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a LoyaltyPoints. */ + interface ILoyaltyPoints { + + /** LoyaltyPoints name */ + name?: (string|null); + + /** LoyaltyPoints pointsValue */ + pointsValue?: (number|Long|string|null); + + /** LoyaltyPoints ratio */ + ratio?: (number|null); + } + + /** Represents a LoyaltyPoints. */ + class LoyaltyPoints implements ILoyaltyPoints { + + /** + * Constructs a new LoyaltyPoints. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ILoyaltyPoints); + + /** LoyaltyPoints name. */ + public name: string; + + /** LoyaltyPoints pointsValue. */ + public pointsValue: (number|Long|string); + + /** LoyaltyPoints ratio. */ + public ratio: number; + + /** + * Creates a new LoyaltyPoints instance using the specified properties. + * @param [properties] Properties to set + * @returns LoyaltyPoints instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ILoyaltyPoints): google.shopping.merchant.products.v1beta.LoyaltyPoints; + + /** + * Encodes the specified LoyaltyPoints message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. + * @param message LoyaltyPoints message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ILoyaltyPoints, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LoyaltyPoints message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. + * @param message LoyaltyPoints message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ILoyaltyPoints, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LoyaltyPoints message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LoyaltyPoints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.LoyaltyPoints; + + /** + * Decodes a LoyaltyPoints message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LoyaltyPoints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.LoyaltyPoints; + + /** + * Verifies a LoyaltyPoints message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LoyaltyPoints message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LoyaltyPoints + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.LoyaltyPoints; + + /** + * Creates a plain object from a LoyaltyPoints message. Also converts values to other types if specified. + * @param message LoyaltyPoints + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.LoyaltyPoints, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LoyaltyPoints to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LoyaltyPoints + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a LoyaltyProgram. */ + interface ILoyaltyProgram { + + /** LoyaltyProgram programLabel */ + programLabel?: (string|null); + + /** LoyaltyProgram tierLabel */ + tierLabel?: (string|null); + + /** LoyaltyProgram price */ + price?: (google.shopping.type.IPrice|null); + + /** LoyaltyProgram cashbackForFutureUse */ + cashbackForFutureUse?: (google.shopping.type.IPrice|null); + + /** LoyaltyProgram loyaltyPoints */ + loyaltyPoints?: (number|Long|string|null); + + /** LoyaltyProgram memberPriceEffectiveDate */ + memberPriceEffectiveDate?: (google.type.IInterval|null); + + /** LoyaltyProgram shippingLabel */ + shippingLabel?: (string|null); + } + + /** Represents a LoyaltyProgram. */ + class LoyaltyProgram implements ILoyaltyProgram { + + /** + * Constructs a new LoyaltyProgram. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ILoyaltyProgram); + + /** LoyaltyProgram programLabel. */ + public programLabel?: (string|null); + + /** LoyaltyProgram tierLabel. */ + public tierLabel?: (string|null); + + /** LoyaltyProgram price. */ + public price?: (google.shopping.type.IPrice|null); + + /** LoyaltyProgram cashbackForFutureUse. */ + public cashbackForFutureUse?: (google.shopping.type.IPrice|null); + + /** LoyaltyProgram loyaltyPoints. */ + public loyaltyPoints?: (number|Long|string|null); + + /** LoyaltyProgram memberPriceEffectiveDate. */ + public memberPriceEffectiveDate?: (google.type.IInterval|null); + + /** LoyaltyProgram shippingLabel. */ + public shippingLabel?: (string|null); + + /** LoyaltyProgram _programLabel. */ + public _programLabel?: "programLabel"; + + /** LoyaltyProgram _tierLabel. */ + public _tierLabel?: "tierLabel"; + + /** LoyaltyProgram _price. */ + public _price?: "price"; + + /** LoyaltyProgram _cashbackForFutureUse. */ + public _cashbackForFutureUse?: "cashbackForFutureUse"; + + /** LoyaltyProgram _loyaltyPoints. */ + public _loyaltyPoints?: "loyaltyPoints"; + + /** LoyaltyProgram _memberPriceEffectiveDate. */ + public _memberPriceEffectiveDate?: "memberPriceEffectiveDate"; + + /** LoyaltyProgram _shippingLabel. */ + public _shippingLabel?: "shippingLabel"; + + /** + * Creates a new LoyaltyProgram instance using the specified properties. + * @param [properties] Properties to set + * @returns LoyaltyProgram instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ILoyaltyProgram): google.shopping.merchant.products.v1beta.LoyaltyProgram; + + /** + * Encodes the specified LoyaltyProgram message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. + * @param message LoyaltyProgram message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ILoyaltyProgram, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LoyaltyProgram message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. + * @param message LoyaltyProgram message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ILoyaltyProgram, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LoyaltyProgram message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LoyaltyProgram + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.LoyaltyProgram; + + /** + * Decodes a LoyaltyProgram message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LoyaltyProgram + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.LoyaltyProgram; + + /** + * Verifies a LoyaltyProgram message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LoyaltyProgram message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LoyaltyProgram + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.LoyaltyProgram; + + /** + * Creates a plain object from a LoyaltyProgram message. Also converts values to other types if specified. + * @param message LoyaltyProgram + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.LoyaltyProgram, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LoyaltyProgram to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LoyaltyProgram + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Shipping. */ + interface IShipping { + + /** Shipping price */ + price?: (google.shopping.type.IPrice|null); + + /** Shipping country */ + country?: (string|null); + + /** Shipping region */ + region?: (string|null); + + /** Shipping service */ + service?: (string|null); + + /** Shipping locationId */ + locationId?: (number|Long|string|null); + + /** Shipping locationGroupName */ + locationGroupName?: (string|null); + + /** Shipping postalCode */ + postalCode?: (string|null); + + /** Shipping minHandlingTime */ + minHandlingTime?: (number|Long|string|null); + + /** Shipping maxHandlingTime */ + maxHandlingTime?: (number|Long|string|null); + + /** Shipping minTransitTime */ + minTransitTime?: (number|Long|string|null); + + /** Shipping maxTransitTime */ + maxTransitTime?: (number|Long|string|null); + } + + /** Represents a Shipping. */ + class Shipping implements IShipping { + + /** + * Constructs a new Shipping. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IShipping); + + /** Shipping price. */ + public price?: (google.shopping.type.IPrice|null); + + /** Shipping country. */ + public country: string; + + /** Shipping region. */ + public region: string; + + /** Shipping service. */ + public service: string; + + /** Shipping locationId. */ + public locationId: (number|Long|string); + + /** Shipping locationGroupName. */ + public locationGroupName: string; + + /** Shipping postalCode. */ + public postalCode: string; + + /** Shipping minHandlingTime. */ + public minHandlingTime?: (number|Long|string|null); + + /** Shipping maxHandlingTime. */ + public maxHandlingTime?: (number|Long|string|null); + + /** Shipping minTransitTime. */ + public minTransitTime?: (number|Long|string|null); + + /** Shipping maxTransitTime. */ + public maxTransitTime?: (number|Long|string|null); + + /** Shipping _minHandlingTime. */ + public _minHandlingTime?: "minHandlingTime"; + + /** Shipping _maxHandlingTime. */ + public _maxHandlingTime?: "maxHandlingTime"; + + /** Shipping _minTransitTime. */ + public _minTransitTime?: "minTransitTime"; + + /** Shipping _maxTransitTime. */ + public _maxTransitTime?: "maxTransitTime"; + + /** + * Creates a new Shipping instance using the specified properties. + * @param [properties] Properties to set + * @returns Shipping instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IShipping): google.shopping.merchant.products.v1beta.Shipping; + + /** + * Encodes the specified Shipping message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. + * @param message Shipping message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IShipping, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Shipping message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. + * @param message Shipping message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShipping, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Shipping message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Shipping + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Shipping; + + /** + * Decodes a Shipping message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Shipping + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Shipping; + + /** + * Verifies a Shipping message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Shipping message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Shipping + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Shipping; + + /** + * Creates a plain object from a Shipping message. Also converts values to other types if specified. + * @param message Shipping + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Shipping, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Shipping to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Shipping + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FreeShippingThreshold. */ + interface IFreeShippingThreshold { + + /** FreeShippingThreshold country */ + country?: (string|null); + + /** FreeShippingThreshold priceThreshold */ + priceThreshold?: (google.shopping.type.IPrice|null); + } + + /** Represents a FreeShippingThreshold. */ + class FreeShippingThreshold implements IFreeShippingThreshold { + + /** + * Constructs a new FreeShippingThreshold. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IFreeShippingThreshold); + + /** FreeShippingThreshold country. */ + public country?: (string|null); + + /** FreeShippingThreshold priceThreshold. */ + public priceThreshold?: (google.shopping.type.IPrice|null); + + /** FreeShippingThreshold _country. */ + public _country?: "country"; + + /** FreeShippingThreshold _priceThreshold. */ + public _priceThreshold?: "priceThreshold"; + + /** + * Creates a new FreeShippingThreshold instance using the specified properties. + * @param [properties] Properties to set + * @returns FreeShippingThreshold instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IFreeShippingThreshold): google.shopping.merchant.products.v1beta.FreeShippingThreshold; + + /** + * Encodes the specified FreeShippingThreshold message. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. + * @param message FreeShippingThreshold message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IFreeShippingThreshold, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FreeShippingThreshold message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. + * @param message FreeShippingThreshold message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IFreeShippingThreshold, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FreeShippingThreshold message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FreeShippingThreshold + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.FreeShippingThreshold; + + /** + * Decodes a FreeShippingThreshold message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FreeShippingThreshold + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.FreeShippingThreshold; + + /** + * Verifies a FreeShippingThreshold message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FreeShippingThreshold message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FreeShippingThreshold + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.FreeShippingThreshold; + + /** + * Creates a plain object from a FreeShippingThreshold message. Also converts values to other types if specified. + * @param message FreeShippingThreshold + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.FreeShippingThreshold, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FreeShippingThreshold to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FreeShippingThreshold + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductDetail. */ + interface IProductDetail { + + /** ProductDetail sectionName */ + sectionName?: (string|null); + + /** ProductDetail attributeName */ + attributeName?: (string|null); + + /** ProductDetail attributeValue */ + attributeValue?: (string|null); + } + + /** Represents a ProductDetail. */ + class ProductDetail implements IProductDetail { + + /** + * Constructs a new ProductDetail. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductDetail); + + /** ProductDetail sectionName. */ + public sectionName: string; + + /** ProductDetail attributeName. */ + public attributeName: string; + + /** ProductDetail attributeValue. */ + public attributeValue: string; + + /** + * Creates a new ProductDetail instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductDetail instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductDetail): google.shopping.merchant.products.v1beta.ProductDetail; + + /** + * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. + * @param message ProductDetail message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. + * @param message ProductDetail message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductDetail message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductDetail + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductDetail; + + /** + * Decodes a ProductDetail message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductDetail + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductDetail; + + /** + * Verifies a ProductDetail message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductDetail + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductDetail; + + /** + * Creates a plain object from a ProductDetail message. Also converts values to other types if specified. + * @param message ProductDetail + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductDetail, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductDetail to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductDetail + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Certification. */ + interface ICertification { + + /** Certification certificationAuthority */ + certificationAuthority?: (string|null); + + /** Certification certificationName */ + certificationName?: (string|null); + + /** Certification certificationCode */ + certificationCode?: (string|null); + + /** Certification certificationValue */ + certificationValue?: (string|null); + } + + /** Represents a Certification. */ + class Certification implements ICertification { + + /** + * Constructs a new Certification. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ICertification); + + /** Certification certificationAuthority. */ + public certificationAuthority?: (string|null); + + /** Certification certificationName. */ + public certificationName?: (string|null); + + /** Certification certificationCode. */ + public certificationCode?: (string|null); + + /** Certification certificationValue. */ + public certificationValue?: (string|null); + + /** Certification _certificationAuthority. */ + public _certificationAuthority?: "certificationAuthority"; + + /** Certification _certificationName. */ + public _certificationName?: "certificationName"; + + /** Certification _certificationCode. */ + public _certificationCode?: "certificationCode"; + + /** Certification _certificationValue. */ + public _certificationValue?: "certificationValue"; + + /** + * Creates a new Certification instance using the specified properties. + * @param [properties] Properties to set + * @returns Certification instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ICertification): google.shopping.merchant.products.v1beta.Certification; + + /** + * Encodes the specified Certification message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. + * @param message Certification message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. + * @param message Certification message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Certification message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Certification + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Certification; + + /** + * Decodes a Certification message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Certification + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Certification; + + /** + * Verifies a Certification message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Certification message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Certification + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Certification; + + /** + * Creates a plain object from a Certification message. Also converts values to other types if specified. + * @param message Certification + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Certification, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Certification to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Certification + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductStructuredTitle. */ + interface IProductStructuredTitle { + + /** ProductStructuredTitle digitalSourceType */ + digitalSourceType?: (string|null); + + /** ProductStructuredTitle content */ + content?: (string|null); + } + + /** Represents a ProductStructuredTitle. */ + class ProductStructuredTitle implements IProductStructuredTitle { + + /** + * Constructs a new ProductStructuredTitle. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductStructuredTitle); + + /** ProductStructuredTitle digitalSourceType. */ + public digitalSourceType?: (string|null); + + /** ProductStructuredTitle content. */ + public content?: (string|null); + + /** ProductStructuredTitle _digitalSourceType. */ + public _digitalSourceType?: "digitalSourceType"; + + /** ProductStructuredTitle _content. */ + public _content?: "content"; + + /** + * Creates a new ProductStructuredTitle instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductStructuredTitle instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductStructuredTitle): google.shopping.merchant.products.v1beta.ProductStructuredTitle; + + /** + * Encodes the specified ProductStructuredTitle message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. + * @param message ProductStructuredTitle message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductStructuredTitle, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductStructuredTitle message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. + * @param message ProductStructuredTitle message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStructuredTitle, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductStructuredTitle message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductStructuredTitle + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStructuredTitle; + + /** + * Decodes a ProductStructuredTitle message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductStructuredTitle + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStructuredTitle; + + /** + * Verifies a ProductStructuredTitle message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductStructuredTitle message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductStructuredTitle + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStructuredTitle; + + /** + * Creates a plain object from a ProductStructuredTitle message. Also converts values to other types if specified. + * @param message ProductStructuredTitle + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductStructuredTitle, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductStructuredTitle to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductStructuredTitle + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductStructuredDescription. */ + interface IProductStructuredDescription { + + /** ProductStructuredDescription digitalSourceType */ + digitalSourceType?: (string|null); + + /** ProductStructuredDescription content */ + content?: (string|null); + } + + /** Represents a ProductStructuredDescription. */ + class ProductStructuredDescription implements IProductStructuredDescription { + + /** + * Constructs a new ProductStructuredDescription. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductStructuredDescription); + + /** ProductStructuredDescription digitalSourceType. */ + public digitalSourceType?: (string|null); + + /** ProductStructuredDescription content. */ + public content?: (string|null); + + /** ProductStructuredDescription _digitalSourceType. */ + public _digitalSourceType?: "digitalSourceType"; + + /** ProductStructuredDescription _content. */ + public _content?: "content"; + + /** + * Creates a new ProductStructuredDescription instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductStructuredDescription instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductStructuredDescription): google.shopping.merchant.products.v1beta.ProductStructuredDescription; + + /** + * Encodes the specified ProductStructuredDescription message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. + * @param message ProductStructuredDescription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductStructuredDescription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductStructuredDescription message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. + * @param message ProductStructuredDescription message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStructuredDescription, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductStructuredDescription message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductStructuredDescription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStructuredDescription; + + /** + * Decodes a ProductStructuredDescription message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductStructuredDescription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStructuredDescription; + + /** + * Verifies a ProductStructuredDescription message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductStructuredDescription message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductStructuredDescription + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStructuredDescription; + + /** + * Creates a plain object from a ProductStructuredDescription message. Also converts values to other types if specified. + * @param message ProductStructuredDescription + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductStructuredDescription, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductStructuredDescription to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductStructuredDescription + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductDimension. */ + interface IProductDimension { + + /** ProductDimension value */ + value?: (number|null); + + /** ProductDimension unit */ + unit?: (string|null); + } + + /** Represents a ProductDimension. */ + class ProductDimension implements IProductDimension { + + /** + * Constructs a new ProductDimension. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductDimension); + + /** ProductDimension value. */ + public value: number; + + /** ProductDimension unit. */ + public unit: string; + + /** + * Creates a new ProductDimension instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductDimension instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductDimension): google.shopping.merchant.products.v1beta.ProductDimension; + + /** + * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. + * @param message ProductDimension message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. + * @param message ProductDimension message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductDimension message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductDimension; + + /** + * Decodes a ProductDimension message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductDimension; + + /** + * Verifies a ProductDimension message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductDimension message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductDimension + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductDimension; + + /** + * Creates a plain object from a ProductDimension message. Also converts values to other types if specified. + * @param message ProductDimension + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductDimension, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductDimension to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductDimension + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductWeight. */ + interface IProductWeight { + + /** ProductWeight value */ + value?: (number|null); + + /** ProductWeight unit */ + unit?: (string|null); + } + + /** Represents a ProductWeight. */ + class ProductWeight implements IProductWeight { + + /** + * Constructs a new ProductWeight. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductWeight); + + /** ProductWeight value. */ + public value: number; + + /** ProductWeight unit. */ + public unit: string; + + /** + * Creates a new ProductWeight instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductWeight instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductWeight): google.shopping.merchant.products.v1beta.ProductWeight; + + /** + * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. + * @param message ProductWeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. + * @param message ProductWeight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductWeight message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductWeight; + + /** + * Decodes a ProductWeight message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductWeight; + + /** + * Verifies a ProductWeight message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductWeight message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductWeight + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductWeight; + + /** + * Creates a plain object from a ProductWeight message. Also converts values to other types if specified. + * @param message ProductWeight + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductWeight, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductWeight to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductWeight + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ProductStatus. */ + interface IProductStatus { + + /** ProductStatus destinationStatuses */ + destinationStatuses?: (google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus[]|null); + + /** ProductStatus itemLevelIssues */ + itemLevelIssues?: (google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue[]|null); + + /** ProductStatus creationDate */ + creationDate?: (google.protobuf.ITimestamp|null); + + /** ProductStatus lastUpdateDate */ + lastUpdateDate?: (google.protobuf.ITimestamp|null); + + /** ProductStatus googleExpirationDate */ + googleExpirationDate?: (google.protobuf.ITimestamp|null); + } + + /** Represents a ProductStatus. */ + class ProductStatus implements IProductStatus { + + /** + * Constructs a new ProductStatus. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProductStatus); + + /** ProductStatus destinationStatuses. */ + public destinationStatuses: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus[]; + + /** ProductStatus itemLevelIssues. */ + public itemLevelIssues: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue[]; + + /** ProductStatus creationDate. */ + public creationDate?: (google.protobuf.ITimestamp|null); + + /** ProductStatus lastUpdateDate. */ + public lastUpdateDate?: (google.protobuf.ITimestamp|null); + + /** ProductStatus googleExpirationDate. */ + public googleExpirationDate?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new ProductStatus instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductStatus instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProductStatus): google.shopping.merchant.products.v1beta.ProductStatus; + + /** + * Encodes the specified ProductStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. + * @param message ProductStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. + * @param message ProductStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductStatus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus; + + /** + * Decodes a ProductStatus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus; + + /** + * Verifies a ProductStatus message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductStatus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductStatus + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus; + + /** + * Creates a plain object from a ProductStatus message. Also converts values to other types if specified. + * @param message ProductStatus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductStatus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductStatus + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ProductStatus { + + /** Properties of a DestinationStatus. */ + interface IDestinationStatus { + + /** DestinationStatus reportingContext */ + reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null); + + /** DestinationStatus approvedCountries */ + approvedCountries?: (string[]|null); + + /** DestinationStatus pendingCountries */ + pendingCountries?: (string[]|null); + + /** DestinationStatus disapprovedCountries */ + disapprovedCountries?: (string[]|null); + } + + /** Represents a DestinationStatus. */ + class DestinationStatus implements IDestinationStatus { + + /** + * Constructs a new DestinationStatus. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus); + + /** DestinationStatus reportingContext. */ + public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum); + + /** DestinationStatus approvedCountries. */ + public approvedCountries: string[]; + + /** DestinationStatus pendingCountries. */ + public pendingCountries: string[]; + + /** DestinationStatus disapprovedCountries. */ + public disapprovedCountries: string[]; + + /** + * Creates a new DestinationStatus instance using the specified properties. + * @param [properties] Properties to set + * @returns DestinationStatus instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; + + /** + * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. + * @param message DestinationStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. + * @param message DestinationStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DestinationStatus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DestinationStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; + + /** + * Decodes a DestinationStatus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DestinationStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; + + /** + * Verifies a DestinationStatus message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DestinationStatus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DestinationStatus + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; + + /** + * Creates a plain object from a DestinationStatus message. Also converts values to other types if specified. + * @param message DestinationStatus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DestinationStatus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DestinationStatus + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ItemLevelIssue. */ + interface IItemLevelIssue { + + /** ItemLevelIssue code */ + code?: (string|null); + + /** ItemLevelIssue severity */ + severity?: (google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|keyof typeof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|null); + + /** ItemLevelIssue resolution */ + resolution?: (string|null); + + /** ItemLevelIssue attribute */ + attribute?: (string|null); + + /** ItemLevelIssue reportingContext */ + reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null); + + /** ItemLevelIssue description */ + description?: (string|null); + + /** ItemLevelIssue detail */ + detail?: (string|null); + + /** ItemLevelIssue documentation */ + documentation?: (string|null); + + /** ItemLevelIssue applicableCountries */ + applicableCountries?: (string[]|null); + } + + /** Represents an ItemLevelIssue. */ + class ItemLevelIssue implements IItemLevelIssue { + + /** + * Constructs a new ItemLevelIssue. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue); + + /** ItemLevelIssue code. */ + public code: string; + + /** ItemLevelIssue severity. */ + public severity: (google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|keyof typeof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity); + + /** ItemLevelIssue resolution. */ + public resolution: string; + + /** ItemLevelIssue attribute. */ + public attribute: string; + + /** ItemLevelIssue reportingContext. */ + public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum); + + /** ItemLevelIssue description. */ + public description: string; + + /** ItemLevelIssue detail. */ + public detail: string; + + /** ItemLevelIssue documentation. */ + public documentation: string; + + /** ItemLevelIssue applicableCountries. */ + public applicableCountries: string[]; + + /** + * Creates a new ItemLevelIssue instance using the specified properties. + * @param [properties] Properties to set + * @returns ItemLevelIssue instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; + + /** + * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. + * @param message ItemLevelIssue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. + * @param message ItemLevelIssue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ItemLevelIssue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ItemLevelIssue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; + + /** + * Decodes an ItemLevelIssue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ItemLevelIssue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; + + /** + * Verifies an ItemLevelIssue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ItemLevelIssue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ItemLevelIssue + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; + + /** + * Creates a plain object from an ItemLevelIssue message. Also converts values to other types if specified. + * @param message ItemLevelIssue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ItemLevelIssue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ItemLevelIssue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ItemLevelIssue { + + /** Severity enum. */ + enum Severity { + SEVERITY_UNSPECIFIED = 0, + NOT_IMPACTED = 1, + DEMOTED = 2, + DISAPPROVED = 3 + } + } + } + + /** Properties of a CloudExportAdditionalProperties. */ + interface ICloudExportAdditionalProperties { + + /** CloudExportAdditionalProperties propertyName */ + propertyName?: (string|null); + + /** CloudExportAdditionalProperties textValue */ + textValue?: (string[]|null); + + /** CloudExportAdditionalProperties boolValue */ + boolValue?: (boolean|null); + + /** CloudExportAdditionalProperties intValue */ + intValue?: ((number|Long|string)[]|null); + + /** CloudExportAdditionalProperties floatValue */ + floatValue?: (number[]|null); + + /** CloudExportAdditionalProperties minValue */ + minValue?: (number|null); + + /** CloudExportAdditionalProperties maxValue */ + maxValue?: (number|null); + + /** CloudExportAdditionalProperties unitCode */ + unitCode?: (string|null); + } + + /** Represents a CloudExportAdditionalProperties. */ + class CloudExportAdditionalProperties implements ICloudExportAdditionalProperties { + + /** + * Constructs a new CloudExportAdditionalProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties); + + /** CloudExportAdditionalProperties propertyName. */ + public propertyName?: (string|null); + + /** CloudExportAdditionalProperties textValue. */ + public textValue: string[]; + + /** CloudExportAdditionalProperties boolValue. */ + public boolValue?: (boolean|null); + + /** CloudExportAdditionalProperties intValue. */ + public intValue: (number|Long|string)[]; + + /** CloudExportAdditionalProperties floatValue. */ + public floatValue: number[]; + + /** CloudExportAdditionalProperties minValue. */ + public minValue?: (number|null); + + /** CloudExportAdditionalProperties maxValue. */ + public maxValue?: (number|null); + + /** CloudExportAdditionalProperties unitCode. */ + public unitCode?: (string|null); + + /** CloudExportAdditionalProperties _propertyName. */ + public _propertyName?: "propertyName"; + + /** CloudExportAdditionalProperties _boolValue. */ + public _boolValue?: "boolValue"; + + /** CloudExportAdditionalProperties _minValue. */ + public _minValue?: "minValue"; + + /** CloudExportAdditionalProperties _maxValue. */ + public _maxValue?: "maxValue"; + + /** CloudExportAdditionalProperties _unitCode. */ + public _unitCode?: "unitCode"; + + /** + * Creates a new CloudExportAdditionalProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns CloudExportAdditionalProperties instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; + + /** + * Encodes the specified CloudExportAdditionalProperties message. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. + * @param message CloudExportAdditionalProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CloudExportAdditionalProperties message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. + * @param message CloudExportAdditionalProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CloudExportAdditionalProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; + + /** + * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CloudExportAdditionalProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; + + /** + * Verifies a CloudExportAdditionalProperties message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CloudExportAdditionalProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CloudExportAdditionalProperties + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; + + /** + * Creates a plain object from a CloudExportAdditionalProperties message. Also converts values to other types if specified. + * @param message CloudExportAdditionalProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CloudExportAdditionalProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CloudExportAdditionalProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Represents a ProductsService */ + class ProductsService extends $protobuf.rpc.Service { + + /** + * Constructs a new ProductsService service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new ProductsService service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ProductsService; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public getProduct(request: google.shopping.merchant.products.v1beta.IGetProductRequest, callback: google.shopping.merchant.products.v1beta.ProductsService.GetProductCallback): void; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @returns Promise + */ + public getProduct(request: google.shopping.merchant.products.v1beta.IGetProductRequest): Promise; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsResponse + */ + public listProducts(request: google.shopping.merchant.products.v1beta.IListProductsRequest, callback: google.shopping.merchant.products.v1beta.ProductsService.ListProductsCallback): void; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @returns Promise + */ + public listProducts(request: google.shopping.merchant.products.v1beta.IListProductsRequest): Promise; + } + + namespace ProductsService { + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|getProduct}. + * @param error Error, if any + * @param [response] Product + */ + type GetProductCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.Product) => void; + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|listProducts}. + * @param error Error, if any + * @param [response] ListProductsResponse + */ + type ListProductsCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.ListProductsResponse) => void; + } + + /** Properties of a Product. */ + interface IProduct { + + /** Product name */ + name?: (string|null); + + /** Product channel */ + channel?: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum|null); + + /** Product offerId */ + offerId?: (string|null); + + /** Product contentLanguage */ + contentLanguage?: (string|null); + + /** Product feedLabel */ + feedLabel?: (string|null); + + /** Product dataSource */ + dataSource?: (string|null); + + /** Product versionNumber */ + versionNumber?: (number|Long|string|null); + + /** Product attributes */ + attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); + + /** Product customAttributes */ + customAttributes?: (google.shopping.type.ICustomAttribute[]|null); + + /** Product productStatus */ + productStatus?: (google.shopping.merchant.products.v1beta.IProductStatus|null); + } + + /** Represents a Product. */ + class Product implements IProduct { + + /** + * Constructs a new Product. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IProduct); + + /** Product name. */ + public name: string; + + /** Product channel. */ + public channel: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum); + + /** Product offerId. */ + public offerId: string; + + /** Product contentLanguage. */ + public contentLanguage: string; + + /** Product feedLabel. */ + public feedLabel: string; + + /** Product dataSource. */ + public dataSource: string; + + /** Product versionNumber. */ + public versionNumber?: (number|Long|string|null); + + /** Product attributes. */ + public attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); + + /** Product customAttributes. */ + public customAttributes: google.shopping.type.ICustomAttribute[]; + + /** Product productStatus. */ + public productStatus?: (google.shopping.merchant.products.v1beta.IProductStatus|null); + + /** Product _versionNumber. */ + public _versionNumber?: "versionNumber"; + + /** + * Creates a new Product instance using the specified properties. + * @param [properties] Properties to set + * @returns Product instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IProduct): google.shopping.merchant.products.v1beta.Product; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Product message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Product; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Product; + + /** + * Verifies a Product message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Product + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Product; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @param message Product + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.Product, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Product to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Product + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetProductRequest. */ + interface IGetProductRequest { + + /** GetProductRequest name */ + name?: (string|null); + } + + /** Represents a GetProductRequest. */ + class GetProductRequest implements IGetProductRequest { + + /** + * Constructs a new GetProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IGetProductRequest); + + /** GetProductRequest name. */ + public name: string; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductRequest instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IGetProductRequest): google.shopping.merchant.products.v1beta.GetProductRequest; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.GetProductRequest; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.GetProductRequest; + + /** + * Verifies a GetProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.GetProductRequest; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @param message GetProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListProductsRequest. */ + interface IListProductsRequest { + + /** ListProductsRequest parent */ + parent?: (string|null); + + /** ListProductsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsRequest. */ + class ListProductsRequest implements IListProductsRequest { + + /** + * Constructs a new ListProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IListProductsRequest); + + /** ListProductsRequest parent. */ + public parent: string; + + /** ListProductsRequest pageSize. */ + public pageSize: number; + + /** ListProductsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsRequest instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IListProductsRequest): google.shopping.merchant.products.v1beta.ListProductsRequest; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ListProductsRequest; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ListProductsRequest; + + /** + * Verifies a ListProductsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ListProductsRequest; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @param message ListProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListProductsResponse. */ + interface IListProductsResponse { + + /** ListProductsResponse products */ + products?: (google.shopping.merchant.products.v1beta.IProduct[]|null); + + /** ListProductsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsResponse. */ + class ListProductsResponse implements IListProductsResponse { + + /** + * Constructs a new ListProductsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.merchant.products.v1beta.IListProductsResponse); + + /** ListProductsResponse products. */ + public products: google.shopping.merchant.products.v1beta.IProduct[]; + + /** ListProductsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsResponse instance + */ + public static create(properties?: google.shopping.merchant.products.v1beta.IListProductsResponse): google.shopping.merchant.products.v1beta.ListProductsResponse; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.merchant.products.v1beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ListProductsResponse; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ListProductsResponse; + + /** + * Verifies a ListProductsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsResponse + */ + public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ListProductsResponse; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @param message ListProductsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.merchant.products.v1beta.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + } + } + + /** Namespace type. */ + namespace type { + + /** Properties of a Weight. */ + interface IWeight { + + /** Weight amountMicros */ + amountMicros?: (number|Long|string|null); + + /** Weight unit */ + unit?: (google.shopping.type.Weight.WeightUnit|keyof typeof google.shopping.type.Weight.WeightUnit|null); + } + + /** Represents a Weight. */ + class Weight implements IWeight { + + /** + * Constructs a new Weight. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.IWeight); + + /** Weight amountMicros. */ + public amountMicros?: (number|Long|string|null); + + /** Weight unit. */ + public unit: (google.shopping.type.Weight.WeightUnit|keyof typeof google.shopping.type.Weight.WeightUnit); + + /** Weight _amountMicros. */ + public _amountMicros?: "amountMicros"; + + /** + * Creates a new Weight instance using the specified properties. + * @param [properties] Properties to set + * @returns Weight instance + */ + public static create(properties?: google.shopping.type.IWeight): google.shopping.type.Weight; + + /** + * Encodes the specified Weight message. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. + * @param message Weight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.IWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Weight message, length delimited. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. + * @param message Weight message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.IWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Weight message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Weight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Weight; + + /** + * Decodes a Weight message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Weight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Weight; + + /** + * Verifies a Weight message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Weight message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Weight + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.Weight; + + /** + * Creates a plain object from a Weight message. Also converts values to other types if specified. + * @param message Weight + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.Weight, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Weight to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Weight + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Weight { + + /** WeightUnit enum. */ + enum WeightUnit { + WEIGHT_UNIT_UNSPECIFIED = 0, + POUND = 1, + KILOGRAM = 2 + } + } + + /** Properties of a Price. */ + interface IPrice { + + /** Price amountMicros */ + amountMicros?: (number|Long|string|null); + + /** Price currencyCode */ + currencyCode?: (string|null); + } + + /** Represents a Price. */ + class Price implements IPrice { + + /** + * Constructs a new Price. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.IPrice); + + /** Price amountMicros. */ + public amountMicros?: (number|Long|string|null); + + /** Price currencyCode. */ + public currencyCode?: (string|null); + + /** Price _amountMicros. */ + public _amountMicros?: "amountMicros"; + + /** Price _currencyCode. */ + public _currencyCode?: "currencyCode"; + + /** + * Creates a new Price instance using the specified properties. + * @param [properties] Properties to set + * @returns Price instance + */ + public static create(properties?: google.shopping.type.IPrice): google.shopping.type.Price; + + /** + * Encodes the specified Price message. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. + * @param message Price message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.IPrice, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Price message, length delimited. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. + * @param message Price message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.IPrice, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Price message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Price + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Price; + + /** + * Decodes a Price message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Price + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Price; + + /** + * Verifies a Price message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Price message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Price + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.Price; + + /** + * Creates a plain object from a Price message. Also converts values to other types if specified. + * @param message Price + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.Price, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Price to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Price + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CustomAttribute. */ + interface ICustomAttribute { + + /** CustomAttribute name */ + name?: (string|null); + + /** CustomAttribute value */ + value?: (string|null); + + /** CustomAttribute groupValues */ + groupValues?: (google.shopping.type.ICustomAttribute[]|null); + } + + /** Represents a CustomAttribute. */ + class CustomAttribute implements ICustomAttribute { + + /** + * Constructs a new CustomAttribute. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.ICustomAttribute); + + /** CustomAttribute name. */ + public name?: (string|null); + + /** CustomAttribute value. */ + public value?: (string|null); + + /** CustomAttribute groupValues. */ + public groupValues: google.shopping.type.ICustomAttribute[]; + + /** CustomAttribute _name. */ + public _name?: "name"; + + /** CustomAttribute _value. */ + public _value?: "value"; + + /** + * Creates a new CustomAttribute instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomAttribute instance + */ + public static create(properties?: google.shopping.type.ICustomAttribute): google.shopping.type.CustomAttribute; + + /** + * Encodes the specified CustomAttribute message. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. + * @param message CustomAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. + * @param message CustomAttribute message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomAttribute message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.CustomAttribute; + + /** + * Decodes a CustomAttribute message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.CustomAttribute; + + /** + * Verifies a CustomAttribute message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomAttribute + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.CustomAttribute; + + /** + * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified. + * @param message CustomAttribute + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.CustomAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomAttribute to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomAttribute + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Destination. */ + interface IDestination { + } + + /** Represents a Destination. */ + class Destination implements IDestination { + + /** + * Constructs a new Destination. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.IDestination); + + /** + * Creates a new Destination instance using the specified properties. + * @param [properties] Properties to set + * @returns Destination instance + */ + public static create(properties?: google.shopping.type.IDestination): google.shopping.type.Destination; + + /** + * Encodes the specified Destination message. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. + * @param message Destination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.IDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. + * @param message Destination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.IDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Destination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Destination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Destination; + + /** + * Decodes a Destination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Destination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Destination; + + /** + * Verifies a Destination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Destination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Destination + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.Destination; + + /** + * Creates a plain object from a Destination message. Also converts values to other types if specified. + * @param message Destination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.Destination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Destination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Destination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Destination { + + /** DestinationEnum enum. */ + enum DestinationEnum { + DESTINATION_ENUM_UNSPECIFIED = 0, + SHOPPING_ADS = 1, + DISPLAY_ADS = 2, + LOCAL_INVENTORY_ADS = 3, + FREE_LISTINGS = 4, + FREE_LOCAL_LISTINGS = 5, + YOUTUBE_SHOPPING = 6 + } + } + + /** Properties of a ReportingContext. */ + interface IReportingContext { + } + + /** Represents a ReportingContext. */ + class ReportingContext implements IReportingContext { + + /** + * Constructs a new ReportingContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.IReportingContext); + + /** + * Creates a new ReportingContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ReportingContext instance + */ + public static create(properties?: google.shopping.type.IReportingContext): google.shopping.type.ReportingContext; + + /** + * Encodes the specified ReportingContext message. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. + * @param message ReportingContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.IReportingContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReportingContext message, length delimited. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. + * @param message ReportingContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.IReportingContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReportingContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReportingContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.ReportingContext; + + /** + * Decodes a ReportingContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReportingContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.ReportingContext; + + /** + * Verifies a ReportingContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReportingContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReportingContext + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.ReportingContext; + + /** + * Creates a plain object from a ReportingContext message. Also converts values to other types if specified. + * @param message ReportingContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.ReportingContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReportingContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReportingContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ReportingContext { + + /** ReportingContextEnum enum. */ + enum ReportingContextEnum { + REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0, + SHOPPING_ADS = 1, + DISCOVERY_ADS = 2, + DEMAND_GEN_ADS = 13, + DEMAND_GEN_ADS_DISCOVER_SURFACE = 14, + VIDEO_ADS = 3, + DISPLAY_ADS = 4, + LOCAL_INVENTORY_ADS = 5, + VEHICLE_INVENTORY_ADS = 6, + FREE_LISTINGS = 7, + FREE_LOCAL_LISTINGS = 8, + FREE_LOCAL_VEHICLE_LISTINGS = 9, + YOUTUBE_SHOPPING = 10, + CLOUD_RETAIL = 11, + LOCAL_CLOUD_RETAIL = 12 + } + } + + /** Properties of a Channel. */ + interface IChannel { + } + + /** Represents a Channel. */ + class Channel implements IChannel { + + /** + * Constructs a new Channel. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.type.IChannel); + + /** + * Creates a new Channel instance using the specified properties. + * @param [properties] Properties to set + * @returns Channel instance + */ + public static create(properties?: google.shopping.type.IChannel): google.shopping.type.Channel; + + /** + * Encodes the specified Channel message. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. + * @param message Channel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.type.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. + * @param message Channel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.type.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Channel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Channel; + + /** + * Decodes a Channel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Channel; + + /** + * Verifies a Channel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Channel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Channel + */ + public static fromObject(object: { [k: string]: any }): google.shopping.type.Channel; + + /** + * Creates a plain object from a Channel message. Also converts values to other types if specified. + * @param message Channel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.type.Channel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Channel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Channel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Channel { + + /** ChannelEnum enum. */ + enum ChannelEnum { + CHANNEL_ENUM_UNSPECIFIED = 0, + ONLINE = 1, + LOCAL = 2 + } + } + } + } + + /** Namespace api. */ + namespace api { + + /** Properties of a Http. */ + interface IHttp { + + /** Http rules */ + rules?: (google.api.IHttpRule[]|null); + + /** Http fullyDecodeReservedExpansion */ + fullyDecodeReservedExpansion?: (boolean|null); + } + + /** Represents a Http. */ + class Http implements IHttp { + + /** + * Constructs a new Http. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttp); + + /** Http rules. */ + public rules: google.api.IHttpRule[]; + + /** Http fullyDecodeReservedExpansion. */ + public fullyDecodeReservedExpansion: boolean; + + /** + * Creates a new Http instance using the specified properties. + * @param [properties] Properties to set + * @returns Http instance + */ + public static create(properties?: google.api.IHttp): google.api.Http; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Http message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http; + + /** + * Verifies a Http message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Http + */ + public static fromObject(object: { [k: string]: any }): google.api.Http; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @param message Http + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Http to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Http + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a HttpRule. */ + interface IHttpRule { + + /** HttpRule selector */ + selector?: (string|null); + + /** HttpRule get */ + get?: (string|null); + + /** HttpRule put */ + put?: (string|null); + + /** HttpRule post */ + post?: (string|null); + + /** HttpRule delete */ + "delete"?: (string|null); + + /** HttpRule patch */ + patch?: (string|null); + + /** HttpRule custom */ + custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body */ + body?: (string|null); + + /** HttpRule responseBody */ + responseBody?: (string|null); + + /** HttpRule additionalBindings */ + additionalBindings?: (google.api.IHttpRule[]|null); + } + + /** Represents a HttpRule. */ + class HttpRule implements IHttpRule { + + /** + * Constructs a new HttpRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttpRule); + + /** HttpRule selector. */ + public selector: string; + + /** HttpRule get. */ + public get?: (string|null); + + /** HttpRule put. */ + public put?: (string|null); + + /** HttpRule post. */ + public post?: (string|null); + + /** HttpRule delete. */ + public delete?: (string|null); + + /** HttpRule patch. */ + public patch?: (string|null); + + /** HttpRule custom. */ + public custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body. */ + public body: string; + + /** HttpRule responseBody. */ + public responseBody: string; + + /** HttpRule additionalBindings. */ + public additionalBindings: google.api.IHttpRule[]; + + /** HttpRule pattern. */ + public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom"); + + /** + * Creates a new HttpRule instance using the specified properties. + * @param [properties] Properties to set + * @returns HttpRule instance + */ + public static create(properties?: google.api.IHttpRule): google.api.HttpRule; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule; + + /** + * Verifies a HttpRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HttpRule + */ + public static fromObject(object: { [k: string]: any }): google.api.HttpRule; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @param message HttpRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HttpRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HttpRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CustomHttpPattern. */ + interface ICustomHttpPattern { + + /** CustomHttpPattern kind */ + kind?: (string|null); + + /** CustomHttpPattern path */ + path?: (string|null); + } + + /** Represents a CustomHttpPattern. */ + class CustomHttpPattern implements ICustomHttpPattern { + + /** + * Constructs a new CustomHttpPattern. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICustomHttpPattern); + + /** CustomHttpPattern kind. */ + public kind: string; + + /** CustomHttpPattern path. */ + public path: string; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomHttpPattern instance + */ + public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern; + + /** + * Verifies a CustomHttpPattern message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomHttpPattern + */ + public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @param message CustomHttpPattern + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomHttpPattern to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomHttpPattern + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CommonLanguageSettings. */ + interface ICommonLanguageSettings { + + /** CommonLanguageSettings referenceDocsUri */ + referenceDocsUri?: (string|null); + + /** CommonLanguageSettings destinations */ + destinations?: (google.api.ClientLibraryDestination[]|null); + } + + /** Represents a CommonLanguageSettings. */ + class CommonLanguageSettings implements ICommonLanguageSettings { + + /** + * Constructs a new CommonLanguageSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICommonLanguageSettings); + + /** CommonLanguageSettings referenceDocsUri. */ + public referenceDocsUri: string; + + /** CommonLanguageSettings destinations. */ + public destinations: google.api.ClientLibraryDestination[]; + + /** + * Creates a new CommonLanguageSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns CommonLanguageSettings instance + */ + public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings; + + /** + * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @param message CommonLanguageSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @param message CommonLanguageSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings; + + /** + * Verifies a CommonLanguageSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CommonLanguageSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings; + + /** + * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified. + * @param message CommonLanguageSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CommonLanguageSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CommonLanguageSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ClientLibrarySettings. */ + interface IClientLibrarySettings { + + /** ClientLibrarySettings version */ + version?: (string|null); + + /** ClientLibrarySettings launchStage */ + launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null); + + /** ClientLibrarySettings restNumericEnums */ + restNumericEnums?: (boolean|null); + + /** ClientLibrarySettings javaSettings */ + javaSettings?: (google.api.IJavaSettings|null); + + /** ClientLibrarySettings cppSettings */ + cppSettings?: (google.api.ICppSettings|null); + + /** ClientLibrarySettings phpSettings */ + phpSettings?: (google.api.IPhpSettings|null); + + /** ClientLibrarySettings pythonSettings */ + pythonSettings?: (google.api.IPythonSettings|null); + + /** ClientLibrarySettings nodeSettings */ + nodeSettings?: (google.api.INodeSettings|null); + + /** ClientLibrarySettings dotnetSettings */ + dotnetSettings?: (google.api.IDotnetSettings|null); + + /** ClientLibrarySettings rubySettings */ + rubySettings?: (google.api.IRubySettings|null); + + /** ClientLibrarySettings goSettings */ + goSettings?: (google.api.IGoSettings|null); + } + + /** Represents a ClientLibrarySettings. */ + class ClientLibrarySettings implements IClientLibrarySettings { + + /** + * Constructs a new ClientLibrarySettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IClientLibrarySettings); + + /** ClientLibrarySettings version. */ + public version: string; + + /** ClientLibrarySettings launchStage. */ + public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage); + + /** ClientLibrarySettings restNumericEnums. */ + public restNumericEnums: boolean; + + /** ClientLibrarySettings javaSettings. */ + public javaSettings?: (google.api.IJavaSettings|null); + + /** ClientLibrarySettings cppSettings. */ + public cppSettings?: (google.api.ICppSettings|null); + + /** ClientLibrarySettings phpSettings. */ + public phpSettings?: (google.api.IPhpSettings|null); + + /** ClientLibrarySettings pythonSettings. */ + public pythonSettings?: (google.api.IPythonSettings|null); + + /** ClientLibrarySettings nodeSettings. */ + public nodeSettings?: (google.api.INodeSettings|null); + + /** ClientLibrarySettings dotnetSettings. */ + public dotnetSettings?: (google.api.IDotnetSettings|null); + + /** ClientLibrarySettings rubySettings. */ + public rubySettings?: (google.api.IRubySettings|null); + + /** ClientLibrarySettings goSettings. */ + public goSettings?: (google.api.IGoSettings|null); + + /** + * Creates a new ClientLibrarySettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ClientLibrarySettings instance + */ + public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings; + + /** + * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @param message ClientLibrarySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @param message ClientLibrarySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings; + + /** + * Verifies a ClientLibrarySettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ClientLibrarySettings + */ + public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings; + + /** + * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified. + * @param message ClientLibrarySettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ClientLibrarySettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ClientLibrarySettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Publishing. */ + interface IPublishing { + + /** Publishing methodSettings */ + methodSettings?: (google.api.IMethodSettings[]|null); + + /** Publishing newIssueUri */ + newIssueUri?: (string|null); + + /** Publishing documentationUri */ + documentationUri?: (string|null); + + /** Publishing apiShortName */ + apiShortName?: (string|null); + + /** Publishing githubLabel */ + githubLabel?: (string|null); + + /** Publishing codeownerGithubTeams */ + codeownerGithubTeams?: (string[]|null); + + /** Publishing docTagPrefix */ + docTagPrefix?: (string|null); + + /** Publishing organization */ + organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null); + + /** Publishing librarySettings */ + librarySettings?: (google.api.IClientLibrarySettings[]|null); + + /** Publishing protoReferenceDocumentationUri */ + protoReferenceDocumentationUri?: (string|null); + + /** Publishing restReferenceDocumentationUri */ + restReferenceDocumentationUri?: (string|null); + } + + /** Represents a Publishing. */ + class Publishing implements IPublishing { + + /** + * Constructs a new Publishing. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPublishing); + + /** Publishing methodSettings. */ + public methodSettings: google.api.IMethodSettings[]; + + /** Publishing newIssueUri. */ + public newIssueUri: string; + + /** Publishing documentationUri. */ + public documentationUri: string; + + /** Publishing apiShortName. */ + public apiShortName: string; + + /** Publishing githubLabel. */ + public githubLabel: string; + + /** Publishing codeownerGithubTeams. */ + public codeownerGithubTeams: string[]; + + /** Publishing docTagPrefix. */ + public docTagPrefix: string; + + /** Publishing organization. */ + public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization); + + /** Publishing librarySettings. */ + public librarySettings: google.api.IClientLibrarySettings[]; + + /** Publishing protoReferenceDocumentationUri. */ + public protoReferenceDocumentationUri: string; + + /** Publishing restReferenceDocumentationUri. */ + public restReferenceDocumentationUri: string; + + /** + * Creates a new Publishing instance using the specified properties. + * @param [properties] Properties to set + * @returns Publishing instance + */ + public static create(properties?: google.api.IPublishing): google.api.Publishing; + + /** + * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @param message Publishing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @param message Publishing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Publishing message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing; + + /** + * Decodes a Publishing message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing; + + /** + * Verifies a Publishing message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Publishing message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Publishing + */ + public static fromObject(object: { [k: string]: any }): google.api.Publishing; + + /** + * Creates a plain object from a Publishing message. Also converts values to other types if specified. + * @param message Publishing + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Publishing to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Publishing + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a JavaSettings. */ + interface IJavaSettings { + + /** JavaSettings libraryPackage */ + libraryPackage?: (string|null); + + /** JavaSettings serviceClassNames */ + serviceClassNames?: ({ [k: string]: string }|null); + + /** JavaSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a JavaSettings. */ + class JavaSettings implements IJavaSettings { + + /** + * Constructs a new JavaSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IJavaSettings); + + /** JavaSettings libraryPackage. */ + public libraryPackage: string; + + /** JavaSettings serviceClassNames. */ + public serviceClassNames: { [k: string]: string }; + + /** JavaSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new JavaSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns JavaSettings instance + */ + public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings; + + /** + * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @param message JavaSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @param message JavaSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a JavaSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings; + + /** + * Decodes a JavaSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings; + + /** + * Verifies a JavaSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns JavaSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.JavaSettings; + + /** + * Creates a plain object from a JavaSettings message. Also converts values to other types if specified. + * @param message JavaSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this JavaSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for JavaSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CppSettings. */ + interface ICppSettings { + + /** CppSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a CppSettings. */ + class CppSettings implements ICppSettings { + + /** + * Constructs a new CppSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICppSettings); + + /** CppSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new CppSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns CppSettings instance + */ + public static create(properties?: google.api.ICppSettings): google.api.CppSettings; + + /** + * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @param message CppSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @param message CppSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CppSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings; + + /** + * Decodes a CppSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings; + + /** + * Verifies a CppSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CppSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CppSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.CppSettings; + + /** + * Creates a plain object from a CppSettings message. Also converts values to other types if specified. + * @param message CppSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CppSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CppSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PhpSettings. */ + interface IPhpSettings { + + /** PhpSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a PhpSettings. */ + class PhpSettings implements IPhpSettings { + + /** + * Constructs a new PhpSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPhpSettings); + + /** PhpSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new PhpSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns PhpSettings instance + */ + public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings; + + /** + * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @param message PhpSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @param message PhpSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PhpSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings; + + /** + * Decodes a PhpSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings; + + /** + * Verifies a PhpSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PhpSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.PhpSettings; + + /** + * Creates a plain object from a PhpSettings message. Also converts values to other types if specified. + * @param message PhpSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PhpSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PhpSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PythonSettings. */ + interface IPythonSettings { + + /** PythonSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a PythonSettings. */ + class PythonSettings implements IPythonSettings { + + /** + * Constructs a new PythonSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPythonSettings); + + /** PythonSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new PythonSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns PythonSettings instance + */ + public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings; + + /** + * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @param message PythonSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @param message PythonSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PythonSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings; + + /** + * Decodes a PythonSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings; + + /** + * Verifies a PythonSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PythonSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings; + + /** + * Creates a plain object from a PythonSettings message. Also converts values to other types if specified. + * @param message PythonSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PythonSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PythonSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a NodeSettings. */ + interface INodeSettings { + + /** NodeSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a NodeSettings. */ + class NodeSettings implements INodeSettings { + + /** + * Constructs a new NodeSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.INodeSettings); + + /** NodeSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new NodeSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeSettings instance + */ + public static create(properties?: google.api.INodeSettings): google.api.NodeSettings; + + /** + * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @param message NodeSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @param message NodeSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings; + + /** + * Decodes a NodeSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings; + + /** + * Verifies a NodeSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.NodeSettings; + + /** + * Creates a plain object from a NodeSettings message. Also converts values to other types if specified. + * @param message NodeSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NodeSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DotnetSettings. */ + interface IDotnetSettings { + + /** DotnetSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + + /** DotnetSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); + + /** DotnetSettings renamedResources */ + renamedResources?: ({ [k: string]: string }|null); + + /** DotnetSettings ignoredResources */ + ignoredResources?: (string[]|null); + + /** DotnetSettings forcedNamespaceAliases */ + forcedNamespaceAliases?: (string[]|null); + + /** DotnetSettings handwrittenSignatures */ + handwrittenSignatures?: (string[]|null); + } + + /** Represents a DotnetSettings. */ + class DotnetSettings implements IDotnetSettings { + + /** + * Constructs a new DotnetSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IDotnetSettings); + + /** DotnetSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** DotnetSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + + /** DotnetSettings renamedResources. */ + public renamedResources: { [k: string]: string }; + + /** DotnetSettings ignoredResources. */ + public ignoredResources: string[]; + + /** DotnetSettings forcedNamespaceAliases. */ + public forcedNamespaceAliases: string[]; + + /** DotnetSettings handwrittenSignatures. */ + public handwrittenSignatures: string[]; + + /** + * Creates a new DotnetSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DotnetSettings instance + */ + public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings; + + /** + * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @param message DotnetSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @param message DotnetSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings; + + /** + * Verifies a DotnetSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DotnetSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings; + + /** + * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified. + * @param message DotnetSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DotnetSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DotnetSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RubySettings. */ + interface IRubySettings { + + /** RubySettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a RubySettings. */ + class RubySettings implements IRubySettings { + + /** + * Constructs a new RubySettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IRubySettings); + + /** RubySettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new RubySettings instance using the specified properties. + * @param [properties] Properties to set + * @returns RubySettings instance + */ + public static create(properties?: google.api.IRubySettings): google.api.RubySettings; + + /** + * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @param message RubySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @param message RubySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RubySettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings; + + /** + * Decodes a RubySettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings; + + /** + * Verifies a RubySettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RubySettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RubySettings + */ + public static fromObject(object: { [k: string]: any }): google.api.RubySettings; + + /** + * Creates a plain object from a RubySettings message. Also converts values to other types if specified. + * @param message RubySettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RubySettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RubySettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GoSettings. */ + interface IGoSettings { + + /** GoSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a GoSettings. */ + class GoSettings implements IGoSettings { + + /** + * Constructs a new GoSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IGoSettings); + + /** GoSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new GoSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns GoSettings instance + */ + public static create(properties?: google.api.IGoSettings): google.api.GoSettings; + + /** + * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @param message GoSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @param message GoSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GoSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings; + + /** + * Decodes a GoSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings; + + /** + * Verifies a GoSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GoSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GoSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.GoSettings; + + /** + * Creates a plain object from a GoSettings message. Also converts values to other types if specified. + * @param message GoSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GoSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GoSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodSettings. */ + interface IMethodSettings { + + /** MethodSettings selector */ + selector?: (string|null); + + /** MethodSettings longRunning */ + longRunning?: (google.api.MethodSettings.ILongRunning|null); + + /** MethodSettings autoPopulatedFields */ + autoPopulatedFields?: (string[]|null); + } + + /** Represents a MethodSettings. */ + class MethodSettings implements IMethodSettings { + + /** + * Constructs a new MethodSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMethodSettings); + + /** MethodSettings selector. */ + public selector: string; + + /** MethodSettings longRunning. */ + public longRunning?: (google.api.MethodSettings.ILongRunning|null); + + /** MethodSettings autoPopulatedFields. */ + public autoPopulatedFields: string[]; + + /** + * Creates a new MethodSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodSettings instance + */ + public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings; + + /** + * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @param message MethodSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @param message MethodSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings; + + /** + * Decodes a MethodSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings; + + /** + * Verifies a MethodSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.MethodSettings; + + /** + * Creates a plain object from a MethodSettings message. Also converts values to other types if specified. + * @param message MethodSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodSettings { + + /** Properties of a LongRunning. */ + interface ILongRunning { + + /** LongRunning initialPollDelay */ + initialPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning pollDelayMultiplier */ + pollDelayMultiplier?: (number|null); + + /** LongRunning maxPollDelay */ + maxPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning totalPollTimeout */ + totalPollTimeout?: (google.protobuf.IDuration|null); + } + + /** Represents a LongRunning. */ + class LongRunning implements ILongRunning { + + /** + * Constructs a new LongRunning. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.MethodSettings.ILongRunning); + + /** LongRunning initialPollDelay. */ + public initialPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning pollDelayMultiplier. */ + public pollDelayMultiplier: number; + + /** LongRunning maxPollDelay. */ + public maxPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning totalPollTimeout. */ + public totalPollTimeout?: (google.protobuf.IDuration|null); + + /** + * Creates a new LongRunning instance using the specified properties. + * @param [properties] Properties to set + * @returns LongRunning instance + */ + public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning; + + /** + * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @param message LongRunning message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @param message LongRunning message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LongRunning message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning; + + /** + * Decodes a LongRunning message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning; + + /** + * Verifies a LongRunning message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LongRunning message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LongRunning + */ + public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning; + + /** + * Creates a plain object from a LongRunning message. Also converts values to other types if specified. + * @param message LongRunning + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LongRunning to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LongRunning + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** ClientLibraryOrganization enum. */ + enum ClientLibraryOrganization { + CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0, + CLOUD = 1, + ADS = 2, + PHOTOS = 3, + STREET_VIEW = 4, + SHOPPING = 5, + GEO = 6, + GENERATIVE_AI = 7 + } + + /** ClientLibraryDestination enum. */ + enum ClientLibraryDestination { + CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0, + GITHUB = 10, + PACKAGE_MANAGER = 20 + } + + /** LaunchStage enum. */ + enum LaunchStage { + LAUNCH_STAGE_UNSPECIFIED = 0, + UNIMPLEMENTED = 6, + PRELAUNCH = 7, + EARLY_ACCESS = 1, + ALPHA = 2, + BETA = 3, + GA = 4, + DEPRECATED = 5 + } + + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7, + IDENTIFIER = 8 + } + + /** Properties of a ResourceDescriptor. */ + interface IResourceDescriptor { + + /** ResourceDescriptor type */ + type?: (string|null); + + /** ResourceDescriptor pattern */ + pattern?: (string[]|null); + + /** ResourceDescriptor nameField */ + nameField?: (string|null); + + /** ResourceDescriptor history */ + history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null); + + /** ResourceDescriptor plural */ + plural?: (string|null); + + /** ResourceDescriptor singular */ + singular?: (string|null); + + /** ResourceDescriptor style */ + style?: (google.api.ResourceDescriptor.Style[]|null); + } + + /** Represents a ResourceDescriptor. */ + class ResourceDescriptor implements IResourceDescriptor { + + /** + * Constructs a new ResourceDescriptor. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceDescriptor); + + /** ResourceDescriptor type. */ + public type: string; + + /** ResourceDescriptor pattern. */ + public pattern: string[]; + + /** ResourceDescriptor nameField. */ + public nameField: string; + + /** ResourceDescriptor history. */ + public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History); + + /** ResourceDescriptor plural. */ + public plural: string; + + /** ResourceDescriptor singular. */ + public singular: string; + + /** ResourceDescriptor style. */ + public style: google.api.ResourceDescriptor.Style[]; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceDescriptor instance + */ + public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor; + + /** + * Verifies a ResourceDescriptor message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceDescriptor + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @param message ResourceDescriptor + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceDescriptor to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceDescriptor + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ResourceDescriptor { + + /** History enum. */ + enum History { + HISTORY_UNSPECIFIED = 0, + ORIGINALLY_SINGLE_PATTERN = 1, + FUTURE_MULTI_PATTERN = 2 + } + + /** Style enum. */ + enum Style { + STYLE_UNSPECIFIED = 0, + DECLARATIVE_FRIENDLY = 1 + } + } + + /** Properties of a ResourceReference. */ + interface IResourceReference { + + /** ResourceReference type */ + type?: (string|null); + + /** ResourceReference childType */ + childType?: (string|null); + } + + /** Represents a ResourceReference. */ + class ResourceReference implements IResourceReference { + + /** + * Constructs a new ResourceReference. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceReference); + + /** ResourceReference type. */ + public type: string; + + /** ResourceReference childType. */ + public childType: string; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceReference instance + */ + public static create(properties?: google.api.IResourceReference): google.api.ResourceReference; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference; + + /** + * Verifies a ResourceReference message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceReference + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceReference; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @param message ResourceReference + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceReference to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceReference + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a FileDescriptorSet. */ + interface IFileDescriptorSet { + + /** FileDescriptorSet file */ + file?: (google.protobuf.IFileDescriptorProto[]|null); + } + + /** Represents a FileDescriptorSet. */ + class FileDescriptorSet implements IFileDescriptorSet { + + /** + * Constructs a new FileDescriptorSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorSet); + + /** FileDescriptorSet file. */ + public file: google.protobuf.IFileDescriptorProto[]; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorSet instance + */ + public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + + /** + * Verifies a FileDescriptorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @param message FileDescriptorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Edition enum. */ + enum Edition { + EDITION_UNKNOWN = 0, + EDITION_PROTO2 = 998, + EDITION_PROTO3 = 999, + EDITION_2023 = 1000, + EDITION_2024 = 1001, + EDITION_1_TEST_ONLY = 1, + EDITION_2_TEST_ONLY = 2, + EDITION_99997_TEST_ONLY = 99997, + EDITION_99998_TEST_ONLY = 99998, + EDITION_99999_TEST_ONLY = 99999, + EDITION_MAX = 2147483647 + } + + /** Properties of a FileDescriptorProto. */ + interface IFileDescriptorProto { + + /** FileDescriptorProto name */ + name?: (string|null); + + /** FileDescriptorProto package */ + "package"?: (string|null); + + /** FileDescriptorProto dependency */ + dependency?: (string[]|null); + + /** FileDescriptorProto publicDependency */ + publicDependency?: (number[]|null); + + /** FileDescriptorProto weakDependency */ + weakDependency?: (number[]|null); + + /** FileDescriptorProto messageType */ + messageType?: (google.protobuf.IDescriptorProto[]|null); + + /** FileDescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** FileDescriptorProto service */ + service?: (google.protobuf.IServiceDescriptorProto[]|null); + + /** FileDescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** FileDescriptorProto options */ + options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo */ + sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax */ + syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FileDescriptorProto. */ + class FileDescriptorProto implements IFileDescriptorProto { + + /** + * Constructs a new FileDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorProto); + + /** FileDescriptorProto name. */ + public name: string; + + /** FileDescriptorProto package. */ + public package: string; + + /** FileDescriptorProto dependency. */ + public dependency: string[]; + + /** FileDescriptorProto publicDependency. */ + public publicDependency: number[]; + + /** FileDescriptorProto weakDependency. */ + public weakDependency: number[]; + + /** FileDescriptorProto messageType. */ + public messageType: google.protobuf.IDescriptorProto[]; + + /** FileDescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** FileDescriptorProto service. */ + public service: google.protobuf.IServiceDescriptorProto[]; + + /** FileDescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** FileDescriptorProto options. */ + public options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo. */ + public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax. */ + public syntax: string; + + /** FileDescriptorProto edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + + /** + * Verifies a FileDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @param message FileDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DescriptorProto. */ + interface IDescriptorProto { + + /** DescriptorProto name */ + name?: (string|null); + + /** DescriptorProto field */ + field?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto nestedType */ + nestedType?: (google.protobuf.IDescriptorProto[]|null); + + /** DescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** DescriptorProto extensionRange */ + extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); + + /** DescriptorProto oneofDecl */ + oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + + /** DescriptorProto options */ + options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange */ + reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + + /** DescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents a DescriptorProto. */ + class DescriptorProto implements IDescriptorProto { + + /** + * Constructs a new DescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDescriptorProto); + + /** DescriptorProto name. */ + public name: string; + + /** DescriptorProto field. */ + public field: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto nestedType. */ + public nestedType: google.protobuf.IDescriptorProto[]; + + /** DescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** DescriptorProto extensionRange. */ + public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + + /** DescriptorProto oneofDecl. */ + public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + + /** DescriptorProto options. */ + public options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange. */ + public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + + /** DescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns DescriptorProto instance + */ + public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + + /** + * Verifies a DescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @param message DescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DescriptorProto { + + /** Properties of an ExtensionRange. */ + interface IExtensionRange { + + /** ExtensionRange start */ + start?: (number|null); + + /** ExtensionRange end */ + end?: (number|null); + + /** ExtensionRange options */ + options?: (google.protobuf.IExtensionRangeOptions|null); + } + + /** Represents an ExtensionRange. */ + class ExtensionRange implements IExtensionRange { + + /** + * Constructs a new ExtensionRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); + + /** ExtensionRange start. */ + public start: number; + + /** ExtensionRange end. */ + public end: number; + + /** ExtensionRange options. */ + public options?: (google.protobuf.IExtensionRangeOptions|null); + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Verifies an ExtensionRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @param message ExtensionRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ReservedRange. */ + interface IReservedRange { + + /** ReservedRange start */ + start?: (number|null); + + /** ReservedRange end */ + end?: (number|null); + } + + /** Represents a ReservedRange. */ + class ReservedRange implements IReservedRange { + + /** + * Constructs a new ReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); + + /** ReservedRange start. */ + public start: number; + + /** ReservedRange end. */ + public end: number; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ReservedRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Verifies a ReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @param message ReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ExtensionRangeOptions declaration */ + declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null); + + /** ExtensionRangeOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** ExtensionRangeOptions verification */ + verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null); + } + + /** Represents an ExtensionRangeOptions. */ + class ExtensionRangeOptions implements IExtensionRangeOptions { + + /** + * Constructs a new ExtensionRangeOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IExtensionRangeOptions); + + /** ExtensionRangeOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** ExtensionRangeOptions declaration. */ + public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[]; + + /** ExtensionRangeOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** ExtensionRangeOptions verification. */ + public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState); + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRangeOptions instance + */ + public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + + /** + * Verifies an ExtensionRangeOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRangeOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @param message ExtensionRangeOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ExtensionRangeOptions { + + /** Properties of a Declaration. */ + interface IDeclaration { + + /** Declaration number */ + number?: (number|null); + + /** Declaration fullName */ + fullName?: (string|null); + + /** Declaration type */ + type?: (string|null); + + /** Declaration reserved */ + reserved?: (boolean|null); + + /** Declaration repeated */ + repeated?: (boolean|null); + } + + /** Represents a Declaration. */ + class Declaration implements IDeclaration { + + /** + * Constructs a new Declaration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration); + + /** Declaration number. */ + public number: number; + + /** Declaration fullName. */ + public fullName: string; + + /** Declaration type. */ + public type: string; + + /** Declaration reserved. */ + public reserved: boolean; + + /** Declaration repeated. */ + public repeated: boolean; + + /** + * Creates a new Declaration instance using the specified properties. + * @param [properties] Properties to set + * @returns Declaration instance + */ + public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @param message Declaration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @param message Declaration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Declaration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Decodes a Declaration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Verifies a Declaration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Declaration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Declaration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Creates a plain object from a Declaration message. Also converts values to other types if specified. + * @param message Declaration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Declaration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Declaration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** VerificationState enum. */ + enum VerificationState { + DECLARATION = 0, + UNVERIFIED = 1 + } + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); + + /** FieldDescriptorProto typeName */ + typeName?: (string|null); + + /** FieldDescriptorProto extendee */ + extendee?: (string|null); + + /** FieldDescriptorProto defaultValue */ + defaultValue?: (string|null); + + /** FieldDescriptorProto oneofIndex */ + oneofIndex?: (number|null); + + /** FieldDescriptorProto jsonName */ + jsonName?: (string|null); + + /** FieldDescriptorProto options */ + options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); + } + + /** Represents a FieldDescriptorProto. */ + class FieldDescriptorProto implements IFieldDescriptorProto { + + /** + * Constructs a new FieldDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldDescriptorProto); + + /** FieldDescriptorProto name. */ + public name: string; + + /** FieldDescriptorProto number. */ + public number: number; + + /** FieldDescriptorProto label. */ + public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); + + /** FieldDescriptorProto type. */ + public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); + + /** FieldDescriptorProto typeName. */ + public typeName: string; + + /** FieldDescriptorProto extendee. */ + public extendee: string; + + /** FieldDescriptorProto defaultValue. */ + public defaultValue: string; + + /** FieldDescriptorProto oneofIndex. */ + public oneofIndex: number; + + /** FieldDescriptorProto jsonName. */ + public jsonName: string; + + /** FieldDescriptorProto options. */ + public options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional. */ + public proto3Optional: boolean; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + + /** + * Verifies a FieldDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @param message FieldDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldDescriptorProto { + + /** Type enum. */ + enum Type { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Label enum. */ + enum Label { + LABEL_OPTIONAL = 1, + LABEL_REPEATED = 3, + LABEL_REQUIRED = 2 + } + } + + /** Properties of an OneofDescriptorProto. */ + interface IOneofDescriptorProto { + + /** OneofDescriptorProto name */ + name?: (string|null); + + /** OneofDescriptorProto options */ + options?: (google.protobuf.IOneofOptions|null); + } + + /** Represents an OneofDescriptorProto. */ + class OneofDescriptorProto implements IOneofDescriptorProto { + + /** + * Constructs a new OneofDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofDescriptorProto); + + /** OneofDescriptorProto name. */ + public name: string; + + /** OneofDescriptorProto options. */ + public options?: (google.protobuf.IOneofOptions|null); + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofDescriptorProto instance + */ + public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + + /** + * Verifies an OneofDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @param message OneofDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumDescriptorProto. */ + interface IEnumDescriptorProto { + + /** EnumDescriptorProto name */ + name?: (string|null); + + /** EnumDescriptorProto value */ + value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + + /** EnumDescriptorProto options */ + options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange */ + reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + + /** EnumDescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents an EnumDescriptorProto. */ + class EnumDescriptorProto implements IEnumDescriptorProto { + + /** + * Constructs a new EnumDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumDescriptorProto); + + /** EnumDescriptorProto name. */ + public name: string; + + /** EnumDescriptorProto value. */ + public value: google.protobuf.IEnumValueDescriptorProto[]; + + /** EnumDescriptorProto options. */ + public options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange. */ + public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + + /** EnumDescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + + /** + * Verifies an EnumDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @param message EnumDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace EnumDescriptorProto { + + /** Properties of an EnumReservedRange. */ + interface IEnumReservedRange { + + /** EnumReservedRange start */ + start?: (number|null); + + /** EnumReservedRange end */ + end?: (number|null); + } + + /** Represents an EnumReservedRange. */ + class EnumReservedRange implements IEnumReservedRange { + + /** + * Constructs a new EnumReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + + /** EnumReservedRange start. */ + public start: number; + + /** EnumReservedRange end. */ + public end: number; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumReservedRange instance + */ + public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Verifies an EnumReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @param message EnumReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an EnumValueDescriptorProto. */ + interface IEnumValueDescriptorProto { + + /** EnumValueDescriptorProto name */ + name?: (string|null); + + /** EnumValueDescriptorProto number */ + number?: (number|null); + + /** EnumValueDescriptorProto options */ + options?: (google.protobuf.IEnumValueOptions|null); + } + + /** Represents an EnumValueDescriptorProto. */ + class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + + /** + * Constructs a new EnumValueDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueDescriptorProto); + + /** EnumValueDescriptorProto name. */ + public name: string; + + /** EnumValueDescriptorProto number. */ + public number: number; + + /** EnumValueDescriptorProto options. */ + public options?: (google.protobuf.IEnumValueOptions|null); + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + + /** + * Verifies an EnumValueDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @param message EnumValueDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceDescriptorProto. */ + interface IServiceDescriptorProto { + + /** ServiceDescriptorProto name */ + name?: (string|null); + + /** ServiceDescriptorProto method */ + method?: (google.protobuf.IMethodDescriptorProto[]|null); + + /** ServiceDescriptorProto options */ + options?: (google.protobuf.IServiceOptions|null); + } + + /** Represents a ServiceDescriptorProto. */ + class ServiceDescriptorProto implements IServiceDescriptorProto { + + /** + * Constructs a new ServiceDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceDescriptorProto); + + /** ServiceDescriptorProto name. */ + public name: string; + + /** ServiceDescriptorProto method. */ + public method: google.protobuf.IMethodDescriptorProto[]; + + /** ServiceDescriptorProto options. */ + public options?: (google.protobuf.IServiceOptions|null); + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceDescriptorProto instance + */ + public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + + /** + * Verifies a ServiceDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @param message ServiceDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodDescriptorProto. */ + interface IMethodDescriptorProto { + + /** MethodDescriptorProto name */ + name?: (string|null); + + /** MethodDescriptorProto inputType */ + inputType?: (string|null); + + /** MethodDescriptorProto outputType */ + outputType?: (string|null); + + /** MethodDescriptorProto options */ + options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming */ + clientStreaming?: (boolean|null); + + /** MethodDescriptorProto serverStreaming */ + serverStreaming?: (boolean|null); + } + + /** Represents a MethodDescriptorProto. */ + class MethodDescriptorProto implements IMethodDescriptorProto { + + /** + * Constructs a new MethodDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodDescriptorProto); + + /** MethodDescriptorProto name. */ + public name: string; + + /** MethodDescriptorProto inputType. */ + public inputType: string; + + /** MethodDescriptorProto outputType. */ + public outputType: string; + + /** MethodDescriptorProto options. */ + public options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming. */ + public clientStreaming: boolean; + + /** MethodDescriptorProto serverStreaming. */ + public serverStreaming: boolean; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodDescriptorProto instance + */ + public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + + /** + * Verifies a MethodDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @param message MethodDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileOptions. */ + interface IFileOptions { + + /** FileOptions javaPackage */ + javaPackage?: (string|null); + + /** FileOptions javaOuterClassname */ + javaOuterClassname?: (string|null); + + /** FileOptions javaMultipleFiles */ + javaMultipleFiles?: (boolean|null); + + /** FileOptions javaGenerateEqualsAndHash */ + javaGenerateEqualsAndHash?: (boolean|null); + + /** FileOptions javaStringCheckUtf8 */ + javaStringCheckUtf8?: (boolean|null); + + /** FileOptions optimizeFor */ + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions deprecated */ + deprecated?: (boolean|null); + + /** FileOptions ccEnableArenas */ + ccEnableArenas?: (boolean|null); + + /** FileOptions objcClassPrefix */ + objcClassPrefix?: (string|null); + + /** FileOptions csharpNamespace */ + csharpNamespace?: (string|null); + + /** FileOptions swiftPrefix */ + swiftPrefix?: (string|null); + + /** FileOptions phpClassPrefix */ + phpClassPrefix?: (string|null); + + /** FileOptions phpNamespace */ + phpNamespace?: (string|null); + + /** FileOptions phpMetadataNamespace */ + phpMetadataNamespace?: (string|null); + + /** FileOptions rubyPackage */ + rubyPackage?: (string|null); + + /** FileOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** FileOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FileOptions .google.api.resourceDefinition */ + ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null); + } + + /** Represents a FileOptions. */ + class FileOptions implements IFileOptions { + + /** + * Constructs a new FileOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileOptions); + + /** FileOptions javaPackage. */ + public javaPackage: string; + + /** FileOptions javaOuterClassname. */ + public javaOuterClassname: string; + + /** FileOptions javaMultipleFiles. */ + public javaMultipleFiles: boolean; + + /** FileOptions javaGenerateEqualsAndHash. */ + public javaGenerateEqualsAndHash: boolean; + + /** FileOptions javaStringCheckUtf8. */ + public javaStringCheckUtf8: boolean; + + /** FileOptions optimizeFor. */ + public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions deprecated. */ + public deprecated: boolean; + + /** FileOptions ccEnableArenas. */ + public ccEnableArenas: boolean; + + /** FileOptions objcClassPrefix. */ + public objcClassPrefix: string; + + /** FileOptions csharpNamespace. */ + public csharpNamespace: string; + + /** FileOptions swiftPrefix. */ + public swiftPrefix: string; + + /** FileOptions phpClassPrefix. */ + public phpClassPrefix: string; + + /** FileOptions phpNamespace. */ + public phpNamespace: string; + + /** FileOptions phpMetadataNamespace. */ + public phpMetadataNamespace: string; + + /** FileOptions rubyPackage. */ + public rubyPackage: string; + + /** FileOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** FileOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FileOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FileOptions instance + */ + public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; + + /** + * Verifies a FileOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @param message FileOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FileOptions { + + /** OptimizeMode enum. */ + enum OptimizeMode { + SPEED = 1, + CODE_SIZE = 2, + LITE_RUNTIME = 3 + } + } + + /** Properties of a MessageOptions. */ + interface IMessageOptions { + + /** MessageOptions messageSetWireFormat */ + messageSetWireFormat?: (boolean|null); + + /** MessageOptions noStandardDescriptorAccessor */ + noStandardDescriptorAccessor?: (boolean|null); + + /** MessageOptions deprecated */ + deprecated?: (boolean|null); + + /** MessageOptions mapEntry */ + mapEntry?: (boolean|null); + + /** MessageOptions deprecatedLegacyJsonFieldConflicts */ + deprecatedLegacyJsonFieldConflicts?: (boolean|null); + + /** MessageOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** MessageOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MessageOptions .google.api.resource */ + ".google.api.resource"?: (google.api.IResourceDescriptor|null); + } + + /** Represents a MessageOptions. */ + class MessageOptions implements IMessageOptions { + + /** + * Constructs a new MessageOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMessageOptions); + + /** MessageOptions messageSetWireFormat. */ + public messageSetWireFormat: boolean; + + /** MessageOptions noStandardDescriptorAccessor. */ + public noStandardDescriptorAccessor: boolean; + + /** MessageOptions deprecated. */ + public deprecated: boolean; + + /** MessageOptions mapEntry. */ + public mapEntry: boolean; + + /** MessageOptions deprecatedLegacyJsonFieldConflicts. */ + public deprecatedLegacyJsonFieldConflicts: boolean; + + /** MessageOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** MessageOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageOptions instance + */ + public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; + + /** + * Verifies a MessageOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @param message MessageOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MessageOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldOptions. */ + interface IFieldOptions { + + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); + + /** FieldOptions packed */ + packed?: (boolean|null); + + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); + + /** FieldOptions lazy */ + lazy?: (boolean|null); + + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + + /** FieldOptions deprecated */ + deprecated?: (boolean|null); + + /** FieldOptions weak */ + weak?: (boolean|null); + + /** FieldOptions debugRedact */ + debugRedact?: (boolean|null); + + /** FieldOptions retention */ + retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null); + + /** FieldOptions targets */ + targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null); + + /** FieldOptions editionDefaults */ + editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null); + + /** FieldOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** FieldOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FieldOptions .google.api.fieldBehavior */ + ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null); + + /** FieldOptions .google.api.resourceReference */ + ".google.api.resourceReference"?: (google.api.IResourceReference|null); + } + + /** Represents a FieldOptions. */ + class FieldOptions implements IFieldOptions { + + /** + * Constructs a new FieldOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldOptions); + + /** FieldOptions ctype. */ + public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType); + + /** FieldOptions packed. */ + public packed: boolean; + + /** FieldOptions jstype. */ + public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); + + /** FieldOptions lazy. */ + public lazy: boolean; + + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + + /** FieldOptions deprecated. */ + public deprecated: boolean; + + /** FieldOptions weak. */ + public weak: boolean; + + /** FieldOptions debugRedact. */ + public debugRedact: boolean; + + /** FieldOptions retention. */ + public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention); + + /** FieldOptions targets. */ + public targets: google.protobuf.FieldOptions.OptionTargetType[]; + + /** FieldOptions editionDefaults. */ + public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[]; + + /** FieldOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** FieldOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldOptions instance + */ + public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; + + /** + * Verifies a FieldOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @param message FieldOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldOptions { + + /** CType enum. */ + enum CType { + STRING = 0, + CORD = 1, + STRING_PIECE = 2 + } + + /** JSType enum. */ + enum JSType { + JS_NORMAL = 0, + JS_STRING = 1, + JS_NUMBER = 2 + } + + /** OptionRetention enum. */ + enum OptionRetention { + RETENTION_UNKNOWN = 0, + RETENTION_RUNTIME = 1, + RETENTION_SOURCE = 2 + } + + /** OptionTargetType enum. */ + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0, + TARGET_TYPE_FILE = 1, + TARGET_TYPE_EXTENSION_RANGE = 2, + TARGET_TYPE_MESSAGE = 3, + TARGET_TYPE_FIELD = 4, + TARGET_TYPE_ONEOF = 5, + TARGET_TYPE_ENUM = 6, + TARGET_TYPE_ENUM_ENTRY = 7, + TARGET_TYPE_SERVICE = 8, + TARGET_TYPE_METHOD = 9 + } + + /** Properties of an EditionDefault. */ + interface IEditionDefault { + + /** EditionDefault edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** EditionDefault value */ + value?: (string|null); + } + + /** Represents an EditionDefault. */ + class EditionDefault implements IEditionDefault { + + /** + * Constructs a new EditionDefault. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IEditionDefault); + + /** EditionDefault edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** EditionDefault value. */ + public value: string; + + /** + * Creates a new EditionDefault instance using the specified properties. + * @param [properties] Properties to set + * @returns EditionDefault instance + */ + public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault; + + /** + * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @param message EditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @param message EditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EditionDefault message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault; + + /** + * Decodes an EditionDefault message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault; + + /** + * Verifies an EditionDefault message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EditionDefault + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault; + + /** + * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * @param message EditionDefault + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EditionDefault to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EditionDefault + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an OneofOptions. */ + interface IOneofOptions { + + /** OneofOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** OneofOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an OneofOptions. */ + class OneofOptions implements IOneofOptions { + + /** + * Constructs a new OneofOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofOptions); + + /** OneofOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** OneofOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofOptions instance + */ + public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; + + /** + * Verifies an OneofOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @param message OneofOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumOptions. */ + interface IEnumOptions { + + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); + + /** EnumOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumOptions deprecatedLegacyJsonFieldConflicts */ + deprecatedLegacyJsonFieldConflicts?: (boolean|null); + + /** EnumOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** EnumOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumOptions. */ + class EnumOptions implements IEnumOptions { + + /** + * Constructs a new EnumOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumOptions); + + /** EnumOptions allowAlias. */ + public allowAlias: boolean; + + /** EnumOptions deprecated. */ + public deprecated: boolean; + + /** EnumOptions deprecatedLegacyJsonFieldConflicts. */ + public deprecatedLegacyJsonFieldConflicts: boolean; + + /** EnumOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** EnumOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumOptions instance + */ + public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; + + /** + * Verifies an EnumOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @param message EnumOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { + + /** EnumValueOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumValueOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** EnumValueOptions debugRedact */ + debugRedact?: (boolean|null); + + /** EnumValueOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumValueOptions. */ + class EnumValueOptions implements IEnumValueOptions { + + /** + * Constructs a new EnumValueOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueOptions); + + /** EnumValueOptions deprecated. */ + public deprecated: boolean; + + /** EnumValueOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** EnumValueOptions debugRedact. */ + public debugRedact: boolean; + + /** EnumValueOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueOptions instance + */ + public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; + + /** + * Verifies an EnumValueOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @param message EnumValueOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceOptions. */ + interface IServiceOptions { + + /** ServiceOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** ServiceOptions deprecated */ + deprecated?: (boolean|null); + + /** ServiceOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ServiceOptions .google.api.defaultHost */ + ".google.api.defaultHost"?: (string|null); + + /** ServiceOptions .google.api.oauthScopes */ + ".google.api.oauthScopes"?: (string|null); + + /** ServiceOptions .google.api.apiVersion */ + ".google.api.apiVersion"?: (string|null); + } + + /** Represents a ServiceOptions. */ + class ServiceOptions implements IServiceOptions { + + /** + * Constructs a new ServiceOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceOptions); + + /** ServiceOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** ServiceOptions deprecated. */ + public deprecated: boolean; + + /** ServiceOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceOptions instance + */ + public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; + + /** + * Verifies a ServiceOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @param message ServiceOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodOptions. */ + interface IMethodOptions { + + /** MethodOptions deprecated */ + deprecated?: (boolean|null); + + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); + + /** MethodOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** MethodOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MethodOptions .google.api.http */ + ".google.api.http"?: (google.api.IHttpRule|null); + + /** MethodOptions .google.api.methodSignature */ + ".google.api.methodSignature"?: (string[]|null); + } + + /** Represents a MethodOptions. */ + class MethodOptions implements IMethodOptions { + + /** + * Constructs a new MethodOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodOptions); + + /** MethodOptions deprecated. */ + public deprecated: boolean; + + /** MethodOptions idempotencyLevel. */ + public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); + + /** MethodOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** MethodOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodOptions instance + */ + public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; + + /** + * Verifies a MethodOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @param message MethodOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodOptions { + + /** IdempotencyLevel enum. */ + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2 + } + } + + /** Properties of an UninterpretedOption. */ + interface IUninterpretedOption { + + /** UninterpretedOption name */ + name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + + /** UninterpretedOption identifierValue */ + identifierValue?: (string|null); + + /** UninterpretedOption positiveIntValue */ + positiveIntValue?: (number|Long|string|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|string|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|string|null); + + /** UninterpretedOption aggregateValue */ + aggregateValue?: (string|null); + } + + /** Represents an UninterpretedOption. */ + class UninterpretedOption implements IUninterpretedOption { + + /** + * Constructs a new UninterpretedOption. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUninterpretedOption); + + /** UninterpretedOption name. */ + public name: google.protobuf.UninterpretedOption.INamePart[]; + + /** UninterpretedOption identifierValue. */ + public identifierValue: string; + + /** UninterpretedOption positiveIntValue. */ + public positiveIntValue: (number|Long|string); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long|string); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: (Uint8Array|string); + + /** UninterpretedOption aggregateValue. */ + public aggregateValue: string; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @param [properties] Properties to set + * @returns UninterpretedOption instance + */ + public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; + + /** + * Verifies an UninterpretedOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UninterpretedOption + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @param message UninterpretedOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UninterpretedOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UninterpretedOption + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace UninterpretedOption { + + /** Properties of a NamePart. */ + interface INamePart { + + /** NamePart namePart */ + namePart: string; + + /** NamePart isExtension */ + isExtension: boolean; + } + + /** Represents a NamePart. */ + class NamePart implements INamePart { + + /** + * Constructs a new NamePart. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.UninterpretedOption.INamePart); + + /** NamePart namePart. */ + public namePart: string; + + /** NamePart isExtension. */ + public isExtension: boolean; + + /** + * Creates a new NamePart instance using the specified properties. + * @param [properties] Properties to set + * @returns NamePart instance + */ + public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; + + /** + * Verifies a NamePart message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NamePart + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @param message NamePart + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NamePart to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NamePart + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a FeatureSet. */ + interface IFeatureSet { + + /** FeatureSet fieldPresence */ + fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null); + + /** FeatureSet enumType */ + enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null); + + /** FeatureSet repeatedFieldEncoding */ + repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null); + + /** FeatureSet utf8Validation */ + utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null); + + /** FeatureSet messageEncoding */ + messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null); + + /** FeatureSet jsonFormat */ + jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + } + + /** Represents a FeatureSet. */ + class FeatureSet implements IFeatureSet { + + /** + * Constructs a new FeatureSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFeatureSet); + + /** FeatureSet fieldPresence. */ + public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence); + + /** FeatureSet enumType. */ + public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType); + + /** FeatureSet repeatedFieldEncoding. */ + public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding); + + /** FeatureSet utf8Validation. */ + public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation); + + /** FeatureSet messageEncoding. */ + public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding); + + /** FeatureSet jsonFormat. */ + public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + + /** + * Creates a new FeatureSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSet instance + */ + public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet; + + /** + * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @param message FeatureSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @param message FeatureSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet; + + /** + * Decodes a FeatureSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet; + + /** + * Verifies a FeatureSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet; + + /** + * Creates a plain object from a FeatureSet message. Also converts values to other types if specified. + * @param message FeatureSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FeatureSet { + + /** FieldPresence enum. */ + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0, + EXPLICIT = 1, + IMPLICIT = 2, + LEGACY_REQUIRED = 3 + } + + /** EnumType enum. */ + enum EnumType { + ENUM_TYPE_UNKNOWN = 0, + OPEN = 1, + CLOSED = 2 + } + + /** RepeatedFieldEncoding enum. */ + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0, + PACKED = 1, + EXPANDED = 2 + } + + /** Utf8Validation enum. */ + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0, + VERIFY = 2, + NONE = 3 + } + + /** MessageEncoding enum. */ + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0, + LENGTH_PREFIXED = 1, + DELIMITED = 2 + } + + /** JsonFormat enum. */ + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0, + ALLOW = 1, + LEGACY_BEST_EFFORT = 2 + } + } + + /** Properties of a FeatureSetDefaults. */ + interface IFeatureSetDefaults { + + /** FeatureSetDefaults defaults */ + defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null); + + /** FeatureSetDefaults minimumEdition */ + minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSetDefaults maximumEdition */ + maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSetDefaults. */ + class FeatureSetDefaults implements IFeatureSetDefaults { + + /** + * Constructs a new FeatureSetDefaults. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFeatureSetDefaults); + + /** FeatureSetDefaults defaults. */ + public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]; + + /** FeatureSetDefaults minimumEdition. */ + public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSetDefaults maximumEdition. */ + public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSetDefaults instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSetDefaults instance + */ + public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults; + + /** + * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @param message FeatureSetDefaults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @param message FeatureSetDefaults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults; + + /** + * Verifies a FeatureSetDefaults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSetDefaults + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults; + + /** + * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified. + * @param message FeatureSetDefaults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSetDefaults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSetDefaults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FeatureSetDefaults { + + /** Properties of a FeatureSetEditionDefault. */ + interface IFeatureSetEditionDefault { + + /** FeatureSetEditionDefault edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSetEditionDefault features */ + features?: (google.protobuf.IFeatureSet|null); + } + + /** Represents a FeatureSetEditionDefault. */ + class FeatureSetEditionDefault implements IFeatureSetEditionDefault { + + /** + * Constructs a new FeatureSetEditionDefault. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault); + + /** FeatureSetEditionDefault edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSetEditionDefault features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** + * Creates a new FeatureSetEditionDefault instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSetEditionDefault instance + */ + public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @param message FeatureSetEditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @param message FeatureSetEditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Verifies a FeatureSetEditionDefault message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSetEditionDefault + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified. + * @param message FeatureSetEditionDefault + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSetEditionDefault to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSetEditionDefault + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SourceCodeInfo. */ + interface ISourceCodeInfo { + + /** SourceCodeInfo location */ + location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + } + + /** Represents a SourceCodeInfo. */ + class SourceCodeInfo implements ISourceCodeInfo { + + /** + * Constructs a new SourceCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceCodeInfo); + + /** SourceCodeInfo location. */ + public location: google.protobuf.SourceCodeInfo.ILocation[]; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceCodeInfo instance + */ + public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; + + /** + * Verifies a SourceCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @param message SourceCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SourceCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SourceCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace SourceCodeInfo { + + /** Properties of a Location. */ + interface ILocation { + + /** Location path */ + path?: (number[]|null); + + /** Location span */ + span?: (number[]|null); + + /** Location leadingComments */ + leadingComments?: (string|null); + + /** Location trailingComments */ + trailingComments?: (string|null); + + /** Location leadingDetachedComments */ + leadingDetachedComments?: (string[]|null); + } + + /** Represents a Location. */ + class Location implements ILocation { + + /** + * Constructs a new Location. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); + + /** Location path. */ + public path: number[]; + + /** Location span. */ + public span: number[]; + + /** Location leadingComments. */ + public leadingComments: string; + + /** Location trailingComments. */ + public trailingComments: string; + + /** Location leadingDetachedComments. */ + public leadingDetachedComments: string[]; + + /** + * Creates a new Location instance using the specified properties. + * @param [properties] Properties to set + * @returns Location instance + */ + public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Location message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; + + /** + * Verifies a Location message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Location + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Location to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Location + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a GeneratedCodeInfo. */ + interface IGeneratedCodeInfo { + + /** GeneratedCodeInfo annotation */ + annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + } + + /** Represents a GeneratedCodeInfo. */ + class GeneratedCodeInfo implements IGeneratedCodeInfo { + + /** + * Constructs a new GeneratedCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IGeneratedCodeInfo); + + /** GeneratedCodeInfo annotation. */ + public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GeneratedCodeInfo instance + */ + public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + + /** + * Verifies a GeneratedCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GeneratedCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @param message GeneratedCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GeneratedCodeInfo { + + /** Properties of an Annotation. */ + interface IAnnotation { + + /** Annotation path */ + path?: (number[]|null); + + /** Annotation sourceFile */ + sourceFile?: (string|null); + + /** Annotation begin */ + begin?: (number|null); + + /** Annotation end */ + end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); + } + + /** Represents an Annotation. */ + class Annotation implements IAnnotation { + + /** + * Constructs a new Annotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); + + /** Annotation path. */ + public path: number[]; + + /** Annotation sourceFile. */ + public sourceFile: string; + + /** Annotation begin. */ + public begin: number; + + /** Annotation end. */ + public end: number; + + /** Annotation semantic. */ + public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic); + + /** + * Creates a new Annotation instance using the specified properties. + * @param [properties] Properties to set + * @returns Annotation instance + */ + public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Verifies an Annotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Annotation + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @param message Annotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Annotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Annotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Annotation { + + /** Semantic enum. */ + enum Semantic { + NONE = 0, + SET = 1, + ALIAS = 2 + } + } + } + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|string|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long|string); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Duration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Empty. */ + interface IEmpty { + } + + /** Represents an Empty. */ + class Empty implements IEmpty { + + /** + * Constructs a new Empty. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEmpty); + + /** + * Creates a new Empty instance using the specified properties. + * @param [properties] Properties to set + * @returns Empty instance + */ + public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty; + + /** + * Verifies an Empty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Empty + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Empty; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @param message Empty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Empty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Empty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long|string|null); + + /** Timestamp nanos */ + nanos?: (number|null); + } + + /** Represents a Timestamp. */ + class Timestamp implements ITimestamp { + + /** + * Constructs a new Timestamp. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ITimestamp); + + /** Timestamp seconds. */ + public seconds: (number|Long|string); + + /** Timestamp nanos. */ + public nanos: number; + + /** + * Creates a new Timestamp instance using the specified properties. + * @param [properties] Properties to set + * @returns Timestamp instance + */ + public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + + /** + * Verifies a Timestamp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Timestamp + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @param message Timestamp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Timestamp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Timestamp + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace type. */ + namespace type { + + /** Properties of an Interval. */ + interface IInterval { + + /** Interval startTime */ + startTime?: (google.protobuf.ITimestamp|null); + + /** Interval endTime */ + endTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents an Interval. */ + class Interval implements IInterval { + + /** + * Constructs a new Interval. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.IInterval); + + /** Interval startTime. */ + public startTime?: (google.protobuf.ITimestamp|null); + + /** Interval endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new Interval instance using the specified properties. + * @param [properties] Properties to set + * @returns Interval instance + */ + public static create(properties?: google.type.IInterval): google.type.Interval; + + /** + * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages. + * @param message Interval message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages. + * @param message Interval message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Interval message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Interval + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Interval; + + /** + * Decodes an Interval message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Interval + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Interval; + + /** + * Verifies an Interval message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Interval message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Interval + */ + public static fromObject(object: { [k: string]: any }): google.type.Interval; + + /** + * Creates a plain object from an Interval message. Also converts values to other types if specified. + * @param message Interval + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Interval to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Interval + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js new file mode 100644 index 00000000000..9cfabe526f3 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js @@ -0,0 +1,32903 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ +(function(global, factory) { /* global define, require, module */ + + /* AMD */ if (typeof define === 'function' && define.amd) + define(["protobufjs/minimal"], factory); + + /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) + module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal); + +})(this, function($protobuf) { + "use strict"; + + // Common aliases + var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + + // Exported root namespace + var $root = $protobuf.roots._google_shopping_products_protos || ($protobuf.roots._google_shopping_products_protos = {}); + + $root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.shopping = (function() { + + /** + * Namespace shopping. + * @memberof google + * @namespace + */ + var shopping = {}; + + shopping.merchant = (function() { + + /** + * Namespace merchant. + * @memberof google.shopping + * @namespace + */ + var merchant = {}; + + merchant.products = (function() { + + /** + * Namespace products. + * @memberof google.shopping.merchant + * @namespace + */ + var products = {}; + + products.v1beta = (function() { + + /** + * Namespace v1beta. + * @memberof google.shopping.merchant.products + * @namespace + */ + var v1beta = {}; + + v1beta.ProductInputsService = (function() { + + /** + * Constructs a new ProductInputsService service. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductInputsService + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function ProductInputsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductInputsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductInputsService; + + /** + * Creates new ProductInputsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {ProductInputsService} RPC service. Useful where requests and/or responses are streamed. + */ + ProductInputsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|insertProductInput}. + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @typedef InsertProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.merchant.products.v1beta.ProductInput} [response] ProductInput + */ + + /** + * Calls InsertProductInput. + * @function insertProductInput + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} request InsertProductInputRequest message or plain object + * @param {google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInputCallback} callback Node-style callback called with the error, if any, and ProductInput + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductInputsService.prototype.insertProductInput = function insertProductInput(request, callback) { + return this.rpcCall(insertProductInput, $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest, $root.google.shopping.merchant.products.v1beta.ProductInput, request, callback); + }, "name", { value: "InsertProductInput" }); + + /** + * Calls InsertProductInput. + * @function insertProductInput + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} request InsertProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|deleteProductInput}. + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @typedef DeleteProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProductInput. + * @function deleteProductInput + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} request DeleteProductInputRequest message or plain object + * @param {google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInputCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductInputsService.prototype.deleteProductInput = function deleteProductInput(request, callback) { + return this.rpcCall(deleteProductInput, $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProductInput" }); + + /** + * Calls DeleteProductInput. + * @function deleteProductInput + * @memberof google.shopping.merchant.products.v1beta.ProductInputsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} request DeleteProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ProductInputsService; + })(); + + v1beta.ProductInput = (function() { + + /** + * Properties of a ProductInput. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductInput + * @property {string|null} [name] ProductInput name + * @property {string|null} [product] ProductInput product + * @property {google.shopping.type.Channel.ChannelEnum|null} [channel] ProductInput channel + * @property {string|null} [offerId] ProductInput offerId + * @property {string|null} [contentLanguage] ProductInput contentLanguage + * @property {string|null} [feedLabel] ProductInput feedLabel + * @property {number|Long|null} [versionNumber] ProductInput versionNumber + * @property {google.shopping.merchant.products.v1beta.IAttributes|null} [attributes] ProductInput attributes + * @property {Array.|null} [customAttributes] ProductInput customAttributes + */ + + /** + * Constructs a new ProductInput. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductInput. + * @implements IProductInput + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductInput=} [properties] Properties to set + */ + function ProductInput(properties) { + this.customAttributes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductInput name. + * @member {string} name + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.name = ""; + + /** + * ProductInput product. + * @member {string} product + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.product = ""; + + /** + * ProductInput channel. + * @member {google.shopping.type.Channel.ChannelEnum} channel + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.channel = 0; + + /** + * ProductInput offerId. + * @member {string} offerId + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.offerId = ""; + + /** + * ProductInput contentLanguage. + * @member {string} contentLanguage + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.contentLanguage = ""; + + /** + * ProductInput feedLabel. + * @member {string} feedLabel + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.feedLabel = ""; + + /** + * ProductInput versionNumber. + * @member {number|Long|null|undefined} versionNumber + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.versionNumber = null; + + /** + * ProductInput attributes. + * @member {google.shopping.merchant.products.v1beta.IAttributes|null|undefined} attributes + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.attributes = null; + + /** + * ProductInput customAttributes. + * @member {Array.} customAttributes + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + ProductInput.prototype.customAttributes = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ProductInput _versionNumber. + * @member {"versionNumber"|undefined} _versionNumber + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + */ + Object.defineProperty(ProductInput.prototype, "_versionNumber", { + get: $util.oneOfGetter($oneOfFields = ["versionNumber"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ProductInput instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {google.shopping.merchant.products.v1beta.IProductInput=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput instance + */ + ProductInput.create = function create(properties) { + return new ProductInput(properties); + }; + + /** + * Encodes the specified ProductInput message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {google.shopping.merchant.products.v1beta.IProductInput} message ProductInput message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductInput.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && Object.hasOwnProperty.call(message, "product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.channel); + if (message.offerId != null && Object.hasOwnProperty.call(message, "offerId")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.offerId); + if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.contentLanguage); + if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.feedLabel); + if (message.versionNumber != null && Object.hasOwnProperty.call(message, "versionNumber")) + writer.uint32(/* id 7, wireType 0 =*/56).int64(message.versionNumber); + if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) + $root.google.shopping.merchant.products.v1beta.Attributes.encode(message.attributes, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.customAttributes != null && message.customAttributes.length) + for (var i = 0; i < message.customAttributes.length; ++i) + $root.google.shopping.type.CustomAttribute.encode(message.customAttributes[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductInput message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {google.shopping.merchant.products.v1beta.IProductInput} message ProductInput message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductInput.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductInput message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductInput.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductInput(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } + case 3: { + message.channel = reader.int32(); + break; + } + case 4: { + message.offerId = reader.string(); + break; + } + case 5: { + message.contentLanguage = reader.string(); + break; + } + case 6: { + message.feedLabel = reader.string(); + break; + } + case 7: { + message.versionNumber = reader.int64(); + break; + } + case 8: { + message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.customAttributes && message.customAttributes.length)) + message.customAttributes = []; + message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductInput message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductInput.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductInput message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductInput.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + if (message.channel != null && message.hasOwnProperty("channel")) + switch (message.channel) { + default: + return "channel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.offerId != null && message.hasOwnProperty("offerId")) + if (!$util.isString(message.offerId)) + return "offerId: string expected"; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + if (!$util.isString(message.contentLanguage)) + return "contentLanguage: string expected"; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + if (!$util.isString(message.feedLabel)) + return "feedLabel: string expected"; + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { + properties._versionNumber = 1; + if (!$util.isInteger(message.versionNumber) && !(message.versionNumber && $util.isInteger(message.versionNumber.low) && $util.isInteger(message.versionNumber.high))) + return "versionNumber: integer|Long expected"; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + var error = $root.google.shopping.merchant.products.v1beta.Attributes.verify(message.attributes); + if (error) + return "attributes." + error; + } + if (message.customAttributes != null && message.hasOwnProperty("customAttributes")) { + if (!Array.isArray(message.customAttributes)) + return "customAttributes: array expected"; + for (var i = 0; i < message.customAttributes.length; ++i) { + var error = $root.google.shopping.type.CustomAttribute.verify(message.customAttributes[i]); + if (error) + return "customAttributes." + error; + } + } + return null; + }; + + /** + * Creates a ProductInput message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput + */ + ProductInput.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductInput) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductInput(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + switch (object.channel) { + default: + if (typeof object.channel === "number") { + message.channel = object.channel; + break; + } + break; + case "CHANNEL_ENUM_UNSPECIFIED": + case 0: + message.channel = 0; + break; + case "ONLINE": + case 1: + message.channel = 1; + break; + case "LOCAL": + case 2: + message.channel = 2; + break; + } + if (object.offerId != null) + message.offerId = String(object.offerId); + if (object.contentLanguage != null) + message.contentLanguage = String(object.contentLanguage); + if (object.feedLabel != null) + message.feedLabel = String(object.feedLabel); + if (object.versionNumber != null) + if ($util.Long) + (message.versionNumber = $util.Long.fromValue(object.versionNumber)).unsigned = false; + else if (typeof object.versionNumber === "string") + message.versionNumber = parseInt(object.versionNumber, 10); + else if (typeof object.versionNumber === "number") + message.versionNumber = object.versionNumber; + else if (typeof object.versionNumber === "object") + message.versionNumber = new $util.LongBits(object.versionNumber.low >>> 0, object.versionNumber.high >>> 0).toNumber(); + if (object.attributes != null) { + if (typeof object.attributes !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.attributes: object expected"); + message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.fromObject(object.attributes); + } + if (object.customAttributes) { + if (!Array.isArray(object.customAttributes)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.customAttributes: array expected"); + message.customAttributes = []; + for (var i = 0; i < object.customAttributes.length; ++i) { + if (typeof object.customAttributes[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.customAttributes: object expected"); + message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProductInput message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {google.shopping.merchant.products.v1beta.ProductInput} message ProductInput + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductInput.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.customAttributes = []; + if (options.defaults) { + object.name = ""; + object.product = ""; + object.channel = options.enums === String ? "CHANNEL_ENUM_UNSPECIFIED" : 0; + object.offerId = ""; + object.contentLanguage = ""; + object.feedLabel = ""; + object.attributes = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + if (message.channel != null && message.hasOwnProperty("channel")) + object.channel = options.enums === String ? $root.google.shopping.type.Channel.ChannelEnum[message.channel] === undefined ? message.channel : $root.google.shopping.type.Channel.ChannelEnum[message.channel] : message.channel; + if (message.offerId != null && message.hasOwnProperty("offerId")) + object.offerId = message.offerId; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + object.contentLanguage = message.contentLanguage; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + object.feedLabel = message.feedLabel; + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { + if (typeof message.versionNumber === "number") + object.versionNumber = options.longs === String ? String(message.versionNumber) : message.versionNumber; + else + object.versionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.versionNumber) : options.longs === Number ? new $util.LongBits(message.versionNumber.low >>> 0, message.versionNumber.high >>> 0).toNumber() : message.versionNumber; + if (options.oneofs) + object._versionNumber = "versionNumber"; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) + object.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.toObject(message.attributes, options); + if (message.customAttributes && message.customAttributes.length) { + object.customAttributes = []; + for (var j = 0; j < message.customAttributes.length; ++j) + object.customAttributes[j] = $root.google.shopping.type.CustomAttribute.toObject(message.customAttributes[j], options); + } + return object; + }; + + /** + * Converts this ProductInput to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @instance + * @returns {Object.} JSON object + */ + ProductInput.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductInput + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductInput + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductInput.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductInput"; + }; + + return ProductInput; + })(); + + v1beta.InsertProductInputRequest = (function() { + + /** + * Properties of an InsertProductInputRequest. + * @memberof google.shopping.merchant.products.v1beta + * @interface IInsertProductInputRequest + * @property {string|null} [parent] InsertProductInputRequest parent + * @property {google.shopping.merchant.products.v1beta.IProductInput|null} [productInput] InsertProductInputRequest productInput + * @property {string|null} [dataSource] InsertProductInputRequest dataSource + */ + + /** + * Constructs a new InsertProductInputRequest. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents an InsertProductInputRequest. + * @implements IInsertProductInputRequest + * @constructor + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest=} [properties] Properties to set + */ + function InsertProductInputRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * InsertProductInputRequest parent. + * @member {string} parent + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @instance + */ + InsertProductInputRequest.prototype.parent = ""; + + /** + * InsertProductInputRequest productInput. + * @member {google.shopping.merchant.products.v1beta.IProductInput|null|undefined} productInput + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @instance + */ + InsertProductInputRequest.prototype.productInput = null; + + /** + * InsertProductInputRequest dataSource. + * @member {string} dataSource + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @instance + */ + InsertProductInputRequest.prototype.dataSource = ""; + + /** + * Creates a new InsertProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest instance + */ + InsertProductInputRequest.create = function create(properties) { + return new InsertProductInputRequest(properties); + }; + + /** + * Encodes the specified InsertProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} message InsertProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InsertProductInputRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productInput != null && Object.hasOwnProperty.call(message, "productInput")) + $root.google.shopping.merchant.products.v1beta.ProductInput.encode(message.productInput, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dataSource); + return writer; + }; + + /** + * Encodes the specified InsertProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} message InsertProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InsertProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InsertProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InsertProductInputRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.decode(reader, reader.uint32()); + break; + } + case 3: { + message.dataSource = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InsertProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InsertProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InsertProductInputRequest message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InsertProductInputRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.productInput != null && message.hasOwnProperty("productInput")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductInput.verify(message.productInput); + if (error) + return "productInput." + error; + } + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + if (!$util.isString(message.dataSource)) + return "dataSource: string expected"; + return null; + }; + + /** + * Creates an InsertProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest + */ + InsertProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.productInput != null) { + if (typeof object.productInput !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.InsertProductInputRequest.productInput: object expected"); + message.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.fromObject(object.productInput); + } + if (object.dataSource != null) + message.dataSource = String(object.dataSource); + return message; + }; + + /** + * Creates a plain object from an InsertProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.InsertProductInputRequest} message InsertProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InsertProductInputRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.productInput = null; + object.dataSource = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productInput != null && message.hasOwnProperty("productInput")) + object.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.toObject(message.productInput, options); + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + object.dataSource = message.dataSource; + return object; + }; + + /** + * Converts this InsertProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + InsertProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for InsertProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InsertProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.InsertProductInputRequest"; + }; + + return InsertProductInputRequest; + })(); + + v1beta.DeleteProductInputRequest = (function() { + + /** + * Properties of a DeleteProductInputRequest. + * @memberof google.shopping.merchant.products.v1beta + * @interface IDeleteProductInputRequest + * @property {string|null} [name] DeleteProductInputRequest name + * @property {string|null} [dataSource] DeleteProductInputRequest dataSource + */ + + /** + * Constructs a new DeleteProductInputRequest. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a DeleteProductInputRequest. + * @implements IDeleteProductInputRequest + * @constructor + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest=} [properties] Properties to set + */ + function DeleteProductInputRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DeleteProductInputRequest name. + * @member {string} name + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @instance + */ + DeleteProductInputRequest.prototype.name = ""; + + /** + * DeleteProductInputRequest dataSource. + * @member {string} dataSource + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @instance + */ + DeleteProductInputRequest.prototype.dataSource = ""; + + /** + * Creates a new DeleteProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest instance + */ + DeleteProductInputRequest.create = function create(properties) { + return new DeleteProductInputRequest(properties); + }; + + /** + * Encodes the specified DeleteProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} message DeleteProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductInputRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.dataSource); + return writer; + }; + + /** + * Encodes the specified DeleteProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} message DeleteProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductInputRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.dataSource = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductInputRequest message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductInputRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + if (!$util.isString(message.dataSource)) + return "dataSource: string expected"; + return null; + }; + + /** + * Creates a DeleteProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest + */ + DeleteProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.dataSource != null) + message.dataSource = String(object.dataSource); + return message; + }; + + /** + * Creates a plain object from a DeleteProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} message DeleteProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductInputRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.dataSource = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + object.dataSource = message.dataSource; + return object; + }; + + /** + * Converts this DeleteProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.DeleteProductInputRequest"; + }; + + return DeleteProductInputRequest; + })(); + + /** + * SubscriptionPeriod enum. + * @name google.shopping.merchant.products.v1beta.SubscriptionPeriod + * @enum {number} + * @property {number} SUBSCRIPTION_PERIOD_UNSPECIFIED=0 SUBSCRIPTION_PERIOD_UNSPECIFIED value + * @property {number} MONTH=1 MONTH value + * @property {number} YEAR=2 YEAR value + */ + v1beta.SubscriptionPeriod = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "SUBSCRIPTION_PERIOD_UNSPECIFIED"] = 0; + values[valuesById[1] = "MONTH"] = 1; + values[valuesById[2] = "YEAR"] = 2; + return values; + })(); + + v1beta.Attributes = (function() { + + /** + * Properties of an Attributes. + * @memberof google.shopping.merchant.products.v1beta + * @interface IAttributes + * @property {boolean|null} [identifierExists] Attributes identifierExists + * @property {boolean|null} [isBundle] Attributes isBundle + * @property {string|null} [title] Attributes title + * @property {string|null} [description] Attributes description + * @property {string|null} [link] Attributes link + * @property {string|null} [mobileLink] Attributes mobileLink + * @property {string|null} [canonicalLink] Attributes canonicalLink + * @property {string|null} [imageLink] Attributes imageLink + * @property {Array.|null} [additionalImageLinks] Attributes additionalImageLinks + * @property {google.protobuf.ITimestamp|null} [expirationDate] Attributes expirationDate + * @property {google.protobuf.ITimestamp|null} [disclosureDate] Attributes disclosureDate + * @property {boolean|null} [adult] Attributes adult + * @property {string|null} [ageGroup] Attributes ageGroup + * @property {string|null} [availability] Attributes availability + * @property {google.protobuf.ITimestamp|null} [availabilityDate] Attributes availabilityDate + * @property {string|null} [brand] Attributes brand + * @property {string|null} [color] Attributes color + * @property {string|null} [condition] Attributes condition + * @property {string|null} [gender] Attributes gender + * @property {string|null} [googleProductCategory] Attributes googleProductCategory + * @property {Array.|null} [gtin] Attributes gtin + * @property {string|null} [itemGroupId] Attributes itemGroupId + * @property {string|null} [material] Attributes material + * @property {string|null} [mpn] Attributes mpn + * @property {string|null} [pattern] Attributes pattern + * @property {google.shopping.type.IPrice|null} [price] Attributes price + * @property {google.shopping.merchant.products.v1beta.IInstallment|null} [installment] Attributes installment + * @property {google.shopping.merchant.products.v1beta.ISubscriptionCost|null} [subscriptionCost] Attributes subscriptionCost + * @property {google.shopping.merchant.products.v1beta.ILoyaltyPoints|null} [loyaltyPoints] Attributes loyaltyPoints + * @property {Array.|null} [loyaltyPrograms] Attributes loyaltyPrograms + * @property {Array.|null} [productTypes] Attributes productTypes + * @property {google.shopping.type.IPrice|null} [salePrice] Attributes salePrice + * @property {google.type.IInterval|null} [salePriceEffectiveDate] Attributes salePriceEffectiveDate + * @property {number|Long|null} [sellOnGoogleQuantity] Attributes sellOnGoogleQuantity + * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productHeight] Attributes productHeight + * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productLength] Attributes productLength + * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productWidth] Attributes productWidth + * @property {google.shopping.merchant.products.v1beta.IProductWeight|null} [productWeight] Attributes productWeight + * @property {Array.|null} [shipping] Attributes shipping + * @property {Array.|null} [freeShippingThreshold] Attributes freeShippingThreshold + * @property {google.shopping.merchant.products.v1beta.IShippingWeight|null} [shippingWeight] Attributes shippingWeight + * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingLength] Attributes shippingLength + * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingWidth] Attributes shippingWidth + * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingHeight] Attributes shippingHeight + * @property {number|Long|null} [maxHandlingTime] Attributes maxHandlingTime + * @property {number|Long|null} [minHandlingTime] Attributes minHandlingTime + * @property {string|null} [shippingLabel] Attributes shippingLabel + * @property {string|null} [transitTimeLabel] Attributes transitTimeLabel + * @property {string|null} [size] Attributes size + * @property {string|null} [sizeSystem] Attributes sizeSystem + * @property {Array.|null} [sizeTypes] Attributes sizeTypes + * @property {Array.|null} [taxes] Attributes taxes + * @property {string|null} [taxCategory] Attributes taxCategory + * @property {string|null} [energyEfficiencyClass] Attributes energyEfficiencyClass + * @property {string|null} [minEnergyEfficiencyClass] Attributes minEnergyEfficiencyClass + * @property {string|null} [maxEnergyEfficiencyClass] Attributes maxEnergyEfficiencyClass + * @property {google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null} [unitPricingMeasure] Attributes unitPricingMeasure + * @property {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null} [unitPricingBaseMeasure] Attributes unitPricingBaseMeasure + * @property {number|Long|null} [multipack] Attributes multipack + * @property {string|null} [adsGrouping] Attributes adsGrouping + * @property {Array.|null} [adsLabels] Attributes adsLabels + * @property {string|null} [adsRedirect] Attributes adsRedirect + * @property {google.shopping.type.IPrice|null} [costOfGoodsSold] Attributes costOfGoodsSold + * @property {Array.|null} [productDetails] Attributes productDetails + * @property {Array.|null} [productHighlights] Attributes productHighlights + * @property {string|null} [displayAdsId] Attributes displayAdsId + * @property {Array.|null} [displayAdsSimilarIds] Attributes displayAdsSimilarIds + * @property {string|null} [displayAdsTitle] Attributes displayAdsTitle + * @property {string|null} [displayAdsLink] Attributes displayAdsLink + * @property {number|null} [displayAdsValue] Attributes displayAdsValue + * @property {Array.|null} [promotionIds] Attributes promotionIds + * @property {string|null} [pickupMethod] Attributes pickupMethod + * @property {string|null} [pickupSla] Attributes pickupSla + * @property {string|null} [linkTemplate] Attributes linkTemplate + * @property {string|null} [mobileLinkTemplate] Attributes mobileLinkTemplate + * @property {string|null} [customLabel_0] Attributes customLabel_0 + * @property {string|null} [customLabel_1] Attributes customLabel_1 + * @property {string|null} [customLabel_2] Attributes customLabel_2 + * @property {string|null} [customLabel_3] Attributes customLabel_3 + * @property {string|null} [customLabel_4] Attributes customLabel_4 + * @property {Array.|null} [includedDestinations] Attributes includedDestinations + * @property {Array.|null} [excludedDestinations] Attributes excludedDestinations + * @property {Array.|null} [shoppingAdsExcludedCountries] Attributes shoppingAdsExcludedCountries + * @property {string|null} [externalSellerId] Attributes externalSellerId + * @property {string|null} [pause] Attributes pause + * @property {Array.|null} [lifestyleImageLinks] Attributes lifestyleImageLinks + * @property {Array.|null} [cloudExportAdditionalProperties] Attributes cloudExportAdditionalProperties + * @property {string|null} [virtualModelLink] Attributes virtualModelLink + * @property {Array.|null} [certifications] Attributes certifications + * @property {google.shopping.merchant.products.v1beta.IProductStructuredTitle|null} [structuredTitle] Attributes structuredTitle + * @property {google.shopping.merchant.products.v1beta.IProductStructuredDescription|null} [structuredDescription] Attributes structuredDescription + * @property {google.shopping.type.IPrice|null} [autoPricingMinPrice] Attributes autoPricingMinPrice + */ + + /** + * Constructs a new Attributes. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents an Attributes. + * @implements IAttributes + * @constructor + * @param {google.shopping.merchant.products.v1beta.IAttributes=} [properties] Properties to set + */ + function Attributes(properties) { + this.additionalImageLinks = []; + this.gtin = []; + this.loyaltyPrograms = []; + this.productTypes = []; + this.shipping = []; + this.freeShippingThreshold = []; + this.sizeTypes = []; + this.taxes = []; + this.adsLabels = []; + this.productDetails = []; + this.productHighlights = []; + this.displayAdsSimilarIds = []; + this.promotionIds = []; + this.includedDestinations = []; + this.excludedDestinations = []; + this.shoppingAdsExcludedCountries = []; + this.lifestyleImageLinks = []; + this.cloudExportAdditionalProperties = []; + this.certifications = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Attributes identifierExists. + * @member {boolean|null|undefined} identifierExists + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.identifierExists = null; + + /** + * Attributes isBundle. + * @member {boolean|null|undefined} isBundle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.isBundle = null; + + /** + * Attributes title. + * @member {string|null|undefined} title + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.title = null; + + /** + * Attributes description. + * @member {string|null|undefined} description + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.description = null; + + /** + * Attributes link. + * @member {string|null|undefined} link + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.link = null; + + /** + * Attributes mobileLink. + * @member {string|null|undefined} mobileLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.mobileLink = null; + + /** + * Attributes canonicalLink. + * @member {string|null|undefined} canonicalLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.canonicalLink = null; + + /** + * Attributes imageLink. + * @member {string|null|undefined} imageLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.imageLink = null; + + /** + * Attributes additionalImageLinks. + * @member {Array.} additionalImageLinks + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.additionalImageLinks = $util.emptyArray; + + /** + * Attributes expirationDate. + * @member {google.protobuf.ITimestamp|null|undefined} expirationDate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.expirationDate = null; + + /** + * Attributes disclosureDate. + * @member {google.protobuf.ITimestamp|null|undefined} disclosureDate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.disclosureDate = null; + + /** + * Attributes adult. + * @member {boolean|null|undefined} adult + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.adult = null; + + /** + * Attributes ageGroup. + * @member {string|null|undefined} ageGroup + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.ageGroup = null; + + /** + * Attributes availability. + * @member {string|null|undefined} availability + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.availability = null; + + /** + * Attributes availabilityDate. + * @member {google.protobuf.ITimestamp|null|undefined} availabilityDate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.availabilityDate = null; + + /** + * Attributes brand. + * @member {string|null|undefined} brand + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.brand = null; + + /** + * Attributes color. + * @member {string|null|undefined} color + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.color = null; + + /** + * Attributes condition. + * @member {string|null|undefined} condition + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.condition = null; + + /** + * Attributes gender. + * @member {string|null|undefined} gender + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.gender = null; + + /** + * Attributes googleProductCategory. + * @member {string|null|undefined} googleProductCategory + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.googleProductCategory = null; + + /** + * Attributes gtin. + * @member {Array.} gtin + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.gtin = $util.emptyArray; + + /** + * Attributes itemGroupId. + * @member {string|null|undefined} itemGroupId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.itemGroupId = null; + + /** + * Attributes material. + * @member {string|null|undefined} material + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.material = null; + + /** + * Attributes mpn. + * @member {string|null|undefined} mpn + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.mpn = null; + + /** + * Attributes pattern. + * @member {string|null|undefined} pattern + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.pattern = null; + + /** + * Attributes price. + * @member {google.shopping.type.IPrice|null|undefined} price + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.price = null; + + /** + * Attributes installment. + * @member {google.shopping.merchant.products.v1beta.IInstallment|null|undefined} installment + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.installment = null; + + /** + * Attributes subscriptionCost. + * @member {google.shopping.merchant.products.v1beta.ISubscriptionCost|null|undefined} subscriptionCost + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.subscriptionCost = null; + + /** + * Attributes loyaltyPoints. + * @member {google.shopping.merchant.products.v1beta.ILoyaltyPoints|null|undefined} loyaltyPoints + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.loyaltyPoints = null; + + /** + * Attributes loyaltyPrograms. + * @member {Array.} loyaltyPrograms + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.loyaltyPrograms = $util.emptyArray; + + /** + * Attributes productTypes. + * @member {Array.} productTypes + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productTypes = $util.emptyArray; + + /** + * Attributes salePrice. + * @member {google.shopping.type.IPrice|null|undefined} salePrice + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.salePrice = null; + + /** + * Attributes salePriceEffectiveDate. + * @member {google.type.IInterval|null|undefined} salePriceEffectiveDate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.salePriceEffectiveDate = null; + + /** + * Attributes sellOnGoogleQuantity. + * @member {number|Long|null|undefined} sellOnGoogleQuantity + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.sellOnGoogleQuantity = null; + + /** + * Attributes productHeight. + * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productHeight + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productHeight = null; + + /** + * Attributes productLength. + * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productLength + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productLength = null; + + /** + * Attributes productWidth. + * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productWidth + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productWidth = null; + + /** + * Attributes productWeight. + * @member {google.shopping.merchant.products.v1beta.IProductWeight|null|undefined} productWeight + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productWeight = null; + + /** + * Attributes shipping. + * @member {Array.} shipping + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shipping = $util.emptyArray; + + /** + * Attributes freeShippingThreshold. + * @member {Array.} freeShippingThreshold + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.freeShippingThreshold = $util.emptyArray; + + /** + * Attributes shippingWeight. + * @member {google.shopping.merchant.products.v1beta.IShippingWeight|null|undefined} shippingWeight + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shippingWeight = null; + + /** + * Attributes shippingLength. + * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingLength + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shippingLength = null; + + /** + * Attributes shippingWidth. + * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingWidth + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shippingWidth = null; + + /** + * Attributes shippingHeight. + * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingHeight + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shippingHeight = null; + + /** + * Attributes maxHandlingTime. + * @member {number|Long|null|undefined} maxHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.maxHandlingTime = null; + + /** + * Attributes minHandlingTime. + * @member {number|Long|null|undefined} minHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.minHandlingTime = null; + + /** + * Attributes shippingLabel. + * @member {string|null|undefined} shippingLabel + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shippingLabel = null; + + /** + * Attributes transitTimeLabel. + * @member {string|null|undefined} transitTimeLabel + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.transitTimeLabel = null; + + /** + * Attributes size. + * @member {string|null|undefined} size + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.size = null; + + /** + * Attributes sizeSystem. + * @member {string|null|undefined} sizeSystem + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.sizeSystem = null; + + /** + * Attributes sizeTypes. + * @member {Array.} sizeTypes + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.sizeTypes = $util.emptyArray; + + /** + * Attributes taxes. + * @member {Array.} taxes + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.taxes = $util.emptyArray; + + /** + * Attributes taxCategory. + * @member {string|null|undefined} taxCategory + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.taxCategory = null; + + /** + * Attributes energyEfficiencyClass. + * @member {string|null|undefined} energyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.energyEfficiencyClass = null; + + /** + * Attributes minEnergyEfficiencyClass. + * @member {string|null|undefined} minEnergyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.minEnergyEfficiencyClass = null; + + /** + * Attributes maxEnergyEfficiencyClass. + * @member {string|null|undefined} maxEnergyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.maxEnergyEfficiencyClass = null; + + /** + * Attributes unitPricingMeasure. + * @member {google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null|undefined} unitPricingMeasure + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.unitPricingMeasure = null; + + /** + * Attributes unitPricingBaseMeasure. + * @member {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null|undefined} unitPricingBaseMeasure + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.unitPricingBaseMeasure = null; + + /** + * Attributes multipack. + * @member {number|Long|null|undefined} multipack + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.multipack = null; + + /** + * Attributes adsGrouping. + * @member {string|null|undefined} adsGrouping + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.adsGrouping = null; + + /** + * Attributes adsLabels. + * @member {Array.} adsLabels + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.adsLabels = $util.emptyArray; + + /** + * Attributes adsRedirect. + * @member {string|null|undefined} adsRedirect + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.adsRedirect = null; + + /** + * Attributes costOfGoodsSold. + * @member {google.shopping.type.IPrice|null|undefined} costOfGoodsSold + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.costOfGoodsSold = null; + + /** + * Attributes productDetails. + * @member {Array.} productDetails + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productDetails = $util.emptyArray; + + /** + * Attributes productHighlights. + * @member {Array.} productHighlights + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.productHighlights = $util.emptyArray; + + /** + * Attributes displayAdsId. + * @member {string|null|undefined} displayAdsId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.displayAdsId = null; + + /** + * Attributes displayAdsSimilarIds. + * @member {Array.} displayAdsSimilarIds + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.displayAdsSimilarIds = $util.emptyArray; + + /** + * Attributes displayAdsTitle. + * @member {string|null|undefined} displayAdsTitle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.displayAdsTitle = null; + + /** + * Attributes displayAdsLink. + * @member {string|null|undefined} displayAdsLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.displayAdsLink = null; + + /** + * Attributes displayAdsValue. + * @member {number|null|undefined} displayAdsValue + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.displayAdsValue = null; + + /** + * Attributes promotionIds. + * @member {Array.} promotionIds + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.promotionIds = $util.emptyArray; + + /** + * Attributes pickupMethod. + * @member {string|null|undefined} pickupMethod + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.pickupMethod = null; + + /** + * Attributes pickupSla. + * @member {string|null|undefined} pickupSla + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.pickupSla = null; + + /** + * Attributes linkTemplate. + * @member {string|null|undefined} linkTemplate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.linkTemplate = null; + + /** + * Attributes mobileLinkTemplate. + * @member {string|null|undefined} mobileLinkTemplate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.mobileLinkTemplate = null; + + /** + * Attributes customLabel_0. + * @member {string|null|undefined} customLabel_0 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.customLabel_0 = null; + + /** + * Attributes customLabel_1. + * @member {string|null|undefined} customLabel_1 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.customLabel_1 = null; + + /** + * Attributes customLabel_2. + * @member {string|null|undefined} customLabel_2 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.customLabel_2 = null; + + /** + * Attributes customLabel_3. + * @member {string|null|undefined} customLabel_3 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.customLabel_3 = null; + + /** + * Attributes customLabel_4. + * @member {string|null|undefined} customLabel_4 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.customLabel_4 = null; + + /** + * Attributes includedDestinations. + * @member {Array.} includedDestinations + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.includedDestinations = $util.emptyArray; + + /** + * Attributes excludedDestinations. + * @member {Array.} excludedDestinations + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.excludedDestinations = $util.emptyArray; + + /** + * Attributes shoppingAdsExcludedCountries. + * @member {Array.} shoppingAdsExcludedCountries + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.shoppingAdsExcludedCountries = $util.emptyArray; + + /** + * Attributes externalSellerId. + * @member {string|null|undefined} externalSellerId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.externalSellerId = null; + + /** + * Attributes pause. + * @member {string|null|undefined} pause + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.pause = null; + + /** + * Attributes lifestyleImageLinks. + * @member {Array.} lifestyleImageLinks + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.lifestyleImageLinks = $util.emptyArray; + + /** + * Attributes cloudExportAdditionalProperties. + * @member {Array.} cloudExportAdditionalProperties + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.cloudExportAdditionalProperties = $util.emptyArray; + + /** + * Attributes virtualModelLink. + * @member {string|null|undefined} virtualModelLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.virtualModelLink = null; + + /** + * Attributes certifications. + * @member {Array.} certifications + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.certifications = $util.emptyArray; + + /** + * Attributes structuredTitle. + * @member {google.shopping.merchant.products.v1beta.IProductStructuredTitle|null|undefined} structuredTitle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.structuredTitle = null; + + /** + * Attributes structuredDescription. + * @member {google.shopping.merchant.products.v1beta.IProductStructuredDescription|null|undefined} structuredDescription + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.structuredDescription = null; + + /** + * Attributes autoPricingMinPrice. + * @member {google.shopping.type.IPrice|null|undefined} autoPricingMinPrice + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Attributes.prototype.autoPricingMinPrice = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Attributes _identifierExists. + * @member {"identifierExists"|undefined} _identifierExists + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_identifierExists", { + get: $util.oneOfGetter($oneOfFields = ["identifierExists"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _isBundle. + * @member {"isBundle"|undefined} _isBundle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_isBundle", { + get: $util.oneOfGetter($oneOfFields = ["isBundle"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _title. + * @member {"title"|undefined} _title + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_title", { + get: $util.oneOfGetter($oneOfFields = ["title"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _description. + * @member {"description"|undefined} _description + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_description", { + get: $util.oneOfGetter($oneOfFields = ["description"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _link. + * @member {"link"|undefined} _link + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_link", { + get: $util.oneOfGetter($oneOfFields = ["link"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _mobileLink. + * @member {"mobileLink"|undefined} _mobileLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_mobileLink", { + get: $util.oneOfGetter($oneOfFields = ["mobileLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _canonicalLink. + * @member {"canonicalLink"|undefined} _canonicalLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_canonicalLink", { + get: $util.oneOfGetter($oneOfFields = ["canonicalLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _imageLink. + * @member {"imageLink"|undefined} _imageLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_imageLink", { + get: $util.oneOfGetter($oneOfFields = ["imageLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _adult. + * @member {"adult"|undefined} _adult + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_adult", { + get: $util.oneOfGetter($oneOfFields = ["adult"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _ageGroup. + * @member {"ageGroup"|undefined} _ageGroup + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_ageGroup", { + get: $util.oneOfGetter($oneOfFields = ["ageGroup"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _availability. + * @member {"availability"|undefined} _availability + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_availability", { + get: $util.oneOfGetter($oneOfFields = ["availability"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _brand. + * @member {"brand"|undefined} _brand + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_brand", { + get: $util.oneOfGetter($oneOfFields = ["brand"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _color. + * @member {"color"|undefined} _color + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_color", { + get: $util.oneOfGetter($oneOfFields = ["color"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _condition. + * @member {"condition"|undefined} _condition + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_condition", { + get: $util.oneOfGetter($oneOfFields = ["condition"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _gender. + * @member {"gender"|undefined} _gender + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_gender", { + get: $util.oneOfGetter($oneOfFields = ["gender"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _googleProductCategory. + * @member {"googleProductCategory"|undefined} _googleProductCategory + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_googleProductCategory", { + get: $util.oneOfGetter($oneOfFields = ["googleProductCategory"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _itemGroupId. + * @member {"itemGroupId"|undefined} _itemGroupId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_itemGroupId", { + get: $util.oneOfGetter($oneOfFields = ["itemGroupId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _material. + * @member {"material"|undefined} _material + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_material", { + get: $util.oneOfGetter($oneOfFields = ["material"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _mpn. + * @member {"mpn"|undefined} _mpn + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_mpn", { + get: $util.oneOfGetter($oneOfFields = ["mpn"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pattern. + * @member {"pattern"|undefined} _pattern + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pattern", { + get: $util.oneOfGetter($oneOfFields = ["pattern"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _sellOnGoogleQuantity. + * @member {"sellOnGoogleQuantity"|undefined} _sellOnGoogleQuantity + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_sellOnGoogleQuantity", { + get: $util.oneOfGetter($oneOfFields = ["sellOnGoogleQuantity"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _maxHandlingTime. + * @member {"maxHandlingTime"|undefined} _maxHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_maxHandlingTime", { + get: $util.oneOfGetter($oneOfFields = ["maxHandlingTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _minHandlingTime. + * @member {"minHandlingTime"|undefined} _minHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_minHandlingTime", { + get: $util.oneOfGetter($oneOfFields = ["minHandlingTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _shippingLabel. + * @member {"shippingLabel"|undefined} _shippingLabel + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_shippingLabel", { + get: $util.oneOfGetter($oneOfFields = ["shippingLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _transitTimeLabel. + * @member {"transitTimeLabel"|undefined} _transitTimeLabel + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_transitTimeLabel", { + get: $util.oneOfGetter($oneOfFields = ["transitTimeLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _size. + * @member {"size"|undefined} _size + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_size", { + get: $util.oneOfGetter($oneOfFields = ["size"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _sizeSystem. + * @member {"sizeSystem"|undefined} _sizeSystem + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_sizeSystem", { + get: $util.oneOfGetter($oneOfFields = ["sizeSystem"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _taxCategory. + * @member {"taxCategory"|undefined} _taxCategory + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_taxCategory", { + get: $util.oneOfGetter($oneOfFields = ["taxCategory"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _energyEfficiencyClass. + * @member {"energyEfficiencyClass"|undefined} _energyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_energyEfficiencyClass", { + get: $util.oneOfGetter($oneOfFields = ["energyEfficiencyClass"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _minEnergyEfficiencyClass. + * @member {"minEnergyEfficiencyClass"|undefined} _minEnergyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_minEnergyEfficiencyClass", { + get: $util.oneOfGetter($oneOfFields = ["minEnergyEfficiencyClass"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _maxEnergyEfficiencyClass. + * @member {"maxEnergyEfficiencyClass"|undefined} _maxEnergyEfficiencyClass + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_maxEnergyEfficiencyClass", { + get: $util.oneOfGetter($oneOfFields = ["maxEnergyEfficiencyClass"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _multipack. + * @member {"multipack"|undefined} _multipack + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_multipack", { + get: $util.oneOfGetter($oneOfFields = ["multipack"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _adsGrouping. + * @member {"adsGrouping"|undefined} _adsGrouping + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_adsGrouping", { + get: $util.oneOfGetter($oneOfFields = ["adsGrouping"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _adsRedirect. + * @member {"adsRedirect"|undefined} _adsRedirect + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_adsRedirect", { + get: $util.oneOfGetter($oneOfFields = ["adsRedirect"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _displayAdsId. + * @member {"displayAdsId"|undefined} _displayAdsId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_displayAdsId", { + get: $util.oneOfGetter($oneOfFields = ["displayAdsId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _displayAdsTitle. + * @member {"displayAdsTitle"|undefined} _displayAdsTitle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_displayAdsTitle", { + get: $util.oneOfGetter($oneOfFields = ["displayAdsTitle"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _displayAdsLink. + * @member {"displayAdsLink"|undefined} _displayAdsLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_displayAdsLink", { + get: $util.oneOfGetter($oneOfFields = ["displayAdsLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _displayAdsValue. + * @member {"displayAdsValue"|undefined} _displayAdsValue + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_displayAdsValue", { + get: $util.oneOfGetter($oneOfFields = ["displayAdsValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pickupMethod. + * @member {"pickupMethod"|undefined} _pickupMethod + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pickupMethod", { + get: $util.oneOfGetter($oneOfFields = ["pickupMethod"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pickupSla. + * @member {"pickupSla"|undefined} _pickupSla + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pickupSla", { + get: $util.oneOfGetter($oneOfFields = ["pickupSla"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _linkTemplate. + * @member {"linkTemplate"|undefined} _linkTemplate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_linkTemplate", { + get: $util.oneOfGetter($oneOfFields = ["linkTemplate"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _mobileLinkTemplate. + * @member {"mobileLinkTemplate"|undefined} _mobileLinkTemplate + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_mobileLinkTemplate", { + get: $util.oneOfGetter($oneOfFields = ["mobileLinkTemplate"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_0. + * @member {"customLabel_0"|undefined} _customLabel_0 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_0", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_1. + * @member {"customLabel_1"|undefined} _customLabel_1 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_1", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_1"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_2. + * @member {"customLabel_2"|undefined} _customLabel_2 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_2", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_2"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_3. + * @member {"customLabel_3"|undefined} _customLabel_3 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_3", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_3"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_4. + * @member {"customLabel_4"|undefined} _customLabel_4 + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_4", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_4"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _externalSellerId. + * @member {"externalSellerId"|undefined} _externalSellerId + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_externalSellerId", { + get: $util.oneOfGetter($oneOfFields = ["externalSellerId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pause. + * @member {"pause"|undefined} _pause + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pause", { + get: $util.oneOfGetter($oneOfFields = ["pause"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _virtualModelLink. + * @member {"virtualModelLink"|undefined} _virtualModelLink + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_virtualModelLink", { + get: $util.oneOfGetter($oneOfFields = ["virtualModelLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _structuredTitle. + * @member {"structuredTitle"|undefined} _structuredTitle + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_structuredTitle", { + get: $util.oneOfGetter($oneOfFields = ["structuredTitle"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _structuredDescription. + * @member {"structuredDescription"|undefined} _structuredDescription + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_structuredDescription", { + get: $util.oneOfGetter($oneOfFields = ["structuredDescription"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Attributes instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {google.shopping.merchant.products.v1beta.IAttributes=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes instance + */ + Attributes.create = function create(properties) { + return new Attributes(properties); + }; + + /** + * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {google.shopping.merchant.products.v1beta.IAttributes} message Attributes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Attributes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.externalSellerId != null && Object.hasOwnProperty.call(message, "externalSellerId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.externalSellerId); + if (message.identifierExists != null && Object.hasOwnProperty.call(message, "identifierExists")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.identifierExists); + if (message.isBundle != null && Object.hasOwnProperty.call(message, "isBundle")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.isBundle); + if (message.title != null && Object.hasOwnProperty.call(message, "title")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.title); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.description); + if (message.link != null && Object.hasOwnProperty.call(message, "link")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.link); + if (message.mobileLink != null && Object.hasOwnProperty.call(message, "mobileLink")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.mobileLink); + if (message.canonicalLink != null && Object.hasOwnProperty.call(message, "canonicalLink")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.canonicalLink); + if (message.imageLink != null && Object.hasOwnProperty.call(message, "imageLink")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.imageLink); + if (message.additionalImageLinks != null && message.additionalImageLinks.length) + for (var i = 0; i < message.additionalImageLinks.length; ++i) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.additionalImageLinks[i]); + if (message.pause != null && Object.hasOwnProperty.call(message, "pause")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.pause); + if (message.lifestyleImageLinks != null && message.lifestyleImageLinks.length) + for (var i = 0; i < message.lifestyleImageLinks.length; ++i) + writer.uint32(/* id 14, wireType 2 =*/114).string(message.lifestyleImageLinks[i]); + if (message.expirationDate != null && Object.hasOwnProperty.call(message, "expirationDate")) + $root.google.protobuf.Timestamp.encode(message.expirationDate, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.adult); + if (message.ageGroup != null && Object.hasOwnProperty.call(message, "ageGroup")) + writer.uint32(/* id 18, wireType 2 =*/146).string(message.ageGroup); + if (message.availability != null && Object.hasOwnProperty.call(message, "availability")) + writer.uint32(/* id 19, wireType 2 =*/154).string(message.availability); + if (message.availabilityDate != null && Object.hasOwnProperty.call(message, "availabilityDate")) + $root.google.protobuf.Timestamp.encode(message.availabilityDate, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); + if (message.brand != null && Object.hasOwnProperty.call(message, "brand")) + writer.uint32(/* id 21, wireType 2 =*/170).string(message.brand); + if (message.color != null && Object.hasOwnProperty.call(message, "color")) + writer.uint32(/* id 22, wireType 2 =*/178).string(message.color); + if (message.condition != null && Object.hasOwnProperty.call(message, "condition")) + writer.uint32(/* id 23, wireType 2 =*/186).string(message.condition); + if (message.gender != null && Object.hasOwnProperty.call(message, "gender")) + writer.uint32(/* id 24, wireType 2 =*/194).string(message.gender); + if (message.googleProductCategory != null && Object.hasOwnProperty.call(message, "googleProductCategory")) + writer.uint32(/* id 25, wireType 2 =*/202).string(message.googleProductCategory); + if (message.gtin != null && message.gtin.length) + for (var i = 0; i < message.gtin.length; ++i) + writer.uint32(/* id 26, wireType 2 =*/210).string(message.gtin[i]); + if (message.itemGroupId != null && Object.hasOwnProperty.call(message, "itemGroupId")) + writer.uint32(/* id 27, wireType 2 =*/218).string(message.itemGroupId); + if (message.material != null && Object.hasOwnProperty.call(message, "material")) + writer.uint32(/* id 28, wireType 2 =*/226).string(message.material); + if (message.mpn != null && Object.hasOwnProperty.call(message, "mpn")) + writer.uint32(/* id 29, wireType 2 =*/234).string(message.mpn); + if (message.pattern != null && Object.hasOwnProperty.call(message, "pattern")) + writer.uint32(/* id 30, wireType 2 =*/242).string(message.pattern); + if (message.price != null && Object.hasOwnProperty.call(message, "price")) + $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); + if (message.installment != null && Object.hasOwnProperty.call(message, "installment")) + $root.google.shopping.merchant.products.v1beta.Installment.encode(message.installment, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); + if (message.subscriptionCost != null && Object.hasOwnProperty.call(message, "subscriptionCost")) + $root.google.shopping.merchant.products.v1beta.SubscriptionCost.encode(message.subscriptionCost, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); + if (message.loyaltyPoints != null && Object.hasOwnProperty.call(message, "loyaltyPoints")) + $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.encode(message.loyaltyPoints, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); + if (message.productTypes != null && message.productTypes.length) + for (var i = 0; i < message.productTypes.length; ++i) + writer.uint32(/* id 35, wireType 2 =*/282).string(message.productTypes[i]); + if (message.salePrice != null && Object.hasOwnProperty.call(message, "salePrice")) + $root.google.shopping.type.Price.encode(message.salePrice, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); + if (message.salePriceEffectiveDate != null && Object.hasOwnProperty.call(message, "salePriceEffectiveDate")) + $root.google.type.Interval.encode(message.salePriceEffectiveDate, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); + if (message.sellOnGoogleQuantity != null && Object.hasOwnProperty.call(message, "sellOnGoogleQuantity")) + writer.uint32(/* id 38, wireType 0 =*/304).int64(message.sellOnGoogleQuantity); + if (message.shipping != null && message.shipping.length) + for (var i = 0; i < message.shipping.length; ++i) + $root.google.shopping.merchant.products.v1beta.Shipping.encode(message.shipping[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); + if (message.shippingWeight != null && Object.hasOwnProperty.call(message, "shippingWeight")) + $root.google.shopping.merchant.products.v1beta.ShippingWeight.encode(message.shippingWeight, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); + if (message.shippingLength != null && Object.hasOwnProperty.call(message, "shippingLength")) + $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingLength, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); + if (message.shippingWidth != null && Object.hasOwnProperty.call(message, "shippingWidth")) + $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingWidth, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); + if (message.shippingHeight != null && Object.hasOwnProperty.call(message, "shippingHeight")) + $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingHeight, writer.uint32(/* id 43, wireType 2 =*/346).fork()).ldelim(); + if (message.maxHandlingTime != null && Object.hasOwnProperty.call(message, "maxHandlingTime")) + writer.uint32(/* id 44, wireType 0 =*/352).int64(message.maxHandlingTime); + if (message.minHandlingTime != null && Object.hasOwnProperty.call(message, "minHandlingTime")) + writer.uint32(/* id 45, wireType 0 =*/360).int64(message.minHandlingTime); + if (message.shippingLabel != null && Object.hasOwnProperty.call(message, "shippingLabel")) + writer.uint32(/* id 46, wireType 2 =*/370).string(message.shippingLabel); + if (message.transitTimeLabel != null && Object.hasOwnProperty.call(message, "transitTimeLabel")) + writer.uint32(/* id 47, wireType 2 =*/378).string(message.transitTimeLabel); + if (message.size != null && Object.hasOwnProperty.call(message, "size")) + writer.uint32(/* id 48, wireType 2 =*/386).string(message.size); + if (message.sizeSystem != null && Object.hasOwnProperty.call(message, "sizeSystem")) + writer.uint32(/* id 49, wireType 2 =*/394).string(message.sizeSystem); + if (message.sizeTypes != null && message.sizeTypes.length) + for (var i = 0; i < message.sizeTypes.length; ++i) + writer.uint32(/* id 50, wireType 2 =*/402).string(message.sizeTypes[i]); + if (message.taxes != null && message.taxes.length) + for (var i = 0; i < message.taxes.length; ++i) + $root.google.shopping.merchant.products.v1beta.Tax.encode(message.taxes[i], writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); + if (message.taxCategory != null && Object.hasOwnProperty.call(message, "taxCategory")) + writer.uint32(/* id 52, wireType 2 =*/418).string(message.taxCategory); + if (message.energyEfficiencyClass != null && Object.hasOwnProperty.call(message, "energyEfficiencyClass")) + writer.uint32(/* id 53, wireType 2 =*/426).string(message.energyEfficiencyClass); + if (message.minEnergyEfficiencyClass != null && Object.hasOwnProperty.call(message, "minEnergyEfficiencyClass")) + writer.uint32(/* id 54, wireType 2 =*/434).string(message.minEnergyEfficiencyClass); + if (message.maxEnergyEfficiencyClass != null && Object.hasOwnProperty.call(message, "maxEnergyEfficiencyClass")) + writer.uint32(/* id 55, wireType 2 =*/442).string(message.maxEnergyEfficiencyClass); + if (message.unitPricingMeasure != null && Object.hasOwnProperty.call(message, "unitPricingMeasure")) + $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.encode(message.unitPricingMeasure, writer.uint32(/* id 56, wireType 2 =*/450).fork()).ldelim(); + if (message.unitPricingBaseMeasure != null && Object.hasOwnProperty.call(message, "unitPricingBaseMeasure")) + $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.encode(message.unitPricingBaseMeasure, writer.uint32(/* id 57, wireType 2 =*/458).fork()).ldelim(); + if (message.multipack != null && Object.hasOwnProperty.call(message, "multipack")) + writer.uint32(/* id 58, wireType 0 =*/464).int64(message.multipack); + if (message.adsGrouping != null && Object.hasOwnProperty.call(message, "adsGrouping")) + writer.uint32(/* id 59, wireType 2 =*/474).string(message.adsGrouping); + if (message.adsLabels != null && message.adsLabels.length) + for (var i = 0; i < message.adsLabels.length; ++i) + writer.uint32(/* id 60, wireType 2 =*/482).string(message.adsLabels[i]); + if (message.adsRedirect != null && Object.hasOwnProperty.call(message, "adsRedirect")) + writer.uint32(/* id 61, wireType 2 =*/490).string(message.adsRedirect); + if (message.costOfGoodsSold != null && Object.hasOwnProperty.call(message, "costOfGoodsSold")) + $root.google.shopping.type.Price.encode(message.costOfGoodsSold, writer.uint32(/* id 62, wireType 2 =*/498).fork()).ldelim(); + if (message.productDetails != null && message.productDetails.length) + for (var i = 0; i < message.productDetails.length; ++i) + $root.google.shopping.merchant.products.v1beta.ProductDetail.encode(message.productDetails[i], writer.uint32(/* id 63, wireType 2 =*/506).fork()).ldelim(); + if (message.productHighlights != null && message.productHighlights.length) + for (var i = 0; i < message.productHighlights.length; ++i) + writer.uint32(/* id 64, wireType 2 =*/514).string(message.productHighlights[i]); + if (message.displayAdsId != null && Object.hasOwnProperty.call(message, "displayAdsId")) + writer.uint32(/* id 65, wireType 2 =*/522).string(message.displayAdsId); + if (message.displayAdsSimilarIds != null && message.displayAdsSimilarIds.length) + for (var i = 0; i < message.displayAdsSimilarIds.length; ++i) + writer.uint32(/* id 66, wireType 2 =*/530).string(message.displayAdsSimilarIds[i]); + if (message.displayAdsTitle != null && Object.hasOwnProperty.call(message, "displayAdsTitle")) + writer.uint32(/* id 67, wireType 2 =*/538).string(message.displayAdsTitle); + if (message.displayAdsLink != null && Object.hasOwnProperty.call(message, "displayAdsLink")) + writer.uint32(/* id 68, wireType 2 =*/546).string(message.displayAdsLink); + if (message.displayAdsValue != null && Object.hasOwnProperty.call(message, "displayAdsValue")) + writer.uint32(/* id 69, wireType 1 =*/553).double(message.displayAdsValue); + if (message.promotionIds != null && message.promotionIds.length) + for (var i = 0; i < message.promotionIds.length; ++i) + writer.uint32(/* id 70, wireType 2 =*/562).string(message.promotionIds[i]); + if (message.customLabel_0 != null && Object.hasOwnProperty.call(message, "customLabel_0")) + writer.uint32(/* id 71, wireType 2 =*/570).string(message.customLabel_0); + if (message.customLabel_1 != null && Object.hasOwnProperty.call(message, "customLabel_1")) + writer.uint32(/* id 72, wireType 2 =*/578).string(message.customLabel_1); + if (message.customLabel_2 != null && Object.hasOwnProperty.call(message, "customLabel_2")) + writer.uint32(/* id 73, wireType 2 =*/586).string(message.customLabel_2); + if (message.customLabel_3 != null && Object.hasOwnProperty.call(message, "customLabel_3")) + writer.uint32(/* id 74, wireType 2 =*/594).string(message.customLabel_3); + if (message.customLabel_4 != null && Object.hasOwnProperty.call(message, "customLabel_4")) + writer.uint32(/* id 75, wireType 2 =*/602).string(message.customLabel_4); + if (message.includedDestinations != null && message.includedDestinations.length) + for (var i = 0; i < message.includedDestinations.length; ++i) + writer.uint32(/* id 76, wireType 2 =*/610).string(message.includedDestinations[i]); + if (message.excludedDestinations != null && message.excludedDestinations.length) + for (var i = 0; i < message.excludedDestinations.length; ++i) + writer.uint32(/* id 77, wireType 2 =*/618).string(message.excludedDestinations[i]); + if (message.shoppingAdsExcludedCountries != null && message.shoppingAdsExcludedCountries.length) + for (var i = 0; i < message.shoppingAdsExcludedCountries.length; ++i) + writer.uint32(/* id 78, wireType 2 =*/626).string(message.shoppingAdsExcludedCountries[i]); + if (message.disclosureDate != null && Object.hasOwnProperty.call(message, "disclosureDate")) + $root.google.protobuf.Timestamp.encode(message.disclosureDate, writer.uint32(/* id 79, wireType 2 =*/634).fork()).ldelim(); + if (message.pickupMethod != null && Object.hasOwnProperty.call(message, "pickupMethod")) + writer.uint32(/* id 80, wireType 2 =*/642).string(message.pickupMethod); + if (message.pickupSla != null && Object.hasOwnProperty.call(message, "pickupSla")) + writer.uint32(/* id 81, wireType 2 =*/650).string(message.pickupSla); + if (message.linkTemplate != null && Object.hasOwnProperty.call(message, "linkTemplate")) + writer.uint32(/* id 82, wireType 2 =*/658).string(message.linkTemplate); + if (message.mobileLinkTemplate != null && Object.hasOwnProperty.call(message, "mobileLinkTemplate")) + writer.uint32(/* id 83, wireType 2 =*/666).string(message.mobileLinkTemplate); + if (message.cloudExportAdditionalProperties != null && message.cloudExportAdditionalProperties.length) + for (var i = 0; i < message.cloudExportAdditionalProperties.length; ++i) + $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.encode(message.cloudExportAdditionalProperties[i], writer.uint32(/* id 84, wireType 2 =*/674).fork()).ldelim(); + if (message.productHeight != null && Object.hasOwnProperty.call(message, "productHeight")) + $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productHeight, writer.uint32(/* id 119, wireType 2 =*/954).fork()).ldelim(); + if (message.productLength != null && Object.hasOwnProperty.call(message, "productLength")) + $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productLength, writer.uint32(/* id 120, wireType 2 =*/962).fork()).ldelim(); + if (message.productWidth != null && Object.hasOwnProperty.call(message, "productWidth")) + $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productWidth, writer.uint32(/* id 121, wireType 2 =*/970).fork()).ldelim(); + if (message.productWeight != null && Object.hasOwnProperty.call(message, "productWeight")) + $root.google.shopping.merchant.products.v1beta.ProductWeight.encode(message.productWeight, writer.uint32(/* id 122, wireType 2 =*/978).fork()).ldelim(); + if (message.certifications != null && message.certifications.length) + for (var i = 0; i < message.certifications.length; ++i) + $root.google.shopping.merchant.products.v1beta.Certification.encode(message.certifications[i], writer.uint32(/* id 123, wireType 2 =*/986).fork()).ldelim(); + if (message.autoPricingMinPrice != null && Object.hasOwnProperty.call(message, "autoPricingMinPrice")) + $root.google.shopping.type.Price.encode(message.autoPricingMinPrice, writer.uint32(/* id 124, wireType 2 =*/994).fork()).ldelim(); + if (message.virtualModelLink != null && Object.hasOwnProperty.call(message, "virtualModelLink")) + writer.uint32(/* id 130, wireType 2 =*/1042).string(message.virtualModelLink); + if (message.structuredTitle != null && Object.hasOwnProperty.call(message, "structuredTitle")) + $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.encode(message.structuredTitle, writer.uint32(/* id 132, wireType 2 =*/1058).fork()).ldelim(); + if (message.structuredDescription != null && Object.hasOwnProperty.call(message, "structuredDescription")) + $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.encode(message.structuredDescription, writer.uint32(/* id 133, wireType 2 =*/1066).fork()).ldelim(); + if (message.freeShippingThreshold != null && message.freeShippingThreshold.length) + for (var i = 0; i < message.freeShippingThreshold.length; ++i) + $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.encode(message.freeShippingThreshold[i], writer.uint32(/* id 135, wireType 2 =*/1082).fork()).ldelim(); + if (message.loyaltyPrograms != null && message.loyaltyPrograms.length) + for (var i = 0; i < message.loyaltyPrograms.length; ++i) + $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.encode(message.loyaltyPrograms[i], writer.uint32(/* id 136, wireType 2 =*/1090).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {google.shopping.merchant.products.v1beta.IAttributes} message Attributes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Attributes.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Attributes message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Attributes.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Attributes(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 4: { + message.identifierExists = reader.bool(); + break; + } + case 5: { + message.isBundle = reader.bool(); + break; + } + case 6: { + message.title = reader.string(); + break; + } + case 7: { + message.description = reader.string(); + break; + } + case 8: { + message.link = reader.string(); + break; + } + case 9: { + message.mobileLink = reader.string(); + break; + } + case 10: { + message.canonicalLink = reader.string(); + break; + } + case 11: { + message.imageLink = reader.string(); + break; + } + case 12: { + if (!(message.additionalImageLinks && message.additionalImageLinks.length)) + message.additionalImageLinks = []; + message.additionalImageLinks.push(reader.string()); + break; + } + case 16: { + message.expirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 79: { + message.disclosureDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 17: { + message.adult = reader.bool(); + break; + } + case 18: { + message.ageGroup = reader.string(); + break; + } + case 19: { + message.availability = reader.string(); + break; + } + case 20: { + message.availabilityDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 21: { + message.brand = reader.string(); + break; + } + case 22: { + message.color = reader.string(); + break; + } + case 23: { + message.condition = reader.string(); + break; + } + case 24: { + message.gender = reader.string(); + break; + } + case 25: { + message.googleProductCategory = reader.string(); + break; + } + case 26: { + if (!(message.gtin && message.gtin.length)) + message.gtin = []; + message.gtin.push(reader.string()); + break; + } + case 27: { + message.itemGroupId = reader.string(); + break; + } + case 28: { + message.material = reader.string(); + break; + } + case 29: { + message.mpn = reader.string(); + break; + } + case 30: { + message.pattern = reader.string(); + break; + } + case 31: { + message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 32: { + message.installment = $root.google.shopping.merchant.products.v1beta.Installment.decode(reader, reader.uint32()); + break; + } + case 33: { + message.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.decode(reader, reader.uint32()); + break; + } + case 34: { + message.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.decode(reader, reader.uint32()); + break; + } + case 136: { + if (!(message.loyaltyPrograms && message.loyaltyPrograms.length)) + message.loyaltyPrograms = []; + message.loyaltyPrograms.push($root.google.shopping.merchant.products.v1beta.LoyaltyProgram.decode(reader, reader.uint32())); + break; + } + case 35: { + if (!(message.productTypes && message.productTypes.length)) + message.productTypes = []; + message.productTypes.push(reader.string()); + break; + } + case 36: { + message.salePrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 37: { + message.salePriceEffectiveDate = $root.google.type.Interval.decode(reader, reader.uint32()); + break; + } + case 38: { + message.sellOnGoogleQuantity = reader.int64(); + break; + } + case 119: { + message.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 120: { + message.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 121: { + message.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 122: { + message.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.decode(reader, reader.uint32()); + break; + } + case 39: { + if (!(message.shipping && message.shipping.length)) + message.shipping = []; + message.shipping.push($root.google.shopping.merchant.products.v1beta.Shipping.decode(reader, reader.uint32())); + break; + } + case 135: { + if (!(message.freeShippingThreshold && message.freeShippingThreshold.length)) + message.freeShippingThreshold = []; + message.freeShippingThreshold.push($root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.decode(reader, reader.uint32())); + break; + } + case 40: { + message.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.decode(reader, reader.uint32()); + break; + } + case 41: { + message.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); + break; + } + case 42: { + message.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); + break; + } + case 43: { + message.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); + break; + } + case 44: { + message.maxHandlingTime = reader.int64(); + break; + } + case 45: { + message.minHandlingTime = reader.int64(); + break; + } + case 46: { + message.shippingLabel = reader.string(); + break; + } + case 47: { + message.transitTimeLabel = reader.string(); + break; + } + case 48: { + message.size = reader.string(); + break; + } + case 49: { + message.sizeSystem = reader.string(); + break; + } + case 50: { + if (!(message.sizeTypes && message.sizeTypes.length)) + message.sizeTypes = []; + message.sizeTypes.push(reader.string()); + break; + } + case 51: { + if (!(message.taxes && message.taxes.length)) + message.taxes = []; + message.taxes.push($root.google.shopping.merchant.products.v1beta.Tax.decode(reader, reader.uint32())); + break; + } + case 52: { + message.taxCategory = reader.string(); + break; + } + case 53: { + message.energyEfficiencyClass = reader.string(); + break; + } + case 54: { + message.minEnergyEfficiencyClass = reader.string(); + break; + } + case 55: { + message.maxEnergyEfficiencyClass = reader.string(); + break; + } + case 56: { + message.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.decode(reader, reader.uint32()); + break; + } + case 57: { + message.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.decode(reader, reader.uint32()); + break; + } + case 58: { + message.multipack = reader.int64(); + break; + } + case 59: { + message.adsGrouping = reader.string(); + break; + } + case 60: { + if (!(message.adsLabels && message.adsLabels.length)) + message.adsLabels = []; + message.adsLabels.push(reader.string()); + break; + } + case 61: { + message.adsRedirect = reader.string(); + break; + } + case 62: { + message.costOfGoodsSold = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 63: { + if (!(message.productDetails && message.productDetails.length)) + message.productDetails = []; + message.productDetails.push($root.google.shopping.merchant.products.v1beta.ProductDetail.decode(reader, reader.uint32())); + break; + } + case 64: { + if (!(message.productHighlights && message.productHighlights.length)) + message.productHighlights = []; + message.productHighlights.push(reader.string()); + break; + } + case 65: { + message.displayAdsId = reader.string(); + break; + } + case 66: { + if (!(message.displayAdsSimilarIds && message.displayAdsSimilarIds.length)) + message.displayAdsSimilarIds = []; + message.displayAdsSimilarIds.push(reader.string()); + break; + } + case 67: { + message.displayAdsTitle = reader.string(); + break; + } + case 68: { + message.displayAdsLink = reader.string(); + break; + } + case 69: { + message.displayAdsValue = reader.double(); + break; + } + case 70: { + if (!(message.promotionIds && message.promotionIds.length)) + message.promotionIds = []; + message.promotionIds.push(reader.string()); + break; + } + case 80: { + message.pickupMethod = reader.string(); + break; + } + case 81: { + message.pickupSla = reader.string(); + break; + } + case 82: { + message.linkTemplate = reader.string(); + break; + } + case 83: { + message.mobileLinkTemplate = reader.string(); + break; + } + case 71: { + message.customLabel_0 = reader.string(); + break; + } + case 72: { + message.customLabel_1 = reader.string(); + break; + } + case 73: { + message.customLabel_2 = reader.string(); + break; + } + case 74: { + message.customLabel_3 = reader.string(); + break; + } + case 75: { + message.customLabel_4 = reader.string(); + break; + } + case 76: { + if (!(message.includedDestinations && message.includedDestinations.length)) + message.includedDestinations = []; + message.includedDestinations.push(reader.string()); + break; + } + case 77: { + if (!(message.excludedDestinations && message.excludedDestinations.length)) + message.excludedDestinations = []; + message.excludedDestinations.push(reader.string()); + break; + } + case 78: { + if (!(message.shoppingAdsExcludedCountries && message.shoppingAdsExcludedCountries.length)) + message.shoppingAdsExcludedCountries = []; + message.shoppingAdsExcludedCountries.push(reader.string()); + break; + } + case 1: { + message.externalSellerId = reader.string(); + break; + } + case 13: { + message.pause = reader.string(); + break; + } + case 14: { + if (!(message.lifestyleImageLinks && message.lifestyleImageLinks.length)) + message.lifestyleImageLinks = []; + message.lifestyleImageLinks.push(reader.string()); + break; + } + case 84: { + if (!(message.cloudExportAdditionalProperties && message.cloudExportAdditionalProperties.length)) + message.cloudExportAdditionalProperties = []; + message.cloudExportAdditionalProperties.push($root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.decode(reader, reader.uint32())); + break; + } + case 130: { + message.virtualModelLink = reader.string(); + break; + } + case 123: { + if (!(message.certifications && message.certifications.length)) + message.certifications = []; + message.certifications.push($root.google.shopping.merchant.products.v1beta.Certification.decode(reader, reader.uint32())); + break; + } + case 132: { + message.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.decode(reader, reader.uint32()); + break; + } + case 133: { + message.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.decode(reader, reader.uint32()); + break; + } + case 124: { + message.autoPricingMinPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Attributes message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Attributes.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Attributes message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Attributes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.identifierExists != null && message.hasOwnProperty("identifierExists")) { + properties._identifierExists = 1; + if (typeof message.identifierExists !== "boolean") + return "identifierExists: boolean expected"; + } + if (message.isBundle != null && message.hasOwnProperty("isBundle")) { + properties._isBundle = 1; + if (typeof message.isBundle !== "boolean") + return "isBundle: boolean expected"; + } + if (message.title != null && message.hasOwnProperty("title")) { + properties._title = 1; + if (!$util.isString(message.title)) + return "title: string expected"; + } + if (message.description != null && message.hasOwnProperty("description")) { + properties._description = 1; + if (!$util.isString(message.description)) + return "description: string expected"; + } + if (message.link != null && message.hasOwnProperty("link")) { + properties._link = 1; + if (!$util.isString(message.link)) + return "link: string expected"; + } + if (message.mobileLink != null && message.hasOwnProperty("mobileLink")) { + properties._mobileLink = 1; + if (!$util.isString(message.mobileLink)) + return "mobileLink: string expected"; + } + if (message.canonicalLink != null && message.hasOwnProperty("canonicalLink")) { + properties._canonicalLink = 1; + if (!$util.isString(message.canonicalLink)) + return "canonicalLink: string expected"; + } + if (message.imageLink != null && message.hasOwnProperty("imageLink")) { + properties._imageLink = 1; + if (!$util.isString(message.imageLink)) + return "imageLink: string expected"; + } + if (message.additionalImageLinks != null && message.hasOwnProperty("additionalImageLinks")) { + if (!Array.isArray(message.additionalImageLinks)) + return "additionalImageLinks: array expected"; + for (var i = 0; i < message.additionalImageLinks.length; ++i) + if (!$util.isString(message.additionalImageLinks[i])) + return "additionalImageLinks: string[] expected"; + } + if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.expirationDate); + if (error) + return "expirationDate." + error; + } + if (message.disclosureDate != null && message.hasOwnProperty("disclosureDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.disclosureDate); + if (error) + return "disclosureDate." + error; + } + if (message.adult != null && message.hasOwnProperty("adult")) { + properties._adult = 1; + if (typeof message.adult !== "boolean") + return "adult: boolean expected"; + } + if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { + properties._ageGroup = 1; + if (!$util.isString(message.ageGroup)) + return "ageGroup: string expected"; + } + if (message.availability != null && message.hasOwnProperty("availability")) { + properties._availability = 1; + if (!$util.isString(message.availability)) + return "availability: string expected"; + } + if (message.availabilityDate != null && message.hasOwnProperty("availabilityDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.availabilityDate); + if (error) + return "availabilityDate." + error; + } + if (message.brand != null && message.hasOwnProperty("brand")) { + properties._brand = 1; + if (!$util.isString(message.brand)) + return "brand: string expected"; + } + if (message.color != null && message.hasOwnProperty("color")) { + properties._color = 1; + if (!$util.isString(message.color)) + return "color: string expected"; + } + if (message.condition != null && message.hasOwnProperty("condition")) { + properties._condition = 1; + if (!$util.isString(message.condition)) + return "condition: string expected"; + } + if (message.gender != null && message.hasOwnProperty("gender")) { + properties._gender = 1; + if (!$util.isString(message.gender)) + return "gender: string expected"; + } + if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { + properties._googleProductCategory = 1; + if (!$util.isString(message.googleProductCategory)) + return "googleProductCategory: string expected"; + } + if (message.gtin != null && message.hasOwnProperty("gtin")) { + if (!Array.isArray(message.gtin)) + return "gtin: array expected"; + for (var i = 0; i < message.gtin.length; ++i) + if (!$util.isString(message.gtin[i])) + return "gtin: string[] expected"; + } + if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { + properties._itemGroupId = 1; + if (!$util.isString(message.itemGroupId)) + return "itemGroupId: string expected"; + } + if (message.material != null && message.hasOwnProperty("material")) { + properties._material = 1; + if (!$util.isString(message.material)) + return "material: string expected"; + } + if (message.mpn != null && message.hasOwnProperty("mpn")) { + properties._mpn = 1; + if (!$util.isString(message.mpn)) + return "mpn: string expected"; + } + if (message.pattern != null && message.hasOwnProperty("pattern")) { + properties._pattern = 1; + if (!$util.isString(message.pattern)) + return "pattern: string expected"; + } + if (message.price != null && message.hasOwnProperty("price")) { + var error = $root.google.shopping.type.Price.verify(message.price); + if (error) + return "price." + error; + } + if (message.installment != null && message.hasOwnProperty("installment")) { + var error = $root.google.shopping.merchant.products.v1beta.Installment.verify(message.installment); + if (error) + return "installment." + error; + } + if (message.subscriptionCost != null && message.hasOwnProperty("subscriptionCost")) { + var error = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.verify(message.subscriptionCost); + if (error) + return "subscriptionCost." + error; + } + if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { + var error = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.verify(message.loyaltyPoints); + if (error) + return "loyaltyPoints." + error; + } + if (message.loyaltyPrograms != null && message.hasOwnProperty("loyaltyPrograms")) { + if (!Array.isArray(message.loyaltyPrograms)) + return "loyaltyPrograms: array expected"; + for (var i = 0; i < message.loyaltyPrograms.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.verify(message.loyaltyPrograms[i]); + if (error) + return "loyaltyPrograms." + error; + } + } + if (message.productTypes != null && message.hasOwnProperty("productTypes")) { + if (!Array.isArray(message.productTypes)) + return "productTypes: array expected"; + for (var i = 0; i < message.productTypes.length; ++i) + if (!$util.isString(message.productTypes[i])) + return "productTypes: string[] expected"; + } + if (message.salePrice != null && message.hasOwnProperty("salePrice")) { + var error = $root.google.shopping.type.Price.verify(message.salePrice); + if (error) + return "salePrice." + error; + } + if (message.salePriceEffectiveDate != null && message.hasOwnProperty("salePriceEffectiveDate")) { + var error = $root.google.type.Interval.verify(message.salePriceEffectiveDate); + if (error) + return "salePriceEffectiveDate." + error; + } + if (message.sellOnGoogleQuantity != null && message.hasOwnProperty("sellOnGoogleQuantity")) { + properties._sellOnGoogleQuantity = 1; + if (!$util.isInteger(message.sellOnGoogleQuantity) && !(message.sellOnGoogleQuantity && $util.isInteger(message.sellOnGoogleQuantity.low) && $util.isInteger(message.sellOnGoogleQuantity.high))) + return "sellOnGoogleQuantity: integer|Long expected"; + } + if (message.productHeight != null && message.hasOwnProperty("productHeight")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productHeight); + if (error) + return "productHeight." + error; + } + if (message.productLength != null && message.hasOwnProperty("productLength")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productLength); + if (error) + return "productLength." + error; + } + if (message.productWidth != null && message.hasOwnProperty("productWidth")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productWidth); + if (error) + return "productWidth." + error; + } + if (message.productWeight != null && message.hasOwnProperty("productWeight")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductWeight.verify(message.productWeight); + if (error) + return "productWeight." + error; + } + if (message.shipping != null && message.hasOwnProperty("shipping")) { + if (!Array.isArray(message.shipping)) + return "shipping: array expected"; + for (var i = 0; i < message.shipping.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.Shipping.verify(message.shipping[i]); + if (error) + return "shipping." + error; + } + } + if (message.freeShippingThreshold != null && message.hasOwnProperty("freeShippingThreshold")) { + if (!Array.isArray(message.freeShippingThreshold)) + return "freeShippingThreshold: array expected"; + for (var i = 0; i < message.freeShippingThreshold.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify(message.freeShippingThreshold[i]); + if (error) + return "freeShippingThreshold." + error; + } + } + if (message.shippingWeight != null && message.hasOwnProperty("shippingWeight")) { + var error = $root.google.shopping.merchant.products.v1beta.ShippingWeight.verify(message.shippingWeight); + if (error) + return "shippingWeight." + error; + } + if (message.shippingLength != null && message.hasOwnProperty("shippingLength")) { + var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingLength); + if (error) + return "shippingLength." + error; + } + if (message.shippingWidth != null && message.hasOwnProperty("shippingWidth")) { + var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingWidth); + if (error) + return "shippingWidth." + error; + } + if (message.shippingHeight != null && message.hasOwnProperty("shippingHeight")) { + var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingHeight); + if (error) + return "shippingHeight." + error; + } + if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { + properties._maxHandlingTime = 1; + if (!$util.isInteger(message.maxHandlingTime) && !(message.maxHandlingTime && $util.isInteger(message.maxHandlingTime.low) && $util.isInteger(message.maxHandlingTime.high))) + return "maxHandlingTime: integer|Long expected"; + } + if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { + properties._minHandlingTime = 1; + if (!$util.isInteger(message.minHandlingTime) && !(message.minHandlingTime && $util.isInteger(message.minHandlingTime.low) && $util.isInteger(message.minHandlingTime.high))) + return "minHandlingTime: integer|Long expected"; + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + properties._shippingLabel = 1; + if (!$util.isString(message.shippingLabel)) + return "shippingLabel: string expected"; + } + if (message.transitTimeLabel != null && message.hasOwnProperty("transitTimeLabel")) { + properties._transitTimeLabel = 1; + if (!$util.isString(message.transitTimeLabel)) + return "transitTimeLabel: string expected"; + } + if (message.size != null && message.hasOwnProperty("size")) { + properties._size = 1; + if (!$util.isString(message.size)) + return "size: string expected"; + } + if (message.sizeSystem != null && message.hasOwnProperty("sizeSystem")) { + properties._sizeSystem = 1; + if (!$util.isString(message.sizeSystem)) + return "sizeSystem: string expected"; + } + if (message.sizeTypes != null && message.hasOwnProperty("sizeTypes")) { + if (!Array.isArray(message.sizeTypes)) + return "sizeTypes: array expected"; + for (var i = 0; i < message.sizeTypes.length; ++i) + if (!$util.isString(message.sizeTypes[i])) + return "sizeTypes: string[] expected"; + } + if (message.taxes != null && message.hasOwnProperty("taxes")) { + if (!Array.isArray(message.taxes)) + return "taxes: array expected"; + for (var i = 0; i < message.taxes.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.Tax.verify(message.taxes[i]); + if (error) + return "taxes." + error; + } + } + if (message.taxCategory != null && message.hasOwnProperty("taxCategory")) { + properties._taxCategory = 1; + if (!$util.isString(message.taxCategory)) + return "taxCategory: string expected"; + } + if (message.energyEfficiencyClass != null && message.hasOwnProperty("energyEfficiencyClass")) { + properties._energyEfficiencyClass = 1; + if (!$util.isString(message.energyEfficiencyClass)) + return "energyEfficiencyClass: string expected"; + } + if (message.minEnergyEfficiencyClass != null && message.hasOwnProperty("minEnergyEfficiencyClass")) { + properties._minEnergyEfficiencyClass = 1; + if (!$util.isString(message.minEnergyEfficiencyClass)) + return "minEnergyEfficiencyClass: string expected"; + } + if (message.maxEnergyEfficiencyClass != null && message.hasOwnProperty("maxEnergyEfficiencyClass")) { + properties._maxEnergyEfficiencyClass = 1; + if (!$util.isString(message.maxEnergyEfficiencyClass)) + return "maxEnergyEfficiencyClass: string expected"; + } + if (message.unitPricingMeasure != null && message.hasOwnProperty("unitPricingMeasure")) { + var error = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify(message.unitPricingMeasure); + if (error) + return "unitPricingMeasure." + error; + } + if (message.unitPricingBaseMeasure != null && message.hasOwnProperty("unitPricingBaseMeasure")) { + var error = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify(message.unitPricingBaseMeasure); + if (error) + return "unitPricingBaseMeasure." + error; + } + if (message.multipack != null && message.hasOwnProperty("multipack")) { + properties._multipack = 1; + if (!$util.isInteger(message.multipack) && !(message.multipack && $util.isInteger(message.multipack.low) && $util.isInteger(message.multipack.high))) + return "multipack: integer|Long expected"; + } + if (message.adsGrouping != null && message.hasOwnProperty("adsGrouping")) { + properties._adsGrouping = 1; + if (!$util.isString(message.adsGrouping)) + return "adsGrouping: string expected"; + } + if (message.adsLabels != null && message.hasOwnProperty("adsLabels")) { + if (!Array.isArray(message.adsLabels)) + return "adsLabels: array expected"; + for (var i = 0; i < message.adsLabels.length; ++i) + if (!$util.isString(message.adsLabels[i])) + return "adsLabels: string[] expected"; + } + if (message.adsRedirect != null && message.hasOwnProperty("adsRedirect")) { + properties._adsRedirect = 1; + if (!$util.isString(message.adsRedirect)) + return "adsRedirect: string expected"; + } + if (message.costOfGoodsSold != null && message.hasOwnProperty("costOfGoodsSold")) { + var error = $root.google.shopping.type.Price.verify(message.costOfGoodsSold); + if (error) + return "costOfGoodsSold." + error; + } + if (message.productDetails != null && message.hasOwnProperty("productDetails")) { + if (!Array.isArray(message.productDetails)) + return "productDetails: array expected"; + for (var i = 0; i < message.productDetails.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.ProductDetail.verify(message.productDetails[i]); + if (error) + return "productDetails." + error; + } + } + if (message.productHighlights != null && message.hasOwnProperty("productHighlights")) { + if (!Array.isArray(message.productHighlights)) + return "productHighlights: array expected"; + for (var i = 0; i < message.productHighlights.length; ++i) + if (!$util.isString(message.productHighlights[i])) + return "productHighlights: string[] expected"; + } + if (message.displayAdsId != null && message.hasOwnProperty("displayAdsId")) { + properties._displayAdsId = 1; + if (!$util.isString(message.displayAdsId)) + return "displayAdsId: string expected"; + } + if (message.displayAdsSimilarIds != null && message.hasOwnProperty("displayAdsSimilarIds")) { + if (!Array.isArray(message.displayAdsSimilarIds)) + return "displayAdsSimilarIds: array expected"; + for (var i = 0; i < message.displayAdsSimilarIds.length; ++i) + if (!$util.isString(message.displayAdsSimilarIds[i])) + return "displayAdsSimilarIds: string[] expected"; + } + if (message.displayAdsTitle != null && message.hasOwnProperty("displayAdsTitle")) { + properties._displayAdsTitle = 1; + if (!$util.isString(message.displayAdsTitle)) + return "displayAdsTitle: string expected"; + } + if (message.displayAdsLink != null && message.hasOwnProperty("displayAdsLink")) { + properties._displayAdsLink = 1; + if (!$util.isString(message.displayAdsLink)) + return "displayAdsLink: string expected"; + } + if (message.displayAdsValue != null && message.hasOwnProperty("displayAdsValue")) { + properties._displayAdsValue = 1; + if (typeof message.displayAdsValue !== "number") + return "displayAdsValue: number expected"; + } + if (message.promotionIds != null && message.hasOwnProperty("promotionIds")) { + if (!Array.isArray(message.promotionIds)) + return "promotionIds: array expected"; + for (var i = 0; i < message.promotionIds.length; ++i) + if (!$util.isString(message.promotionIds[i])) + return "promotionIds: string[] expected"; + } + if (message.pickupMethod != null && message.hasOwnProperty("pickupMethod")) { + properties._pickupMethod = 1; + if (!$util.isString(message.pickupMethod)) + return "pickupMethod: string expected"; + } + if (message.pickupSla != null && message.hasOwnProperty("pickupSla")) { + properties._pickupSla = 1; + if (!$util.isString(message.pickupSla)) + return "pickupSla: string expected"; + } + if (message.linkTemplate != null && message.hasOwnProperty("linkTemplate")) { + properties._linkTemplate = 1; + if (!$util.isString(message.linkTemplate)) + return "linkTemplate: string expected"; + } + if (message.mobileLinkTemplate != null && message.hasOwnProperty("mobileLinkTemplate")) { + properties._mobileLinkTemplate = 1; + if (!$util.isString(message.mobileLinkTemplate)) + return "mobileLinkTemplate: string expected"; + } + if (message.customLabel_0 != null && message.hasOwnProperty("customLabel_0")) { + properties._customLabel_0 = 1; + if (!$util.isString(message.customLabel_0)) + return "customLabel_0: string expected"; + } + if (message.customLabel_1 != null && message.hasOwnProperty("customLabel_1")) { + properties._customLabel_1 = 1; + if (!$util.isString(message.customLabel_1)) + return "customLabel_1: string expected"; + } + if (message.customLabel_2 != null && message.hasOwnProperty("customLabel_2")) { + properties._customLabel_2 = 1; + if (!$util.isString(message.customLabel_2)) + return "customLabel_2: string expected"; + } + if (message.customLabel_3 != null && message.hasOwnProperty("customLabel_3")) { + properties._customLabel_3 = 1; + if (!$util.isString(message.customLabel_3)) + return "customLabel_3: string expected"; + } + if (message.customLabel_4 != null && message.hasOwnProperty("customLabel_4")) { + properties._customLabel_4 = 1; + if (!$util.isString(message.customLabel_4)) + return "customLabel_4: string expected"; + } + if (message.includedDestinations != null && message.hasOwnProperty("includedDestinations")) { + if (!Array.isArray(message.includedDestinations)) + return "includedDestinations: array expected"; + for (var i = 0; i < message.includedDestinations.length; ++i) + if (!$util.isString(message.includedDestinations[i])) + return "includedDestinations: string[] expected"; + } + if (message.excludedDestinations != null && message.hasOwnProperty("excludedDestinations")) { + if (!Array.isArray(message.excludedDestinations)) + return "excludedDestinations: array expected"; + for (var i = 0; i < message.excludedDestinations.length; ++i) + if (!$util.isString(message.excludedDestinations[i])) + return "excludedDestinations: string[] expected"; + } + if (message.shoppingAdsExcludedCountries != null && message.hasOwnProperty("shoppingAdsExcludedCountries")) { + if (!Array.isArray(message.shoppingAdsExcludedCountries)) + return "shoppingAdsExcludedCountries: array expected"; + for (var i = 0; i < message.shoppingAdsExcludedCountries.length; ++i) + if (!$util.isString(message.shoppingAdsExcludedCountries[i])) + return "shoppingAdsExcludedCountries: string[] expected"; + } + if (message.externalSellerId != null && message.hasOwnProperty("externalSellerId")) { + properties._externalSellerId = 1; + if (!$util.isString(message.externalSellerId)) + return "externalSellerId: string expected"; + } + if (message.pause != null && message.hasOwnProperty("pause")) { + properties._pause = 1; + if (!$util.isString(message.pause)) + return "pause: string expected"; + } + if (message.lifestyleImageLinks != null && message.hasOwnProperty("lifestyleImageLinks")) { + if (!Array.isArray(message.lifestyleImageLinks)) + return "lifestyleImageLinks: array expected"; + for (var i = 0; i < message.lifestyleImageLinks.length; ++i) + if (!$util.isString(message.lifestyleImageLinks[i])) + return "lifestyleImageLinks: string[] expected"; + } + if (message.cloudExportAdditionalProperties != null && message.hasOwnProperty("cloudExportAdditionalProperties")) { + if (!Array.isArray(message.cloudExportAdditionalProperties)) + return "cloudExportAdditionalProperties: array expected"; + for (var i = 0; i < message.cloudExportAdditionalProperties.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify(message.cloudExportAdditionalProperties[i]); + if (error) + return "cloudExportAdditionalProperties." + error; + } + } + if (message.virtualModelLink != null && message.hasOwnProperty("virtualModelLink")) { + properties._virtualModelLink = 1; + if (!$util.isString(message.virtualModelLink)) + return "virtualModelLink: string expected"; + } + if (message.certifications != null && message.hasOwnProperty("certifications")) { + if (!Array.isArray(message.certifications)) + return "certifications: array expected"; + for (var i = 0; i < message.certifications.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.Certification.verify(message.certifications[i]); + if (error) + return "certifications." + error; + } + } + if (message.structuredTitle != null && message.hasOwnProperty("structuredTitle")) { + properties._structuredTitle = 1; + { + var error = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify(message.structuredTitle); + if (error) + return "structuredTitle." + error; + } + } + if (message.structuredDescription != null && message.hasOwnProperty("structuredDescription")) { + properties._structuredDescription = 1; + { + var error = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify(message.structuredDescription); + if (error) + return "structuredDescription." + error; + } + } + if (message.autoPricingMinPrice != null && message.hasOwnProperty("autoPricingMinPrice")) { + var error = $root.google.shopping.type.Price.verify(message.autoPricingMinPrice); + if (error) + return "autoPricingMinPrice." + error; + } + return null; + }; + + /** + * Creates an Attributes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes + */ + Attributes.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Attributes) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Attributes(); + if (object.identifierExists != null) + message.identifierExists = Boolean(object.identifierExists); + if (object.isBundle != null) + message.isBundle = Boolean(object.isBundle); + if (object.title != null) + message.title = String(object.title); + if (object.description != null) + message.description = String(object.description); + if (object.link != null) + message.link = String(object.link); + if (object.mobileLink != null) + message.mobileLink = String(object.mobileLink); + if (object.canonicalLink != null) + message.canonicalLink = String(object.canonicalLink); + if (object.imageLink != null) + message.imageLink = String(object.imageLink); + if (object.additionalImageLinks) { + if (!Array.isArray(object.additionalImageLinks)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.additionalImageLinks: array expected"); + message.additionalImageLinks = []; + for (var i = 0; i < object.additionalImageLinks.length; ++i) + message.additionalImageLinks[i] = String(object.additionalImageLinks[i]); + } + if (object.expirationDate != null) { + if (typeof object.expirationDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.expirationDate: object expected"); + message.expirationDate = $root.google.protobuf.Timestamp.fromObject(object.expirationDate); + } + if (object.disclosureDate != null) { + if (typeof object.disclosureDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.disclosureDate: object expected"); + message.disclosureDate = $root.google.protobuf.Timestamp.fromObject(object.disclosureDate); + } + if (object.adult != null) + message.adult = Boolean(object.adult); + if (object.ageGroup != null) + message.ageGroup = String(object.ageGroup); + if (object.availability != null) + message.availability = String(object.availability); + if (object.availabilityDate != null) { + if (typeof object.availabilityDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.availabilityDate: object expected"); + message.availabilityDate = $root.google.protobuf.Timestamp.fromObject(object.availabilityDate); + } + if (object.brand != null) + message.brand = String(object.brand); + if (object.color != null) + message.color = String(object.color); + if (object.condition != null) + message.condition = String(object.condition); + if (object.gender != null) + message.gender = String(object.gender); + if (object.googleProductCategory != null) + message.googleProductCategory = String(object.googleProductCategory); + if (object.gtin) { + if (!Array.isArray(object.gtin)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.gtin: array expected"); + message.gtin = []; + for (var i = 0; i < object.gtin.length; ++i) + message.gtin[i] = String(object.gtin[i]); + } + if (object.itemGroupId != null) + message.itemGroupId = String(object.itemGroupId); + if (object.material != null) + message.material = String(object.material); + if (object.mpn != null) + message.mpn = String(object.mpn); + if (object.pattern != null) + message.pattern = String(object.pattern); + if (object.price != null) { + if (typeof object.price !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.price: object expected"); + message.price = $root.google.shopping.type.Price.fromObject(object.price); + } + if (object.installment != null) { + if (typeof object.installment !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.installment: object expected"); + message.installment = $root.google.shopping.merchant.products.v1beta.Installment.fromObject(object.installment); + } + if (object.subscriptionCost != null) { + if (typeof object.subscriptionCost !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.subscriptionCost: object expected"); + message.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.fromObject(object.subscriptionCost); + } + if (object.loyaltyPoints != null) { + if (typeof object.loyaltyPoints !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPoints: object expected"); + message.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.fromObject(object.loyaltyPoints); + } + if (object.loyaltyPrograms) { + if (!Array.isArray(object.loyaltyPrograms)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPrograms: array expected"); + message.loyaltyPrograms = []; + for (var i = 0; i < object.loyaltyPrograms.length; ++i) { + if (typeof object.loyaltyPrograms[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPrograms: object expected"); + message.loyaltyPrograms[i] = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.fromObject(object.loyaltyPrograms[i]); + } + } + if (object.productTypes) { + if (!Array.isArray(object.productTypes)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productTypes: array expected"); + message.productTypes = []; + for (var i = 0; i < object.productTypes.length; ++i) + message.productTypes[i] = String(object.productTypes[i]); + } + if (object.salePrice != null) { + if (typeof object.salePrice !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.salePrice: object expected"); + message.salePrice = $root.google.shopping.type.Price.fromObject(object.salePrice); + } + if (object.salePriceEffectiveDate != null) { + if (typeof object.salePriceEffectiveDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.salePriceEffectiveDate: object expected"); + message.salePriceEffectiveDate = $root.google.type.Interval.fromObject(object.salePriceEffectiveDate); + } + if (object.sellOnGoogleQuantity != null) + if ($util.Long) + (message.sellOnGoogleQuantity = $util.Long.fromValue(object.sellOnGoogleQuantity)).unsigned = false; + else if (typeof object.sellOnGoogleQuantity === "string") + message.sellOnGoogleQuantity = parseInt(object.sellOnGoogleQuantity, 10); + else if (typeof object.sellOnGoogleQuantity === "number") + message.sellOnGoogleQuantity = object.sellOnGoogleQuantity; + else if (typeof object.sellOnGoogleQuantity === "object") + message.sellOnGoogleQuantity = new $util.LongBits(object.sellOnGoogleQuantity.low >>> 0, object.sellOnGoogleQuantity.high >>> 0).toNumber(); + if (object.productHeight != null) { + if (typeof object.productHeight !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productHeight: object expected"); + message.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productHeight); + } + if (object.productLength != null) { + if (typeof object.productLength !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productLength: object expected"); + message.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productLength); + } + if (object.productWidth != null) { + if (typeof object.productWidth !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productWidth: object expected"); + message.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productWidth); + } + if (object.productWeight != null) { + if (typeof object.productWeight !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productWeight: object expected"); + message.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.fromObject(object.productWeight); + } + if (object.shipping) { + if (!Array.isArray(object.shipping)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shipping: array expected"); + message.shipping = []; + for (var i = 0; i < object.shipping.length; ++i) { + if (typeof object.shipping[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shipping: object expected"); + message.shipping[i] = $root.google.shopping.merchant.products.v1beta.Shipping.fromObject(object.shipping[i]); + } + } + if (object.freeShippingThreshold) { + if (!Array.isArray(object.freeShippingThreshold)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.freeShippingThreshold: array expected"); + message.freeShippingThreshold = []; + for (var i = 0; i < object.freeShippingThreshold.length; ++i) { + if (typeof object.freeShippingThreshold[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.freeShippingThreshold: object expected"); + message.freeShippingThreshold[i] = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.fromObject(object.freeShippingThreshold[i]); + } + } + if (object.shippingWeight != null) { + if (typeof object.shippingWeight !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingWeight: object expected"); + message.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.fromObject(object.shippingWeight); + } + if (object.shippingLength != null) { + if (typeof object.shippingLength !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingLength: object expected"); + message.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingLength); + } + if (object.shippingWidth != null) { + if (typeof object.shippingWidth !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingWidth: object expected"); + message.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingWidth); + } + if (object.shippingHeight != null) { + if (typeof object.shippingHeight !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingHeight: object expected"); + message.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingHeight); + } + if (object.maxHandlingTime != null) + if ($util.Long) + (message.maxHandlingTime = $util.Long.fromValue(object.maxHandlingTime)).unsigned = false; + else if (typeof object.maxHandlingTime === "string") + message.maxHandlingTime = parseInt(object.maxHandlingTime, 10); + else if (typeof object.maxHandlingTime === "number") + message.maxHandlingTime = object.maxHandlingTime; + else if (typeof object.maxHandlingTime === "object") + message.maxHandlingTime = new $util.LongBits(object.maxHandlingTime.low >>> 0, object.maxHandlingTime.high >>> 0).toNumber(); + if (object.minHandlingTime != null) + if ($util.Long) + (message.minHandlingTime = $util.Long.fromValue(object.minHandlingTime)).unsigned = false; + else if (typeof object.minHandlingTime === "string") + message.minHandlingTime = parseInt(object.minHandlingTime, 10); + else if (typeof object.minHandlingTime === "number") + message.minHandlingTime = object.minHandlingTime; + else if (typeof object.minHandlingTime === "object") + message.minHandlingTime = new $util.LongBits(object.minHandlingTime.low >>> 0, object.minHandlingTime.high >>> 0).toNumber(); + if (object.shippingLabel != null) + message.shippingLabel = String(object.shippingLabel); + if (object.transitTimeLabel != null) + message.transitTimeLabel = String(object.transitTimeLabel); + if (object.size != null) + message.size = String(object.size); + if (object.sizeSystem != null) + message.sizeSystem = String(object.sizeSystem); + if (object.sizeTypes) { + if (!Array.isArray(object.sizeTypes)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.sizeTypes: array expected"); + message.sizeTypes = []; + for (var i = 0; i < object.sizeTypes.length; ++i) + message.sizeTypes[i] = String(object.sizeTypes[i]); + } + if (object.taxes) { + if (!Array.isArray(object.taxes)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.taxes: array expected"); + message.taxes = []; + for (var i = 0; i < object.taxes.length; ++i) { + if (typeof object.taxes[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.taxes: object expected"); + message.taxes[i] = $root.google.shopping.merchant.products.v1beta.Tax.fromObject(object.taxes[i]); + } + } + if (object.taxCategory != null) + message.taxCategory = String(object.taxCategory); + if (object.energyEfficiencyClass != null) + message.energyEfficiencyClass = String(object.energyEfficiencyClass); + if (object.minEnergyEfficiencyClass != null) + message.minEnergyEfficiencyClass = String(object.minEnergyEfficiencyClass); + if (object.maxEnergyEfficiencyClass != null) + message.maxEnergyEfficiencyClass = String(object.maxEnergyEfficiencyClass); + if (object.unitPricingMeasure != null) { + if (typeof object.unitPricingMeasure !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.unitPricingMeasure: object expected"); + message.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.fromObject(object.unitPricingMeasure); + } + if (object.unitPricingBaseMeasure != null) { + if (typeof object.unitPricingBaseMeasure !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.unitPricingBaseMeasure: object expected"); + message.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.fromObject(object.unitPricingBaseMeasure); + } + if (object.multipack != null) + if ($util.Long) + (message.multipack = $util.Long.fromValue(object.multipack)).unsigned = false; + else if (typeof object.multipack === "string") + message.multipack = parseInt(object.multipack, 10); + else if (typeof object.multipack === "number") + message.multipack = object.multipack; + else if (typeof object.multipack === "object") + message.multipack = new $util.LongBits(object.multipack.low >>> 0, object.multipack.high >>> 0).toNumber(); + if (object.adsGrouping != null) + message.adsGrouping = String(object.adsGrouping); + if (object.adsLabels) { + if (!Array.isArray(object.adsLabels)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.adsLabels: array expected"); + message.adsLabels = []; + for (var i = 0; i < object.adsLabels.length; ++i) + message.adsLabels[i] = String(object.adsLabels[i]); + } + if (object.adsRedirect != null) + message.adsRedirect = String(object.adsRedirect); + if (object.costOfGoodsSold != null) { + if (typeof object.costOfGoodsSold !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.costOfGoodsSold: object expected"); + message.costOfGoodsSold = $root.google.shopping.type.Price.fromObject(object.costOfGoodsSold); + } + if (object.productDetails) { + if (!Array.isArray(object.productDetails)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productDetails: array expected"); + message.productDetails = []; + for (var i = 0; i < object.productDetails.length; ++i) { + if (typeof object.productDetails[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productDetails: object expected"); + message.productDetails[i] = $root.google.shopping.merchant.products.v1beta.ProductDetail.fromObject(object.productDetails[i]); + } + } + if (object.productHighlights) { + if (!Array.isArray(object.productHighlights)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productHighlights: array expected"); + message.productHighlights = []; + for (var i = 0; i < object.productHighlights.length; ++i) + message.productHighlights[i] = String(object.productHighlights[i]); + } + if (object.displayAdsId != null) + message.displayAdsId = String(object.displayAdsId); + if (object.displayAdsSimilarIds) { + if (!Array.isArray(object.displayAdsSimilarIds)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.displayAdsSimilarIds: array expected"); + message.displayAdsSimilarIds = []; + for (var i = 0; i < object.displayAdsSimilarIds.length; ++i) + message.displayAdsSimilarIds[i] = String(object.displayAdsSimilarIds[i]); + } + if (object.displayAdsTitle != null) + message.displayAdsTitle = String(object.displayAdsTitle); + if (object.displayAdsLink != null) + message.displayAdsLink = String(object.displayAdsLink); + if (object.displayAdsValue != null) + message.displayAdsValue = Number(object.displayAdsValue); + if (object.promotionIds) { + if (!Array.isArray(object.promotionIds)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.promotionIds: array expected"); + message.promotionIds = []; + for (var i = 0; i < object.promotionIds.length; ++i) + message.promotionIds[i] = String(object.promotionIds[i]); + } + if (object.pickupMethod != null) + message.pickupMethod = String(object.pickupMethod); + if (object.pickupSla != null) + message.pickupSla = String(object.pickupSla); + if (object.linkTemplate != null) + message.linkTemplate = String(object.linkTemplate); + if (object.mobileLinkTemplate != null) + message.mobileLinkTemplate = String(object.mobileLinkTemplate); + if (object.customLabel_0 != null) + message.customLabel_0 = String(object.customLabel_0); + if (object.customLabel_1 != null) + message.customLabel_1 = String(object.customLabel_1); + if (object.customLabel_2 != null) + message.customLabel_2 = String(object.customLabel_2); + if (object.customLabel_3 != null) + message.customLabel_3 = String(object.customLabel_3); + if (object.customLabel_4 != null) + message.customLabel_4 = String(object.customLabel_4); + if (object.includedDestinations) { + if (!Array.isArray(object.includedDestinations)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.includedDestinations: array expected"); + message.includedDestinations = []; + for (var i = 0; i < object.includedDestinations.length; ++i) + message.includedDestinations[i] = String(object.includedDestinations[i]); + } + if (object.excludedDestinations) { + if (!Array.isArray(object.excludedDestinations)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.excludedDestinations: array expected"); + message.excludedDestinations = []; + for (var i = 0; i < object.excludedDestinations.length; ++i) + message.excludedDestinations[i] = String(object.excludedDestinations[i]); + } + if (object.shoppingAdsExcludedCountries) { + if (!Array.isArray(object.shoppingAdsExcludedCountries)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shoppingAdsExcludedCountries: array expected"); + message.shoppingAdsExcludedCountries = []; + for (var i = 0; i < object.shoppingAdsExcludedCountries.length; ++i) + message.shoppingAdsExcludedCountries[i] = String(object.shoppingAdsExcludedCountries[i]); + } + if (object.externalSellerId != null) + message.externalSellerId = String(object.externalSellerId); + if (object.pause != null) + message.pause = String(object.pause); + if (object.lifestyleImageLinks) { + if (!Array.isArray(object.lifestyleImageLinks)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.lifestyleImageLinks: array expected"); + message.lifestyleImageLinks = []; + for (var i = 0; i < object.lifestyleImageLinks.length; ++i) + message.lifestyleImageLinks[i] = String(object.lifestyleImageLinks[i]); + } + if (object.cloudExportAdditionalProperties) { + if (!Array.isArray(object.cloudExportAdditionalProperties)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.cloudExportAdditionalProperties: array expected"); + message.cloudExportAdditionalProperties = []; + for (var i = 0; i < object.cloudExportAdditionalProperties.length; ++i) { + if (typeof object.cloudExportAdditionalProperties[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.cloudExportAdditionalProperties: object expected"); + message.cloudExportAdditionalProperties[i] = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.fromObject(object.cloudExportAdditionalProperties[i]); + } + } + if (object.virtualModelLink != null) + message.virtualModelLink = String(object.virtualModelLink); + if (object.certifications) { + if (!Array.isArray(object.certifications)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.certifications: array expected"); + message.certifications = []; + for (var i = 0; i < object.certifications.length; ++i) { + if (typeof object.certifications[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.certifications: object expected"); + message.certifications[i] = $root.google.shopping.merchant.products.v1beta.Certification.fromObject(object.certifications[i]); + } + } + if (object.structuredTitle != null) { + if (typeof object.structuredTitle !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.structuredTitle: object expected"); + message.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.fromObject(object.structuredTitle); + } + if (object.structuredDescription != null) { + if (typeof object.structuredDescription !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.structuredDescription: object expected"); + message.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.fromObject(object.structuredDescription); + } + if (object.autoPricingMinPrice != null) { + if (typeof object.autoPricingMinPrice !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.autoPricingMinPrice: object expected"); + message.autoPricingMinPrice = $root.google.shopping.type.Price.fromObject(object.autoPricingMinPrice); + } + return message; + }; + + /** + * Creates a plain object from an Attributes message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {google.shopping.merchant.products.v1beta.Attributes} message Attributes + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Attributes.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.additionalImageLinks = []; + object.lifestyleImageLinks = []; + object.gtin = []; + object.productTypes = []; + object.shipping = []; + object.sizeTypes = []; + object.taxes = []; + object.adsLabels = []; + object.productDetails = []; + object.productHighlights = []; + object.displayAdsSimilarIds = []; + object.promotionIds = []; + object.includedDestinations = []; + object.excludedDestinations = []; + object.shoppingAdsExcludedCountries = []; + object.cloudExportAdditionalProperties = []; + object.certifications = []; + object.freeShippingThreshold = []; + object.loyaltyPrograms = []; + } + if (options.defaults) { + object.expirationDate = null; + object.availabilityDate = null; + object.price = null; + object.installment = null; + object.subscriptionCost = null; + object.loyaltyPoints = null; + object.salePrice = null; + object.salePriceEffectiveDate = null; + object.shippingWeight = null; + object.shippingLength = null; + object.shippingWidth = null; + object.shippingHeight = null; + object.unitPricingMeasure = null; + object.unitPricingBaseMeasure = null; + object.costOfGoodsSold = null; + object.disclosureDate = null; + object.productHeight = null; + object.productLength = null; + object.productWidth = null; + object.productWeight = null; + object.autoPricingMinPrice = null; + } + if (message.externalSellerId != null && message.hasOwnProperty("externalSellerId")) { + object.externalSellerId = message.externalSellerId; + if (options.oneofs) + object._externalSellerId = "externalSellerId"; + } + if (message.identifierExists != null && message.hasOwnProperty("identifierExists")) { + object.identifierExists = message.identifierExists; + if (options.oneofs) + object._identifierExists = "identifierExists"; + } + if (message.isBundle != null && message.hasOwnProperty("isBundle")) { + object.isBundle = message.isBundle; + if (options.oneofs) + object._isBundle = "isBundle"; + } + if (message.title != null && message.hasOwnProperty("title")) { + object.title = message.title; + if (options.oneofs) + object._title = "title"; + } + if (message.description != null && message.hasOwnProperty("description")) { + object.description = message.description; + if (options.oneofs) + object._description = "description"; + } + if (message.link != null && message.hasOwnProperty("link")) { + object.link = message.link; + if (options.oneofs) + object._link = "link"; + } + if (message.mobileLink != null && message.hasOwnProperty("mobileLink")) { + object.mobileLink = message.mobileLink; + if (options.oneofs) + object._mobileLink = "mobileLink"; + } + if (message.canonicalLink != null && message.hasOwnProperty("canonicalLink")) { + object.canonicalLink = message.canonicalLink; + if (options.oneofs) + object._canonicalLink = "canonicalLink"; + } + if (message.imageLink != null && message.hasOwnProperty("imageLink")) { + object.imageLink = message.imageLink; + if (options.oneofs) + object._imageLink = "imageLink"; + } + if (message.additionalImageLinks && message.additionalImageLinks.length) { + object.additionalImageLinks = []; + for (var j = 0; j < message.additionalImageLinks.length; ++j) + object.additionalImageLinks[j] = message.additionalImageLinks[j]; + } + if (message.pause != null && message.hasOwnProperty("pause")) { + object.pause = message.pause; + if (options.oneofs) + object._pause = "pause"; + } + if (message.lifestyleImageLinks && message.lifestyleImageLinks.length) { + object.lifestyleImageLinks = []; + for (var j = 0; j < message.lifestyleImageLinks.length; ++j) + object.lifestyleImageLinks[j] = message.lifestyleImageLinks[j]; + } + if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) + object.expirationDate = $root.google.protobuf.Timestamp.toObject(message.expirationDate, options); + if (message.adult != null && message.hasOwnProperty("adult")) { + object.adult = message.adult; + if (options.oneofs) + object._adult = "adult"; + } + if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { + object.ageGroup = message.ageGroup; + if (options.oneofs) + object._ageGroup = "ageGroup"; + } + if (message.availability != null && message.hasOwnProperty("availability")) { + object.availability = message.availability; + if (options.oneofs) + object._availability = "availability"; + } + if (message.availabilityDate != null && message.hasOwnProperty("availabilityDate")) + object.availabilityDate = $root.google.protobuf.Timestamp.toObject(message.availabilityDate, options); + if (message.brand != null && message.hasOwnProperty("brand")) { + object.brand = message.brand; + if (options.oneofs) + object._brand = "brand"; + } + if (message.color != null && message.hasOwnProperty("color")) { + object.color = message.color; + if (options.oneofs) + object._color = "color"; + } + if (message.condition != null && message.hasOwnProperty("condition")) { + object.condition = message.condition; + if (options.oneofs) + object._condition = "condition"; + } + if (message.gender != null && message.hasOwnProperty("gender")) { + object.gender = message.gender; + if (options.oneofs) + object._gender = "gender"; + } + if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { + object.googleProductCategory = message.googleProductCategory; + if (options.oneofs) + object._googleProductCategory = "googleProductCategory"; + } + if (message.gtin && message.gtin.length) { + object.gtin = []; + for (var j = 0; j < message.gtin.length; ++j) + object.gtin[j] = message.gtin[j]; + } + if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { + object.itemGroupId = message.itemGroupId; + if (options.oneofs) + object._itemGroupId = "itemGroupId"; + } + if (message.material != null && message.hasOwnProperty("material")) { + object.material = message.material; + if (options.oneofs) + object._material = "material"; + } + if (message.mpn != null && message.hasOwnProperty("mpn")) { + object.mpn = message.mpn; + if (options.oneofs) + object._mpn = "mpn"; + } + if (message.pattern != null && message.hasOwnProperty("pattern")) { + object.pattern = message.pattern; + if (options.oneofs) + object._pattern = "pattern"; + } + if (message.price != null && message.hasOwnProperty("price")) + object.price = $root.google.shopping.type.Price.toObject(message.price, options); + if (message.installment != null && message.hasOwnProperty("installment")) + object.installment = $root.google.shopping.merchant.products.v1beta.Installment.toObject(message.installment, options); + if (message.subscriptionCost != null && message.hasOwnProperty("subscriptionCost")) + object.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.toObject(message.subscriptionCost, options); + if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) + object.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.toObject(message.loyaltyPoints, options); + if (message.productTypes && message.productTypes.length) { + object.productTypes = []; + for (var j = 0; j < message.productTypes.length; ++j) + object.productTypes[j] = message.productTypes[j]; + } + if (message.salePrice != null && message.hasOwnProperty("salePrice")) + object.salePrice = $root.google.shopping.type.Price.toObject(message.salePrice, options); + if (message.salePriceEffectiveDate != null && message.hasOwnProperty("salePriceEffectiveDate")) + object.salePriceEffectiveDate = $root.google.type.Interval.toObject(message.salePriceEffectiveDate, options); + if (message.sellOnGoogleQuantity != null && message.hasOwnProperty("sellOnGoogleQuantity")) { + if (typeof message.sellOnGoogleQuantity === "number") + object.sellOnGoogleQuantity = options.longs === String ? String(message.sellOnGoogleQuantity) : message.sellOnGoogleQuantity; + else + object.sellOnGoogleQuantity = options.longs === String ? $util.Long.prototype.toString.call(message.sellOnGoogleQuantity) : options.longs === Number ? new $util.LongBits(message.sellOnGoogleQuantity.low >>> 0, message.sellOnGoogleQuantity.high >>> 0).toNumber() : message.sellOnGoogleQuantity; + if (options.oneofs) + object._sellOnGoogleQuantity = "sellOnGoogleQuantity"; + } + if (message.shipping && message.shipping.length) { + object.shipping = []; + for (var j = 0; j < message.shipping.length; ++j) + object.shipping[j] = $root.google.shopping.merchant.products.v1beta.Shipping.toObject(message.shipping[j], options); + } + if (message.shippingWeight != null && message.hasOwnProperty("shippingWeight")) + object.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.toObject(message.shippingWeight, options); + if (message.shippingLength != null && message.hasOwnProperty("shippingLength")) + object.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingLength, options); + if (message.shippingWidth != null && message.hasOwnProperty("shippingWidth")) + object.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingWidth, options); + if (message.shippingHeight != null && message.hasOwnProperty("shippingHeight")) + object.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingHeight, options); + if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { + if (typeof message.maxHandlingTime === "number") + object.maxHandlingTime = options.longs === String ? String(message.maxHandlingTime) : message.maxHandlingTime; + else + object.maxHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxHandlingTime) : options.longs === Number ? new $util.LongBits(message.maxHandlingTime.low >>> 0, message.maxHandlingTime.high >>> 0).toNumber() : message.maxHandlingTime; + if (options.oneofs) + object._maxHandlingTime = "maxHandlingTime"; + } + if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { + if (typeof message.minHandlingTime === "number") + object.minHandlingTime = options.longs === String ? String(message.minHandlingTime) : message.minHandlingTime; + else + object.minHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.minHandlingTime) : options.longs === Number ? new $util.LongBits(message.minHandlingTime.low >>> 0, message.minHandlingTime.high >>> 0).toNumber() : message.minHandlingTime; + if (options.oneofs) + object._minHandlingTime = "minHandlingTime"; + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + object.shippingLabel = message.shippingLabel; + if (options.oneofs) + object._shippingLabel = "shippingLabel"; + } + if (message.transitTimeLabel != null && message.hasOwnProperty("transitTimeLabel")) { + object.transitTimeLabel = message.transitTimeLabel; + if (options.oneofs) + object._transitTimeLabel = "transitTimeLabel"; + } + if (message.size != null && message.hasOwnProperty("size")) { + object.size = message.size; + if (options.oneofs) + object._size = "size"; + } + if (message.sizeSystem != null && message.hasOwnProperty("sizeSystem")) { + object.sizeSystem = message.sizeSystem; + if (options.oneofs) + object._sizeSystem = "sizeSystem"; + } + if (message.sizeTypes && message.sizeTypes.length) { + object.sizeTypes = []; + for (var j = 0; j < message.sizeTypes.length; ++j) + object.sizeTypes[j] = message.sizeTypes[j]; + } + if (message.taxes && message.taxes.length) { + object.taxes = []; + for (var j = 0; j < message.taxes.length; ++j) + object.taxes[j] = $root.google.shopping.merchant.products.v1beta.Tax.toObject(message.taxes[j], options); + } + if (message.taxCategory != null && message.hasOwnProperty("taxCategory")) { + object.taxCategory = message.taxCategory; + if (options.oneofs) + object._taxCategory = "taxCategory"; + } + if (message.energyEfficiencyClass != null && message.hasOwnProperty("energyEfficiencyClass")) { + object.energyEfficiencyClass = message.energyEfficiencyClass; + if (options.oneofs) + object._energyEfficiencyClass = "energyEfficiencyClass"; + } + if (message.minEnergyEfficiencyClass != null && message.hasOwnProperty("minEnergyEfficiencyClass")) { + object.minEnergyEfficiencyClass = message.minEnergyEfficiencyClass; + if (options.oneofs) + object._minEnergyEfficiencyClass = "minEnergyEfficiencyClass"; + } + if (message.maxEnergyEfficiencyClass != null && message.hasOwnProperty("maxEnergyEfficiencyClass")) { + object.maxEnergyEfficiencyClass = message.maxEnergyEfficiencyClass; + if (options.oneofs) + object._maxEnergyEfficiencyClass = "maxEnergyEfficiencyClass"; + } + if (message.unitPricingMeasure != null && message.hasOwnProperty("unitPricingMeasure")) + object.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.toObject(message.unitPricingMeasure, options); + if (message.unitPricingBaseMeasure != null && message.hasOwnProperty("unitPricingBaseMeasure")) + object.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.toObject(message.unitPricingBaseMeasure, options); + if (message.multipack != null && message.hasOwnProperty("multipack")) { + if (typeof message.multipack === "number") + object.multipack = options.longs === String ? String(message.multipack) : message.multipack; + else + object.multipack = options.longs === String ? $util.Long.prototype.toString.call(message.multipack) : options.longs === Number ? new $util.LongBits(message.multipack.low >>> 0, message.multipack.high >>> 0).toNumber() : message.multipack; + if (options.oneofs) + object._multipack = "multipack"; + } + if (message.adsGrouping != null && message.hasOwnProperty("adsGrouping")) { + object.adsGrouping = message.adsGrouping; + if (options.oneofs) + object._adsGrouping = "adsGrouping"; + } + if (message.adsLabels && message.adsLabels.length) { + object.adsLabels = []; + for (var j = 0; j < message.adsLabels.length; ++j) + object.adsLabels[j] = message.adsLabels[j]; + } + if (message.adsRedirect != null && message.hasOwnProperty("adsRedirect")) { + object.adsRedirect = message.adsRedirect; + if (options.oneofs) + object._adsRedirect = "adsRedirect"; + } + if (message.costOfGoodsSold != null && message.hasOwnProperty("costOfGoodsSold")) + object.costOfGoodsSold = $root.google.shopping.type.Price.toObject(message.costOfGoodsSold, options); + if (message.productDetails && message.productDetails.length) { + object.productDetails = []; + for (var j = 0; j < message.productDetails.length; ++j) + object.productDetails[j] = $root.google.shopping.merchant.products.v1beta.ProductDetail.toObject(message.productDetails[j], options); + } + if (message.productHighlights && message.productHighlights.length) { + object.productHighlights = []; + for (var j = 0; j < message.productHighlights.length; ++j) + object.productHighlights[j] = message.productHighlights[j]; + } + if (message.displayAdsId != null && message.hasOwnProperty("displayAdsId")) { + object.displayAdsId = message.displayAdsId; + if (options.oneofs) + object._displayAdsId = "displayAdsId"; + } + if (message.displayAdsSimilarIds && message.displayAdsSimilarIds.length) { + object.displayAdsSimilarIds = []; + for (var j = 0; j < message.displayAdsSimilarIds.length; ++j) + object.displayAdsSimilarIds[j] = message.displayAdsSimilarIds[j]; + } + if (message.displayAdsTitle != null && message.hasOwnProperty("displayAdsTitle")) { + object.displayAdsTitle = message.displayAdsTitle; + if (options.oneofs) + object._displayAdsTitle = "displayAdsTitle"; + } + if (message.displayAdsLink != null && message.hasOwnProperty("displayAdsLink")) { + object.displayAdsLink = message.displayAdsLink; + if (options.oneofs) + object._displayAdsLink = "displayAdsLink"; + } + if (message.displayAdsValue != null && message.hasOwnProperty("displayAdsValue")) { + object.displayAdsValue = options.json && !isFinite(message.displayAdsValue) ? String(message.displayAdsValue) : message.displayAdsValue; + if (options.oneofs) + object._displayAdsValue = "displayAdsValue"; + } + if (message.promotionIds && message.promotionIds.length) { + object.promotionIds = []; + for (var j = 0; j < message.promotionIds.length; ++j) + object.promotionIds[j] = message.promotionIds[j]; + } + if (message.customLabel_0 != null && message.hasOwnProperty("customLabel_0")) { + object.customLabel_0 = message.customLabel_0; + if (options.oneofs) + object._customLabel_0 = "customLabel_0"; + } + if (message.customLabel_1 != null && message.hasOwnProperty("customLabel_1")) { + object.customLabel_1 = message.customLabel_1; + if (options.oneofs) + object._customLabel_1 = "customLabel_1"; + } + if (message.customLabel_2 != null && message.hasOwnProperty("customLabel_2")) { + object.customLabel_2 = message.customLabel_2; + if (options.oneofs) + object._customLabel_2 = "customLabel_2"; + } + if (message.customLabel_3 != null && message.hasOwnProperty("customLabel_3")) { + object.customLabel_3 = message.customLabel_3; + if (options.oneofs) + object._customLabel_3 = "customLabel_3"; + } + if (message.customLabel_4 != null && message.hasOwnProperty("customLabel_4")) { + object.customLabel_4 = message.customLabel_4; + if (options.oneofs) + object._customLabel_4 = "customLabel_4"; + } + if (message.includedDestinations && message.includedDestinations.length) { + object.includedDestinations = []; + for (var j = 0; j < message.includedDestinations.length; ++j) + object.includedDestinations[j] = message.includedDestinations[j]; + } + if (message.excludedDestinations && message.excludedDestinations.length) { + object.excludedDestinations = []; + for (var j = 0; j < message.excludedDestinations.length; ++j) + object.excludedDestinations[j] = message.excludedDestinations[j]; + } + if (message.shoppingAdsExcludedCountries && message.shoppingAdsExcludedCountries.length) { + object.shoppingAdsExcludedCountries = []; + for (var j = 0; j < message.shoppingAdsExcludedCountries.length; ++j) + object.shoppingAdsExcludedCountries[j] = message.shoppingAdsExcludedCountries[j]; + } + if (message.disclosureDate != null && message.hasOwnProperty("disclosureDate")) + object.disclosureDate = $root.google.protobuf.Timestamp.toObject(message.disclosureDate, options); + if (message.pickupMethod != null && message.hasOwnProperty("pickupMethod")) { + object.pickupMethod = message.pickupMethod; + if (options.oneofs) + object._pickupMethod = "pickupMethod"; + } + if (message.pickupSla != null && message.hasOwnProperty("pickupSla")) { + object.pickupSla = message.pickupSla; + if (options.oneofs) + object._pickupSla = "pickupSla"; + } + if (message.linkTemplate != null && message.hasOwnProperty("linkTemplate")) { + object.linkTemplate = message.linkTemplate; + if (options.oneofs) + object._linkTemplate = "linkTemplate"; + } + if (message.mobileLinkTemplate != null && message.hasOwnProperty("mobileLinkTemplate")) { + object.mobileLinkTemplate = message.mobileLinkTemplate; + if (options.oneofs) + object._mobileLinkTemplate = "mobileLinkTemplate"; + } + if (message.cloudExportAdditionalProperties && message.cloudExportAdditionalProperties.length) { + object.cloudExportAdditionalProperties = []; + for (var j = 0; j < message.cloudExportAdditionalProperties.length; ++j) + object.cloudExportAdditionalProperties[j] = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.toObject(message.cloudExportAdditionalProperties[j], options); + } + if (message.productHeight != null && message.hasOwnProperty("productHeight")) + object.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productHeight, options); + if (message.productLength != null && message.hasOwnProperty("productLength")) + object.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productLength, options); + if (message.productWidth != null && message.hasOwnProperty("productWidth")) + object.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productWidth, options); + if (message.productWeight != null && message.hasOwnProperty("productWeight")) + object.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.toObject(message.productWeight, options); + if (message.certifications && message.certifications.length) { + object.certifications = []; + for (var j = 0; j < message.certifications.length; ++j) + object.certifications[j] = $root.google.shopping.merchant.products.v1beta.Certification.toObject(message.certifications[j], options); + } + if (message.autoPricingMinPrice != null && message.hasOwnProperty("autoPricingMinPrice")) + object.autoPricingMinPrice = $root.google.shopping.type.Price.toObject(message.autoPricingMinPrice, options); + if (message.virtualModelLink != null && message.hasOwnProperty("virtualModelLink")) { + object.virtualModelLink = message.virtualModelLink; + if (options.oneofs) + object._virtualModelLink = "virtualModelLink"; + } + if (message.structuredTitle != null && message.hasOwnProperty("structuredTitle")) { + object.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.toObject(message.structuredTitle, options); + if (options.oneofs) + object._structuredTitle = "structuredTitle"; + } + if (message.structuredDescription != null && message.hasOwnProperty("structuredDescription")) { + object.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.toObject(message.structuredDescription, options); + if (options.oneofs) + object._structuredDescription = "structuredDescription"; + } + if (message.freeShippingThreshold && message.freeShippingThreshold.length) { + object.freeShippingThreshold = []; + for (var j = 0; j < message.freeShippingThreshold.length; ++j) + object.freeShippingThreshold[j] = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.toObject(message.freeShippingThreshold[j], options); + } + if (message.loyaltyPrograms && message.loyaltyPrograms.length) { + object.loyaltyPrograms = []; + for (var j = 0; j < message.loyaltyPrograms.length; ++j) + object.loyaltyPrograms[j] = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.toObject(message.loyaltyPrograms[j], options); + } + return object; + }; + + /** + * Converts this Attributes to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @instance + * @returns {Object.} JSON object + */ + Attributes.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Attributes + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Attributes + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Attributes.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Attributes"; + }; + + return Attributes; + })(); + + v1beta.Tax = (function() { + + /** + * Properties of a Tax. + * @memberof google.shopping.merchant.products.v1beta + * @interface ITax + * @property {number|null} [rate] Tax rate + * @property {string|null} [country] Tax country + * @property {string|null} [region] Tax region + * @property {boolean|null} [taxShip] Tax taxShip + * @property {number|Long|null} [locationId] Tax locationId + * @property {string|null} [postalCode] Tax postalCode + */ + + /** + * Constructs a new Tax. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a Tax. + * @implements ITax + * @constructor + * @param {google.shopping.merchant.products.v1beta.ITax=} [properties] Properties to set + */ + function Tax(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Tax rate. + * @member {number} rate + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.rate = 0; + + /** + * Tax country. + * @member {string} country + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.country = ""; + + /** + * Tax region. + * @member {string} region + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.region = ""; + + /** + * Tax taxShip. + * @member {boolean} taxShip + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.taxShip = false; + + /** + * Tax locationId. + * @member {number|Long} locationId + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.locationId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Tax postalCode. + * @member {string} postalCode + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + */ + Tax.prototype.postalCode = ""; + + /** + * Creates a new Tax instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {google.shopping.merchant.products.v1beta.ITax=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Tax} Tax instance + */ + Tax.create = function create(properties) { + return new Tax(properties); + }; + + /** + * Encodes the specified Tax message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {google.shopping.merchant.products.v1beta.ITax} message Tax message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Tax.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rate != null && Object.hasOwnProperty.call(message, "rate")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.rate); + if (message.country != null && Object.hasOwnProperty.call(message, "country")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.country); + if (message.region != null && Object.hasOwnProperty.call(message, "region")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); + if (message.taxShip != null && Object.hasOwnProperty.call(message, "taxShip")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.taxShip); + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.locationId); + if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.postalCode); + return writer; + }; + + /** + * Encodes the specified Tax message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {google.shopping.merchant.products.v1beta.ITax} message Tax message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Tax.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Tax message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Tax} Tax + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Tax.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Tax(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.rate = reader.double(); + break; + } + case 2: { + message.country = reader.string(); + break; + } + case 3: { + message.region = reader.string(); + break; + } + case 4: { + message.taxShip = reader.bool(); + break; + } + case 5: { + message.locationId = reader.int64(); + break; + } + case 6: { + message.postalCode = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Tax message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Tax} Tax + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Tax.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Tax message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Tax.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rate != null && message.hasOwnProperty("rate")) + if (typeof message.rate !== "number") + return "rate: number expected"; + if (message.country != null && message.hasOwnProperty("country")) + if (!$util.isString(message.country)) + return "country: string expected"; + if (message.region != null && message.hasOwnProperty("region")) + if (!$util.isString(message.region)) + return "region: string expected"; + if (message.taxShip != null && message.hasOwnProperty("taxShip")) + if (typeof message.taxShip !== "boolean") + return "taxShip: boolean expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isInteger(message.locationId) && !(message.locationId && $util.isInteger(message.locationId.low) && $util.isInteger(message.locationId.high))) + return "locationId: integer|Long expected"; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + if (!$util.isString(message.postalCode)) + return "postalCode: string expected"; + return null; + }; + + /** + * Creates a Tax message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Tax} Tax + */ + Tax.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Tax) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Tax(); + if (object.rate != null) + message.rate = Number(object.rate); + if (object.country != null) + message.country = String(object.country); + if (object.region != null) + message.region = String(object.region); + if (object.taxShip != null) + message.taxShip = Boolean(object.taxShip); + if (object.locationId != null) + if ($util.Long) + (message.locationId = $util.Long.fromValue(object.locationId)).unsigned = false; + else if (typeof object.locationId === "string") + message.locationId = parseInt(object.locationId, 10); + else if (typeof object.locationId === "number") + message.locationId = object.locationId; + else if (typeof object.locationId === "object") + message.locationId = new $util.LongBits(object.locationId.low >>> 0, object.locationId.high >>> 0).toNumber(); + if (object.postalCode != null) + message.postalCode = String(object.postalCode); + return message; + }; + + /** + * Creates a plain object from a Tax message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {google.shopping.merchant.products.v1beta.Tax} message Tax + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Tax.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.rate = 0; + object.country = ""; + object.region = ""; + object.taxShip = false; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.locationId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.locationId = options.longs === String ? "0" : 0; + object.postalCode = ""; + } + if (message.rate != null && message.hasOwnProperty("rate")) + object.rate = options.json && !isFinite(message.rate) ? String(message.rate) : message.rate; + if (message.country != null && message.hasOwnProperty("country")) + object.country = message.country; + if (message.region != null && message.hasOwnProperty("region")) + object.region = message.region; + if (message.taxShip != null && message.hasOwnProperty("taxShip")) + object.taxShip = message.taxShip; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (typeof message.locationId === "number") + object.locationId = options.longs === String ? String(message.locationId) : message.locationId; + else + object.locationId = options.longs === String ? $util.Long.prototype.toString.call(message.locationId) : options.longs === Number ? new $util.LongBits(message.locationId.low >>> 0, message.locationId.high >>> 0).toNumber() : message.locationId; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + object.postalCode = message.postalCode; + return object; + }; + + /** + * Converts this Tax to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Tax + * @instance + * @returns {Object.} JSON object + */ + Tax.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Tax + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Tax + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Tax.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Tax"; + }; + + return Tax; + })(); + + v1beta.ShippingWeight = (function() { + + /** + * Properties of a ShippingWeight. + * @memberof google.shopping.merchant.products.v1beta + * @interface IShippingWeight + * @property {number|null} [value] ShippingWeight value + * @property {string|null} [unit] ShippingWeight unit + */ + + /** + * Constructs a new ShippingWeight. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ShippingWeight. + * @implements IShippingWeight + * @constructor + * @param {google.shopping.merchant.products.v1beta.IShippingWeight=} [properties] Properties to set + */ + function ShippingWeight(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShippingWeight value. + * @member {number} value + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @instance + */ + ShippingWeight.prototype.value = 0; + + /** + * ShippingWeight unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @instance + */ + ShippingWeight.prototype.unit = ""; + + /** + * Creates a new ShippingWeight instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingWeight=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight instance + */ + ShippingWeight.create = function create(properties) { + return new ShippingWeight(properties); + }; + + /** + * Encodes the specified ShippingWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingWeight} message ShippingWeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShippingWeight.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified ShippingWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingWeight} message ShippingWeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShippingWeight.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShippingWeight message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShippingWeight.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ShippingWeight(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.double(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShippingWeight message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShippingWeight.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShippingWeight message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShippingWeight.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates a ShippingWeight message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight + */ + ShippingWeight.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ShippingWeight) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ShippingWeight(); + if (object.value != null) + message.value = Number(object.value); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from a ShippingWeight message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {google.shopping.merchant.products.v1beta.ShippingWeight} message ShippingWeight + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShippingWeight.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this ShippingWeight to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @instance + * @returns {Object.} JSON object + */ + ShippingWeight.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ShippingWeight + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ShippingWeight + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShippingWeight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ShippingWeight"; + }; + + return ShippingWeight; + })(); + + v1beta.ShippingDimension = (function() { + + /** + * Properties of a ShippingDimension. + * @memberof google.shopping.merchant.products.v1beta + * @interface IShippingDimension + * @property {number|null} [value] ShippingDimension value + * @property {string|null} [unit] ShippingDimension unit + */ + + /** + * Constructs a new ShippingDimension. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ShippingDimension. + * @implements IShippingDimension + * @constructor + * @param {google.shopping.merchant.products.v1beta.IShippingDimension=} [properties] Properties to set + */ + function ShippingDimension(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ShippingDimension value. + * @member {number} value + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @instance + */ + ShippingDimension.prototype.value = 0; + + /** + * ShippingDimension unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @instance + */ + ShippingDimension.prototype.unit = ""; + + /** + * Creates a new ShippingDimension instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingDimension=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension instance + */ + ShippingDimension.create = function create(properties) { + return new ShippingDimension(properties); + }; + + /** + * Encodes the specified ShippingDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingDimension} message ShippingDimension message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShippingDimension.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified ShippingDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IShippingDimension} message ShippingDimension message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ShippingDimension.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ShippingDimension message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShippingDimension.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ShippingDimension(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.double(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ShippingDimension message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ShippingDimension.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ShippingDimension message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ShippingDimension.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates a ShippingDimension message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension + */ + ShippingDimension.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ShippingDimension) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ShippingDimension(); + if (object.value != null) + message.value = Number(object.value); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from a ShippingDimension message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {google.shopping.merchant.products.v1beta.ShippingDimension} message ShippingDimension + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ShippingDimension.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this ShippingDimension to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @instance + * @returns {Object.} JSON object + */ + ShippingDimension.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ShippingDimension + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ShippingDimension + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ShippingDimension.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ShippingDimension"; + }; + + return ShippingDimension; + })(); + + v1beta.UnitPricingBaseMeasure = (function() { + + /** + * Properties of an UnitPricingBaseMeasure. + * @memberof google.shopping.merchant.products.v1beta + * @interface IUnitPricingBaseMeasure + * @property {number|Long|null} [value] UnitPricingBaseMeasure value + * @property {string|null} [unit] UnitPricingBaseMeasure unit + */ + + /** + * Constructs a new UnitPricingBaseMeasure. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents an UnitPricingBaseMeasure. + * @implements IUnitPricingBaseMeasure + * @constructor + * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure=} [properties] Properties to set + */ + function UnitPricingBaseMeasure(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UnitPricingBaseMeasure value. + * @member {number|Long} value + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @instance + */ + UnitPricingBaseMeasure.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * UnitPricingBaseMeasure unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @instance + */ + UnitPricingBaseMeasure.prototype.unit = ""; + + /** + * Creates a new UnitPricingBaseMeasure instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure instance + */ + UnitPricingBaseMeasure.create = function create(properties) { + return new UnitPricingBaseMeasure(properties); + }; + + /** + * Encodes the specified UnitPricingBaseMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure} message UnitPricingBaseMeasure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnitPricingBaseMeasure.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified UnitPricingBaseMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure} message UnitPricingBaseMeasure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnitPricingBaseMeasure.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnitPricingBaseMeasure.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.int64(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnitPricingBaseMeasure.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UnitPricingBaseMeasure message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UnitPricingBaseMeasure.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) + return "value: integer|Long expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates an UnitPricingBaseMeasure message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure + */ + UnitPricingBaseMeasure.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure(); + if (object.value != null) + if ($util.Long) + (message.value = $util.Long.fromValue(object.value)).unsigned = false; + else if (typeof object.value === "string") + message.value = parseInt(object.value, 10); + else if (typeof object.value === "number") + message.value = object.value; + else if (typeof object.value === "object") + message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from an UnitPricingBaseMeasure message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} message UnitPricingBaseMeasure + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UnitPricingBaseMeasure.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.value = options.longs === String ? "0" : 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value === "number") + object.value = options.longs === String ? String(message.value) : message.value; + else + object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this UnitPricingBaseMeasure to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @instance + * @returns {Object.} JSON object + */ + UnitPricingBaseMeasure.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UnitPricingBaseMeasure + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UnitPricingBaseMeasure.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure"; + }; + + return UnitPricingBaseMeasure; + })(); + + v1beta.UnitPricingMeasure = (function() { + + /** + * Properties of an UnitPricingMeasure. + * @memberof google.shopping.merchant.products.v1beta + * @interface IUnitPricingMeasure + * @property {number|null} [value] UnitPricingMeasure value + * @property {string|null} [unit] UnitPricingMeasure unit + */ + + /** + * Constructs a new UnitPricingMeasure. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents an UnitPricingMeasure. + * @implements IUnitPricingMeasure + * @constructor + * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure=} [properties] Properties to set + */ + function UnitPricingMeasure(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UnitPricingMeasure value. + * @member {number} value + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @instance + */ + UnitPricingMeasure.prototype.value = 0; + + /** + * UnitPricingMeasure unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @instance + */ + UnitPricingMeasure.prototype.unit = ""; + + /** + * Creates a new UnitPricingMeasure instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure instance + */ + UnitPricingMeasure.create = function create(properties) { + return new UnitPricingMeasure(properties); + }; + + /** + * Encodes the specified UnitPricingMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure} message UnitPricingMeasure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnitPricingMeasure.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified UnitPricingMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure} message UnitPricingMeasure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UnitPricingMeasure.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UnitPricingMeasure message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnitPricingMeasure.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.double(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UnitPricingMeasure message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UnitPricingMeasure.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UnitPricingMeasure message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UnitPricingMeasure.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates an UnitPricingMeasure message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure + */ + UnitPricingMeasure.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure(); + if (object.value != null) + message.value = Number(object.value); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from an UnitPricingMeasure message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {google.shopping.merchant.products.v1beta.UnitPricingMeasure} message UnitPricingMeasure + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UnitPricingMeasure.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this UnitPricingMeasure to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @instance + * @returns {Object.} JSON object + */ + UnitPricingMeasure.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UnitPricingMeasure + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UnitPricingMeasure.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.UnitPricingMeasure"; + }; + + return UnitPricingMeasure; + })(); + + v1beta.SubscriptionCost = (function() { + + /** + * Properties of a SubscriptionCost. + * @memberof google.shopping.merchant.products.v1beta + * @interface ISubscriptionCost + * @property {google.shopping.merchant.products.v1beta.SubscriptionPeriod|null} [period] SubscriptionCost period + * @property {number|Long|null} [periodLength] SubscriptionCost periodLength + * @property {google.shopping.type.IPrice|null} [amount] SubscriptionCost amount + */ + + /** + * Constructs a new SubscriptionCost. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a SubscriptionCost. + * @implements ISubscriptionCost + * @constructor + * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost=} [properties] Properties to set + */ + function SubscriptionCost(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SubscriptionCost period. + * @member {google.shopping.merchant.products.v1beta.SubscriptionPeriod} period + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @instance + */ + SubscriptionCost.prototype.period = 0; + + /** + * SubscriptionCost periodLength. + * @member {number|Long} periodLength + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @instance + */ + SubscriptionCost.prototype.periodLength = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * SubscriptionCost amount. + * @member {google.shopping.type.IPrice|null|undefined} amount + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @instance + */ + SubscriptionCost.prototype.amount = null; + + /** + * Creates a new SubscriptionCost instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost instance + */ + SubscriptionCost.create = function create(properties) { + return new SubscriptionCost(properties); + }; + + /** + * Encodes the specified SubscriptionCost message. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost} message SubscriptionCost message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SubscriptionCost.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.period != null && Object.hasOwnProperty.call(message, "period")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.period); + if (message.periodLength != null && Object.hasOwnProperty.call(message, "periodLength")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.periodLength); + if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) + $root.google.shopping.type.Price.encode(message.amount, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost} message SubscriptionCost message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SubscriptionCost.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SubscriptionCost message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SubscriptionCost.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.SubscriptionCost(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.period = reader.int32(); + break; + } + case 2: { + message.periodLength = reader.int64(); + break; + } + case 3: { + message.amount = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SubscriptionCost message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SubscriptionCost.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SubscriptionCost message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SubscriptionCost.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.period != null && message.hasOwnProperty("period")) + switch (message.period) { + default: + return "period: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.periodLength != null && message.hasOwnProperty("periodLength")) + if (!$util.isInteger(message.periodLength) && !(message.periodLength && $util.isInteger(message.periodLength.low) && $util.isInteger(message.periodLength.high))) + return "periodLength: integer|Long expected"; + if (message.amount != null && message.hasOwnProperty("amount")) { + var error = $root.google.shopping.type.Price.verify(message.amount); + if (error) + return "amount." + error; + } + return null; + }; + + /** + * Creates a SubscriptionCost message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost + */ + SubscriptionCost.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.SubscriptionCost) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.SubscriptionCost(); + switch (object.period) { + default: + if (typeof object.period === "number") { + message.period = object.period; + break; + } + break; + case "SUBSCRIPTION_PERIOD_UNSPECIFIED": + case 0: + message.period = 0; + break; + case "MONTH": + case 1: + message.period = 1; + break; + case "YEAR": + case 2: + message.period = 2; + break; + } + if (object.periodLength != null) + if ($util.Long) + (message.periodLength = $util.Long.fromValue(object.periodLength)).unsigned = false; + else if (typeof object.periodLength === "string") + message.periodLength = parseInt(object.periodLength, 10); + else if (typeof object.periodLength === "number") + message.periodLength = object.periodLength; + else if (typeof object.periodLength === "object") + message.periodLength = new $util.LongBits(object.periodLength.low >>> 0, object.periodLength.high >>> 0).toNumber(); + if (object.amount != null) { + if (typeof object.amount !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.SubscriptionCost.amount: object expected"); + message.amount = $root.google.shopping.type.Price.fromObject(object.amount); + } + return message; + }; + + /** + * Creates a plain object from a SubscriptionCost message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {google.shopping.merchant.products.v1beta.SubscriptionCost} message SubscriptionCost + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SubscriptionCost.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.period = options.enums === String ? "SUBSCRIPTION_PERIOD_UNSPECIFIED" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.periodLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.periodLength = options.longs === String ? "0" : 0; + object.amount = null; + } + if (message.period != null && message.hasOwnProperty("period")) + object.period = options.enums === String ? $root.google.shopping.merchant.products.v1beta.SubscriptionPeriod[message.period] === undefined ? message.period : $root.google.shopping.merchant.products.v1beta.SubscriptionPeriod[message.period] : message.period; + if (message.periodLength != null && message.hasOwnProperty("periodLength")) + if (typeof message.periodLength === "number") + object.periodLength = options.longs === String ? String(message.periodLength) : message.periodLength; + else + object.periodLength = options.longs === String ? $util.Long.prototype.toString.call(message.periodLength) : options.longs === Number ? new $util.LongBits(message.periodLength.low >>> 0, message.periodLength.high >>> 0).toNumber() : message.periodLength; + if (message.amount != null && message.hasOwnProperty("amount")) + object.amount = $root.google.shopping.type.Price.toObject(message.amount, options); + return object; + }; + + /** + * Converts this SubscriptionCost to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @instance + * @returns {Object.} JSON object + */ + SubscriptionCost.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SubscriptionCost + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SubscriptionCost.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.SubscriptionCost"; + }; + + return SubscriptionCost; + })(); + + v1beta.Installment = (function() { + + /** + * Properties of an Installment. + * @memberof google.shopping.merchant.products.v1beta + * @interface IInstallment + * @property {number|Long|null} [months] Installment months + * @property {google.shopping.type.IPrice|null} [amount] Installment amount + * @property {google.shopping.type.IPrice|null} [downpayment] Installment downpayment + * @property {string|null} [creditType] Installment creditType + */ + + /** + * Constructs a new Installment. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents an Installment. + * @implements IInstallment + * @constructor + * @param {google.shopping.merchant.products.v1beta.IInstallment=} [properties] Properties to set + */ + function Installment(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Installment months. + * @member {number|Long} months + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Installment.prototype.months = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Installment amount. + * @member {google.shopping.type.IPrice|null|undefined} amount + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Installment.prototype.amount = null; + + /** + * Installment downpayment. + * @member {google.shopping.type.IPrice|null|undefined} downpayment + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Installment.prototype.downpayment = null; + + /** + * Installment creditType. + * @member {string|null|undefined} creditType + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Installment.prototype.creditType = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Installment _downpayment. + * @member {"downpayment"|undefined} _downpayment + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Object.defineProperty(Installment.prototype, "_downpayment", { + get: $util.oneOfGetter($oneOfFields = ["downpayment"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Installment _creditType. + * @member {"creditType"|undefined} _creditType + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + */ + Object.defineProperty(Installment.prototype, "_creditType", { + get: $util.oneOfGetter($oneOfFields = ["creditType"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Installment instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {google.shopping.merchant.products.v1beta.IInstallment=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Installment} Installment instance + */ + Installment.create = function create(properties) { + return new Installment(properties); + }; + + /** + * Encodes the specified Installment message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {google.shopping.merchant.products.v1beta.IInstallment} message Installment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Installment.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.months != null && Object.hasOwnProperty.call(message, "months")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.months); + if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) + $root.google.shopping.type.Price.encode(message.amount, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.downpayment != null && Object.hasOwnProperty.call(message, "downpayment")) + $root.google.shopping.type.Price.encode(message.downpayment, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.creditType != null && Object.hasOwnProperty.call(message, "creditType")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.creditType); + return writer; + }; + + /** + * Encodes the specified Installment message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {google.shopping.merchant.products.v1beta.IInstallment} message Installment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Installment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Installment message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Installment} Installment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Installment.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Installment(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.months = reader.int64(); + break; + } + case 2: { + message.amount = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 3: { + message.downpayment = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 4: { + message.creditType = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Installment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Installment} Installment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Installment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Installment message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Installment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.months != null && message.hasOwnProperty("months")) + if (!$util.isInteger(message.months) && !(message.months && $util.isInteger(message.months.low) && $util.isInteger(message.months.high))) + return "months: integer|Long expected"; + if (message.amount != null && message.hasOwnProperty("amount")) { + var error = $root.google.shopping.type.Price.verify(message.amount); + if (error) + return "amount." + error; + } + if (message.downpayment != null && message.hasOwnProperty("downpayment")) { + properties._downpayment = 1; + { + var error = $root.google.shopping.type.Price.verify(message.downpayment); + if (error) + return "downpayment." + error; + } + } + if (message.creditType != null && message.hasOwnProperty("creditType")) { + properties._creditType = 1; + if (!$util.isString(message.creditType)) + return "creditType: string expected"; + } + return null; + }; + + /** + * Creates an Installment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Installment} Installment + */ + Installment.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Installment) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Installment(); + if (object.months != null) + if ($util.Long) + (message.months = $util.Long.fromValue(object.months)).unsigned = false; + else if (typeof object.months === "string") + message.months = parseInt(object.months, 10); + else if (typeof object.months === "number") + message.months = object.months; + else if (typeof object.months === "object") + message.months = new $util.LongBits(object.months.low >>> 0, object.months.high >>> 0).toNumber(); + if (object.amount != null) { + if (typeof object.amount !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Installment.amount: object expected"); + message.amount = $root.google.shopping.type.Price.fromObject(object.amount); + } + if (object.downpayment != null) { + if (typeof object.downpayment !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Installment.downpayment: object expected"); + message.downpayment = $root.google.shopping.type.Price.fromObject(object.downpayment); + } + if (object.creditType != null) + message.creditType = String(object.creditType); + return message; + }; + + /** + * Creates a plain object from an Installment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {google.shopping.merchant.products.v1beta.Installment} message Installment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Installment.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.months = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.months = options.longs === String ? "0" : 0; + object.amount = null; + } + if (message.months != null && message.hasOwnProperty("months")) + if (typeof message.months === "number") + object.months = options.longs === String ? String(message.months) : message.months; + else + object.months = options.longs === String ? $util.Long.prototype.toString.call(message.months) : options.longs === Number ? new $util.LongBits(message.months.low >>> 0, message.months.high >>> 0).toNumber() : message.months; + if (message.amount != null && message.hasOwnProperty("amount")) + object.amount = $root.google.shopping.type.Price.toObject(message.amount, options); + if (message.downpayment != null && message.hasOwnProperty("downpayment")) { + object.downpayment = $root.google.shopping.type.Price.toObject(message.downpayment, options); + if (options.oneofs) + object._downpayment = "downpayment"; + } + if (message.creditType != null && message.hasOwnProperty("creditType")) { + object.creditType = message.creditType; + if (options.oneofs) + object._creditType = "creditType"; + } + return object; + }; + + /** + * Converts this Installment to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Installment + * @instance + * @returns {Object.} JSON object + */ + Installment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Installment + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Installment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Installment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Installment"; + }; + + return Installment; + })(); + + v1beta.LoyaltyPoints = (function() { + + /** + * Properties of a LoyaltyPoints. + * @memberof google.shopping.merchant.products.v1beta + * @interface ILoyaltyPoints + * @property {string|null} [name] LoyaltyPoints name + * @property {number|Long|null} [pointsValue] LoyaltyPoints pointsValue + * @property {number|null} [ratio] LoyaltyPoints ratio + */ + + /** + * Constructs a new LoyaltyPoints. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a LoyaltyPoints. + * @implements ILoyaltyPoints + * @constructor + * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints=} [properties] Properties to set + */ + function LoyaltyPoints(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LoyaltyPoints name. + * @member {string} name + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @instance + */ + LoyaltyPoints.prototype.name = ""; + + /** + * LoyaltyPoints pointsValue. + * @member {number|Long} pointsValue + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @instance + */ + LoyaltyPoints.prototype.pointsValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * LoyaltyPoints ratio. + * @member {number} ratio + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @instance + */ + LoyaltyPoints.prototype.ratio = 0; + + /** + * Creates a new LoyaltyPoints instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints instance + */ + LoyaltyPoints.create = function create(properties) { + return new LoyaltyPoints(properties); + }; + + /** + * Encodes the specified LoyaltyPoints message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints} message LoyaltyPoints message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LoyaltyPoints.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.pointsValue != null && Object.hasOwnProperty.call(message, "pointsValue")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.pointsValue); + if (message.ratio != null && Object.hasOwnProperty.call(message, "ratio")) + writer.uint32(/* id 3, wireType 1 =*/25).double(message.ratio); + return writer; + }; + + /** + * Encodes the specified LoyaltyPoints message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints} message LoyaltyPoints message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LoyaltyPoints.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LoyaltyPoints message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LoyaltyPoints.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.LoyaltyPoints(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.pointsValue = reader.int64(); + break; + } + case 3: { + message.ratio = reader.double(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LoyaltyPoints message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LoyaltyPoints.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LoyaltyPoints message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LoyaltyPoints.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.pointsValue != null && message.hasOwnProperty("pointsValue")) + if (!$util.isInteger(message.pointsValue) && !(message.pointsValue && $util.isInteger(message.pointsValue.low) && $util.isInteger(message.pointsValue.high))) + return "pointsValue: integer|Long expected"; + if (message.ratio != null && message.hasOwnProperty("ratio")) + if (typeof message.ratio !== "number") + return "ratio: number expected"; + return null; + }; + + /** + * Creates a LoyaltyPoints message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints + */ + LoyaltyPoints.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.LoyaltyPoints) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.LoyaltyPoints(); + if (object.name != null) + message.name = String(object.name); + if (object.pointsValue != null) + if ($util.Long) + (message.pointsValue = $util.Long.fromValue(object.pointsValue)).unsigned = false; + else if (typeof object.pointsValue === "string") + message.pointsValue = parseInt(object.pointsValue, 10); + else if (typeof object.pointsValue === "number") + message.pointsValue = object.pointsValue; + else if (typeof object.pointsValue === "object") + message.pointsValue = new $util.LongBits(object.pointsValue.low >>> 0, object.pointsValue.high >>> 0).toNumber(); + if (object.ratio != null) + message.ratio = Number(object.ratio); + return message; + }; + + /** + * Creates a plain object from a LoyaltyPoints message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {google.shopping.merchant.products.v1beta.LoyaltyPoints} message LoyaltyPoints + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LoyaltyPoints.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.pointsValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.pointsValue = options.longs === String ? "0" : 0; + object.ratio = 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.pointsValue != null && message.hasOwnProperty("pointsValue")) + if (typeof message.pointsValue === "number") + object.pointsValue = options.longs === String ? String(message.pointsValue) : message.pointsValue; + else + object.pointsValue = options.longs === String ? $util.Long.prototype.toString.call(message.pointsValue) : options.longs === Number ? new $util.LongBits(message.pointsValue.low >>> 0, message.pointsValue.high >>> 0).toNumber() : message.pointsValue; + if (message.ratio != null && message.hasOwnProperty("ratio")) + object.ratio = options.json && !isFinite(message.ratio) ? String(message.ratio) : message.ratio; + return object; + }; + + /** + * Converts this LoyaltyPoints to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @instance + * @returns {Object.} JSON object + */ + LoyaltyPoints.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LoyaltyPoints + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LoyaltyPoints.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.LoyaltyPoints"; + }; + + return LoyaltyPoints; + })(); + + v1beta.LoyaltyProgram = (function() { + + /** + * Properties of a LoyaltyProgram. + * @memberof google.shopping.merchant.products.v1beta + * @interface ILoyaltyProgram + * @property {string|null} [programLabel] LoyaltyProgram programLabel + * @property {string|null} [tierLabel] LoyaltyProgram tierLabel + * @property {google.shopping.type.IPrice|null} [price] LoyaltyProgram price + * @property {google.shopping.type.IPrice|null} [cashbackForFutureUse] LoyaltyProgram cashbackForFutureUse + * @property {number|Long|null} [loyaltyPoints] LoyaltyProgram loyaltyPoints + * @property {google.type.IInterval|null} [memberPriceEffectiveDate] LoyaltyProgram memberPriceEffectiveDate + * @property {string|null} [shippingLabel] LoyaltyProgram shippingLabel + */ + + /** + * Constructs a new LoyaltyProgram. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a LoyaltyProgram. + * @implements ILoyaltyProgram + * @constructor + * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram=} [properties] Properties to set + */ + function LoyaltyProgram(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LoyaltyProgram programLabel. + * @member {string|null|undefined} programLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.programLabel = null; + + /** + * LoyaltyProgram tierLabel. + * @member {string|null|undefined} tierLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.tierLabel = null; + + /** + * LoyaltyProgram price. + * @member {google.shopping.type.IPrice|null|undefined} price + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.price = null; + + /** + * LoyaltyProgram cashbackForFutureUse. + * @member {google.shopping.type.IPrice|null|undefined} cashbackForFutureUse + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.cashbackForFutureUse = null; + + /** + * LoyaltyProgram loyaltyPoints. + * @member {number|Long|null|undefined} loyaltyPoints + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.loyaltyPoints = null; + + /** + * LoyaltyProgram memberPriceEffectiveDate. + * @member {google.type.IInterval|null|undefined} memberPriceEffectiveDate + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.memberPriceEffectiveDate = null; + + /** + * LoyaltyProgram shippingLabel. + * @member {string|null|undefined} shippingLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.shippingLabel = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * LoyaltyProgram _programLabel. + * @member {"programLabel"|undefined} _programLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_programLabel", { + get: $util.oneOfGetter($oneOfFields = ["programLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _tierLabel. + * @member {"tierLabel"|undefined} _tierLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_tierLabel", { + get: $util.oneOfGetter($oneOfFields = ["tierLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _price. + * @member {"price"|undefined} _price + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_price", { + get: $util.oneOfGetter($oneOfFields = ["price"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _cashbackForFutureUse. + * @member {"cashbackForFutureUse"|undefined} _cashbackForFutureUse + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_cashbackForFutureUse", { + get: $util.oneOfGetter($oneOfFields = ["cashbackForFutureUse"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _loyaltyPoints. + * @member {"loyaltyPoints"|undefined} _loyaltyPoints + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_loyaltyPoints", { + get: $util.oneOfGetter($oneOfFields = ["loyaltyPoints"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _memberPriceEffectiveDate. + * @member {"memberPriceEffectiveDate"|undefined} _memberPriceEffectiveDate + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_memberPriceEffectiveDate", { + get: $util.oneOfGetter($oneOfFields = ["memberPriceEffectiveDate"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _shippingLabel. + * @member {"shippingLabel"|undefined} _shippingLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_shippingLabel", { + get: $util.oneOfGetter($oneOfFields = ["shippingLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new LoyaltyProgram instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram instance + */ + LoyaltyProgram.create = function create(properties) { + return new LoyaltyProgram(properties); + }; + + /** + * Encodes the specified LoyaltyProgram message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram} message LoyaltyProgram message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LoyaltyProgram.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.programLabel != null && Object.hasOwnProperty.call(message, "programLabel")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.programLabel); + if (message.tierLabel != null && Object.hasOwnProperty.call(message, "tierLabel")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.tierLabel); + if (message.price != null && Object.hasOwnProperty.call(message, "price")) + $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.cashbackForFutureUse != null && Object.hasOwnProperty.call(message, "cashbackForFutureUse")) + $root.google.shopping.type.Price.encode(message.cashbackForFutureUse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.loyaltyPoints != null && Object.hasOwnProperty.call(message, "loyaltyPoints")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.loyaltyPoints); + if (message.memberPriceEffectiveDate != null && Object.hasOwnProperty.call(message, "memberPriceEffectiveDate")) + $root.google.type.Interval.encode(message.memberPriceEffectiveDate, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.shippingLabel != null && Object.hasOwnProperty.call(message, "shippingLabel")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.shippingLabel); + return writer; + }; + + /** + * Encodes the specified LoyaltyProgram message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram} message LoyaltyProgram message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LoyaltyProgram.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LoyaltyProgram message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LoyaltyProgram.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.LoyaltyProgram(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.programLabel = reader.string(); + break; + } + case 2: { + message.tierLabel = reader.string(); + break; + } + case 3: { + message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 4: { + message.cashbackForFutureUse = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 5: { + message.loyaltyPoints = reader.int64(); + break; + } + case 6: { + message.memberPriceEffectiveDate = $root.google.type.Interval.decode(reader, reader.uint32()); + break; + } + case 7: { + message.shippingLabel = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LoyaltyProgram message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LoyaltyProgram.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LoyaltyProgram message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LoyaltyProgram.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.programLabel != null && message.hasOwnProperty("programLabel")) { + properties._programLabel = 1; + if (!$util.isString(message.programLabel)) + return "programLabel: string expected"; + } + if (message.tierLabel != null && message.hasOwnProperty("tierLabel")) { + properties._tierLabel = 1; + if (!$util.isString(message.tierLabel)) + return "tierLabel: string expected"; + } + if (message.price != null && message.hasOwnProperty("price")) { + properties._price = 1; + { + var error = $root.google.shopping.type.Price.verify(message.price); + if (error) + return "price." + error; + } + } + if (message.cashbackForFutureUse != null && message.hasOwnProperty("cashbackForFutureUse")) { + properties._cashbackForFutureUse = 1; + { + var error = $root.google.shopping.type.Price.verify(message.cashbackForFutureUse); + if (error) + return "cashbackForFutureUse." + error; + } + } + if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { + properties._loyaltyPoints = 1; + if (!$util.isInteger(message.loyaltyPoints) && !(message.loyaltyPoints && $util.isInteger(message.loyaltyPoints.low) && $util.isInteger(message.loyaltyPoints.high))) + return "loyaltyPoints: integer|Long expected"; + } + if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { + properties._memberPriceEffectiveDate = 1; + { + var error = $root.google.type.Interval.verify(message.memberPriceEffectiveDate); + if (error) + return "memberPriceEffectiveDate." + error; + } + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + properties._shippingLabel = 1; + if (!$util.isString(message.shippingLabel)) + return "shippingLabel: string expected"; + } + return null; + }; + + /** + * Creates a LoyaltyProgram message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram + */ + LoyaltyProgram.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.LoyaltyProgram) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.LoyaltyProgram(); + if (object.programLabel != null) + message.programLabel = String(object.programLabel); + if (object.tierLabel != null) + message.tierLabel = String(object.tierLabel); + if (object.price != null) { + if (typeof object.price !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.price: object expected"); + message.price = $root.google.shopping.type.Price.fromObject(object.price); + } + if (object.cashbackForFutureUse != null) { + if (typeof object.cashbackForFutureUse !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.cashbackForFutureUse: object expected"); + message.cashbackForFutureUse = $root.google.shopping.type.Price.fromObject(object.cashbackForFutureUse); + } + if (object.loyaltyPoints != null) + if ($util.Long) + (message.loyaltyPoints = $util.Long.fromValue(object.loyaltyPoints)).unsigned = false; + else if (typeof object.loyaltyPoints === "string") + message.loyaltyPoints = parseInt(object.loyaltyPoints, 10); + else if (typeof object.loyaltyPoints === "number") + message.loyaltyPoints = object.loyaltyPoints; + else if (typeof object.loyaltyPoints === "object") + message.loyaltyPoints = new $util.LongBits(object.loyaltyPoints.low >>> 0, object.loyaltyPoints.high >>> 0).toNumber(); + if (object.memberPriceEffectiveDate != null) { + if (typeof object.memberPriceEffectiveDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.memberPriceEffectiveDate: object expected"); + message.memberPriceEffectiveDate = $root.google.type.Interval.fromObject(object.memberPriceEffectiveDate); + } + if (object.shippingLabel != null) + message.shippingLabel = String(object.shippingLabel); + return message; + }; + + /** + * Creates a plain object from a LoyaltyProgram message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {google.shopping.merchant.products.v1beta.LoyaltyProgram} message LoyaltyProgram + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LoyaltyProgram.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.programLabel != null && message.hasOwnProperty("programLabel")) { + object.programLabel = message.programLabel; + if (options.oneofs) + object._programLabel = "programLabel"; + } + if (message.tierLabel != null && message.hasOwnProperty("tierLabel")) { + object.tierLabel = message.tierLabel; + if (options.oneofs) + object._tierLabel = "tierLabel"; + } + if (message.price != null && message.hasOwnProperty("price")) { + object.price = $root.google.shopping.type.Price.toObject(message.price, options); + if (options.oneofs) + object._price = "price"; + } + if (message.cashbackForFutureUse != null && message.hasOwnProperty("cashbackForFutureUse")) { + object.cashbackForFutureUse = $root.google.shopping.type.Price.toObject(message.cashbackForFutureUse, options); + if (options.oneofs) + object._cashbackForFutureUse = "cashbackForFutureUse"; + } + if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { + if (typeof message.loyaltyPoints === "number") + object.loyaltyPoints = options.longs === String ? String(message.loyaltyPoints) : message.loyaltyPoints; + else + object.loyaltyPoints = options.longs === String ? $util.Long.prototype.toString.call(message.loyaltyPoints) : options.longs === Number ? new $util.LongBits(message.loyaltyPoints.low >>> 0, message.loyaltyPoints.high >>> 0).toNumber() : message.loyaltyPoints; + if (options.oneofs) + object._loyaltyPoints = "loyaltyPoints"; + } + if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { + object.memberPriceEffectiveDate = $root.google.type.Interval.toObject(message.memberPriceEffectiveDate, options); + if (options.oneofs) + object._memberPriceEffectiveDate = "memberPriceEffectiveDate"; + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + object.shippingLabel = message.shippingLabel; + if (options.oneofs) + object._shippingLabel = "shippingLabel"; + } + return object; + }; + + /** + * Converts this LoyaltyProgram to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + * @returns {Object.} JSON object + */ + LoyaltyProgram.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LoyaltyProgram + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LoyaltyProgram.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.LoyaltyProgram"; + }; + + return LoyaltyProgram; + })(); + + v1beta.Shipping = (function() { + + /** + * Properties of a Shipping. + * @memberof google.shopping.merchant.products.v1beta + * @interface IShipping + * @property {google.shopping.type.IPrice|null} [price] Shipping price + * @property {string|null} [country] Shipping country + * @property {string|null} [region] Shipping region + * @property {string|null} [service] Shipping service + * @property {number|Long|null} [locationId] Shipping locationId + * @property {string|null} [locationGroupName] Shipping locationGroupName + * @property {string|null} [postalCode] Shipping postalCode + * @property {number|Long|null} [minHandlingTime] Shipping minHandlingTime + * @property {number|Long|null} [maxHandlingTime] Shipping maxHandlingTime + * @property {number|Long|null} [minTransitTime] Shipping minTransitTime + * @property {number|Long|null} [maxTransitTime] Shipping maxTransitTime + */ + + /** + * Constructs a new Shipping. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a Shipping. + * @implements IShipping + * @constructor + * @param {google.shopping.merchant.products.v1beta.IShipping=} [properties] Properties to set + */ + function Shipping(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Shipping price. + * @member {google.shopping.type.IPrice|null|undefined} price + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.price = null; + + /** + * Shipping country. + * @member {string} country + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.country = ""; + + /** + * Shipping region. + * @member {string} region + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.region = ""; + + /** + * Shipping service. + * @member {string} service + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.service = ""; + + /** + * Shipping locationId. + * @member {number|Long} locationId + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.locationId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Shipping locationGroupName. + * @member {string} locationGroupName + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.locationGroupName = ""; + + /** + * Shipping postalCode. + * @member {string} postalCode + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.postalCode = ""; + + /** + * Shipping minHandlingTime. + * @member {number|Long|null|undefined} minHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.minHandlingTime = null; + + /** + * Shipping maxHandlingTime. + * @member {number|Long|null|undefined} maxHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.maxHandlingTime = null; + + /** + * Shipping minTransitTime. + * @member {number|Long|null|undefined} minTransitTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.minTransitTime = null; + + /** + * Shipping maxTransitTime. + * @member {number|Long|null|undefined} maxTransitTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Shipping.prototype.maxTransitTime = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Shipping _minHandlingTime. + * @member {"minHandlingTime"|undefined} _minHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Object.defineProperty(Shipping.prototype, "_minHandlingTime", { + get: $util.oneOfGetter($oneOfFields = ["minHandlingTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Shipping _maxHandlingTime. + * @member {"maxHandlingTime"|undefined} _maxHandlingTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Object.defineProperty(Shipping.prototype, "_maxHandlingTime", { + get: $util.oneOfGetter($oneOfFields = ["maxHandlingTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Shipping _minTransitTime. + * @member {"minTransitTime"|undefined} _minTransitTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Object.defineProperty(Shipping.prototype, "_minTransitTime", { + get: $util.oneOfGetter($oneOfFields = ["minTransitTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Shipping _maxTransitTime. + * @member {"maxTransitTime"|undefined} _maxTransitTime + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + */ + Object.defineProperty(Shipping.prototype, "_maxTransitTime", { + get: $util.oneOfGetter($oneOfFields = ["maxTransitTime"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Shipping instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {google.shopping.merchant.products.v1beta.IShipping=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping instance + */ + Shipping.create = function create(properties) { + return new Shipping(properties); + }; + + /** + * Encodes the specified Shipping message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {google.shopping.merchant.products.v1beta.IShipping} message Shipping message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Shipping.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.price != null && Object.hasOwnProperty.call(message, "price")) + $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.country != null && Object.hasOwnProperty.call(message, "country")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.country); + if (message.region != null && Object.hasOwnProperty.call(message, "region")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); + if (message.service != null && Object.hasOwnProperty.call(message, "service")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.service); + if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.locationId); + if (message.locationGroupName != null && Object.hasOwnProperty.call(message, "locationGroupName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.locationGroupName); + if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.postalCode); + if (message.minHandlingTime != null && Object.hasOwnProperty.call(message, "minHandlingTime")) + writer.uint32(/* id 8, wireType 0 =*/64).int64(message.minHandlingTime); + if (message.maxHandlingTime != null && Object.hasOwnProperty.call(message, "maxHandlingTime")) + writer.uint32(/* id 9, wireType 0 =*/72).int64(message.maxHandlingTime); + if (message.minTransitTime != null && Object.hasOwnProperty.call(message, "minTransitTime")) + writer.uint32(/* id 10, wireType 0 =*/80).int64(message.minTransitTime); + if (message.maxTransitTime != null && Object.hasOwnProperty.call(message, "maxTransitTime")) + writer.uint32(/* id 11, wireType 0 =*/88).int64(message.maxTransitTime); + return writer; + }; + + /** + * Encodes the specified Shipping message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {google.shopping.merchant.products.v1beta.IShipping} message Shipping message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Shipping.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Shipping message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Shipping.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Shipping(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 2: { + message.country = reader.string(); + break; + } + case 3: { + message.region = reader.string(); + break; + } + case 4: { + message.service = reader.string(); + break; + } + case 5: { + message.locationId = reader.int64(); + break; + } + case 6: { + message.locationGroupName = reader.string(); + break; + } + case 7: { + message.postalCode = reader.string(); + break; + } + case 8: { + message.minHandlingTime = reader.int64(); + break; + } + case 9: { + message.maxHandlingTime = reader.int64(); + break; + } + case 10: { + message.minTransitTime = reader.int64(); + break; + } + case 11: { + message.maxTransitTime = reader.int64(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Shipping message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Shipping.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Shipping message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Shipping.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.price != null && message.hasOwnProperty("price")) { + var error = $root.google.shopping.type.Price.verify(message.price); + if (error) + return "price." + error; + } + if (message.country != null && message.hasOwnProperty("country")) + if (!$util.isString(message.country)) + return "country: string expected"; + if (message.region != null && message.hasOwnProperty("region")) + if (!$util.isString(message.region)) + return "region: string expected"; + if (message.service != null && message.hasOwnProperty("service")) + if (!$util.isString(message.service)) + return "service: string expected"; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (!$util.isInteger(message.locationId) && !(message.locationId && $util.isInteger(message.locationId.low) && $util.isInteger(message.locationId.high))) + return "locationId: integer|Long expected"; + if (message.locationGroupName != null && message.hasOwnProperty("locationGroupName")) + if (!$util.isString(message.locationGroupName)) + return "locationGroupName: string expected"; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + if (!$util.isString(message.postalCode)) + return "postalCode: string expected"; + if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { + properties._minHandlingTime = 1; + if (!$util.isInteger(message.minHandlingTime) && !(message.minHandlingTime && $util.isInteger(message.minHandlingTime.low) && $util.isInteger(message.minHandlingTime.high))) + return "minHandlingTime: integer|Long expected"; + } + if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { + properties._maxHandlingTime = 1; + if (!$util.isInteger(message.maxHandlingTime) && !(message.maxHandlingTime && $util.isInteger(message.maxHandlingTime.low) && $util.isInteger(message.maxHandlingTime.high))) + return "maxHandlingTime: integer|Long expected"; + } + if (message.minTransitTime != null && message.hasOwnProperty("minTransitTime")) { + properties._minTransitTime = 1; + if (!$util.isInteger(message.minTransitTime) && !(message.minTransitTime && $util.isInteger(message.minTransitTime.low) && $util.isInteger(message.minTransitTime.high))) + return "minTransitTime: integer|Long expected"; + } + if (message.maxTransitTime != null && message.hasOwnProperty("maxTransitTime")) { + properties._maxTransitTime = 1; + if (!$util.isInteger(message.maxTransitTime) && !(message.maxTransitTime && $util.isInteger(message.maxTransitTime.low) && $util.isInteger(message.maxTransitTime.high))) + return "maxTransitTime: integer|Long expected"; + } + return null; + }; + + /** + * Creates a Shipping message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping + */ + Shipping.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Shipping) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Shipping(); + if (object.price != null) { + if (typeof object.price !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Shipping.price: object expected"); + message.price = $root.google.shopping.type.Price.fromObject(object.price); + } + if (object.country != null) + message.country = String(object.country); + if (object.region != null) + message.region = String(object.region); + if (object.service != null) + message.service = String(object.service); + if (object.locationId != null) + if ($util.Long) + (message.locationId = $util.Long.fromValue(object.locationId)).unsigned = false; + else if (typeof object.locationId === "string") + message.locationId = parseInt(object.locationId, 10); + else if (typeof object.locationId === "number") + message.locationId = object.locationId; + else if (typeof object.locationId === "object") + message.locationId = new $util.LongBits(object.locationId.low >>> 0, object.locationId.high >>> 0).toNumber(); + if (object.locationGroupName != null) + message.locationGroupName = String(object.locationGroupName); + if (object.postalCode != null) + message.postalCode = String(object.postalCode); + if (object.minHandlingTime != null) + if ($util.Long) + (message.minHandlingTime = $util.Long.fromValue(object.minHandlingTime)).unsigned = false; + else if (typeof object.minHandlingTime === "string") + message.minHandlingTime = parseInt(object.minHandlingTime, 10); + else if (typeof object.minHandlingTime === "number") + message.minHandlingTime = object.minHandlingTime; + else if (typeof object.minHandlingTime === "object") + message.minHandlingTime = new $util.LongBits(object.minHandlingTime.low >>> 0, object.minHandlingTime.high >>> 0).toNumber(); + if (object.maxHandlingTime != null) + if ($util.Long) + (message.maxHandlingTime = $util.Long.fromValue(object.maxHandlingTime)).unsigned = false; + else if (typeof object.maxHandlingTime === "string") + message.maxHandlingTime = parseInt(object.maxHandlingTime, 10); + else if (typeof object.maxHandlingTime === "number") + message.maxHandlingTime = object.maxHandlingTime; + else if (typeof object.maxHandlingTime === "object") + message.maxHandlingTime = new $util.LongBits(object.maxHandlingTime.low >>> 0, object.maxHandlingTime.high >>> 0).toNumber(); + if (object.minTransitTime != null) + if ($util.Long) + (message.minTransitTime = $util.Long.fromValue(object.minTransitTime)).unsigned = false; + else if (typeof object.minTransitTime === "string") + message.minTransitTime = parseInt(object.minTransitTime, 10); + else if (typeof object.minTransitTime === "number") + message.minTransitTime = object.minTransitTime; + else if (typeof object.minTransitTime === "object") + message.minTransitTime = new $util.LongBits(object.minTransitTime.low >>> 0, object.minTransitTime.high >>> 0).toNumber(); + if (object.maxTransitTime != null) + if ($util.Long) + (message.maxTransitTime = $util.Long.fromValue(object.maxTransitTime)).unsigned = false; + else if (typeof object.maxTransitTime === "string") + message.maxTransitTime = parseInt(object.maxTransitTime, 10); + else if (typeof object.maxTransitTime === "number") + message.maxTransitTime = object.maxTransitTime; + else if (typeof object.maxTransitTime === "object") + message.maxTransitTime = new $util.LongBits(object.maxTransitTime.low >>> 0, object.maxTransitTime.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a Shipping message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {google.shopping.merchant.products.v1beta.Shipping} message Shipping + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Shipping.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.price = null; + object.country = ""; + object.region = ""; + object.service = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.locationId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.locationId = options.longs === String ? "0" : 0; + object.locationGroupName = ""; + object.postalCode = ""; + } + if (message.price != null && message.hasOwnProperty("price")) + object.price = $root.google.shopping.type.Price.toObject(message.price, options); + if (message.country != null && message.hasOwnProperty("country")) + object.country = message.country; + if (message.region != null && message.hasOwnProperty("region")) + object.region = message.region; + if (message.service != null && message.hasOwnProperty("service")) + object.service = message.service; + if (message.locationId != null && message.hasOwnProperty("locationId")) + if (typeof message.locationId === "number") + object.locationId = options.longs === String ? String(message.locationId) : message.locationId; + else + object.locationId = options.longs === String ? $util.Long.prototype.toString.call(message.locationId) : options.longs === Number ? new $util.LongBits(message.locationId.low >>> 0, message.locationId.high >>> 0).toNumber() : message.locationId; + if (message.locationGroupName != null && message.hasOwnProperty("locationGroupName")) + object.locationGroupName = message.locationGroupName; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + object.postalCode = message.postalCode; + if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { + if (typeof message.minHandlingTime === "number") + object.minHandlingTime = options.longs === String ? String(message.minHandlingTime) : message.minHandlingTime; + else + object.minHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.minHandlingTime) : options.longs === Number ? new $util.LongBits(message.minHandlingTime.low >>> 0, message.minHandlingTime.high >>> 0).toNumber() : message.minHandlingTime; + if (options.oneofs) + object._minHandlingTime = "minHandlingTime"; + } + if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { + if (typeof message.maxHandlingTime === "number") + object.maxHandlingTime = options.longs === String ? String(message.maxHandlingTime) : message.maxHandlingTime; + else + object.maxHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxHandlingTime) : options.longs === Number ? new $util.LongBits(message.maxHandlingTime.low >>> 0, message.maxHandlingTime.high >>> 0).toNumber() : message.maxHandlingTime; + if (options.oneofs) + object._maxHandlingTime = "maxHandlingTime"; + } + if (message.minTransitTime != null && message.hasOwnProperty("minTransitTime")) { + if (typeof message.minTransitTime === "number") + object.minTransitTime = options.longs === String ? String(message.minTransitTime) : message.minTransitTime; + else + object.minTransitTime = options.longs === String ? $util.Long.prototype.toString.call(message.minTransitTime) : options.longs === Number ? new $util.LongBits(message.minTransitTime.low >>> 0, message.minTransitTime.high >>> 0).toNumber() : message.minTransitTime; + if (options.oneofs) + object._minTransitTime = "minTransitTime"; + } + if (message.maxTransitTime != null && message.hasOwnProperty("maxTransitTime")) { + if (typeof message.maxTransitTime === "number") + object.maxTransitTime = options.longs === String ? String(message.maxTransitTime) : message.maxTransitTime; + else + object.maxTransitTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxTransitTime) : options.longs === Number ? new $util.LongBits(message.maxTransitTime.low >>> 0, message.maxTransitTime.high >>> 0).toNumber() : message.maxTransitTime; + if (options.oneofs) + object._maxTransitTime = "maxTransitTime"; + } + return object; + }; + + /** + * Converts this Shipping to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @instance + * @returns {Object.} JSON object + */ + Shipping.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Shipping + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Shipping + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Shipping.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Shipping"; + }; + + return Shipping; + })(); + + v1beta.FreeShippingThreshold = (function() { + + /** + * Properties of a FreeShippingThreshold. + * @memberof google.shopping.merchant.products.v1beta + * @interface IFreeShippingThreshold + * @property {string|null} [country] FreeShippingThreshold country + * @property {google.shopping.type.IPrice|null} [priceThreshold] FreeShippingThreshold priceThreshold + */ + + /** + * Constructs a new FreeShippingThreshold. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a FreeShippingThreshold. + * @implements IFreeShippingThreshold + * @constructor + * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold=} [properties] Properties to set + */ + function FreeShippingThreshold(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FreeShippingThreshold country. + * @member {string|null|undefined} country + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @instance + */ + FreeShippingThreshold.prototype.country = null; + + /** + * FreeShippingThreshold priceThreshold. + * @member {google.shopping.type.IPrice|null|undefined} priceThreshold + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @instance + */ + FreeShippingThreshold.prototype.priceThreshold = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * FreeShippingThreshold _country. + * @member {"country"|undefined} _country + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @instance + */ + Object.defineProperty(FreeShippingThreshold.prototype, "_country", { + get: $util.oneOfGetter($oneOfFields = ["country"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * FreeShippingThreshold _priceThreshold. + * @member {"priceThreshold"|undefined} _priceThreshold + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @instance + */ + Object.defineProperty(FreeShippingThreshold.prototype, "_priceThreshold", { + get: $util.oneOfGetter($oneOfFields = ["priceThreshold"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new FreeShippingThreshold instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold instance + */ + FreeShippingThreshold.create = function create(properties) { + return new FreeShippingThreshold(properties); + }; + + /** + * Encodes the specified FreeShippingThreshold message. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold} message FreeShippingThreshold message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FreeShippingThreshold.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.country != null && Object.hasOwnProperty.call(message, "country")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.country); + if (message.priceThreshold != null && Object.hasOwnProperty.call(message, "priceThreshold")) + $root.google.shopping.type.Price.encode(message.priceThreshold, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FreeShippingThreshold message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold} message FreeShippingThreshold message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FreeShippingThreshold.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FreeShippingThreshold message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FreeShippingThreshold.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.country = reader.string(); + break; + } + case 2: { + message.priceThreshold = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FreeShippingThreshold message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FreeShippingThreshold.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FreeShippingThreshold message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FreeShippingThreshold.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.country != null && message.hasOwnProperty("country")) { + properties._country = 1; + if (!$util.isString(message.country)) + return "country: string expected"; + } + if (message.priceThreshold != null && message.hasOwnProperty("priceThreshold")) { + properties._priceThreshold = 1; + { + var error = $root.google.shopping.type.Price.verify(message.priceThreshold); + if (error) + return "priceThreshold." + error; + } + } + return null; + }; + + /** + * Creates a FreeShippingThreshold message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold + */ + FreeShippingThreshold.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold(); + if (object.country != null) + message.country = String(object.country); + if (object.priceThreshold != null) { + if (typeof object.priceThreshold !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.FreeShippingThreshold.priceThreshold: object expected"); + message.priceThreshold = $root.google.shopping.type.Price.fromObject(object.priceThreshold); + } + return message; + }; + + /** + * Creates a plain object from a FreeShippingThreshold message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {google.shopping.merchant.products.v1beta.FreeShippingThreshold} message FreeShippingThreshold + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FreeShippingThreshold.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.country != null && message.hasOwnProperty("country")) { + object.country = message.country; + if (options.oneofs) + object._country = "country"; + } + if (message.priceThreshold != null && message.hasOwnProperty("priceThreshold")) { + object.priceThreshold = $root.google.shopping.type.Price.toObject(message.priceThreshold, options); + if (options.oneofs) + object._priceThreshold = "priceThreshold"; + } + return object; + }; + + /** + * Converts this FreeShippingThreshold to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @instance + * @returns {Object.} JSON object + */ + FreeShippingThreshold.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FreeShippingThreshold + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FreeShippingThreshold.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.FreeShippingThreshold"; + }; + + return FreeShippingThreshold; + })(); + + v1beta.ProductDetail = (function() { + + /** + * Properties of a ProductDetail. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductDetail + * @property {string|null} [sectionName] ProductDetail sectionName + * @property {string|null} [attributeName] ProductDetail attributeName + * @property {string|null} [attributeValue] ProductDetail attributeValue + */ + + /** + * Constructs a new ProductDetail. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductDetail. + * @implements IProductDetail + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductDetail=} [properties] Properties to set + */ + function ProductDetail(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductDetail sectionName. + * @member {string} sectionName + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @instance + */ + ProductDetail.prototype.sectionName = ""; + + /** + * ProductDetail attributeName. + * @member {string} attributeName + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @instance + */ + ProductDetail.prototype.attributeName = ""; + + /** + * ProductDetail attributeValue. + * @member {string} attributeValue + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @instance + */ + ProductDetail.prototype.attributeValue = ""; + + /** + * Creates a new ProductDetail instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDetail=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail instance + */ + ProductDetail.create = function create(properties) { + return new ProductDetail(properties); + }; + + /** + * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDetail} message ProductDetail message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductDetail.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.sectionName != null && Object.hasOwnProperty.call(message, "sectionName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.sectionName); + if (message.attributeName != null && Object.hasOwnProperty.call(message, "attributeName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.attributeName); + if (message.attributeValue != null && Object.hasOwnProperty.call(message, "attributeValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.attributeValue); + return writer; + }; + + /** + * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDetail} message ProductDetail message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductDetail.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductDetail message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductDetail.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductDetail(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.sectionName = reader.string(); + break; + } + case 2: { + message.attributeName = reader.string(); + break; + } + case 3: { + message.attributeValue = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductDetail message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductDetail.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductDetail message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductDetail.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.sectionName != null && message.hasOwnProperty("sectionName")) + if (!$util.isString(message.sectionName)) + return "sectionName: string expected"; + if (message.attributeName != null && message.hasOwnProperty("attributeName")) + if (!$util.isString(message.attributeName)) + return "attributeName: string expected"; + if (message.attributeValue != null && message.hasOwnProperty("attributeValue")) + if (!$util.isString(message.attributeValue)) + return "attributeValue: string expected"; + return null; + }; + + /** + * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail + */ + ProductDetail.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductDetail) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductDetail(); + if (object.sectionName != null) + message.sectionName = String(object.sectionName); + if (object.attributeName != null) + message.attributeName = String(object.attributeName); + if (object.attributeValue != null) + message.attributeValue = String(object.attributeValue); + return message; + }; + + /** + * Creates a plain object from a ProductDetail message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {google.shopping.merchant.products.v1beta.ProductDetail} message ProductDetail + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductDetail.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.sectionName = ""; + object.attributeName = ""; + object.attributeValue = ""; + } + if (message.sectionName != null && message.hasOwnProperty("sectionName")) + object.sectionName = message.sectionName; + if (message.attributeName != null && message.hasOwnProperty("attributeName")) + object.attributeName = message.attributeName; + if (message.attributeValue != null && message.hasOwnProperty("attributeValue")) + object.attributeValue = message.attributeValue; + return object; + }; + + /** + * Converts this ProductDetail to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @instance + * @returns {Object.} JSON object + */ + ProductDetail.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductDetail + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductDetail + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductDetail.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductDetail"; + }; + + return ProductDetail; + })(); + + v1beta.Certification = (function() { + + /** + * Properties of a Certification. + * @memberof google.shopping.merchant.products.v1beta + * @interface ICertification + * @property {string|null} [certificationAuthority] Certification certificationAuthority + * @property {string|null} [certificationName] Certification certificationName + * @property {string|null} [certificationCode] Certification certificationCode + * @property {string|null} [certificationValue] Certification certificationValue + */ + + /** + * Constructs a new Certification. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a Certification. + * @implements ICertification + * @constructor + * @param {google.shopping.merchant.products.v1beta.ICertification=} [properties] Properties to set + */ + function Certification(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Certification certificationAuthority. + * @member {string|null|undefined} certificationAuthority + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Certification.prototype.certificationAuthority = null; + + /** + * Certification certificationName. + * @member {string|null|undefined} certificationName + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Certification.prototype.certificationName = null; + + /** + * Certification certificationCode. + * @member {string|null|undefined} certificationCode + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Certification.prototype.certificationCode = null; + + /** + * Certification certificationValue. + * @member {string|null|undefined} certificationValue + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Certification.prototype.certificationValue = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Certification _certificationAuthority. + * @member {"certificationAuthority"|undefined} _certificationAuthority + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Object.defineProperty(Certification.prototype, "_certificationAuthority", { + get: $util.oneOfGetter($oneOfFields = ["certificationAuthority"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Certification _certificationName. + * @member {"certificationName"|undefined} _certificationName + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Object.defineProperty(Certification.prototype, "_certificationName", { + get: $util.oneOfGetter($oneOfFields = ["certificationName"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Certification _certificationCode. + * @member {"certificationCode"|undefined} _certificationCode + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Object.defineProperty(Certification.prototype, "_certificationCode", { + get: $util.oneOfGetter($oneOfFields = ["certificationCode"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Certification _certificationValue. + * @member {"certificationValue"|undefined} _certificationValue + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + */ + Object.defineProperty(Certification.prototype, "_certificationValue", { + get: $util.oneOfGetter($oneOfFields = ["certificationValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Certification instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {google.shopping.merchant.products.v1beta.ICertification=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Certification} Certification instance + */ + Certification.create = function create(properties) { + return new Certification(properties); + }; + + /** + * Encodes the specified Certification message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {google.shopping.merchant.products.v1beta.ICertification} message Certification message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Certification.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.certificationAuthority != null && Object.hasOwnProperty.call(message, "certificationAuthority")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.certificationAuthority); + if (message.certificationName != null && Object.hasOwnProperty.call(message, "certificationName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.certificationName); + if (message.certificationCode != null && Object.hasOwnProperty.call(message, "certificationCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.certificationCode); + if (message.certificationValue != null && Object.hasOwnProperty.call(message, "certificationValue")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.certificationValue); + return writer; + }; + + /** + * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {google.shopping.merchant.products.v1beta.ICertification} message Certification message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Certification.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Certification message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Certification} Certification + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Certification.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Certification(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.certificationAuthority = reader.string(); + break; + } + case 2: { + message.certificationName = reader.string(); + break; + } + case 3: { + message.certificationCode = reader.string(); + break; + } + case 4: { + message.certificationValue = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Certification message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Certification} Certification + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Certification.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Certification message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Certification.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.certificationAuthority != null && message.hasOwnProperty("certificationAuthority")) { + properties._certificationAuthority = 1; + if (!$util.isString(message.certificationAuthority)) + return "certificationAuthority: string expected"; + } + if (message.certificationName != null && message.hasOwnProperty("certificationName")) { + properties._certificationName = 1; + if (!$util.isString(message.certificationName)) + return "certificationName: string expected"; + } + if (message.certificationCode != null && message.hasOwnProperty("certificationCode")) { + properties._certificationCode = 1; + if (!$util.isString(message.certificationCode)) + return "certificationCode: string expected"; + } + if (message.certificationValue != null && message.hasOwnProperty("certificationValue")) { + properties._certificationValue = 1; + if (!$util.isString(message.certificationValue)) + return "certificationValue: string expected"; + } + return null; + }; + + /** + * Creates a Certification message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Certification} Certification + */ + Certification.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Certification) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Certification(); + if (object.certificationAuthority != null) + message.certificationAuthority = String(object.certificationAuthority); + if (object.certificationName != null) + message.certificationName = String(object.certificationName); + if (object.certificationCode != null) + message.certificationCode = String(object.certificationCode); + if (object.certificationValue != null) + message.certificationValue = String(object.certificationValue); + return message; + }; + + /** + * Creates a plain object from a Certification message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {google.shopping.merchant.products.v1beta.Certification} message Certification + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Certification.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.certificationAuthority != null && message.hasOwnProperty("certificationAuthority")) { + object.certificationAuthority = message.certificationAuthority; + if (options.oneofs) + object._certificationAuthority = "certificationAuthority"; + } + if (message.certificationName != null && message.hasOwnProperty("certificationName")) { + object.certificationName = message.certificationName; + if (options.oneofs) + object._certificationName = "certificationName"; + } + if (message.certificationCode != null && message.hasOwnProperty("certificationCode")) { + object.certificationCode = message.certificationCode; + if (options.oneofs) + object._certificationCode = "certificationCode"; + } + if (message.certificationValue != null && message.hasOwnProperty("certificationValue")) { + object.certificationValue = message.certificationValue; + if (options.oneofs) + object._certificationValue = "certificationValue"; + } + return object; + }; + + /** + * Converts this Certification to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Certification + * @instance + * @returns {Object.} JSON object + */ + Certification.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Certification + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Certification + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Certification.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Certification"; + }; + + return Certification; + })(); + + v1beta.ProductStructuredTitle = (function() { + + /** + * Properties of a ProductStructuredTitle. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductStructuredTitle + * @property {string|null} [digitalSourceType] ProductStructuredTitle digitalSourceType + * @property {string|null} [content] ProductStructuredTitle content + */ + + /** + * Constructs a new ProductStructuredTitle. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductStructuredTitle. + * @implements IProductStructuredTitle + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle=} [properties] Properties to set + */ + function ProductStructuredTitle(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductStructuredTitle digitalSourceType. + * @member {string|null|undefined} digitalSourceType + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @instance + */ + ProductStructuredTitle.prototype.digitalSourceType = null; + + /** + * ProductStructuredTitle content. + * @member {string|null|undefined} content + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @instance + */ + ProductStructuredTitle.prototype.content = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ProductStructuredTitle _digitalSourceType. + * @member {"digitalSourceType"|undefined} _digitalSourceType + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @instance + */ + Object.defineProperty(ProductStructuredTitle.prototype, "_digitalSourceType", { + get: $util.oneOfGetter($oneOfFields = ["digitalSourceType"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * ProductStructuredTitle _content. + * @member {"content"|undefined} _content + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @instance + */ + Object.defineProperty(ProductStructuredTitle.prototype, "_content", { + get: $util.oneOfGetter($oneOfFields = ["content"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ProductStructuredTitle instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle instance + */ + ProductStructuredTitle.create = function create(properties) { + return new ProductStructuredTitle(properties); + }; + + /** + * Encodes the specified ProductStructuredTitle message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle} message ProductStructuredTitle message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStructuredTitle.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.digitalSourceType != null && Object.hasOwnProperty.call(message, "digitalSourceType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.digitalSourceType); + if (message.content != null && Object.hasOwnProperty.call(message, "content")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.content); + return writer; + }; + + /** + * Encodes the specified ProductStructuredTitle message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle} message ProductStructuredTitle message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStructuredTitle.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductStructuredTitle message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStructuredTitle.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.digitalSourceType = reader.string(); + break; + } + case 2: { + message.content = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductStructuredTitle message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStructuredTitle.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductStructuredTitle message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductStructuredTitle.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { + properties._digitalSourceType = 1; + if (!$util.isString(message.digitalSourceType)) + return "digitalSourceType: string expected"; + } + if (message.content != null && message.hasOwnProperty("content")) { + properties._content = 1; + if (!$util.isString(message.content)) + return "content: string expected"; + } + return null; + }; + + /** + * Creates a ProductStructuredTitle message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle + */ + ProductStructuredTitle.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle(); + if (object.digitalSourceType != null) + message.digitalSourceType = String(object.digitalSourceType); + if (object.content != null) + message.content = String(object.content); + return message; + }; + + /** + * Creates a plain object from a ProductStructuredTitle message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStructuredTitle} message ProductStructuredTitle + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductStructuredTitle.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { + object.digitalSourceType = message.digitalSourceType; + if (options.oneofs) + object._digitalSourceType = "digitalSourceType"; + } + if (message.content != null && message.hasOwnProperty("content")) { + object.content = message.content; + if (options.oneofs) + object._content = "content"; + } + return object; + }; + + /** + * Converts this ProductStructuredTitle to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @instance + * @returns {Object.} JSON object + */ + ProductStructuredTitle.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductStructuredTitle + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductStructuredTitle.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStructuredTitle"; + }; + + return ProductStructuredTitle; + })(); + + v1beta.ProductStructuredDescription = (function() { + + /** + * Properties of a ProductStructuredDescription. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductStructuredDescription + * @property {string|null} [digitalSourceType] ProductStructuredDescription digitalSourceType + * @property {string|null} [content] ProductStructuredDescription content + */ + + /** + * Constructs a new ProductStructuredDescription. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductStructuredDescription. + * @implements IProductStructuredDescription + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription=} [properties] Properties to set + */ + function ProductStructuredDescription(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductStructuredDescription digitalSourceType. + * @member {string|null|undefined} digitalSourceType + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @instance + */ + ProductStructuredDescription.prototype.digitalSourceType = null; + + /** + * ProductStructuredDescription content. + * @member {string|null|undefined} content + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @instance + */ + ProductStructuredDescription.prototype.content = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ProductStructuredDescription _digitalSourceType. + * @member {"digitalSourceType"|undefined} _digitalSourceType + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @instance + */ + Object.defineProperty(ProductStructuredDescription.prototype, "_digitalSourceType", { + get: $util.oneOfGetter($oneOfFields = ["digitalSourceType"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * ProductStructuredDescription _content. + * @member {"content"|undefined} _content + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @instance + */ + Object.defineProperty(ProductStructuredDescription.prototype, "_content", { + get: $util.oneOfGetter($oneOfFields = ["content"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ProductStructuredDescription instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription instance + */ + ProductStructuredDescription.create = function create(properties) { + return new ProductStructuredDescription(properties); + }; + + /** + * Encodes the specified ProductStructuredDescription message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription} message ProductStructuredDescription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStructuredDescription.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.digitalSourceType != null && Object.hasOwnProperty.call(message, "digitalSourceType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.digitalSourceType); + if (message.content != null && Object.hasOwnProperty.call(message, "content")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.content); + return writer; + }; + + /** + * Encodes the specified ProductStructuredDescription message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription} message ProductStructuredDescription message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStructuredDescription.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductStructuredDescription message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStructuredDescription.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.digitalSourceType = reader.string(); + break; + } + case 2: { + message.content = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductStructuredDescription message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStructuredDescription.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductStructuredDescription message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductStructuredDescription.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { + properties._digitalSourceType = 1; + if (!$util.isString(message.digitalSourceType)) + return "digitalSourceType: string expected"; + } + if (message.content != null && message.hasOwnProperty("content")) { + properties._content = 1; + if (!$util.isString(message.content)) + return "content: string expected"; + } + return null; + }; + + /** + * Creates a ProductStructuredDescription message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription + */ + ProductStructuredDescription.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription(); + if (object.digitalSourceType != null) + message.digitalSourceType = String(object.digitalSourceType); + if (object.content != null) + message.content = String(object.content); + return message; + }; + + /** + * Creates a plain object from a ProductStructuredDescription message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStructuredDescription} message ProductStructuredDescription + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductStructuredDescription.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { + object.digitalSourceType = message.digitalSourceType; + if (options.oneofs) + object._digitalSourceType = "digitalSourceType"; + } + if (message.content != null && message.hasOwnProperty("content")) { + object.content = message.content; + if (options.oneofs) + object._content = "content"; + } + return object; + }; + + /** + * Converts this ProductStructuredDescription to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @instance + * @returns {Object.} JSON object + */ + ProductStructuredDescription.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductStructuredDescription + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductStructuredDescription.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStructuredDescription"; + }; + + return ProductStructuredDescription; + })(); + + v1beta.ProductDimension = (function() { + + /** + * Properties of a ProductDimension. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductDimension + * @property {number|null} [value] ProductDimension value + * @property {string|null} [unit] ProductDimension unit + */ + + /** + * Constructs a new ProductDimension. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductDimension. + * @implements IProductDimension + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductDimension=} [properties] Properties to set + */ + function ProductDimension(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductDimension value. + * @member {number} value + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @instance + */ + ProductDimension.prototype.value = 0; + + /** + * ProductDimension unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @instance + */ + ProductDimension.prototype.unit = ""; + + /** + * Creates a new ProductDimension instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDimension=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension instance + */ + ProductDimension.create = function create(properties) { + return new ProductDimension(properties); + }; + + /** + * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDimension} message ProductDimension message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductDimension.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {google.shopping.merchant.products.v1beta.IProductDimension} message ProductDimension message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductDimension.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductDimension message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductDimension.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductDimension(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.double(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductDimension message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductDimension.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductDimension message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductDimension.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates a ProductDimension message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension + */ + ProductDimension.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductDimension) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductDimension(); + if (object.value != null) + message.value = Number(object.value); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from a ProductDimension message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {google.shopping.merchant.products.v1beta.ProductDimension} message ProductDimension + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductDimension.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this ProductDimension to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @instance + * @returns {Object.} JSON object + */ + ProductDimension.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductDimension + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductDimension + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductDimension.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductDimension"; + }; + + return ProductDimension; + })(); + + v1beta.ProductWeight = (function() { + + /** + * Properties of a ProductWeight. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductWeight + * @property {number|null} [value] ProductWeight value + * @property {string|null} [unit] ProductWeight unit + */ + + /** + * Constructs a new ProductWeight. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductWeight. + * @implements IProductWeight + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductWeight=} [properties] Properties to set + */ + function ProductWeight(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductWeight value. + * @member {number} value + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @instance + */ + ProductWeight.prototype.value = 0; + + /** + * ProductWeight unit. + * @member {string} unit + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @instance + */ + ProductWeight.prototype.unit = ""; + + /** + * Creates a new ProductWeight instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IProductWeight=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight instance + */ + ProductWeight.create = function create(properties) { + return new ProductWeight(properties); + }; + + /** + * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IProductWeight} message ProductWeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductWeight.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + return writer; + }; + + /** + * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {google.shopping.merchant.products.v1beta.IProductWeight} message ProductWeight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductWeight.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductWeight message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductWeight.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductWeight(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.value = reader.double(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductWeight message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductWeight.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductWeight message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductWeight.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates a ProductWeight message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight + */ + ProductWeight.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductWeight) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductWeight(); + if (object.value != null) + message.value = Number(object.value); + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from a ProductWeight message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {google.shopping.merchant.products.v1beta.ProductWeight} message ProductWeight + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductWeight.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = 0; + object.unit = ""; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + return object; + }; + + /** + * Converts this ProductWeight to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @instance + * @returns {Object.} JSON object + */ + ProductWeight.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductWeight + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductWeight + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductWeight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductWeight"; + }; + + return ProductWeight; + })(); + + v1beta.ProductStatus = (function() { + + /** + * Properties of a ProductStatus. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProductStatus + * @property {Array.|null} [destinationStatuses] ProductStatus destinationStatuses + * @property {Array.|null} [itemLevelIssues] ProductStatus itemLevelIssues + * @property {google.protobuf.ITimestamp|null} [creationDate] ProductStatus creationDate + * @property {google.protobuf.ITimestamp|null} [lastUpdateDate] ProductStatus lastUpdateDate + * @property {google.protobuf.ITimestamp|null} [googleExpirationDate] ProductStatus googleExpirationDate + */ + + /** + * Constructs a new ProductStatus. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductStatus. + * @implements IProductStatus + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProductStatus=} [properties] Properties to set + */ + function ProductStatus(properties) { + this.destinationStatuses = []; + this.itemLevelIssues = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductStatus destinationStatuses. + * @member {Array.} destinationStatuses + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + */ + ProductStatus.prototype.destinationStatuses = $util.emptyArray; + + /** + * ProductStatus itemLevelIssues. + * @member {Array.} itemLevelIssues + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + */ + ProductStatus.prototype.itemLevelIssues = $util.emptyArray; + + /** + * ProductStatus creationDate. + * @member {google.protobuf.ITimestamp|null|undefined} creationDate + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + */ + ProductStatus.prototype.creationDate = null; + + /** + * ProductStatus lastUpdateDate. + * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateDate + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + */ + ProductStatus.prototype.lastUpdateDate = null; + + /** + * ProductStatus googleExpirationDate. + * @member {google.protobuf.ITimestamp|null|undefined} googleExpirationDate + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + */ + ProductStatus.prototype.googleExpirationDate = null; + + /** + * Creates a new ProductStatus instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStatus=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus instance + */ + ProductStatus.create = function create(properties) { + return new ProductStatus(properties); + }; + + /** + * Encodes the specified ProductStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStatus} message ProductStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStatus.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.destinationStatuses != null && message.destinationStatuses.length) + for (var i = 0; i < message.destinationStatuses.length; ++i) + $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.encode(message.destinationStatuses[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.itemLevelIssues != null && message.itemLevelIssues.length) + for (var i = 0; i < message.itemLevelIssues.length; ++i) + $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.encode(message.itemLevelIssues[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.creationDate != null && Object.hasOwnProperty.call(message, "creationDate")) + $root.google.protobuf.Timestamp.encode(message.creationDate, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.lastUpdateDate != null && Object.hasOwnProperty.call(message, "lastUpdateDate")) + $root.google.protobuf.Timestamp.encode(message.lastUpdateDate, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.googleExpirationDate != null && Object.hasOwnProperty.call(message, "googleExpirationDate")) + $root.google.protobuf.Timestamp.encode(message.googleExpirationDate, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {google.shopping.merchant.products.v1beta.IProductStatus} message ProductStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductStatus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductStatus message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStatus.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + if (!(message.destinationStatuses && message.destinationStatuses.length)) + message.destinationStatuses = []; + message.destinationStatuses.push($root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.itemLevelIssues && message.itemLevelIssues.length)) + message.itemLevelIssues = []; + message.itemLevelIssues.push($root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.decode(reader, reader.uint32())); + break; + } + case 5: { + message.creationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.lastUpdateDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 7: { + message.googleExpirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductStatus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductStatus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductStatus message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductStatus.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.destinationStatuses != null && message.hasOwnProperty("destinationStatuses")) { + if (!Array.isArray(message.destinationStatuses)) + return "destinationStatuses: array expected"; + for (var i = 0; i < message.destinationStatuses.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify(message.destinationStatuses[i]); + if (error) + return "destinationStatuses." + error; + } + } + if (message.itemLevelIssues != null && message.hasOwnProperty("itemLevelIssues")) { + if (!Array.isArray(message.itemLevelIssues)) + return "itemLevelIssues: array expected"; + for (var i = 0; i < message.itemLevelIssues.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify(message.itemLevelIssues[i]); + if (error) + return "itemLevelIssues." + error; + } + } + if (message.creationDate != null && message.hasOwnProperty("creationDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.creationDate); + if (error) + return "creationDate." + error; + } + if (message.lastUpdateDate != null && message.hasOwnProperty("lastUpdateDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.lastUpdateDate); + if (error) + return "lastUpdateDate." + error; + } + if (message.googleExpirationDate != null && message.hasOwnProperty("googleExpirationDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.googleExpirationDate); + if (error) + return "googleExpirationDate." + error; + } + return null; + }; + + /** + * Creates a ProductStatus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus + */ + ProductStatus.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus(); + if (object.destinationStatuses) { + if (!Array.isArray(object.destinationStatuses)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.destinationStatuses: array expected"); + message.destinationStatuses = []; + for (var i = 0; i < object.destinationStatuses.length; ++i) { + if (typeof object.destinationStatuses[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.destinationStatuses: object expected"); + message.destinationStatuses[i] = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.fromObject(object.destinationStatuses[i]); + } + } + if (object.itemLevelIssues) { + if (!Array.isArray(object.itemLevelIssues)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.itemLevelIssues: array expected"); + message.itemLevelIssues = []; + for (var i = 0; i < object.itemLevelIssues.length; ++i) { + if (typeof object.itemLevelIssues[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.itemLevelIssues: object expected"); + message.itemLevelIssues[i] = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.fromObject(object.itemLevelIssues[i]); + } + } + if (object.creationDate != null) { + if (typeof object.creationDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.creationDate: object expected"); + message.creationDate = $root.google.protobuf.Timestamp.fromObject(object.creationDate); + } + if (object.lastUpdateDate != null) { + if (typeof object.lastUpdateDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.lastUpdateDate: object expected"); + message.lastUpdateDate = $root.google.protobuf.Timestamp.fromObject(object.lastUpdateDate); + } + if (object.googleExpirationDate != null) { + if (typeof object.googleExpirationDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.googleExpirationDate: object expected"); + message.googleExpirationDate = $root.google.protobuf.Timestamp.fromObject(object.googleExpirationDate); + } + return message; + }; + + /** + * Creates a plain object from a ProductStatus message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus} message ProductStatus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductStatus.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.destinationStatuses = []; + object.itemLevelIssues = []; + } + if (options.defaults) { + object.creationDate = null; + object.lastUpdateDate = null; + object.googleExpirationDate = null; + } + if (message.destinationStatuses && message.destinationStatuses.length) { + object.destinationStatuses = []; + for (var j = 0; j < message.destinationStatuses.length; ++j) + object.destinationStatuses[j] = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.toObject(message.destinationStatuses[j], options); + } + if (message.itemLevelIssues && message.itemLevelIssues.length) { + object.itemLevelIssues = []; + for (var j = 0; j < message.itemLevelIssues.length; ++j) + object.itemLevelIssues[j] = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.toObject(message.itemLevelIssues[j], options); + } + if (message.creationDate != null && message.hasOwnProperty("creationDate")) + object.creationDate = $root.google.protobuf.Timestamp.toObject(message.creationDate, options); + if (message.lastUpdateDate != null && message.hasOwnProperty("lastUpdateDate")) + object.lastUpdateDate = $root.google.protobuf.Timestamp.toObject(message.lastUpdateDate, options); + if (message.googleExpirationDate != null && message.hasOwnProperty("googleExpirationDate")) + object.googleExpirationDate = $root.google.protobuf.Timestamp.toObject(message.googleExpirationDate, options); + return object; + }; + + /** + * Converts this ProductStatus to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @instance + * @returns {Object.} JSON object + */ + ProductStatus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ProductStatus + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus"; + }; + + ProductStatus.DestinationStatus = (function() { + + /** + * Properties of a DestinationStatus. + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @interface IDestinationStatus + * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] DestinationStatus reportingContext + * @property {Array.|null} [approvedCountries] DestinationStatus approvedCountries + * @property {Array.|null} [pendingCountries] DestinationStatus pendingCountries + * @property {Array.|null} [disapprovedCountries] DestinationStatus disapprovedCountries + */ + + /** + * Constructs a new DestinationStatus. + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @classdesc Represents a DestinationStatus. + * @implements IDestinationStatus + * @constructor + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus=} [properties] Properties to set + */ + function DestinationStatus(properties) { + this.approvedCountries = []; + this.pendingCountries = []; + this.disapprovedCountries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DestinationStatus reportingContext. + * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.reportingContext = 0; + + /** + * DestinationStatus approvedCountries. + * @member {Array.} approvedCountries + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.approvedCountries = $util.emptyArray; + + /** + * DestinationStatus pendingCountries. + * @member {Array.} pendingCountries + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.pendingCountries = $util.emptyArray; + + /** + * DestinationStatus disapprovedCountries. + * @member {Array.} disapprovedCountries + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.disapprovedCountries = $util.emptyArray; + + /** + * Creates a new DestinationStatus instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus instance + */ + DestinationStatus.create = function create(properties) { + return new DestinationStatus(properties); + }; + + /** + * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus} message DestinationStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DestinationStatus.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reportingContext); + if (message.approvedCountries != null && message.approvedCountries.length) + for (var i = 0; i < message.approvedCountries.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.approvedCountries[i]); + if (message.pendingCountries != null && message.pendingCountries.length) + for (var i = 0; i < message.pendingCountries.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pendingCountries[i]); + if (message.disapprovedCountries != null && message.disapprovedCountries.length) + for (var i = 0; i < message.disapprovedCountries.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.disapprovedCountries[i]); + return writer; + }; + + /** + * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus} message DestinationStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DestinationStatus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DestinationStatus message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DestinationStatus.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.reportingContext = reader.int32(); + break; + } + case 2: { + if (!(message.approvedCountries && message.approvedCountries.length)) + message.approvedCountries = []; + message.approvedCountries.push(reader.string()); + break; + } + case 3: { + if (!(message.pendingCountries && message.pendingCountries.length)) + message.pendingCountries = []; + message.pendingCountries.push(reader.string()); + break; + } + case 4: { + if (!(message.disapprovedCountries && message.disapprovedCountries.length)) + message.disapprovedCountries = []; + message.disapprovedCountries.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DestinationStatus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DestinationStatus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DestinationStatus message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DestinationStatus.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) + switch (message.reportingContext) { + default: + return "reportingContext: enum value expected"; + case 0: + case 1: + case 2: + case 13: + case 14: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + break; + } + if (message.approvedCountries != null && message.hasOwnProperty("approvedCountries")) { + if (!Array.isArray(message.approvedCountries)) + return "approvedCountries: array expected"; + for (var i = 0; i < message.approvedCountries.length; ++i) + if (!$util.isString(message.approvedCountries[i])) + return "approvedCountries: string[] expected"; + } + if (message.pendingCountries != null && message.hasOwnProperty("pendingCountries")) { + if (!Array.isArray(message.pendingCountries)) + return "pendingCountries: array expected"; + for (var i = 0; i < message.pendingCountries.length; ++i) + if (!$util.isString(message.pendingCountries[i])) + return "pendingCountries: string[] expected"; + } + if (message.disapprovedCountries != null && message.hasOwnProperty("disapprovedCountries")) { + if (!Array.isArray(message.disapprovedCountries)) + return "disapprovedCountries: array expected"; + for (var i = 0; i < message.disapprovedCountries.length; ++i) + if (!$util.isString(message.disapprovedCountries[i])) + return "disapprovedCountries: string[] expected"; + } + return null; + }; + + /** + * Creates a DestinationStatus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus + */ + DestinationStatus.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus(); + switch (object.reportingContext) { + default: + if (typeof object.reportingContext === "number") { + message.reportingContext = object.reportingContext; + break; + } + break; + case "REPORTING_CONTEXT_ENUM_UNSPECIFIED": + case 0: + message.reportingContext = 0; + break; + case "SHOPPING_ADS": + case 1: + message.reportingContext = 1; + break; + case "DISCOVERY_ADS": + case 2: + message.reportingContext = 2; + break; + case "DEMAND_GEN_ADS": + case 13: + message.reportingContext = 13; + break; + case "DEMAND_GEN_ADS_DISCOVER_SURFACE": + case 14: + message.reportingContext = 14; + break; + case "VIDEO_ADS": + case 3: + message.reportingContext = 3; + break; + case "DISPLAY_ADS": + case 4: + message.reportingContext = 4; + break; + case "LOCAL_INVENTORY_ADS": + case 5: + message.reportingContext = 5; + break; + case "VEHICLE_INVENTORY_ADS": + case 6: + message.reportingContext = 6; + break; + case "FREE_LISTINGS": + case 7: + message.reportingContext = 7; + break; + case "FREE_LOCAL_LISTINGS": + case 8: + message.reportingContext = 8; + break; + case "FREE_LOCAL_VEHICLE_LISTINGS": + case 9: + message.reportingContext = 9; + break; + case "YOUTUBE_SHOPPING": + case 10: + message.reportingContext = 10; + break; + case "CLOUD_RETAIL": + case 11: + message.reportingContext = 11; + break; + case "LOCAL_CLOUD_RETAIL": + case 12: + message.reportingContext = 12; + break; + } + if (object.approvedCountries) { + if (!Array.isArray(object.approvedCountries)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.approvedCountries: array expected"); + message.approvedCountries = []; + for (var i = 0; i < object.approvedCountries.length; ++i) + message.approvedCountries[i] = String(object.approvedCountries[i]); + } + if (object.pendingCountries) { + if (!Array.isArray(object.pendingCountries)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.pendingCountries: array expected"); + message.pendingCountries = []; + for (var i = 0; i < object.pendingCountries.length; ++i) + message.pendingCountries[i] = String(object.pendingCountries[i]); + } + if (object.disapprovedCountries) { + if (!Array.isArray(object.disapprovedCountries)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.disapprovedCountries: array expected"); + message.disapprovedCountries = []; + for (var i = 0; i < object.disapprovedCountries.length; ++i) + message.disapprovedCountries[i] = String(object.disapprovedCountries[i]); + } + return message; + }; + + /** + * Creates a plain object from a DestinationStatus message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} message DestinationStatus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DestinationStatus.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.approvedCountries = []; + object.pendingCountries = []; + object.disapprovedCountries = []; + } + if (options.defaults) + object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0; + if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) + object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext; + if (message.approvedCountries && message.approvedCountries.length) { + object.approvedCountries = []; + for (var j = 0; j < message.approvedCountries.length; ++j) + object.approvedCountries[j] = message.approvedCountries[j]; + } + if (message.pendingCountries && message.pendingCountries.length) { + object.pendingCountries = []; + for (var j = 0; j < message.pendingCountries.length; ++j) + object.pendingCountries[j] = message.pendingCountries[j]; + } + if (message.disapprovedCountries && message.disapprovedCountries.length) { + object.disapprovedCountries = []; + for (var j = 0; j < message.disapprovedCountries.length; ++j) + object.disapprovedCountries[j] = message.disapprovedCountries[j]; + } + return object; + }; + + /** + * Converts this DestinationStatus to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @instance + * @returns {Object.} JSON object + */ + DestinationStatus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DestinationStatus + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DestinationStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus"; + }; + + return DestinationStatus; + })(); + + ProductStatus.ItemLevelIssue = (function() { + + /** + * Properties of an ItemLevelIssue. + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @interface IItemLevelIssue + * @property {string|null} [code] ItemLevelIssue code + * @property {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|null} [severity] ItemLevelIssue severity + * @property {string|null} [resolution] ItemLevelIssue resolution + * @property {string|null} [attribute] ItemLevelIssue attribute + * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] ItemLevelIssue reportingContext + * @property {string|null} [description] ItemLevelIssue description + * @property {string|null} [detail] ItemLevelIssue detail + * @property {string|null} [documentation] ItemLevelIssue documentation + * @property {Array.|null} [applicableCountries] ItemLevelIssue applicableCountries + */ + + /** + * Constructs a new ItemLevelIssue. + * @memberof google.shopping.merchant.products.v1beta.ProductStatus + * @classdesc Represents an ItemLevelIssue. + * @implements IItemLevelIssue + * @constructor + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue=} [properties] Properties to set + */ + function ItemLevelIssue(properties) { + this.applicableCountries = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ItemLevelIssue code. + * @member {string} code + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.code = ""; + + /** + * ItemLevelIssue severity. + * @member {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity} severity + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.severity = 0; + + /** + * ItemLevelIssue resolution. + * @member {string} resolution + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.resolution = ""; + + /** + * ItemLevelIssue attribute. + * @member {string} attribute + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.attribute = ""; + + /** + * ItemLevelIssue reportingContext. + * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.reportingContext = 0; + + /** + * ItemLevelIssue description. + * @member {string} description + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.description = ""; + + /** + * ItemLevelIssue detail. + * @member {string} detail + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.detail = ""; + + /** + * ItemLevelIssue documentation. + * @member {string} documentation + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.documentation = ""; + + /** + * ItemLevelIssue applicableCountries. + * @member {Array.} applicableCountries + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.applicableCountries = $util.emptyArray; + + /** + * Creates a new ItemLevelIssue instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue instance + */ + ItemLevelIssue.create = function create(properties) { + return new ItemLevelIssue(properties); + }; + + /** + * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue} message ItemLevelIssue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ItemLevelIssue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.code); + if (message.severity != null && Object.hasOwnProperty.call(message, "severity")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.severity); + if (message.resolution != null && Object.hasOwnProperty.call(message, "resolution")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.resolution); + if (message.attribute != null && Object.hasOwnProperty.call(message, "attribute")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.attribute); + if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.reportingContext); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.description); + if (message.detail != null && Object.hasOwnProperty.call(message, "detail")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.detail); + if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.documentation); + if (message.applicableCountries != null && message.applicableCountries.length) + for (var i = 0; i < message.applicableCountries.length; ++i) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.applicableCountries[i]); + return writer; + }; + + /** + * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue} message ItemLevelIssue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ItemLevelIssue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ItemLevelIssue message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ItemLevelIssue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.string(); + break; + } + case 2: { + message.severity = reader.int32(); + break; + } + case 3: { + message.resolution = reader.string(); + break; + } + case 4: { + message.attribute = reader.string(); + break; + } + case 5: { + message.reportingContext = reader.int32(); + break; + } + case 6: { + message.description = reader.string(); + break; + } + case 7: { + message.detail = reader.string(); + break; + } + case 8: { + message.documentation = reader.string(); + break; + } + case 9: { + if (!(message.applicableCountries && message.applicableCountries.length)) + message.applicableCountries = []; + message.applicableCountries.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ItemLevelIssue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ItemLevelIssue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ItemLevelIssue message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ItemLevelIssue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isString(message.code)) + return "code: string expected"; + if (message.severity != null && message.hasOwnProperty("severity")) + switch (message.severity) { + default: + return "severity: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.resolution != null && message.hasOwnProperty("resolution")) + if (!$util.isString(message.resolution)) + return "resolution: string expected"; + if (message.attribute != null && message.hasOwnProperty("attribute")) + if (!$util.isString(message.attribute)) + return "attribute: string expected"; + if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) + switch (message.reportingContext) { + default: + return "reportingContext: enum value expected"; + case 0: + case 1: + case 2: + case 13: + case 14: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + break; + } + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.detail != null && message.hasOwnProperty("detail")) + if (!$util.isString(message.detail)) + return "detail: string expected"; + if (message.documentation != null && message.hasOwnProperty("documentation")) + if (!$util.isString(message.documentation)) + return "documentation: string expected"; + if (message.applicableCountries != null && message.hasOwnProperty("applicableCountries")) { + if (!Array.isArray(message.applicableCountries)) + return "applicableCountries: array expected"; + for (var i = 0; i < message.applicableCountries.length; ++i) + if (!$util.isString(message.applicableCountries[i])) + return "applicableCountries: string[] expected"; + } + return null; + }; + + /** + * Creates an ItemLevelIssue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue + */ + ItemLevelIssue.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue(); + if (object.code != null) + message.code = String(object.code); + switch (object.severity) { + default: + if (typeof object.severity === "number") { + message.severity = object.severity; + break; + } + break; + case "SEVERITY_UNSPECIFIED": + case 0: + message.severity = 0; + break; + case "NOT_IMPACTED": + case 1: + message.severity = 1; + break; + case "DEMOTED": + case 2: + message.severity = 2; + break; + case "DISAPPROVED": + case 3: + message.severity = 3; + break; + } + if (object.resolution != null) + message.resolution = String(object.resolution); + if (object.attribute != null) + message.attribute = String(object.attribute); + switch (object.reportingContext) { + default: + if (typeof object.reportingContext === "number") { + message.reportingContext = object.reportingContext; + break; + } + break; + case "REPORTING_CONTEXT_ENUM_UNSPECIFIED": + case 0: + message.reportingContext = 0; + break; + case "SHOPPING_ADS": + case 1: + message.reportingContext = 1; + break; + case "DISCOVERY_ADS": + case 2: + message.reportingContext = 2; + break; + case "DEMAND_GEN_ADS": + case 13: + message.reportingContext = 13; + break; + case "DEMAND_GEN_ADS_DISCOVER_SURFACE": + case 14: + message.reportingContext = 14; + break; + case "VIDEO_ADS": + case 3: + message.reportingContext = 3; + break; + case "DISPLAY_ADS": + case 4: + message.reportingContext = 4; + break; + case "LOCAL_INVENTORY_ADS": + case 5: + message.reportingContext = 5; + break; + case "VEHICLE_INVENTORY_ADS": + case 6: + message.reportingContext = 6; + break; + case "FREE_LISTINGS": + case 7: + message.reportingContext = 7; + break; + case "FREE_LOCAL_LISTINGS": + case 8: + message.reportingContext = 8; + break; + case "FREE_LOCAL_VEHICLE_LISTINGS": + case 9: + message.reportingContext = 9; + break; + case "YOUTUBE_SHOPPING": + case 10: + message.reportingContext = 10; + break; + case "CLOUD_RETAIL": + case 11: + message.reportingContext = 11; + break; + case "LOCAL_CLOUD_RETAIL": + case 12: + message.reportingContext = 12; + break; + } + if (object.description != null) + message.description = String(object.description); + if (object.detail != null) + message.detail = String(object.detail); + if (object.documentation != null) + message.documentation = String(object.documentation); + if (object.applicableCountries) { + if (!Array.isArray(object.applicableCountries)) + throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.applicableCountries: array expected"); + message.applicableCountries = []; + for (var i = 0; i < object.applicableCountries.length; ++i) + message.applicableCountries[i] = String(object.applicableCountries[i]); + } + return message; + }; + + /** + * Creates a plain object from an ItemLevelIssue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} message ItemLevelIssue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ItemLevelIssue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.applicableCountries = []; + if (options.defaults) { + object.code = ""; + object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0; + object.resolution = ""; + object.attribute = ""; + object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0; + object.description = ""; + object.detail = ""; + object.documentation = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.severity != null && message.hasOwnProperty("severity")) + object.severity = options.enums === String ? $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity[message.severity] === undefined ? message.severity : $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity[message.severity] : message.severity; + if (message.resolution != null && message.hasOwnProperty("resolution")) + object.resolution = message.resolution; + if (message.attribute != null && message.hasOwnProperty("attribute")) + object.attribute = message.attribute; + if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) + object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.detail != null && message.hasOwnProperty("detail")) + object.detail = message.detail; + if (message.documentation != null && message.hasOwnProperty("documentation")) + object.documentation = message.documentation; + if (message.applicableCountries && message.applicableCountries.length) { + object.applicableCountries = []; + for (var j = 0; j < message.applicableCountries.length; ++j) + object.applicableCountries[j] = message.applicableCountries[j]; + } + return object; + }; + + /** + * Converts this ItemLevelIssue to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @instance + * @returns {Object.} JSON object + */ + ItemLevelIssue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ItemLevelIssue + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ItemLevelIssue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue"; + }; + + /** + * Severity enum. + * @name google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity + * @enum {number} + * @property {number} SEVERITY_UNSPECIFIED=0 SEVERITY_UNSPECIFIED value + * @property {number} NOT_IMPACTED=1 NOT_IMPACTED value + * @property {number} DEMOTED=2 DEMOTED value + * @property {number} DISAPPROVED=3 DISAPPROVED value + */ + ItemLevelIssue.Severity = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "SEVERITY_UNSPECIFIED"] = 0; + values[valuesById[1] = "NOT_IMPACTED"] = 1; + values[valuesById[2] = "DEMOTED"] = 2; + values[valuesById[3] = "DISAPPROVED"] = 3; + return values; + })(); + + return ItemLevelIssue; + })(); + + return ProductStatus; + })(); + + v1beta.CloudExportAdditionalProperties = (function() { + + /** + * Properties of a CloudExportAdditionalProperties. + * @memberof google.shopping.merchant.products.v1beta + * @interface ICloudExportAdditionalProperties + * @property {string|null} [propertyName] CloudExportAdditionalProperties propertyName + * @property {Array.|null} [textValue] CloudExportAdditionalProperties textValue + * @property {boolean|null} [boolValue] CloudExportAdditionalProperties boolValue + * @property {Array.|null} [intValue] CloudExportAdditionalProperties intValue + * @property {Array.|null} [floatValue] CloudExportAdditionalProperties floatValue + * @property {number|null} [minValue] CloudExportAdditionalProperties minValue + * @property {number|null} [maxValue] CloudExportAdditionalProperties maxValue + * @property {string|null} [unitCode] CloudExportAdditionalProperties unitCode + */ + + /** + * Constructs a new CloudExportAdditionalProperties. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a CloudExportAdditionalProperties. + * @implements ICloudExportAdditionalProperties + * @constructor + * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties=} [properties] Properties to set + */ + function CloudExportAdditionalProperties(properties) { + this.textValue = []; + this.intValue = []; + this.floatValue = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CloudExportAdditionalProperties propertyName. + * @member {string|null|undefined} propertyName + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.propertyName = null; + + /** + * CloudExportAdditionalProperties textValue. + * @member {Array.} textValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.textValue = $util.emptyArray; + + /** + * CloudExportAdditionalProperties boolValue. + * @member {boolean|null|undefined} boolValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.boolValue = null; + + /** + * CloudExportAdditionalProperties intValue. + * @member {Array.} intValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.intValue = $util.emptyArray; + + /** + * CloudExportAdditionalProperties floatValue. + * @member {Array.} floatValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.floatValue = $util.emptyArray; + + /** + * CloudExportAdditionalProperties minValue. + * @member {number|null|undefined} minValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.minValue = null; + + /** + * CloudExportAdditionalProperties maxValue. + * @member {number|null|undefined} maxValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.maxValue = null; + + /** + * CloudExportAdditionalProperties unitCode. + * @member {string|null|undefined} unitCode + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + CloudExportAdditionalProperties.prototype.unitCode = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * CloudExportAdditionalProperties _propertyName. + * @member {"propertyName"|undefined} _propertyName + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + Object.defineProperty(CloudExportAdditionalProperties.prototype, "_propertyName", { + get: $util.oneOfGetter($oneOfFields = ["propertyName"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * CloudExportAdditionalProperties _boolValue. + * @member {"boolValue"|undefined} _boolValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + Object.defineProperty(CloudExportAdditionalProperties.prototype, "_boolValue", { + get: $util.oneOfGetter($oneOfFields = ["boolValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * CloudExportAdditionalProperties _minValue. + * @member {"minValue"|undefined} _minValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + Object.defineProperty(CloudExportAdditionalProperties.prototype, "_minValue", { + get: $util.oneOfGetter($oneOfFields = ["minValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * CloudExportAdditionalProperties _maxValue. + * @member {"maxValue"|undefined} _maxValue + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + Object.defineProperty(CloudExportAdditionalProperties.prototype, "_maxValue", { + get: $util.oneOfGetter($oneOfFields = ["maxValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * CloudExportAdditionalProperties _unitCode. + * @member {"unitCode"|undefined} _unitCode + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + */ + Object.defineProperty(CloudExportAdditionalProperties.prototype, "_unitCode", { + get: $util.oneOfGetter($oneOfFields = ["unitCode"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new CloudExportAdditionalProperties instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties instance + */ + CloudExportAdditionalProperties.create = function create(properties) { + return new CloudExportAdditionalProperties(properties); + }; + + /** + * Encodes the specified CloudExportAdditionalProperties message. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties} message CloudExportAdditionalProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CloudExportAdditionalProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.propertyName != null && Object.hasOwnProperty.call(message, "propertyName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.propertyName); + if (message.textValue != null && message.textValue.length) + for (var i = 0; i < message.textValue.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.textValue[i]); + if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.boolValue); + if (message.intValue != null && message.intValue.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.intValue.length; ++i) + writer.int64(message.intValue[i]); + writer.ldelim(); + } + if (message.floatValue != null && message.floatValue.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.floatValue.length; ++i) + writer.float(message.floatValue[i]); + writer.ldelim(); + } + if (message.minValue != null && Object.hasOwnProperty.call(message, "minValue")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.minValue); + if (message.maxValue != null && Object.hasOwnProperty.call(message, "maxValue")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.maxValue); + if (message.unitCode != null && Object.hasOwnProperty.call(message, "unitCode")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.unitCode); + return writer; + }; + + /** + * Encodes the specified CloudExportAdditionalProperties message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties} message CloudExportAdditionalProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CloudExportAdditionalProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CloudExportAdditionalProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.propertyName = reader.string(); + break; + } + case 2: { + if (!(message.textValue && message.textValue.length)) + message.textValue = []; + message.textValue.push(reader.string()); + break; + } + case 3: { + message.boolValue = reader.bool(); + break; + } + case 4: { + if (!(message.intValue && message.intValue.length)) + message.intValue = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.intValue.push(reader.int64()); + } else + message.intValue.push(reader.int64()); + break; + } + case 5: { + if (!(message.floatValue && message.floatValue.length)) + message.floatValue = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.floatValue.push(reader.float()); + } else + message.floatValue.push(reader.float()); + break; + } + case 6: { + message.minValue = reader.float(); + break; + } + case 7: { + message.maxValue = reader.float(); + break; + } + case 8: { + message.unitCode = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CloudExportAdditionalProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CloudExportAdditionalProperties message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CloudExportAdditionalProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.propertyName != null && message.hasOwnProperty("propertyName")) { + properties._propertyName = 1; + if (!$util.isString(message.propertyName)) + return "propertyName: string expected"; + } + if (message.textValue != null && message.hasOwnProperty("textValue")) { + if (!Array.isArray(message.textValue)) + return "textValue: array expected"; + for (var i = 0; i < message.textValue.length; ++i) + if (!$util.isString(message.textValue[i])) + return "textValue: string[] expected"; + } + if (message.boolValue != null && message.hasOwnProperty("boolValue")) { + properties._boolValue = 1; + if (typeof message.boolValue !== "boolean") + return "boolValue: boolean expected"; + } + if (message.intValue != null && message.hasOwnProperty("intValue")) { + if (!Array.isArray(message.intValue)) + return "intValue: array expected"; + for (var i = 0; i < message.intValue.length; ++i) + if (!$util.isInteger(message.intValue[i]) && !(message.intValue[i] && $util.isInteger(message.intValue[i].low) && $util.isInteger(message.intValue[i].high))) + return "intValue: integer|Long[] expected"; + } + if (message.floatValue != null && message.hasOwnProperty("floatValue")) { + if (!Array.isArray(message.floatValue)) + return "floatValue: array expected"; + for (var i = 0; i < message.floatValue.length; ++i) + if (typeof message.floatValue[i] !== "number") + return "floatValue: number[] expected"; + } + if (message.minValue != null && message.hasOwnProperty("minValue")) { + properties._minValue = 1; + if (typeof message.minValue !== "number") + return "minValue: number expected"; + } + if (message.maxValue != null && message.hasOwnProperty("maxValue")) { + properties._maxValue = 1; + if (typeof message.maxValue !== "number") + return "maxValue: number expected"; + } + if (message.unitCode != null && message.hasOwnProperty("unitCode")) { + properties._unitCode = 1; + if (!$util.isString(message.unitCode)) + return "unitCode: string expected"; + } + return null; + }; + + /** + * Creates a CloudExportAdditionalProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties + */ + CloudExportAdditionalProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties(); + if (object.propertyName != null) + message.propertyName = String(object.propertyName); + if (object.textValue) { + if (!Array.isArray(object.textValue)) + throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.textValue: array expected"); + message.textValue = []; + for (var i = 0; i < object.textValue.length; ++i) + message.textValue[i] = String(object.textValue[i]); + } + if (object.boolValue != null) + message.boolValue = Boolean(object.boolValue); + if (object.intValue) { + if (!Array.isArray(object.intValue)) + throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.intValue: array expected"); + message.intValue = []; + for (var i = 0; i < object.intValue.length; ++i) + if ($util.Long) + (message.intValue[i] = $util.Long.fromValue(object.intValue[i])).unsigned = false; + else if (typeof object.intValue[i] === "string") + message.intValue[i] = parseInt(object.intValue[i], 10); + else if (typeof object.intValue[i] === "number") + message.intValue[i] = object.intValue[i]; + else if (typeof object.intValue[i] === "object") + message.intValue[i] = new $util.LongBits(object.intValue[i].low >>> 0, object.intValue[i].high >>> 0).toNumber(); + } + if (object.floatValue) { + if (!Array.isArray(object.floatValue)) + throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.floatValue: array expected"); + message.floatValue = []; + for (var i = 0; i < object.floatValue.length; ++i) + message.floatValue[i] = Number(object.floatValue[i]); + } + if (object.minValue != null) + message.minValue = Number(object.minValue); + if (object.maxValue != null) + message.maxValue = Number(object.maxValue); + if (object.unitCode != null) + message.unitCode = String(object.unitCode); + return message; + }; + + /** + * Creates a plain object from a CloudExportAdditionalProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} message CloudExportAdditionalProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CloudExportAdditionalProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.textValue = []; + object.intValue = []; + object.floatValue = []; + } + if (message.propertyName != null && message.hasOwnProperty("propertyName")) { + object.propertyName = message.propertyName; + if (options.oneofs) + object._propertyName = "propertyName"; + } + if (message.textValue && message.textValue.length) { + object.textValue = []; + for (var j = 0; j < message.textValue.length; ++j) + object.textValue[j] = message.textValue[j]; + } + if (message.boolValue != null && message.hasOwnProperty("boolValue")) { + object.boolValue = message.boolValue; + if (options.oneofs) + object._boolValue = "boolValue"; + } + if (message.intValue && message.intValue.length) { + object.intValue = []; + for (var j = 0; j < message.intValue.length; ++j) + if (typeof message.intValue[j] === "number") + object.intValue[j] = options.longs === String ? String(message.intValue[j]) : message.intValue[j]; + else + object.intValue[j] = options.longs === String ? $util.Long.prototype.toString.call(message.intValue[j]) : options.longs === Number ? new $util.LongBits(message.intValue[j].low >>> 0, message.intValue[j].high >>> 0).toNumber() : message.intValue[j]; + } + if (message.floatValue && message.floatValue.length) { + object.floatValue = []; + for (var j = 0; j < message.floatValue.length; ++j) + object.floatValue[j] = options.json && !isFinite(message.floatValue[j]) ? String(message.floatValue[j]) : message.floatValue[j]; + } + if (message.minValue != null && message.hasOwnProperty("minValue")) { + object.minValue = options.json && !isFinite(message.minValue) ? String(message.minValue) : message.minValue; + if (options.oneofs) + object._minValue = "minValue"; + } + if (message.maxValue != null && message.hasOwnProperty("maxValue")) { + object.maxValue = options.json && !isFinite(message.maxValue) ? String(message.maxValue) : message.maxValue; + if (options.oneofs) + object._maxValue = "maxValue"; + } + if (message.unitCode != null && message.hasOwnProperty("unitCode")) { + object.unitCode = message.unitCode; + if (options.oneofs) + object._unitCode = "unitCode"; + } + return object; + }; + + /** + * Converts this CloudExportAdditionalProperties to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @instance + * @returns {Object.} JSON object + */ + CloudExportAdditionalProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CloudExportAdditionalProperties + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CloudExportAdditionalProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties"; + }; + + return CloudExportAdditionalProperties; + })(); + + v1beta.ProductsService = (function() { + + /** + * Constructs a new ProductsService service. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ProductsService + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function ProductsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductsService; + + /** + * Creates new ProductsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {ProductsService} RPC service. Useful where requests and/or responses are streamed. + */ + ProductsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|getProduct}. + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @typedef GetProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.merchant.products.v1beta.Product} [response] Product + */ + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} request GetProductRequest message or plain object + * @param {google.shopping.merchant.products.v1beta.ProductsService.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductsService.prototype.getProduct = function getProduct(request, callback) { + return this.rpcCall(getProduct, $root.google.shopping.merchant.products.v1beta.GetProductRequest, $root.google.shopping.merchant.products.v1beta.Product, request, callback); + }, "name", { value: "GetProduct" }); + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} request GetProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|listProducts}. + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @typedef ListProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.merchant.products.v1beta.ListProductsResponse} [response] ListProductsResponse + */ + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} request ListProductsRequest message or plain object + * @param {google.shopping.merchant.products.v1beta.ProductsService.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductsService.prototype.listProducts = function listProducts(request, callback) { + return this.rpcCall(listProducts, $root.google.shopping.merchant.products.v1beta.ListProductsRequest, $root.google.shopping.merchant.products.v1beta.ListProductsResponse, request, callback); + }, "name", { value: "ListProducts" }); + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.shopping.merchant.products.v1beta.ProductsService + * @instance + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} request ListProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ProductsService; + })(); + + v1beta.Product = (function() { + + /** + * Properties of a Product. + * @memberof google.shopping.merchant.products.v1beta + * @interface IProduct + * @property {string|null} [name] Product name + * @property {google.shopping.type.Channel.ChannelEnum|null} [channel] Product channel + * @property {string|null} [offerId] Product offerId + * @property {string|null} [contentLanguage] Product contentLanguage + * @property {string|null} [feedLabel] Product feedLabel + * @property {string|null} [dataSource] Product dataSource + * @property {number|Long|null} [versionNumber] Product versionNumber + * @property {google.shopping.merchant.products.v1beta.IAttributes|null} [attributes] Product attributes + * @property {Array.|null} [customAttributes] Product customAttributes + * @property {google.shopping.merchant.products.v1beta.IProductStatus|null} [productStatus] Product productStatus + */ + + /** + * Constructs a new Product. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a Product. + * @implements IProduct + * @constructor + * @param {google.shopping.merchant.products.v1beta.IProduct=} [properties] Properties to set + */ + function Product(properties) { + this.customAttributes = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Product name. + * @member {string} name + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.name = ""; + + /** + * Product channel. + * @member {google.shopping.type.Channel.ChannelEnum} channel + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.channel = 0; + + /** + * Product offerId. + * @member {string} offerId + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.offerId = ""; + + /** + * Product contentLanguage. + * @member {string} contentLanguage + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.contentLanguage = ""; + + /** + * Product feedLabel. + * @member {string} feedLabel + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.feedLabel = ""; + + /** + * Product dataSource. + * @member {string} dataSource + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.dataSource = ""; + + /** + * Product versionNumber. + * @member {number|Long|null|undefined} versionNumber + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.versionNumber = null; + + /** + * Product attributes. + * @member {google.shopping.merchant.products.v1beta.IAttributes|null|undefined} attributes + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.attributes = null; + + /** + * Product customAttributes. + * @member {Array.} customAttributes + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.customAttributes = $util.emptyArray; + + /** + * Product productStatus. + * @member {google.shopping.merchant.products.v1beta.IProductStatus|null|undefined} productStatus + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Product.prototype.productStatus = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Product _versionNumber. + * @member {"versionNumber"|undefined} _versionNumber + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + */ + Object.defineProperty(Product.prototype, "_versionNumber", { + get: $util.oneOfGetter($oneOfFields = ["versionNumber"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Product instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {google.shopping.merchant.products.v1beta.IProduct=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.Product} Product instance + */ + Product.create = function create(properties) { + return new Product(properties); + }; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {google.shopping.merchant.products.v1beta.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.channel); + if (message.offerId != null && Object.hasOwnProperty.call(message, "offerId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.offerId); + if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.contentLanguage); + if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.feedLabel); + if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.dataSource); + if (message.versionNumber != null && Object.hasOwnProperty.call(message, "versionNumber")) + writer.uint32(/* id 7, wireType 0 =*/56).int64(message.versionNumber); + if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) + $root.google.shopping.merchant.products.v1beta.Attributes.encode(message.attributes, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.customAttributes != null && message.customAttributes.length) + for (var i = 0; i < message.customAttributes.length; ++i) + $root.google.shopping.type.CustomAttribute.encode(message.customAttributes[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.productStatus != null && Object.hasOwnProperty.call(message, "productStatus")) + $root.google.shopping.merchant.products.v1beta.ProductStatus.encode(message.productStatus, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {google.shopping.merchant.products.v1beta.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Product message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Product(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.channel = reader.int32(); + break; + } + case 3: { + message.offerId = reader.string(); + break; + } + case 4: { + message.contentLanguage = reader.string(); + break; + } + case 5: { + message.feedLabel = reader.string(); + break; + } + case 6: { + message.dataSource = reader.string(); + break; + } + case 7: { + message.versionNumber = reader.int64(); + break; + } + case 8: { + message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.customAttributes && message.customAttributes.length)) + message.customAttributes = []; + message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); + break; + } + case 10: { + message.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Product message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Product.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.channel != null && message.hasOwnProperty("channel")) + switch (message.channel) { + default: + return "channel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.offerId != null && message.hasOwnProperty("offerId")) + if (!$util.isString(message.offerId)) + return "offerId: string expected"; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + if (!$util.isString(message.contentLanguage)) + return "contentLanguage: string expected"; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + if (!$util.isString(message.feedLabel)) + return "feedLabel: string expected"; + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + if (!$util.isString(message.dataSource)) + return "dataSource: string expected"; + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { + properties._versionNumber = 1; + if (!$util.isInteger(message.versionNumber) && !(message.versionNumber && $util.isInteger(message.versionNumber.low) && $util.isInteger(message.versionNumber.high))) + return "versionNumber: integer|Long expected"; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + var error = $root.google.shopping.merchant.products.v1beta.Attributes.verify(message.attributes); + if (error) + return "attributes." + error; + } + if (message.customAttributes != null && message.hasOwnProperty("customAttributes")) { + if (!Array.isArray(message.customAttributes)) + return "customAttributes: array expected"; + for (var i = 0; i < message.customAttributes.length; ++i) { + var error = $root.google.shopping.type.CustomAttribute.verify(message.customAttributes[i]); + if (error) + return "customAttributes." + error; + } + } + if (message.productStatus != null && message.hasOwnProperty("productStatus")) { + var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.verify(message.productStatus); + if (error) + return "productStatus." + error; + } + return null; + }; + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.Product} Product + */ + Product.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.Product) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.Product(); + if (object.name != null) + message.name = String(object.name); + switch (object.channel) { + default: + if (typeof object.channel === "number") { + message.channel = object.channel; + break; + } + break; + case "CHANNEL_ENUM_UNSPECIFIED": + case 0: + message.channel = 0; + break; + case "ONLINE": + case 1: + message.channel = 1; + break; + case "LOCAL": + case 2: + message.channel = 2; + break; + } + if (object.offerId != null) + message.offerId = String(object.offerId); + if (object.contentLanguage != null) + message.contentLanguage = String(object.contentLanguage); + if (object.feedLabel != null) + message.feedLabel = String(object.feedLabel); + if (object.dataSource != null) + message.dataSource = String(object.dataSource); + if (object.versionNumber != null) + if ($util.Long) + (message.versionNumber = $util.Long.fromValue(object.versionNumber)).unsigned = false; + else if (typeof object.versionNumber === "string") + message.versionNumber = parseInt(object.versionNumber, 10); + else if (typeof object.versionNumber === "number") + message.versionNumber = object.versionNumber; + else if (typeof object.versionNumber === "object") + message.versionNumber = new $util.LongBits(object.versionNumber.low >>> 0, object.versionNumber.high >>> 0).toNumber(); + if (object.attributes != null) { + if (typeof object.attributes !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Product.attributes: object expected"); + message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.fromObject(object.attributes); + } + if (object.customAttributes) { + if (!Array.isArray(object.customAttributes)) + throw TypeError(".google.shopping.merchant.products.v1beta.Product.customAttributes: array expected"); + message.customAttributes = []; + for (var i = 0; i < object.customAttributes.length; ++i) { + if (typeof object.customAttributes[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Product.customAttributes: object expected"); + message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); + } + } + if (object.productStatus != null) { + if (typeof object.productStatus !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.Product.productStatus: object expected"); + message.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.fromObject(object.productStatus); + } + return message; + }; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {google.shopping.merchant.products.v1beta.Product} message Product + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Product.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.customAttributes = []; + if (options.defaults) { + object.name = ""; + object.channel = options.enums === String ? "CHANNEL_ENUM_UNSPECIFIED" : 0; + object.offerId = ""; + object.contentLanguage = ""; + object.feedLabel = ""; + object.dataSource = ""; + object.attributes = null; + object.productStatus = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.channel != null && message.hasOwnProperty("channel")) + object.channel = options.enums === String ? $root.google.shopping.type.Channel.ChannelEnum[message.channel] === undefined ? message.channel : $root.google.shopping.type.Channel.ChannelEnum[message.channel] : message.channel; + if (message.offerId != null && message.hasOwnProperty("offerId")) + object.offerId = message.offerId; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + object.contentLanguage = message.contentLanguage; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + object.feedLabel = message.feedLabel; + if (message.dataSource != null && message.hasOwnProperty("dataSource")) + object.dataSource = message.dataSource; + if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { + if (typeof message.versionNumber === "number") + object.versionNumber = options.longs === String ? String(message.versionNumber) : message.versionNumber; + else + object.versionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.versionNumber) : options.longs === Number ? new $util.LongBits(message.versionNumber.low >>> 0, message.versionNumber.high >>> 0).toNumber() : message.versionNumber; + if (options.oneofs) + object._versionNumber = "versionNumber"; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) + object.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.toObject(message.attributes, options); + if (message.customAttributes && message.customAttributes.length) { + object.customAttributes = []; + for (var j = 0; j < message.customAttributes.length; ++j) + object.customAttributes[j] = $root.google.shopping.type.CustomAttribute.toObject(message.customAttributes[j], options); + } + if (message.productStatus != null && message.hasOwnProperty("productStatus")) + object.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.toObject(message.productStatus, options); + return object; + }; + + /** + * Converts this Product to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.Product + * @instance + * @returns {Object.} JSON object + */ + Product.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Product + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.Product + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Product"; + }; + + return Product; + })(); + + v1beta.GetProductRequest = (function() { + + /** + * Properties of a GetProductRequest. + * @memberof google.shopping.merchant.products.v1beta + * @interface IGetProductRequest + * @property {string|null} [name] GetProductRequest name + */ + + /** + * Constructs a new GetProductRequest. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a GetProductRequest. + * @implements IGetProductRequest + * @constructor + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest=} [properties] Properties to set + */ + function GetProductRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProductRequest name. + * @member {string} name + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @instance + */ + GetProductRequest.prototype.name = ""; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest instance + */ + GetProductRequest.create = function create(properties) { + return new GetProductRequest(properties); + }; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.GetProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductRequest message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest + */ + GetProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.GetProductRequest) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.GetProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {google.shopping.merchant.products.v1beta.GetProductRequest} message GetProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetProductRequest to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetProductRequest + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.GetProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.GetProductRequest"; + }; + + return GetProductRequest; + })(); + + v1beta.ListProductsRequest = (function() { + + /** + * Properties of a ListProductsRequest. + * @memberof google.shopping.merchant.products.v1beta + * @interface IListProductsRequest + * @property {string|null} [parent] ListProductsRequest parent + * @property {number|null} [pageSize] ListProductsRequest pageSize + * @property {string|null} [pageToken] ListProductsRequest pageToken + */ + + /** + * Constructs a new ListProductsRequest. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ListProductsRequest. + * @implements IListProductsRequest + * @constructor + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest=} [properties] Properties to set + */ + function ListProductsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsRequest parent. + * @member {string} parent + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.parent = ""; + + /** + * ListProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageSize = 0; + + /** + * ListProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest instance + */ + ListProductsRequest.create = function create(properties) { + return new ListProductsRequest(properties); + }; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ListProductsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsRequest message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest + */ + ListProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ListProductsRequest) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ListProductsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {google.shopping.merchant.products.v1beta.ListProductsRequest} message ListProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListProductsRequest to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListProductsRequest + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ListProductsRequest"; + }; + + return ListProductsRequest; + })(); + + v1beta.ListProductsResponse = (function() { + + /** + * Properties of a ListProductsResponse. + * @memberof google.shopping.merchant.products.v1beta + * @interface IListProductsResponse + * @property {Array.|null} [products] ListProductsResponse products + * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken + */ + + /** + * Constructs a new ListProductsResponse. + * @memberof google.shopping.merchant.products.v1beta + * @classdesc Represents a ListProductsResponse. + * @implements IListProductsResponse + * @constructor + * @param {google.shopping.merchant.products.v1beta.IListProductsResponse=} [properties] Properties to set + */ + function ListProductsResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsResponse products. + * @member {Array.} products + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @function create + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsResponse=} [properties] Properties to set + * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse instance + */ + ListProductsResponse.create = function create(properties) { + return new ListProductsResponse(properties); + }; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. + * @function encode + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.shopping.merchant.products.v1beta.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {google.shopping.merchant.products.v1beta.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ListProductsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.shopping.merchant.products.v1beta.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsResponse message. + * @function verify + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.shopping.merchant.products.v1beta.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse + */ + ListProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.merchant.products.v1beta.ListProductsResponse) + return object; + var message = new $root.google.shopping.merchant.products.v1beta.ListProductsResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.shopping.merchant.products.v1beta.ListProductsResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.ListProductsResponse.products: object expected"); + message.products[i] = $root.google.shopping.merchant.products.v1beta.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {google.shopping.merchant.products.v1beta.ListProductsResponse} message ListProductsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.shopping.merchant.products.v1beta.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsResponse to JSON. + * @function toJSON + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListProductsResponse + * @function getTypeUrl + * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ListProductsResponse"; + }; + + return ListProductsResponse; + })(); + + return v1beta; + })(); + + return products; + })(); + + return merchant; + })(); + + shopping.type = (function() { + + /** + * Namespace type. + * @memberof google.shopping + * @namespace + */ + var type = {}; + + type.Weight = (function() { + + /** + * Properties of a Weight. + * @memberof google.shopping.type + * @interface IWeight + * @property {number|Long|null} [amountMicros] Weight amountMicros + * @property {google.shopping.type.Weight.WeightUnit|null} [unit] Weight unit + */ + + /** + * Constructs a new Weight. + * @memberof google.shopping.type + * @classdesc Represents a Weight. + * @implements IWeight + * @constructor + * @param {google.shopping.type.IWeight=} [properties] Properties to set + */ + function Weight(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Weight amountMicros. + * @member {number|Long|null|undefined} amountMicros + * @memberof google.shopping.type.Weight + * @instance + */ + Weight.prototype.amountMicros = null; + + /** + * Weight unit. + * @member {google.shopping.type.Weight.WeightUnit} unit + * @memberof google.shopping.type.Weight + * @instance + */ + Weight.prototype.unit = 0; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Weight _amountMicros. + * @member {"amountMicros"|undefined} _amountMicros + * @memberof google.shopping.type.Weight + * @instance + */ + Object.defineProperty(Weight.prototype, "_amountMicros", { + get: $util.oneOfGetter($oneOfFields = ["amountMicros"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Weight instance using the specified properties. + * @function create + * @memberof google.shopping.type.Weight + * @static + * @param {google.shopping.type.IWeight=} [properties] Properties to set + * @returns {google.shopping.type.Weight} Weight instance + */ + Weight.create = function create(properties) { + return new Weight(properties); + }; + + /** + * Encodes the specified Weight message. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.Weight + * @static + * @param {google.shopping.type.IWeight} message Weight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Weight.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.unit); + return writer; + }; + + /** + * Encodes the specified Weight message, length delimited. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.Weight + * @static + * @param {google.shopping.type.IWeight} message Weight message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Weight.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Weight message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.Weight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.Weight} Weight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Weight.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Weight(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.amountMicros = reader.int64(); + break; + } + case 2: { + message.unit = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Weight message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.Weight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.Weight} Weight + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Weight.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Weight message. + * @function verify + * @memberof google.shopping.type.Weight + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Weight.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { + properties._amountMicros = 1; + if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high))) + return "amountMicros: integer|Long expected"; + } + if (message.unit != null && message.hasOwnProperty("unit")) + switch (message.unit) { + default: + return "unit: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a Weight message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.Weight + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.Weight} Weight + */ + Weight.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.Weight) + return object; + var message = new $root.google.shopping.type.Weight(); + if (object.amountMicros != null) + if ($util.Long) + (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false; + else if (typeof object.amountMicros === "string") + message.amountMicros = parseInt(object.amountMicros, 10); + else if (typeof object.amountMicros === "number") + message.amountMicros = object.amountMicros; + else if (typeof object.amountMicros === "object") + message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber(); + switch (object.unit) { + default: + if (typeof object.unit === "number") { + message.unit = object.unit; + break; + } + break; + case "WEIGHT_UNIT_UNSPECIFIED": + case 0: + message.unit = 0; + break; + case "POUND": + case 1: + message.unit = 1; + break; + case "KILOGRAM": + case 2: + message.unit = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a Weight message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.Weight + * @static + * @param {google.shopping.type.Weight} message Weight + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Weight.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.unit = options.enums === String ? "WEIGHT_UNIT_UNSPECIFIED" : 0; + if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { + if (typeof message.amountMicros === "number") + object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros; + else + object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros; + if (options.oneofs) + object._amountMicros = "amountMicros"; + } + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = options.enums === String ? $root.google.shopping.type.Weight.WeightUnit[message.unit] === undefined ? message.unit : $root.google.shopping.type.Weight.WeightUnit[message.unit] : message.unit; + return object; + }; + + /** + * Converts this Weight to JSON. + * @function toJSON + * @memberof google.shopping.type.Weight + * @instance + * @returns {Object.} JSON object + */ + Weight.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Weight + * @function getTypeUrl + * @memberof google.shopping.type.Weight + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Weight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.Weight"; + }; + + /** + * WeightUnit enum. + * @name google.shopping.type.Weight.WeightUnit + * @enum {number} + * @property {number} WEIGHT_UNIT_UNSPECIFIED=0 WEIGHT_UNIT_UNSPECIFIED value + * @property {number} POUND=1 POUND value + * @property {number} KILOGRAM=2 KILOGRAM value + */ + Weight.WeightUnit = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "WEIGHT_UNIT_UNSPECIFIED"] = 0; + values[valuesById[1] = "POUND"] = 1; + values[valuesById[2] = "KILOGRAM"] = 2; + return values; + })(); + + return Weight; + })(); + + type.Price = (function() { + + /** + * Properties of a Price. + * @memberof google.shopping.type + * @interface IPrice + * @property {number|Long|null} [amountMicros] Price amountMicros + * @property {string|null} [currencyCode] Price currencyCode + */ + + /** + * Constructs a new Price. + * @memberof google.shopping.type + * @classdesc Represents a Price. + * @implements IPrice + * @constructor + * @param {google.shopping.type.IPrice=} [properties] Properties to set + */ + function Price(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Price amountMicros. + * @member {number|Long|null|undefined} amountMicros + * @memberof google.shopping.type.Price + * @instance + */ + Price.prototype.amountMicros = null; + + /** + * Price currencyCode. + * @member {string|null|undefined} currencyCode + * @memberof google.shopping.type.Price + * @instance + */ + Price.prototype.currencyCode = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Price _amountMicros. + * @member {"amountMicros"|undefined} _amountMicros + * @memberof google.shopping.type.Price + * @instance + */ + Object.defineProperty(Price.prototype, "_amountMicros", { + get: $util.oneOfGetter($oneOfFields = ["amountMicros"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Price _currencyCode. + * @member {"currencyCode"|undefined} _currencyCode + * @memberof google.shopping.type.Price + * @instance + */ + Object.defineProperty(Price.prototype, "_currencyCode", { + get: $util.oneOfGetter($oneOfFields = ["currencyCode"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Price instance using the specified properties. + * @function create + * @memberof google.shopping.type.Price + * @static + * @param {google.shopping.type.IPrice=} [properties] Properties to set + * @returns {google.shopping.type.Price} Price instance + */ + Price.create = function create(properties) { + return new Price(properties); + }; + + /** + * Encodes the specified Price message. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.Price + * @static + * @param {google.shopping.type.IPrice} message Price message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Price.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros); + if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.currencyCode); + return writer; + }; + + /** + * Encodes the specified Price message, length delimited. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.Price + * @static + * @param {google.shopping.type.IPrice} message Price message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Price.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Price message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.Price + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.Price} Price + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Price.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Price(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.amountMicros = reader.int64(); + break; + } + case 2: { + message.currencyCode = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Price message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.Price + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.Price} Price + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Price.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Price message. + * @function verify + * @memberof google.shopping.type.Price + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Price.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { + properties._amountMicros = 1; + if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high))) + return "amountMicros: integer|Long expected"; + } + if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) { + properties._currencyCode = 1; + if (!$util.isString(message.currencyCode)) + return "currencyCode: string expected"; + } + return null; + }; + + /** + * Creates a Price message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.Price + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.Price} Price + */ + Price.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.Price) + return object; + var message = new $root.google.shopping.type.Price(); + if (object.amountMicros != null) + if ($util.Long) + (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false; + else if (typeof object.amountMicros === "string") + message.amountMicros = parseInt(object.amountMicros, 10); + else if (typeof object.amountMicros === "number") + message.amountMicros = object.amountMicros; + else if (typeof object.amountMicros === "object") + message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber(); + if (object.currencyCode != null) + message.currencyCode = String(object.currencyCode); + return message; + }; + + /** + * Creates a plain object from a Price message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.Price + * @static + * @param {google.shopping.type.Price} message Price + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Price.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { + if (typeof message.amountMicros === "number") + object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros; + else + object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros; + if (options.oneofs) + object._amountMicros = "amountMicros"; + } + if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) { + object.currencyCode = message.currencyCode; + if (options.oneofs) + object._currencyCode = "currencyCode"; + } + return object; + }; + + /** + * Converts this Price to JSON. + * @function toJSON + * @memberof google.shopping.type.Price + * @instance + * @returns {Object.} JSON object + */ + Price.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Price + * @function getTypeUrl + * @memberof google.shopping.type.Price + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Price.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.Price"; + }; + + return Price; + })(); + + type.CustomAttribute = (function() { + + /** + * Properties of a CustomAttribute. + * @memberof google.shopping.type + * @interface ICustomAttribute + * @property {string|null} [name] CustomAttribute name + * @property {string|null} [value] CustomAttribute value + * @property {Array.|null} [groupValues] CustomAttribute groupValues + */ + + /** + * Constructs a new CustomAttribute. + * @memberof google.shopping.type + * @classdesc Represents a CustomAttribute. + * @implements ICustomAttribute + * @constructor + * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set + */ + function CustomAttribute(properties) { + this.groupValues = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomAttribute name. + * @member {string|null|undefined} name + * @memberof google.shopping.type.CustomAttribute + * @instance + */ + CustomAttribute.prototype.name = null; + + /** + * CustomAttribute value. + * @member {string|null|undefined} value + * @memberof google.shopping.type.CustomAttribute + * @instance + */ + CustomAttribute.prototype.value = null; + + /** + * CustomAttribute groupValues. + * @member {Array.} groupValues + * @memberof google.shopping.type.CustomAttribute + * @instance + */ + CustomAttribute.prototype.groupValues = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * CustomAttribute _name. + * @member {"name"|undefined} _name + * @memberof google.shopping.type.CustomAttribute + * @instance + */ + Object.defineProperty(CustomAttribute.prototype, "_name", { + get: $util.oneOfGetter($oneOfFields = ["name"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * CustomAttribute _value. + * @member {"value"|undefined} _value + * @memberof google.shopping.type.CustomAttribute + * @instance + */ + Object.defineProperty(CustomAttribute.prototype, "_value", { + get: $util.oneOfGetter($oneOfFields = ["value"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new CustomAttribute instance using the specified properties. + * @function create + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set + * @returns {google.shopping.type.CustomAttribute} CustomAttribute instance + */ + CustomAttribute.create = function create(properties) { + return new CustomAttribute(properties); + }; + + /** + * Encodes the specified CustomAttribute message. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomAttribute.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.groupValues != null && message.groupValues.length) + for (var i = 0; i < message.groupValues.length; ++i) + $root.google.shopping.type.CustomAttribute.encode(message.groupValues[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomAttribute.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomAttribute message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.CustomAttribute} CustomAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomAttribute.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.CustomAttribute(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + if (!(message.groupValues && message.groupValues.length)) + message.groupValues = []; + message.groupValues.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomAttribute message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.CustomAttribute} CustomAttribute + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomAttribute.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomAttribute message. + * @function verify + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomAttribute.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) { + properties._name = 1; + if (!$util.isString(message.name)) + return "name: string expected"; + } + if (message.value != null && message.hasOwnProperty("value")) { + properties._value = 1; + if (!$util.isString(message.value)) + return "value: string expected"; + } + if (message.groupValues != null && message.hasOwnProperty("groupValues")) { + if (!Array.isArray(message.groupValues)) + return "groupValues: array expected"; + for (var i = 0; i < message.groupValues.length; ++i) { + var error = $root.google.shopping.type.CustomAttribute.verify(message.groupValues[i]); + if (error) + return "groupValues." + error; + } + } + return null; + }; + + /** + * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.CustomAttribute} CustomAttribute + */ + CustomAttribute.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.CustomAttribute) + return object; + var message = new $root.google.shopping.type.CustomAttribute(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.groupValues) { + if (!Array.isArray(object.groupValues)) + throw TypeError(".google.shopping.type.CustomAttribute.groupValues: array expected"); + message.groupValues = []; + for (var i = 0; i < object.groupValues.length; ++i) { + if (typeof object.groupValues[i] !== "object") + throw TypeError(".google.shopping.type.CustomAttribute.groupValues: object expected"); + message.groupValues[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.groupValues[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {google.shopping.type.CustomAttribute} message CustomAttribute + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomAttribute.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.groupValues = []; + if (message.name != null && message.hasOwnProperty("name")) { + object.name = message.name; + if (options.oneofs) + object._name = "name"; + } + if (message.value != null && message.hasOwnProperty("value")) { + object.value = message.value; + if (options.oneofs) + object._value = "value"; + } + if (message.groupValues && message.groupValues.length) { + object.groupValues = []; + for (var j = 0; j < message.groupValues.length; ++j) + object.groupValues[j] = $root.google.shopping.type.CustomAttribute.toObject(message.groupValues[j], options); + } + return object; + }; + + /** + * Converts this CustomAttribute to JSON. + * @function toJSON + * @memberof google.shopping.type.CustomAttribute + * @instance + * @returns {Object.} JSON object + */ + CustomAttribute.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomAttribute + * @function getTypeUrl + * @memberof google.shopping.type.CustomAttribute + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.CustomAttribute"; + }; + + return CustomAttribute; + })(); + + type.Destination = (function() { + + /** + * Properties of a Destination. + * @memberof google.shopping.type + * @interface IDestination + */ + + /** + * Constructs a new Destination. + * @memberof google.shopping.type + * @classdesc Represents a Destination. + * @implements IDestination + * @constructor + * @param {google.shopping.type.IDestination=} [properties] Properties to set + */ + function Destination(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Destination instance using the specified properties. + * @function create + * @memberof google.shopping.type.Destination + * @static + * @param {google.shopping.type.IDestination=} [properties] Properties to set + * @returns {google.shopping.type.Destination} Destination instance + */ + Destination.create = function create(properties) { + return new Destination(properties); + }; + + /** + * Encodes the specified Destination message. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.Destination + * @static + * @param {google.shopping.type.IDestination} message Destination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Destination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.Destination + * @static + * @param {google.shopping.type.IDestination} message Destination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Destination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Destination message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.Destination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.Destination} Destination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Destination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Destination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Destination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.Destination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.Destination} Destination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Destination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Destination message. + * @function verify + * @memberof google.shopping.type.Destination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Destination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a Destination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.Destination + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.Destination} Destination + */ + Destination.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.Destination) + return object; + return new $root.google.shopping.type.Destination(); + }; + + /** + * Creates a plain object from a Destination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.Destination + * @static + * @param {google.shopping.type.Destination} message Destination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Destination.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Destination to JSON. + * @function toJSON + * @memberof google.shopping.type.Destination + * @instance + * @returns {Object.} JSON object + */ + Destination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Destination + * @function getTypeUrl + * @memberof google.shopping.type.Destination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Destination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.Destination"; + }; + + /** + * DestinationEnum enum. + * @name google.shopping.type.Destination.DestinationEnum + * @enum {number} + * @property {number} DESTINATION_ENUM_UNSPECIFIED=0 DESTINATION_ENUM_UNSPECIFIED value + * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value + * @property {number} DISPLAY_ADS=2 DISPLAY_ADS value + * @property {number} LOCAL_INVENTORY_ADS=3 LOCAL_INVENTORY_ADS value + * @property {number} FREE_LISTINGS=4 FREE_LISTINGS value + * @property {number} FREE_LOCAL_LISTINGS=5 FREE_LOCAL_LISTINGS value + * @property {number} YOUTUBE_SHOPPING=6 YOUTUBE_SHOPPING value + */ + Destination.DestinationEnum = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DESTINATION_ENUM_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOPPING_ADS"] = 1; + values[valuesById[2] = "DISPLAY_ADS"] = 2; + values[valuesById[3] = "LOCAL_INVENTORY_ADS"] = 3; + values[valuesById[4] = "FREE_LISTINGS"] = 4; + values[valuesById[5] = "FREE_LOCAL_LISTINGS"] = 5; + values[valuesById[6] = "YOUTUBE_SHOPPING"] = 6; + return values; + })(); + + return Destination; + })(); + + type.ReportingContext = (function() { + + /** + * Properties of a ReportingContext. + * @memberof google.shopping.type + * @interface IReportingContext + */ + + /** + * Constructs a new ReportingContext. + * @memberof google.shopping.type + * @classdesc Represents a ReportingContext. + * @implements IReportingContext + * @constructor + * @param {google.shopping.type.IReportingContext=} [properties] Properties to set + */ + function ReportingContext(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ReportingContext instance using the specified properties. + * @function create + * @memberof google.shopping.type.ReportingContext + * @static + * @param {google.shopping.type.IReportingContext=} [properties] Properties to set + * @returns {google.shopping.type.ReportingContext} ReportingContext instance + */ + ReportingContext.create = function create(properties) { + return new ReportingContext(properties); + }; + + /** + * Encodes the specified ReportingContext message. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.ReportingContext + * @static + * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReportingContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ReportingContext message, length delimited. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.ReportingContext + * @static + * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReportingContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReportingContext message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.ReportingContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.ReportingContext} ReportingContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReportingContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.ReportingContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReportingContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.ReportingContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.ReportingContext} ReportingContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReportingContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReportingContext message. + * @function verify + * @memberof google.shopping.type.ReportingContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReportingContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a ReportingContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.ReportingContext + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.ReportingContext} ReportingContext + */ + ReportingContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.ReportingContext) + return object; + return new $root.google.shopping.type.ReportingContext(); + }; + + /** + * Creates a plain object from a ReportingContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.ReportingContext + * @static + * @param {google.shopping.type.ReportingContext} message ReportingContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReportingContext.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ReportingContext to JSON. + * @function toJSON + * @memberof google.shopping.type.ReportingContext + * @instance + * @returns {Object.} JSON object + */ + ReportingContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ReportingContext + * @function getTypeUrl + * @memberof google.shopping.type.ReportingContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReportingContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.ReportingContext"; + }; + + /** + * ReportingContextEnum enum. + * @name google.shopping.type.ReportingContext.ReportingContextEnum + * @enum {number} + * @property {number} REPORTING_CONTEXT_ENUM_UNSPECIFIED=0 REPORTING_CONTEXT_ENUM_UNSPECIFIED value + * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value + * @property {number} DISCOVERY_ADS=2 DISCOVERY_ADS value + * @property {number} DEMAND_GEN_ADS=13 DEMAND_GEN_ADS value + * @property {number} DEMAND_GEN_ADS_DISCOVER_SURFACE=14 DEMAND_GEN_ADS_DISCOVER_SURFACE value + * @property {number} VIDEO_ADS=3 VIDEO_ADS value + * @property {number} DISPLAY_ADS=4 DISPLAY_ADS value + * @property {number} LOCAL_INVENTORY_ADS=5 LOCAL_INVENTORY_ADS value + * @property {number} VEHICLE_INVENTORY_ADS=6 VEHICLE_INVENTORY_ADS value + * @property {number} FREE_LISTINGS=7 FREE_LISTINGS value + * @property {number} FREE_LOCAL_LISTINGS=8 FREE_LOCAL_LISTINGS value + * @property {number} FREE_LOCAL_VEHICLE_LISTINGS=9 FREE_LOCAL_VEHICLE_LISTINGS value + * @property {number} YOUTUBE_SHOPPING=10 YOUTUBE_SHOPPING value + * @property {number} CLOUD_RETAIL=11 CLOUD_RETAIL value + * @property {number} LOCAL_CLOUD_RETAIL=12 LOCAL_CLOUD_RETAIL value + */ + ReportingContext.ReportingContextEnum = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "REPORTING_CONTEXT_ENUM_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOPPING_ADS"] = 1; + values[valuesById[2] = "DISCOVERY_ADS"] = 2; + values[valuesById[13] = "DEMAND_GEN_ADS"] = 13; + values[valuesById[14] = "DEMAND_GEN_ADS_DISCOVER_SURFACE"] = 14; + values[valuesById[3] = "VIDEO_ADS"] = 3; + values[valuesById[4] = "DISPLAY_ADS"] = 4; + values[valuesById[5] = "LOCAL_INVENTORY_ADS"] = 5; + values[valuesById[6] = "VEHICLE_INVENTORY_ADS"] = 6; + values[valuesById[7] = "FREE_LISTINGS"] = 7; + values[valuesById[8] = "FREE_LOCAL_LISTINGS"] = 8; + values[valuesById[9] = "FREE_LOCAL_VEHICLE_LISTINGS"] = 9; + values[valuesById[10] = "YOUTUBE_SHOPPING"] = 10; + values[valuesById[11] = "CLOUD_RETAIL"] = 11; + values[valuesById[12] = "LOCAL_CLOUD_RETAIL"] = 12; + return values; + })(); + + return ReportingContext; + })(); + + type.Channel = (function() { + + /** + * Properties of a Channel. + * @memberof google.shopping.type + * @interface IChannel + */ + + /** + * Constructs a new Channel. + * @memberof google.shopping.type + * @classdesc Represents a Channel. + * @implements IChannel + * @constructor + * @param {google.shopping.type.IChannel=} [properties] Properties to set + */ + function Channel(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Channel instance using the specified properties. + * @function create + * @memberof google.shopping.type.Channel + * @static + * @param {google.shopping.type.IChannel=} [properties] Properties to set + * @returns {google.shopping.type.Channel} Channel instance + */ + Channel.create = function create(properties) { + return new Channel(properties); + }; + + /** + * Encodes the specified Channel message. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. + * @function encode + * @memberof google.shopping.type.Channel + * @static + * @param {google.shopping.type.IChannel} message Channel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Channel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.type.Channel + * @static + * @param {google.shopping.type.IChannel} message Channel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Channel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Channel message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.type.Channel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.type.Channel} Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Channel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Channel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Channel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.type.Channel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.type.Channel} Channel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Channel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Channel message. + * @function verify + * @memberof google.shopping.type.Channel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Channel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a Channel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.type.Channel + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.type.Channel} Channel + */ + Channel.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.type.Channel) + return object; + return new $root.google.shopping.type.Channel(); + }; + + /** + * Creates a plain object from a Channel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.type.Channel + * @static + * @param {google.shopping.type.Channel} message Channel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Channel.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Channel to JSON. + * @function toJSON + * @memberof google.shopping.type.Channel + * @instance + * @returns {Object.} JSON object + */ + Channel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Channel + * @function getTypeUrl + * @memberof google.shopping.type.Channel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Channel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.type.Channel"; + }; + + /** + * ChannelEnum enum. + * @name google.shopping.type.Channel.ChannelEnum + * @enum {number} + * @property {number} CHANNEL_ENUM_UNSPECIFIED=0 CHANNEL_ENUM_UNSPECIFIED value + * @property {number} ONLINE=1 ONLINE value + * @property {number} LOCAL=2 LOCAL value + */ + Channel.ChannelEnum = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CHANNEL_ENUM_UNSPECIFIED"] = 0; + values[valuesById[1] = "ONLINE"] = 1; + values[valuesById[2] = "LOCAL"] = 2; + return values; + })(); + + return Channel; + })(); + + return type; + })(); + + return shopping; + })(); + + google.api = (function() { + + /** + * Namespace api. + * @memberof google + * @namespace + */ + var api = {}; + + api.Http = (function() { + + /** + * Properties of a Http. + * @memberof google.api + * @interface IHttp + * @property {Array.|null} [rules] Http rules + * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion + */ + + /** + * Constructs a new Http. + * @memberof google.api + * @classdesc Represents a Http. + * @implements IHttp + * @constructor + * @param {google.api.IHttp=} [properties] Properties to set + */ + function Http(properties) { + this.rules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Http rules. + * @member {Array.} rules + * @memberof google.api.Http + * @instance + */ + Http.prototype.rules = $util.emptyArray; + + /** + * Http fullyDecodeReservedExpansion. + * @member {boolean} fullyDecodeReservedExpansion + * @memberof google.api.Http + * @instance + */ + Http.prototype.fullyDecodeReservedExpansion = false; + + /** + * Creates a new Http instance using the specified properties. + * @function create + * @memberof google.api.Http + * @static + * @param {google.api.IHttp=} [properties] Properties to set + * @returns {google.api.Http} Http instance + */ + Http.create = function create(properties) { + return new Http(properties); + }; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encode + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); + return writer; + }; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Http message from the specified reader or buffer. + * @function decode + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + case 2: { + message.fullyDecodeReservedExpansion = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Http message. + * @function verify + * @memberof google.api.Http + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Http.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (typeof message.fullyDecodeReservedExpansion !== "boolean") + return "fullyDecodeReservedExpansion: boolean expected"; + return null; + }; + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Http + * @static + * @param {Object.} object Plain object + * @returns {google.api.Http} Http + */ + Http.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Http) + return object; + var message = new $root.google.api.Http(); + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Http.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Http.rules: object expected"); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + } + } + if (object.fullyDecodeReservedExpansion != null) + message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion); + return message; + }; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Http + * @static + * @param {google.api.Http} message Http + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Http.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.rules = []; + if (options.defaults) + object.fullyDecodeReservedExpansion = false; + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options); + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion; + return object; + }; + + /** + * Converts this Http to JSON. + * @function toJSON + * @memberof google.api.Http + * @instance + * @returns {Object.} JSON object + */ + Http.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Http + * @function getTypeUrl + * @memberof google.api.Http + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Http"; + }; + + return Http; + })(); + + api.HttpRule = (function() { + + /** + * Properties of a HttpRule. + * @memberof google.api + * @interface IHttpRule + * @property {string|null} [selector] HttpRule selector + * @property {string|null} [get] HttpRule get + * @property {string|null} [put] HttpRule put + * @property {string|null} [post] HttpRule post + * @property {string|null} ["delete"] HttpRule delete + * @property {string|null} [patch] HttpRule patch + * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom + * @property {string|null} [body] HttpRule body + * @property {string|null} [responseBody] HttpRule responseBody + * @property {Array.|null} [additionalBindings] HttpRule additionalBindings + */ + + /** + * Constructs a new HttpRule. + * @memberof google.api + * @classdesc Represents a HttpRule. + * @implements IHttpRule + * @constructor + * @param {google.api.IHttpRule=} [properties] Properties to set + */ + function HttpRule(properties) { + this.additionalBindings = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * HttpRule selector. + * @member {string} selector + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.selector = ""; + + /** + * HttpRule get. + * @member {string|null|undefined} get + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.get = null; + + /** + * HttpRule put. + * @member {string|null|undefined} put + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.put = null; + + /** + * HttpRule post. + * @member {string|null|undefined} post + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.post = null; + + /** + * HttpRule delete. + * @member {string|null|undefined} delete + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype["delete"] = null; + + /** + * HttpRule patch. + * @member {string|null|undefined} patch + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.patch = null; + + /** + * HttpRule custom. + * @member {google.api.ICustomHttpPattern|null|undefined} custom + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.custom = null; + + /** + * HttpRule body. + * @member {string} body + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.body = ""; + + /** + * HttpRule responseBody. + * @member {string} responseBody + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.responseBody = ""; + + /** + * HttpRule additionalBindings. + * @member {Array.} additionalBindings + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.additionalBindings = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * HttpRule pattern. + * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern + * @memberof google.api.HttpRule + * @instance + */ + Object.defineProperty(HttpRule.prototype, "pattern", { + get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new HttpRule instance using the specified properties. + * @function create + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule=} [properties] Properties to set + * @returns {google.api.HttpRule} HttpRule instance + */ + HttpRule.create = function create(properties) { + return new HttpRule(properties); + }; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encode + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.get != null && Object.hasOwnProperty.call(message, "get")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); + if (message.put != null && Object.hasOwnProperty.call(message, "put")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); + if (message.post != null && Object.hasOwnProperty.call(message, "post")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); + if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); + if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); + if (message.body != null && Object.hasOwnProperty.call(message, "body")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); + if (message.custom != null && Object.hasOwnProperty.call(message, "custom")) + $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.additionalBindings != null && message.additionalBindings.length) + for (var i = 0; i < message.additionalBindings.length; ++i) + $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); + return writer; + }; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.get = reader.string(); + break; + } + case 3: { + message.put = reader.string(); + break; + } + case 4: { + message.post = reader.string(); + break; + } + case 5: { + message["delete"] = reader.string(); + break; + } + case 6: { + message.patch = reader.string(); + break; + } + case 8: { + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + break; + } + case 7: { + message.body = reader.string(); + break; + } + case 12: { + message.responseBody = reader.string(); + break; + } + case 11: { + if (!(message.additionalBindings && message.additionalBindings.length)) + message.additionalBindings = []; + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HttpRule message. + * @function verify + * @memberof google.api.HttpRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HttpRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.get != null && message.hasOwnProperty("get")) { + properties.pattern = 1; + if (!$util.isString(message.get)) + return "get: string expected"; + } + if (message.put != null && message.hasOwnProperty("put")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.put)) + return "put: string expected"; + } + if (message.post != null && message.hasOwnProperty("post")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.post)) + return "post: string expected"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message["delete"])) + return "delete: string expected"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.patch)) + return "patch: string expected"; + } + if (message.custom != null && message.hasOwnProperty("custom")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + { + var error = $root.google.api.CustomHttpPattern.verify(message.custom); + if (error) + return "custom." + error; + } + } + if (message.body != null && message.hasOwnProperty("body")) + if (!$util.isString(message.body)) + return "body: string expected"; + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + if (!$util.isString(message.responseBody)) + return "responseBody: string expected"; + if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) { + if (!Array.isArray(message.additionalBindings)) + return "additionalBindings: array expected"; + for (var i = 0; i < message.additionalBindings.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + if (error) + return "additionalBindings." + error; + } + } + return null; + }; + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.HttpRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.HttpRule} HttpRule + */ + HttpRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.HttpRule) + return object; + var message = new $root.google.api.HttpRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.get != null) + message.get = String(object.get); + if (object.put != null) + message.put = String(object.put); + if (object.post != null) + message.post = String(object.post); + if (object["delete"] != null) + message["delete"] = String(object["delete"]); + if (object.patch != null) + message.patch = String(object.patch); + if (object.custom != null) { + if (typeof object.custom !== "object") + throw TypeError(".google.api.HttpRule.custom: object expected"); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + } + if (object.body != null) + message.body = String(object.body); + if (object.responseBody != null) + message.responseBody = String(object.responseBody); + if (object.additionalBindings) { + if (!Array.isArray(object.additionalBindings)) + throw TypeError(".google.api.HttpRule.additionalBindings: array expected"); + message.additionalBindings = []; + for (var i = 0; i < object.additionalBindings.length; ++i) { + if (typeof object.additionalBindings[i] !== "object") + throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.HttpRule + * @static + * @param {google.api.HttpRule} message HttpRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HttpRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.additionalBindings = []; + if (options.defaults) { + object.selector = ""; + object.body = ""; + object.responseBody = ""; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.get != null && message.hasOwnProperty("get")) { + object.get = message.get; + if (options.oneofs) + object.pattern = "get"; + } + if (message.put != null && message.hasOwnProperty("put")) { + object.put = message.put; + if (options.oneofs) + object.pattern = "put"; + } + if (message.post != null && message.hasOwnProperty("post")) { + object.post = message.post; + if (options.oneofs) + object.pattern = "post"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + object["delete"] = message["delete"]; + if (options.oneofs) + object.pattern = "delete"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + object.patch = message.patch; + if (options.oneofs) + object.pattern = "patch"; + } + if (message.body != null && message.hasOwnProperty("body")) + object.body = message.body; + if (message.custom != null && message.hasOwnProperty("custom")) { + object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options); + if (options.oneofs) + object.pattern = "custom"; + } + if (message.additionalBindings && message.additionalBindings.length) { + object.additionalBindings = []; + for (var j = 0; j < message.additionalBindings.length; ++j) + object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options); + } + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + object.responseBody = message.responseBody; + return object; + }; + + /** + * Converts this HttpRule to JSON. + * @function toJSON + * @memberof google.api.HttpRule + * @instance + * @returns {Object.} JSON object + */ + HttpRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HttpRule + * @function getTypeUrl + * @memberof google.api.HttpRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.HttpRule"; + }; + + return HttpRule; + })(); + + api.CustomHttpPattern = (function() { + + /** + * Properties of a CustomHttpPattern. + * @memberof google.api + * @interface ICustomHttpPattern + * @property {string|null} [kind] CustomHttpPattern kind + * @property {string|null} [path] CustomHttpPattern path + */ + + /** + * Constructs a new CustomHttpPattern. + * @memberof google.api + * @classdesc Represents a CustomHttpPattern. + * @implements ICustomHttpPattern + * @constructor + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + */ + function CustomHttpPattern(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomHttpPattern kind. + * @member {string} kind + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.kind = ""; + + /** + * CustomHttpPattern path. + * @member {string} path + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.path = ""; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @function create + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance + */ + CustomHttpPattern.create = function create(properties) { + return new CustomHttpPattern(properties); + }; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encode + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); + return writer; + }; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @function decode + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.kind = reader.string(); + break; + } + case 2: { + message.path = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomHttpPattern message. + * @function verify + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomHttpPattern.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.kind != null && message.hasOwnProperty("kind")) + if (!$util.isString(message.kind)) + return "kind: string expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + return null; + }; + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} object Plain object + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + */ + CustomHttpPattern.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.CustomHttpPattern) + return object; + var message = new $root.google.api.CustomHttpPattern(); + if (object.kind != null) + message.kind = String(object.kind); + if (object.path != null) + message.path = String(object.path); + return message; + }; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.CustomHttpPattern} message CustomHttpPattern + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomHttpPattern.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.kind = ""; + object.path = ""; + } + if (message.kind != null && message.hasOwnProperty("kind")) + object.kind = message.kind; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + return object; + }; + + /** + * Converts this CustomHttpPattern to JSON. + * @function toJSON + * @memberof google.api.CustomHttpPattern + * @instance + * @returns {Object.} JSON object + */ + CustomHttpPattern.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomHttpPattern + * @function getTypeUrl + * @memberof google.api.CustomHttpPattern + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.CustomHttpPattern"; + }; + + return CustomHttpPattern; + })(); + + api.CommonLanguageSettings = (function() { + + /** + * Properties of a CommonLanguageSettings. + * @memberof google.api + * @interface ICommonLanguageSettings + * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri + * @property {Array.|null} [destinations] CommonLanguageSettings destinations + */ + + /** + * Constructs a new CommonLanguageSettings. + * @memberof google.api + * @classdesc Represents a CommonLanguageSettings. + * @implements ICommonLanguageSettings + * @constructor + * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set + */ + function CommonLanguageSettings(properties) { + this.destinations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CommonLanguageSettings referenceDocsUri. + * @member {string} referenceDocsUri + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.referenceDocsUri = ""; + + /** + * CommonLanguageSettings destinations. + * @member {Array.} destinations + * @memberof google.api.CommonLanguageSettings + * @instance + */ + CommonLanguageSettings.prototype.destinations = $util.emptyArray; + + /** + * Creates a new CommonLanguageSettings instance using the specified properties. + * @function create + * @memberof google.api.CommonLanguageSettings + * @static + * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set + * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings instance + */ + CommonLanguageSettings.create = function create(properties) { + return new CommonLanguageSettings(properties); + }; + + /** + * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @function encode + * @memberof google.api.CommonLanguageSettings + * @static + * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommonLanguageSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceDocsUri != null && Object.hasOwnProperty.call(message, "referenceDocsUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.referenceDocsUri); + if (message.destinations != null && message.destinations.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.destinations.length; ++i) + writer.int32(message.destinations[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.CommonLanguageSettings + * @static + * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CommonLanguageSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.CommonLanguageSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommonLanguageSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.referenceDocsUri = reader.string(); + break; + } + case 2: { + if (!(message.destinations && message.destinations.length)) + message.destinations = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.destinations.push(reader.int32()); + } else + message.destinations.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.CommonLanguageSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CommonLanguageSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CommonLanguageSettings message. + * @function verify + * @memberof google.api.CommonLanguageSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CommonLanguageSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) + if (!$util.isString(message.referenceDocsUri)) + return "referenceDocsUri: string expected"; + if (message.destinations != null && message.hasOwnProperty("destinations")) { + if (!Array.isArray(message.destinations)) + return "destinations: array expected"; + for (var i = 0; i < message.destinations.length; ++i) + switch (message.destinations[i]) { + default: + return "destinations: enum value[] expected"; + case 0: + case 10: + case 20: + break; + } + } + return null; + }; + + /** + * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.CommonLanguageSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings + */ + CommonLanguageSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.CommonLanguageSettings) + return object; + var message = new $root.google.api.CommonLanguageSettings(); + if (object.referenceDocsUri != null) + message.referenceDocsUri = String(object.referenceDocsUri); + if (object.destinations) { + if (!Array.isArray(object.destinations)) + throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected"); + message.destinations = []; + for (var i = 0; i < object.destinations.length; ++i) + switch (object.destinations[i]) { + default: + if (typeof object.destinations[i] === "number") { + message.destinations[i] = object.destinations[i]; + break; + } + case "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": + case 0: + message.destinations[i] = 0; + break; + case "GITHUB": + case 10: + message.destinations[i] = 10; + break; + case "PACKAGE_MANAGER": + case 20: + message.destinations[i] = 20; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.CommonLanguageSettings + * @static + * @param {google.api.CommonLanguageSettings} message CommonLanguageSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CommonLanguageSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.destinations = []; + if (options.defaults) + object.referenceDocsUri = ""; + if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) + object.referenceDocsUri = message.referenceDocsUri; + if (message.destinations && message.destinations.length) { + object.destinations = []; + for (var j = 0; j < message.destinations.length; ++j) + object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; + } + return object; + }; + + /** + * Converts this CommonLanguageSettings to JSON. + * @function toJSON + * @memberof google.api.CommonLanguageSettings + * @instance + * @returns {Object.} JSON object + */ + CommonLanguageSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CommonLanguageSettings + * @function getTypeUrl + * @memberof google.api.CommonLanguageSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CommonLanguageSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.CommonLanguageSettings"; + }; + + return CommonLanguageSettings; + })(); + + api.ClientLibrarySettings = (function() { + + /** + * Properties of a ClientLibrarySettings. + * @memberof google.api + * @interface IClientLibrarySettings + * @property {string|null} [version] ClientLibrarySettings version + * @property {google.api.LaunchStage|null} [launchStage] ClientLibrarySettings launchStage + * @property {boolean|null} [restNumericEnums] ClientLibrarySettings restNumericEnums + * @property {google.api.IJavaSettings|null} [javaSettings] ClientLibrarySettings javaSettings + * @property {google.api.ICppSettings|null} [cppSettings] ClientLibrarySettings cppSettings + * @property {google.api.IPhpSettings|null} [phpSettings] ClientLibrarySettings phpSettings + * @property {google.api.IPythonSettings|null} [pythonSettings] ClientLibrarySettings pythonSettings + * @property {google.api.INodeSettings|null} [nodeSettings] ClientLibrarySettings nodeSettings + * @property {google.api.IDotnetSettings|null} [dotnetSettings] ClientLibrarySettings dotnetSettings + * @property {google.api.IRubySettings|null} [rubySettings] ClientLibrarySettings rubySettings + * @property {google.api.IGoSettings|null} [goSettings] ClientLibrarySettings goSettings + */ + + /** + * Constructs a new ClientLibrarySettings. + * @memberof google.api + * @classdesc Represents a ClientLibrarySettings. + * @implements IClientLibrarySettings + * @constructor + * @param {google.api.IClientLibrarySettings=} [properties] Properties to set + */ + function ClientLibrarySettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ClientLibrarySettings version. + * @member {string} version + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.version = ""; + + /** + * ClientLibrarySettings launchStage. + * @member {google.api.LaunchStage} launchStage + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.launchStage = 0; + + /** + * ClientLibrarySettings restNumericEnums. + * @member {boolean} restNumericEnums + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.restNumericEnums = false; + + /** + * ClientLibrarySettings javaSettings. + * @member {google.api.IJavaSettings|null|undefined} javaSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.javaSettings = null; + + /** + * ClientLibrarySettings cppSettings. + * @member {google.api.ICppSettings|null|undefined} cppSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.cppSettings = null; + + /** + * ClientLibrarySettings phpSettings. + * @member {google.api.IPhpSettings|null|undefined} phpSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.phpSettings = null; + + /** + * ClientLibrarySettings pythonSettings. + * @member {google.api.IPythonSettings|null|undefined} pythonSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.pythonSettings = null; + + /** + * ClientLibrarySettings nodeSettings. + * @member {google.api.INodeSettings|null|undefined} nodeSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.nodeSettings = null; + + /** + * ClientLibrarySettings dotnetSettings. + * @member {google.api.IDotnetSettings|null|undefined} dotnetSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.dotnetSettings = null; + + /** + * ClientLibrarySettings rubySettings. + * @member {google.api.IRubySettings|null|undefined} rubySettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.rubySettings = null; + + /** + * ClientLibrarySettings goSettings. + * @member {google.api.IGoSettings|null|undefined} goSettings + * @memberof google.api.ClientLibrarySettings + * @instance + */ + ClientLibrarySettings.prototype.goSettings = null; + + /** + * Creates a new ClientLibrarySettings instance using the specified properties. + * @function create + * @memberof google.api.ClientLibrarySettings + * @static + * @param {google.api.IClientLibrarySettings=} [properties] Properties to set + * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings instance + */ + ClientLibrarySettings.create = function create(properties) { + return new ClientLibrarySettings(properties); + }; + + /** + * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @function encode + * @memberof google.api.ClientLibrarySettings + * @static + * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ClientLibrarySettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); + if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.launchStage); + if (message.restNumericEnums != null && Object.hasOwnProperty.call(message, "restNumericEnums")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.restNumericEnums); + if (message.javaSettings != null && Object.hasOwnProperty.call(message, "javaSettings")) + $root.google.api.JavaSettings.encode(message.javaSettings, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.cppSettings != null && Object.hasOwnProperty.call(message, "cppSettings")) + $root.google.api.CppSettings.encode(message.cppSettings, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.phpSettings != null && Object.hasOwnProperty.call(message, "phpSettings")) + $root.google.api.PhpSettings.encode(message.phpSettings, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); + if (message.pythonSettings != null && Object.hasOwnProperty.call(message, "pythonSettings")) + $root.google.api.PythonSettings.encode(message.pythonSettings, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); + if (message.nodeSettings != null && Object.hasOwnProperty.call(message, "nodeSettings")) + $root.google.api.NodeSettings.encode(message.nodeSettings, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); + if (message.dotnetSettings != null && Object.hasOwnProperty.call(message, "dotnetSettings")) + $root.google.api.DotnetSettings.encode(message.dotnetSettings, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); + if (message.rubySettings != null && Object.hasOwnProperty.call(message, "rubySettings")) + $root.google.api.RubySettings.encode(message.rubySettings, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); + if (message.goSettings != null && Object.hasOwnProperty.call(message, "goSettings")) + $root.google.api.GoSettings.encode(message.goSettings, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ClientLibrarySettings + * @static + * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ClientLibrarySettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.ClientLibrarySettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ClientLibrarySettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.version = reader.string(); + break; + } + case 2: { + message.launchStage = reader.int32(); + break; + } + case 3: { + message.restNumericEnums = reader.bool(); + break; + } + case 21: { + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + break; + } + case 22: { + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + break; + } + case 23: { + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + break; + } + case 24: { + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + break; + } + case 25: { + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + break; + } + case 26: { + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + break; + } + case 27: { + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + break; + } + case 28: { + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ClientLibrarySettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ClientLibrarySettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ClientLibrarySettings message. + * @function verify + * @memberof google.api.ClientLibrarySettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ClientLibrarySettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.launchStage != null && message.hasOwnProperty("launchStage")) + switch (message.launchStage) { + default: + return "launchStage: enum value expected"; + case 0: + case 6: + case 7: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums")) + if (typeof message.restNumericEnums !== "boolean") + return "restNumericEnums: boolean expected"; + if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { + var error = $root.google.api.JavaSettings.verify(message.javaSettings); + if (error) + return "javaSettings." + error; + } + if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { + var error = $root.google.api.CppSettings.verify(message.cppSettings); + if (error) + return "cppSettings." + error; + } + if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { + var error = $root.google.api.PhpSettings.verify(message.phpSettings); + if (error) + return "phpSettings." + error; + } + if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { + var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + if (error) + return "pythonSettings." + error; + } + if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { + var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + if (error) + return "nodeSettings." + error; + } + if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + if (error) + return "dotnetSettings." + error; + } + if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { + var error = $root.google.api.RubySettings.verify(message.rubySettings); + if (error) + return "rubySettings." + error; + } + if (message.goSettings != null && message.hasOwnProperty("goSettings")) { + var error = $root.google.api.GoSettings.verify(message.goSettings); + if (error) + return "goSettings." + error; + } + return null; + }; + + /** + * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ClientLibrarySettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings + */ + ClientLibrarySettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ClientLibrarySettings) + return object; + var message = new $root.google.api.ClientLibrarySettings(); + if (object.version != null) + message.version = String(object.version); + switch (object.launchStage) { + default: + if (typeof object.launchStage === "number") { + message.launchStage = object.launchStage; + break; + } + break; + case "LAUNCH_STAGE_UNSPECIFIED": + case 0: + message.launchStage = 0; + break; + case "UNIMPLEMENTED": + case 6: + message.launchStage = 6; + break; + case "PRELAUNCH": + case 7: + message.launchStage = 7; + break; + case "EARLY_ACCESS": + case 1: + message.launchStage = 1; + break; + case "ALPHA": + case 2: + message.launchStage = 2; + break; + case "BETA": + case 3: + message.launchStage = 3; + break; + case "GA": + case 4: + message.launchStage = 4; + break; + case "DEPRECATED": + case 5: + message.launchStage = 5; + break; + } + if (object.restNumericEnums != null) + message.restNumericEnums = Boolean(object.restNumericEnums); + if (object.javaSettings != null) { + if (typeof object.javaSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + } + if (object.cppSettings != null) { + if (typeof object.cppSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + } + if (object.phpSettings != null) { + if (typeof object.phpSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + } + if (object.pythonSettings != null) { + if (typeof object.pythonSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + } + if (object.nodeSettings != null) { + if (typeof object.nodeSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + } + if (object.dotnetSettings != null) { + if (typeof object.dotnetSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + } + if (object.rubySettings != null) { + if (typeof object.rubySettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + } + if (object.goSettings != null) { + if (typeof object.goSettings !== "object") + throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + } + return message; + }; + + /** + * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ClientLibrarySettings + * @static + * @param {google.api.ClientLibrarySettings} message ClientLibrarySettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ClientLibrarySettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.version = ""; + object.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0; + object.restNumericEnums = false; + object.javaSettings = null; + object.cppSettings = null; + object.phpSettings = null; + object.pythonSettings = null; + object.nodeSettings = null; + object.dotnetSettings = null; + object.rubySettings = null; + object.goSettings = null; + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.launchStage != null && message.hasOwnProperty("launchStage")) + object.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === undefined ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage; + if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums")) + object.restNumericEnums = message.restNumericEnums; + if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) + object.javaSettings = $root.google.api.JavaSettings.toObject(message.javaSettings, options); + if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) + object.cppSettings = $root.google.api.CppSettings.toObject(message.cppSettings, options); + if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) + object.phpSettings = $root.google.api.PhpSettings.toObject(message.phpSettings, options); + if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) + object.pythonSettings = $root.google.api.PythonSettings.toObject(message.pythonSettings, options); + if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) + object.nodeSettings = $root.google.api.NodeSettings.toObject(message.nodeSettings, options); + if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) + object.dotnetSettings = $root.google.api.DotnetSettings.toObject(message.dotnetSettings, options); + if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) + object.rubySettings = $root.google.api.RubySettings.toObject(message.rubySettings, options); + if (message.goSettings != null && message.hasOwnProperty("goSettings")) + object.goSettings = $root.google.api.GoSettings.toObject(message.goSettings, options); + return object; + }; + + /** + * Converts this ClientLibrarySettings to JSON. + * @function toJSON + * @memberof google.api.ClientLibrarySettings + * @instance + * @returns {Object.} JSON object + */ + ClientLibrarySettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ClientLibrarySettings + * @function getTypeUrl + * @memberof google.api.ClientLibrarySettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ClientLibrarySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ClientLibrarySettings"; + }; + + return ClientLibrarySettings; + })(); + + api.Publishing = (function() { + + /** + * Properties of a Publishing. + * @memberof google.api + * @interface IPublishing + * @property {Array.|null} [methodSettings] Publishing methodSettings + * @property {string|null} [newIssueUri] Publishing newIssueUri + * @property {string|null} [documentationUri] Publishing documentationUri + * @property {string|null} [apiShortName] Publishing apiShortName + * @property {string|null} [githubLabel] Publishing githubLabel + * @property {Array.|null} [codeownerGithubTeams] Publishing codeownerGithubTeams + * @property {string|null} [docTagPrefix] Publishing docTagPrefix + * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization + * @property {Array.|null} [librarySettings] Publishing librarySettings + * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri + * @property {string|null} [restReferenceDocumentationUri] Publishing restReferenceDocumentationUri + */ + + /** + * Constructs a new Publishing. + * @memberof google.api + * @classdesc Represents a Publishing. + * @implements IPublishing + * @constructor + * @param {google.api.IPublishing=} [properties] Properties to set + */ + function Publishing(properties) { + this.methodSettings = []; + this.codeownerGithubTeams = []; + this.librarySettings = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Publishing methodSettings. + * @member {Array.} methodSettings + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.methodSettings = $util.emptyArray; + + /** + * Publishing newIssueUri. + * @member {string} newIssueUri + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.newIssueUri = ""; + + /** + * Publishing documentationUri. + * @member {string} documentationUri + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.documentationUri = ""; + + /** + * Publishing apiShortName. + * @member {string} apiShortName + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.apiShortName = ""; + + /** + * Publishing githubLabel. + * @member {string} githubLabel + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.githubLabel = ""; + + /** + * Publishing codeownerGithubTeams. + * @member {Array.} codeownerGithubTeams + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.codeownerGithubTeams = $util.emptyArray; + + /** + * Publishing docTagPrefix. + * @member {string} docTagPrefix + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.docTagPrefix = ""; + + /** + * Publishing organization. + * @member {google.api.ClientLibraryOrganization} organization + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.organization = 0; + + /** + * Publishing librarySettings. + * @member {Array.} librarySettings + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.librarySettings = $util.emptyArray; + + /** + * Publishing protoReferenceDocumentationUri. + * @member {string} protoReferenceDocumentationUri + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.protoReferenceDocumentationUri = ""; + + /** + * Publishing restReferenceDocumentationUri. + * @member {string} restReferenceDocumentationUri + * @memberof google.api.Publishing + * @instance + */ + Publishing.prototype.restReferenceDocumentationUri = ""; + + /** + * Creates a new Publishing instance using the specified properties. + * @function create + * @memberof google.api.Publishing + * @static + * @param {google.api.IPublishing=} [properties] Properties to set + * @returns {google.api.Publishing} Publishing instance + */ + Publishing.create = function create(properties) { + return new Publishing(properties); + }; + + /** + * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @function encode + * @memberof google.api.Publishing + * @static + * @param {google.api.IPublishing} message Publishing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Publishing.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.methodSettings != null && message.methodSettings.length) + for (var i = 0; i < message.methodSettings.length; ++i) + $root.google.api.MethodSettings.encode(message.methodSettings[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.newIssueUri != null && Object.hasOwnProperty.call(message, "newIssueUri")) + writer.uint32(/* id 101, wireType 2 =*/810).string(message.newIssueUri); + if (message.documentationUri != null && Object.hasOwnProperty.call(message, "documentationUri")) + writer.uint32(/* id 102, wireType 2 =*/818).string(message.documentationUri); + if (message.apiShortName != null && Object.hasOwnProperty.call(message, "apiShortName")) + writer.uint32(/* id 103, wireType 2 =*/826).string(message.apiShortName); + if (message.githubLabel != null && Object.hasOwnProperty.call(message, "githubLabel")) + writer.uint32(/* id 104, wireType 2 =*/834).string(message.githubLabel); + if (message.codeownerGithubTeams != null && message.codeownerGithubTeams.length) + for (var i = 0; i < message.codeownerGithubTeams.length; ++i) + writer.uint32(/* id 105, wireType 2 =*/842).string(message.codeownerGithubTeams[i]); + if (message.docTagPrefix != null && Object.hasOwnProperty.call(message, "docTagPrefix")) + writer.uint32(/* id 106, wireType 2 =*/850).string(message.docTagPrefix); + if (message.organization != null && Object.hasOwnProperty.call(message, "organization")) + writer.uint32(/* id 107, wireType 0 =*/856).int32(message.organization); + if (message.librarySettings != null && message.librarySettings.length) + for (var i = 0; i < message.librarySettings.length; ++i) + $root.google.api.ClientLibrarySettings.encode(message.librarySettings[i], writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim(); + if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri")) + writer.uint32(/* id 110, wireType 2 =*/882).string(message.protoReferenceDocumentationUri); + if (message.restReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "restReferenceDocumentationUri")) + writer.uint32(/* id 111, wireType 2 =*/890).string(message.restReferenceDocumentationUri); + return writer; + }; + + /** + * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Publishing + * @static + * @param {google.api.IPublishing} message Publishing message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Publishing.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Publishing message from the specified reader or buffer. + * @function decode + * @memberof google.api.Publishing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Publishing} Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Publishing.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (!(message.methodSettings && message.methodSettings.length)) + message.methodSettings = []; + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + break; + } + case 101: { + message.newIssueUri = reader.string(); + break; + } + case 102: { + message.documentationUri = reader.string(); + break; + } + case 103: { + message.apiShortName = reader.string(); + break; + } + case 104: { + message.githubLabel = reader.string(); + break; + } + case 105: { + if (!(message.codeownerGithubTeams && message.codeownerGithubTeams.length)) + message.codeownerGithubTeams = []; + message.codeownerGithubTeams.push(reader.string()); + break; + } + case 106: { + message.docTagPrefix = reader.string(); + break; + } + case 107: { + message.organization = reader.int32(); + break; + } + case 109: { + if (!(message.librarySettings && message.librarySettings.length)) + message.librarySettings = []; + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + break; + } + case 110: { + message.protoReferenceDocumentationUri = reader.string(); + break; + } + case 111: { + message.restReferenceDocumentationUri = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Publishing message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Publishing + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Publishing} Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Publishing.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Publishing message. + * @function verify + * @memberof google.api.Publishing + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Publishing.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { + if (!Array.isArray(message.methodSettings)) + return "methodSettings: array expected"; + for (var i = 0; i < message.methodSettings.length; ++i) { + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + if (error) + return "methodSettings." + error; + } + } + if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri")) + if (!$util.isString(message.newIssueUri)) + return "newIssueUri: string expected"; + if (message.documentationUri != null && message.hasOwnProperty("documentationUri")) + if (!$util.isString(message.documentationUri)) + return "documentationUri: string expected"; + if (message.apiShortName != null && message.hasOwnProperty("apiShortName")) + if (!$util.isString(message.apiShortName)) + return "apiShortName: string expected"; + if (message.githubLabel != null && message.hasOwnProperty("githubLabel")) + if (!$util.isString(message.githubLabel)) + return "githubLabel: string expected"; + if (message.codeownerGithubTeams != null && message.hasOwnProperty("codeownerGithubTeams")) { + if (!Array.isArray(message.codeownerGithubTeams)) + return "codeownerGithubTeams: array expected"; + for (var i = 0; i < message.codeownerGithubTeams.length; ++i) + if (!$util.isString(message.codeownerGithubTeams[i])) + return "codeownerGithubTeams: string[] expected"; + } + if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix")) + if (!$util.isString(message.docTagPrefix)) + return "docTagPrefix: string expected"; + if (message.organization != null && message.hasOwnProperty("organization")) + switch (message.organization) { + default: + return "organization: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } + if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) { + if (!Array.isArray(message.librarySettings)) + return "librarySettings: array expected"; + for (var i = 0; i < message.librarySettings.length; ++i) { + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + if (error) + return "librarySettings." + error; + } + } + if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri")) + if (!$util.isString(message.protoReferenceDocumentationUri)) + return "protoReferenceDocumentationUri: string expected"; + if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri")) + if (!$util.isString(message.restReferenceDocumentationUri)) + return "restReferenceDocumentationUri: string expected"; + return null; + }; + + /** + * Creates a Publishing message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Publishing + * @static + * @param {Object.} object Plain object + * @returns {google.api.Publishing} Publishing + */ + Publishing.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Publishing) + return object; + var message = new $root.google.api.Publishing(); + if (object.methodSettings) { + if (!Array.isArray(object.methodSettings)) + throw TypeError(".google.api.Publishing.methodSettings: array expected"); + message.methodSettings = []; + for (var i = 0; i < object.methodSettings.length; ++i) { + if (typeof object.methodSettings[i] !== "object") + throw TypeError(".google.api.Publishing.methodSettings: object expected"); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + } + } + if (object.newIssueUri != null) + message.newIssueUri = String(object.newIssueUri); + if (object.documentationUri != null) + message.documentationUri = String(object.documentationUri); + if (object.apiShortName != null) + message.apiShortName = String(object.apiShortName); + if (object.githubLabel != null) + message.githubLabel = String(object.githubLabel); + if (object.codeownerGithubTeams) { + if (!Array.isArray(object.codeownerGithubTeams)) + throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected"); + message.codeownerGithubTeams = []; + for (var i = 0; i < object.codeownerGithubTeams.length; ++i) + message.codeownerGithubTeams[i] = String(object.codeownerGithubTeams[i]); + } + if (object.docTagPrefix != null) + message.docTagPrefix = String(object.docTagPrefix); + switch (object.organization) { + default: + if (typeof object.organization === "number") { + message.organization = object.organization; + break; + } + break; + case "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": + case 0: + message.organization = 0; + break; + case "CLOUD": + case 1: + message.organization = 1; + break; + case "ADS": + case 2: + message.organization = 2; + break; + case "PHOTOS": + case 3: + message.organization = 3; + break; + case "STREET_VIEW": + case 4: + message.organization = 4; + break; + case "SHOPPING": + case 5: + message.organization = 5; + break; + case "GEO": + case 6: + message.organization = 6; + break; + case "GENERATIVE_AI": + case 7: + message.organization = 7; + break; + } + if (object.librarySettings) { + if (!Array.isArray(object.librarySettings)) + throw TypeError(".google.api.Publishing.librarySettings: array expected"); + message.librarySettings = []; + for (var i = 0; i < object.librarySettings.length; ++i) { + if (typeof object.librarySettings[i] !== "object") + throw TypeError(".google.api.Publishing.librarySettings: object expected"); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + } + } + if (object.protoReferenceDocumentationUri != null) + message.protoReferenceDocumentationUri = String(object.protoReferenceDocumentationUri); + if (object.restReferenceDocumentationUri != null) + message.restReferenceDocumentationUri = String(object.restReferenceDocumentationUri); + return message; + }; + + /** + * Creates a plain object from a Publishing message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Publishing + * @static + * @param {google.api.Publishing} message Publishing + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Publishing.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.methodSettings = []; + object.codeownerGithubTeams = []; + object.librarySettings = []; + } + if (options.defaults) { + object.newIssueUri = ""; + object.documentationUri = ""; + object.apiShortName = ""; + object.githubLabel = ""; + object.docTagPrefix = ""; + object.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0; + object.protoReferenceDocumentationUri = ""; + object.restReferenceDocumentationUri = ""; + } + if (message.methodSettings && message.methodSettings.length) { + object.methodSettings = []; + for (var j = 0; j < message.methodSettings.length; ++j) + object.methodSettings[j] = $root.google.api.MethodSettings.toObject(message.methodSettings[j], options); + } + if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri")) + object.newIssueUri = message.newIssueUri; + if (message.documentationUri != null && message.hasOwnProperty("documentationUri")) + object.documentationUri = message.documentationUri; + if (message.apiShortName != null && message.hasOwnProperty("apiShortName")) + object.apiShortName = message.apiShortName; + if (message.githubLabel != null && message.hasOwnProperty("githubLabel")) + object.githubLabel = message.githubLabel; + if (message.codeownerGithubTeams && message.codeownerGithubTeams.length) { + object.codeownerGithubTeams = []; + for (var j = 0; j < message.codeownerGithubTeams.length; ++j) + object.codeownerGithubTeams[j] = message.codeownerGithubTeams[j]; + } + if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix")) + object.docTagPrefix = message.docTagPrefix; + if (message.organization != null && message.hasOwnProperty("organization")) + object.organization = options.enums === String ? $root.google.api.ClientLibraryOrganization[message.organization] === undefined ? message.organization : $root.google.api.ClientLibraryOrganization[message.organization] : message.organization; + if (message.librarySettings && message.librarySettings.length) { + object.librarySettings = []; + for (var j = 0; j < message.librarySettings.length; ++j) + object.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options); + } + if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri")) + object.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri; + if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri")) + object.restReferenceDocumentationUri = message.restReferenceDocumentationUri; + return object; + }; + + /** + * Converts this Publishing to JSON. + * @function toJSON + * @memberof google.api.Publishing + * @instance + * @returns {Object.} JSON object + */ + Publishing.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Publishing + * @function getTypeUrl + * @memberof google.api.Publishing + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Publishing.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Publishing"; + }; + + return Publishing; + })(); + + api.JavaSettings = (function() { + + /** + * Properties of a JavaSettings. + * @memberof google.api + * @interface IJavaSettings + * @property {string|null} [libraryPackage] JavaSettings libraryPackage + * @property {Object.|null} [serviceClassNames] JavaSettings serviceClassNames + * @property {google.api.ICommonLanguageSettings|null} [common] JavaSettings common + */ + + /** + * Constructs a new JavaSettings. + * @memberof google.api + * @classdesc Represents a JavaSettings. + * @implements IJavaSettings + * @constructor + * @param {google.api.IJavaSettings=} [properties] Properties to set + */ + function JavaSettings(properties) { + this.serviceClassNames = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * JavaSettings libraryPackage. + * @member {string} libraryPackage + * @memberof google.api.JavaSettings + * @instance + */ + JavaSettings.prototype.libraryPackage = ""; + + /** + * JavaSettings serviceClassNames. + * @member {Object.} serviceClassNames + * @memberof google.api.JavaSettings + * @instance + */ + JavaSettings.prototype.serviceClassNames = $util.emptyObject; + + /** + * JavaSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.JavaSettings + * @instance + */ + JavaSettings.prototype.common = null; + + /** + * Creates a new JavaSettings instance using the specified properties. + * @function create + * @memberof google.api.JavaSettings + * @static + * @param {google.api.IJavaSettings=} [properties] Properties to set + * @returns {google.api.JavaSettings} JavaSettings instance + */ + JavaSettings.create = function create(properties) { + return new JavaSettings(properties); + }; + + /** + * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @function encode + * @memberof google.api.JavaSettings + * @static + * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + JavaSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.libraryPackage != null && Object.hasOwnProperty.call(message, "libraryPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.libraryPackage); + if (message.serviceClassNames != null && Object.hasOwnProperty.call(message, "serviceClassNames")) + for (var keys = Object.keys(message.serviceClassNames), i = 0; i < keys.length; ++i) + 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.serviceClassNames[keys[i]]).ldelim(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.JavaSettings + * @static + * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + JavaSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a JavaSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.JavaSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.JavaSettings} JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + JavaSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.libraryPackage = reader.string(); + break; + } + case 2: { + if (message.serviceClassNames === $util.emptyObject) + message.serviceClassNames = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.serviceClassNames[key] = value; + break; + } + case 3: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a JavaSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.JavaSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.JavaSettings} JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + JavaSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a JavaSettings message. + * @function verify + * @memberof google.api.JavaSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + JavaSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) + if (!$util.isString(message.libraryPackage)) + return "libraryPackage: string expected"; + if (message.serviceClassNames != null && message.hasOwnProperty("serviceClassNames")) { + if (!$util.isObject(message.serviceClassNames)) + return "serviceClassNames: object expected"; + var key = Object.keys(message.serviceClassNames); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.serviceClassNames[key[i]])) + return "serviceClassNames: string{k:string} expected"; + } + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.JavaSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.JavaSettings} JavaSettings + */ + JavaSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.JavaSettings) + return object; + var message = new $root.google.api.JavaSettings(); + if (object.libraryPackage != null) + message.libraryPackage = String(object.libraryPackage); + if (object.serviceClassNames) { + if (typeof object.serviceClassNames !== "object") + throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); + message.serviceClassNames = {}; + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.JavaSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a JavaSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.JavaSettings + * @static + * @param {google.api.JavaSettings} message JavaSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + JavaSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.serviceClassNames = {}; + if (options.defaults) { + object.libraryPackage = ""; + object.common = null; + } + if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) + object.libraryPackage = message.libraryPackage; + var keys2; + if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { + object.serviceClassNames = {}; + for (var j = 0; j < keys2.length; ++j) + object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this JavaSettings to JSON. + * @function toJSON + * @memberof google.api.JavaSettings + * @instance + * @returns {Object.} JSON object + */ + JavaSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for JavaSettings + * @function getTypeUrl + * @memberof google.api.JavaSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + JavaSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.JavaSettings"; + }; + + return JavaSettings; + })(); + + api.CppSettings = (function() { + + /** + * Properties of a CppSettings. + * @memberof google.api + * @interface ICppSettings + * @property {google.api.ICommonLanguageSettings|null} [common] CppSettings common + */ + + /** + * Constructs a new CppSettings. + * @memberof google.api + * @classdesc Represents a CppSettings. + * @implements ICppSettings + * @constructor + * @param {google.api.ICppSettings=} [properties] Properties to set + */ + function CppSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CppSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.CppSettings + * @instance + */ + CppSettings.prototype.common = null; + + /** + * Creates a new CppSettings instance using the specified properties. + * @function create + * @memberof google.api.CppSettings + * @static + * @param {google.api.ICppSettings=} [properties] Properties to set + * @returns {google.api.CppSettings} CppSettings instance + */ + CppSettings.create = function create(properties) { + return new CppSettings(properties); + }; + + /** + * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @function encode + * @memberof google.api.CppSettings + * @static + * @param {google.api.ICppSettings} message CppSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CppSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.CppSettings + * @static + * @param {google.api.ICppSettings} message CppSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CppSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CppSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.CppSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.CppSettings} CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CppSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CppSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.CppSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.CppSettings} CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CppSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CppSettings message. + * @function verify + * @memberof google.api.CppSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CppSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a CppSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.CppSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.CppSettings} CppSettings + */ + CppSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.CppSettings) + return object; + var message = new $root.google.api.CppSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.CppSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a CppSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.CppSettings + * @static + * @param {google.api.CppSettings} message CppSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CppSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this CppSettings to JSON. + * @function toJSON + * @memberof google.api.CppSettings + * @instance + * @returns {Object.} JSON object + */ + CppSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CppSettings + * @function getTypeUrl + * @memberof google.api.CppSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CppSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.CppSettings"; + }; + + return CppSettings; + })(); + + api.PhpSettings = (function() { + + /** + * Properties of a PhpSettings. + * @memberof google.api + * @interface IPhpSettings + * @property {google.api.ICommonLanguageSettings|null} [common] PhpSettings common + */ + + /** + * Constructs a new PhpSettings. + * @memberof google.api + * @classdesc Represents a PhpSettings. + * @implements IPhpSettings + * @constructor + * @param {google.api.IPhpSettings=} [properties] Properties to set + */ + function PhpSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PhpSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.PhpSettings + * @instance + */ + PhpSettings.prototype.common = null; + + /** + * Creates a new PhpSettings instance using the specified properties. + * @function create + * @memberof google.api.PhpSettings + * @static + * @param {google.api.IPhpSettings=} [properties] Properties to set + * @returns {google.api.PhpSettings} PhpSettings instance + */ + PhpSettings.create = function create(properties) { + return new PhpSettings(properties); + }; + + /** + * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @function encode + * @memberof google.api.PhpSettings + * @static + * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PhpSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PhpSettings + * @static + * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PhpSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PhpSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.PhpSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PhpSettings} PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PhpSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PhpSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PhpSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PhpSettings} PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PhpSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PhpSettings message. + * @function verify + * @memberof google.api.PhpSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PhpSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PhpSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.PhpSettings} PhpSettings + */ + PhpSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.PhpSettings) + return object; + var message = new $root.google.api.PhpSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.PhpSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a PhpSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PhpSettings + * @static + * @param {google.api.PhpSettings} message PhpSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PhpSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this PhpSettings to JSON. + * @function toJSON + * @memberof google.api.PhpSettings + * @instance + * @returns {Object.} JSON object + */ + PhpSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PhpSettings + * @function getTypeUrl + * @memberof google.api.PhpSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PhpSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PhpSettings"; + }; + + return PhpSettings; + })(); + + api.PythonSettings = (function() { + + /** + * Properties of a PythonSettings. + * @memberof google.api + * @interface IPythonSettings + * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common + */ + + /** + * Constructs a new PythonSettings. + * @memberof google.api + * @classdesc Represents a PythonSettings. + * @implements IPythonSettings + * @constructor + * @param {google.api.IPythonSettings=} [properties] Properties to set + */ + function PythonSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PythonSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.PythonSettings + * @instance + */ + PythonSettings.prototype.common = null; + + /** + * Creates a new PythonSettings instance using the specified properties. + * @function create + * @memberof google.api.PythonSettings + * @static + * @param {google.api.IPythonSettings=} [properties] Properties to set + * @returns {google.api.PythonSettings} PythonSettings instance + */ + PythonSettings.create = function create(properties) { + return new PythonSettings(properties); + }; + + /** + * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @function encode + * @memberof google.api.PythonSettings + * @static + * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PythonSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.PythonSettings + * @static + * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PythonSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PythonSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.PythonSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.PythonSettings} PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PythonSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PythonSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.PythonSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.PythonSettings} PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PythonSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PythonSettings message. + * @function verify + * @memberof google.api.PythonSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PythonSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.PythonSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.PythonSettings} PythonSettings + */ + PythonSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.PythonSettings) + return object; + var message = new $root.google.api.PythonSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.PythonSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a PythonSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.PythonSettings + * @static + * @param {google.api.PythonSettings} message PythonSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PythonSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this PythonSettings to JSON. + * @function toJSON + * @memberof google.api.PythonSettings + * @instance + * @returns {Object.} JSON object + */ + PythonSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PythonSettings + * @function getTypeUrl + * @memberof google.api.PythonSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PythonSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.PythonSettings"; + }; + + return PythonSettings; + })(); + + api.NodeSettings = (function() { + + /** + * Properties of a NodeSettings. + * @memberof google.api + * @interface INodeSettings + * @property {google.api.ICommonLanguageSettings|null} [common] NodeSettings common + */ + + /** + * Constructs a new NodeSettings. + * @memberof google.api + * @classdesc Represents a NodeSettings. + * @implements INodeSettings + * @constructor + * @param {google.api.INodeSettings=} [properties] Properties to set + */ + function NodeSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NodeSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.NodeSettings + * @instance + */ + NodeSettings.prototype.common = null; + + /** + * Creates a new NodeSettings instance using the specified properties. + * @function create + * @memberof google.api.NodeSettings + * @static + * @param {google.api.INodeSettings=} [properties] Properties to set + * @returns {google.api.NodeSettings} NodeSettings instance + */ + NodeSettings.create = function create(properties) { + return new NodeSettings(properties); + }; + + /** + * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @function encode + * @memberof google.api.NodeSettings + * @static + * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.NodeSettings + * @static + * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NodeSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NodeSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.NodeSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.NodeSettings} NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NodeSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.NodeSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.NodeSettings} NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NodeSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NodeSettings message. + * @function verify + * @memberof google.api.NodeSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NodeSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.NodeSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.NodeSettings} NodeSettings + */ + NodeSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.NodeSettings) + return object; + var message = new $root.google.api.NodeSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.NodeSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a NodeSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.NodeSettings + * @static + * @param {google.api.NodeSettings} message NodeSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NodeSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this NodeSettings to JSON. + * @function toJSON + * @memberof google.api.NodeSettings + * @instance + * @returns {Object.} JSON object + */ + NodeSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for NodeSettings + * @function getTypeUrl + * @memberof google.api.NodeSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NodeSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.NodeSettings"; + }; + + return NodeSettings; + })(); + + api.DotnetSettings = (function() { + + /** + * Properties of a DotnetSettings. + * @memberof google.api + * @interface IDotnetSettings + * @property {google.api.ICommonLanguageSettings|null} [common] DotnetSettings common + * @property {Object.|null} [renamedServices] DotnetSettings renamedServices + * @property {Object.|null} [renamedResources] DotnetSettings renamedResources + * @property {Array.|null} [ignoredResources] DotnetSettings ignoredResources + * @property {Array.|null} [forcedNamespaceAliases] DotnetSettings forcedNamespaceAliases + * @property {Array.|null} [handwrittenSignatures] DotnetSettings handwrittenSignatures + */ + + /** + * Constructs a new DotnetSettings. + * @memberof google.api + * @classdesc Represents a DotnetSettings. + * @implements IDotnetSettings + * @constructor + * @param {google.api.IDotnetSettings=} [properties] Properties to set + */ + function DotnetSettings(properties) { + this.renamedServices = {}; + this.renamedResources = {}; + this.ignoredResources = []; + this.forcedNamespaceAliases = []; + this.handwrittenSignatures = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DotnetSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.common = null; + + /** + * DotnetSettings renamedServices. + * @member {Object.} renamedServices + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.renamedServices = $util.emptyObject; + + /** + * DotnetSettings renamedResources. + * @member {Object.} renamedResources + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.renamedResources = $util.emptyObject; + + /** + * DotnetSettings ignoredResources. + * @member {Array.} ignoredResources + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.ignoredResources = $util.emptyArray; + + /** + * DotnetSettings forcedNamespaceAliases. + * @member {Array.} forcedNamespaceAliases + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray; + + /** + * DotnetSettings handwrittenSignatures. + * @member {Array.} handwrittenSignatures + * @memberof google.api.DotnetSettings + * @instance + */ + DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray; + + /** + * Creates a new DotnetSettings instance using the specified properties. + * @function create + * @memberof google.api.DotnetSettings + * @static + * @param {google.api.IDotnetSettings=} [properties] Properties to set + * @returns {google.api.DotnetSettings} DotnetSettings instance + */ + DotnetSettings.create = function create(properties) { + return new DotnetSettings(properties); + }; + + /** + * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @function encode + * @memberof google.api.DotnetSettings + * @static + * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DotnetSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) + for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) + 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(); + if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources")) + for (var keys = Object.keys(message.renamedResources), i = 0; i < keys.length; ++i) + 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(); + if (message.ignoredResources != null && message.ignoredResources.length) + for (var i = 0; i < message.ignoredResources.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.ignoredResources[i]); + if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length) + for (var i = 0; i < message.forcedNamespaceAliases.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.forcedNamespaceAliases[i]); + if (message.handwrittenSignatures != null && message.handwrittenSignatures.length) + for (var i = 0; i < message.handwrittenSignatures.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.handwrittenSignatures[i]); + return writer; + }; + + /** + * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.DotnetSettings + * @static + * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DotnetSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.DotnetSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.DotnetSettings} DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DotnetSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + case 2: { + if (message.renamedServices === $util.emptyObject) + message.renamedServices = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.renamedServices[key] = value; + break; + } + case 3: { + if (message.renamedResources === $util.emptyObject) + message.renamedResources = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.renamedResources[key] = value; + break; + } + case 4: { + if (!(message.ignoredResources && message.ignoredResources.length)) + message.ignoredResources = []; + message.ignoredResources.push(reader.string()); + break; + } + case 5: { + if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length)) + message.forcedNamespaceAliases = []; + message.forcedNamespaceAliases.push(reader.string()); + break; + } + case 6: { + if (!(message.handwrittenSignatures && message.handwrittenSignatures.length)) + message.handwrittenSignatures = []; + message.handwrittenSignatures.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.DotnetSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.DotnetSettings} DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DotnetSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DotnetSettings message. + * @function verify + * @memberof google.api.DotnetSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DotnetSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { + if (!$util.isObject(message.renamedServices)) + return "renamedServices: object expected"; + var key = Object.keys(message.renamedServices); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedServices[key[i]])) + return "renamedServices: string{k:string} expected"; + } + if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) { + if (!$util.isObject(message.renamedResources)) + return "renamedResources: object expected"; + var key = Object.keys(message.renamedResources); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.renamedResources[key[i]])) + return "renamedResources: string{k:string} expected"; + } + if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) { + if (!Array.isArray(message.ignoredResources)) + return "ignoredResources: array expected"; + for (var i = 0; i < message.ignoredResources.length; ++i) + if (!$util.isString(message.ignoredResources[i])) + return "ignoredResources: string[] expected"; + } + if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) { + if (!Array.isArray(message.forcedNamespaceAliases)) + return "forcedNamespaceAliases: array expected"; + for (var i = 0; i < message.forcedNamespaceAliases.length; ++i) + if (!$util.isString(message.forcedNamespaceAliases[i])) + return "forcedNamespaceAliases: string[] expected"; + } + if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) { + if (!Array.isArray(message.handwrittenSignatures)) + return "handwrittenSignatures: array expected"; + for (var i = 0; i < message.handwrittenSignatures.length; ++i) + if (!$util.isString(message.handwrittenSignatures[i])) + return "handwrittenSignatures: string[] expected"; + } + return null; + }; + + /** + * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.DotnetSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.DotnetSettings} DotnetSettings + */ + DotnetSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.DotnetSettings) + return object; + var message = new $root.google.api.DotnetSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.DotnetSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + if (object.renamedServices) { + if (typeof object.renamedServices !== "object") + throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); + message.renamedServices = {}; + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } + if (object.renamedResources) { + if (typeof object.renamedResources !== "object") + throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); + message.renamedResources = {}; + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } + if (object.ignoredResources) { + if (!Array.isArray(object.ignoredResources)) + throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected"); + message.ignoredResources = []; + for (var i = 0; i < object.ignoredResources.length; ++i) + message.ignoredResources[i] = String(object.ignoredResources[i]); + } + if (object.forcedNamespaceAliases) { + if (!Array.isArray(object.forcedNamespaceAliases)) + throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected"); + message.forcedNamespaceAliases = []; + for (var i = 0; i < object.forcedNamespaceAliases.length; ++i) + message.forcedNamespaceAliases[i] = String(object.forcedNamespaceAliases[i]); + } + if (object.handwrittenSignatures) { + if (!Array.isArray(object.handwrittenSignatures)) + throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected"); + message.handwrittenSignatures = []; + for (var i = 0; i < object.handwrittenSignatures.length; ++i) + message.handwrittenSignatures[i] = String(object.handwrittenSignatures[i]); + } + return message; + }; + + /** + * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.DotnetSettings + * @static + * @param {google.api.DotnetSettings} message DotnetSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DotnetSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.ignoredResources = []; + object.forcedNamespaceAliases = []; + object.handwrittenSignatures = []; + } + if (options.objects || options.defaults) { + object.renamedServices = {}; + object.renamedResources = {}; + } + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + var keys2; + if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { + object.renamedServices = {}; + for (var j = 0; j < keys2.length; ++j) + object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } + if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { + object.renamedResources = {}; + for (var j = 0; j < keys2.length; ++j) + object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } + if (message.ignoredResources && message.ignoredResources.length) { + object.ignoredResources = []; + for (var j = 0; j < message.ignoredResources.length; ++j) + object.ignoredResources[j] = message.ignoredResources[j]; + } + if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) { + object.forcedNamespaceAliases = []; + for (var j = 0; j < message.forcedNamespaceAliases.length; ++j) + object.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j]; + } + if (message.handwrittenSignatures && message.handwrittenSignatures.length) { + object.handwrittenSignatures = []; + for (var j = 0; j < message.handwrittenSignatures.length; ++j) + object.handwrittenSignatures[j] = message.handwrittenSignatures[j]; + } + return object; + }; + + /** + * Converts this DotnetSettings to JSON. + * @function toJSON + * @memberof google.api.DotnetSettings + * @instance + * @returns {Object.} JSON object + */ + DotnetSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DotnetSettings + * @function getTypeUrl + * @memberof google.api.DotnetSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DotnetSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.DotnetSettings"; + }; + + return DotnetSettings; + })(); + + api.RubySettings = (function() { + + /** + * Properties of a RubySettings. + * @memberof google.api + * @interface IRubySettings + * @property {google.api.ICommonLanguageSettings|null} [common] RubySettings common + */ + + /** + * Constructs a new RubySettings. + * @memberof google.api + * @classdesc Represents a RubySettings. + * @implements IRubySettings + * @constructor + * @param {google.api.IRubySettings=} [properties] Properties to set + */ + function RubySettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RubySettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.RubySettings + * @instance + */ + RubySettings.prototype.common = null; + + /** + * Creates a new RubySettings instance using the specified properties. + * @function create + * @memberof google.api.RubySettings + * @static + * @param {google.api.IRubySettings=} [properties] Properties to set + * @returns {google.api.RubySettings} RubySettings instance + */ + RubySettings.create = function create(properties) { + return new RubySettings(properties); + }; + + /** + * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @function encode + * @memberof google.api.RubySettings + * @static + * @param {google.api.IRubySettings} message RubySettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RubySettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.RubySettings + * @static + * @param {google.api.IRubySettings} message RubySettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RubySettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RubySettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.RubySettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.RubySettings} RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RubySettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RubySettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.RubySettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.RubySettings} RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RubySettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RubySettings message. + * @function verify + * @memberof google.api.RubySettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RubySettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a RubySettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.RubySettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.RubySettings} RubySettings + */ + RubySettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.RubySettings) + return object; + var message = new $root.google.api.RubySettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.RubySettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a RubySettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.RubySettings + * @static + * @param {google.api.RubySettings} message RubySettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RubySettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this RubySettings to JSON. + * @function toJSON + * @memberof google.api.RubySettings + * @instance + * @returns {Object.} JSON object + */ + RubySettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RubySettings + * @function getTypeUrl + * @memberof google.api.RubySettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RubySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.RubySettings"; + }; + + return RubySettings; + })(); + + api.GoSettings = (function() { + + /** + * Properties of a GoSettings. + * @memberof google.api + * @interface IGoSettings + * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common + */ + + /** + * Constructs a new GoSettings. + * @memberof google.api + * @classdesc Represents a GoSettings. + * @implements IGoSettings + * @constructor + * @param {google.api.IGoSettings=} [properties] Properties to set + */ + function GoSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GoSettings common. + * @member {google.api.ICommonLanguageSettings|null|undefined} common + * @memberof google.api.GoSettings + * @instance + */ + GoSettings.prototype.common = null; + + /** + * Creates a new GoSettings instance using the specified properties. + * @function create + * @memberof google.api.GoSettings + * @static + * @param {google.api.IGoSettings=} [properties] Properties to set + * @returns {google.api.GoSettings} GoSettings instance + */ + GoSettings.create = function create(properties) { + return new GoSettings(properties); + }; + + /** + * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @function encode + * @memberof google.api.GoSettings + * @static + * @param {google.api.IGoSettings} message GoSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.common != null && Object.hasOwnProperty.call(message, "common")) + $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.GoSettings + * @static + * @param {google.api.IGoSettings} message GoSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GoSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.GoSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.GoSettings} GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GoSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.GoSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.GoSettings} GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GoSettings message. + * @function verify + * @memberof google.api.GoSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GoSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.common != null && message.hasOwnProperty("common")) { + var error = $root.google.api.CommonLanguageSettings.verify(message.common); + if (error) + return "common." + error; + } + return null; + }; + + /** + * Creates a GoSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.GoSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.GoSettings} GoSettings + */ + GoSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.GoSettings) + return object; + var message = new $root.google.api.GoSettings(); + if (object.common != null) { + if (typeof object.common !== "object") + throw TypeError(".google.api.GoSettings.common: object expected"); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + } + return message; + }; + + /** + * Creates a plain object from a GoSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.GoSettings + * @static + * @param {google.api.GoSettings} message GoSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GoSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.common = null; + if (message.common != null && message.hasOwnProperty("common")) + object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); + return object; + }; + + /** + * Converts this GoSettings to JSON. + * @function toJSON + * @memberof google.api.GoSettings + * @instance + * @returns {Object.} JSON object + */ + GoSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GoSettings + * @function getTypeUrl + * @memberof google.api.GoSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GoSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.GoSettings"; + }; + + return GoSettings; + })(); + + api.MethodSettings = (function() { + + /** + * Properties of a MethodSettings. + * @memberof google.api + * @interface IMethodSettings + * @property {string|null} [selector] MethodSettings selector + * @property {google.api.MethodSettings.ILongRunning|null} [longRunning] MethodSettings longRunning + * @property {Array.|null} [autoPopulatedFields] MethodSettings autoPopulatedFields + */ + + /** + * Constructs a new MethodSettings. + * @memberof google.api + * @classdesc Represents a MethodSettings. + * @implements IMethodSettings + * @constructor + * @param {google.api.IMethodSettings=} [properties] Properties to set + */ + function MethodSettings(properties) { + this.autoPopulatedFields = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodSettings selector. + * @member {string} selector + * @memberof google.api.MethodSettings + * @instance + */ + MethodSettings.prototype.selector = ""; + + /** + * MethodSettings longRunning. + * @member {google.api.MethodSettings.ILongRunning|null|undefined} longRunning + * @memberof google.api.MethodSettings + * @instance + */ + MethodSettings.prototype.longRunning = null; + + /** + * MethodSettings autoPopulatedFields. + * @member {Array.} autoPopulatedFields + * @memberof google.api.MethodSettings + * @instance + */ + MethodSettings.prototype.autoPopulatedFields = $util.emptyArray; + + /** + * Creates a new MethodSettings instance using the specified properties. + * @function create + * @memberof google.api.MethodSettings + * @static + * @param {google.api.IMethodSettings=} [properties] Properties to set + * @returns {google.api.MethodSettings} MethodSettings instance + */ + MethodSettings.create = function create(properties) { + return new MethodSettings(properties); + }; + + /** + * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @function encode + * @memberof google.api.MethodSettings + * @static + * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.longRunning != null && Object.hasOwnProperty.call(message, "longRunning")) + $root.google.api.MethodSettings.LongRunning.encode(message.longRunning, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.autoPopulatedFields != null && message.autoPopulatedFields.length) + for (var i = 0; i < message.autoPopulatedFields.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.autoPopulatedFields[i]); + return writer; + }; + + /** + * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MethodSettings + * @static + * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodSettings message from the specified reader or buffer. + * @function decode + * @memberof google.api.MethodSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MethodSettings} MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.autoPopulatedFields && message.autoPopulatedFields.length)) + message.autoPopulatedFields = []; + message.autoPopulatedFields.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MethodSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MethodSettings} MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodSettings message. + * @function verify + * @memberof google.api.MethodSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.longRunning != null && message.hasOwnProperty("longRunning")) { + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + if (error) + return "longRunning." + error; + } + if (message.autoPopulatedFields != null && message.hasOwnProperty("autoPopulatedFields")) { + if (!Array.isArray(message.autoPopulatedFields)) + return "autoPopulatedFields: array expected"; + for (var i = 0; i < message.autoPopulatedFields.length; ++i) + if (!$util.isString(message.autoPopulatedFields[i])) + return "autoPopulatedFields: string[] expected"; + } + return null; + }; + + /** + * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MethodSettings + * @static + * @param {Object.} object Plain object + * @returns {google.api.MethodSettings} MethodSettings + */ + MethodSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MethodSettings) + return object; + var message = new $root.google.api.MethodSettings(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.longRunning != null) { + if (typeof object.longRunning !== "object") + throw TypeError(".google.api.MethodSettings.longRunning: object expected"); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + } + if (object.autoPopulatedFields) { + if (!Array.isArray(object.autoPopulatedFields)) + throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected"); + message.autoPopulatedFields = []; + for (var i = 0; i < object.autoPopulatedFields.length; ++i) + message.autoPopulatedFields[i] = String(object.autoPopulatedFields[i]); + } + return message; + }; + + /** + * Creates a plain object from a MethodSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MethodSettings + * @static + * @param {google.api.MethodSettings} message MethodSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.autoPopulatedFields = []; + if (options.defaults) { + object.selector = ""; + object.longRunning = null; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.longRunning != null && message.hasOwnProperty("longRunning")) + object.longRunning = $root.google.api.MethodSettings.LongRunning.toObject(message.longRunning, options); + if (message.autoPopulatedFields && message.autoPopulatedFields.length) { + object.autoPopulatedFields = []; + for (var j = 0; j < message.autoPopulatedFields.length; ++j) + object.autoPopulatedFields[j] = message.autoPopulatedFields[j]; + } + return object; + }; + + /** + * Converts this MethodSettings to JSON. + * @function toJSON + * @memberof google.api.MethodSettings + * @instance + * @returns {Object.} JSON object + */ + MethodSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MethodSettings + * @function getTypeUrl + * @memberof google.api.MethodSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MethodSettings"; + }; + + MethodSettings.LongRunning = (function() { + + /** + * Properties of a LongRunning. + * @memberof google.api.MethodSettings + * @interface ILongRunning + * @property {google.protobuf.IDuration|null} [initialPollDelay] LongRunning initialPollDelay + * @property {number|null} [pollDelayMultiplier] LongRunning pollDelayMultiplier + * @property {google.protobuf.IDuration|null} [maxPollDelay] LongRunning maxPollDelay + * @property {google.protobuf.IDuration|null} [totalPollTimeout] LongRunning totalPollTimeout + */ + + /** + * Constructs a new LongRunning. + * @memberof google.api.MethodSettings + * @classdesc Represents a LongRunning. + * @implements ILongRunning + * @constructor + * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set + */ + function LongRunning(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LongRunning initialPollDelay. + * @member {google.protobuf.IDuration|null|undefined} initialPollDelay + * @memberof google.api.MethodSettings.LongRunning + * @instance + */ + LongRunning.prototype.initialPollDelay = null; + + /** + * LongRunning pollDelayMultiplier. + * @member {number} pollDelayMultiplier + * @memberof google.api.MethodSettings.LongRunning + * @instance + */ + LongRunning.prototype.pollDelayMultiplier = 0; + + /** + * LongRunning maxPollDelay. + * @member {google.protobuf.IDuration|null|undefined} maxPollDelay + * @memberof google.api.MethodSettings.LongRunning + * @instance + */ + LongRunning.prototype.maxPollDelay = null; + + /** + * LongRunning totalPollTimeout. + * @member {google.protobuf.IDuration|null|undefined} totalPollTimeout + * @memberof google.api.MethodSettings.LongRunning + * @instance + */ + LongRunning.prototype.totalPollTimeout = null; + + /** + * Creates a new LongRunning instance using the specified properties. + * @function create + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set + * @returns {google.api.MethodSettings.LongRunning} LongRunning instance + */ + LongRunning.create = function create(properties) { + return new LongRunning(properties); + }; + + /** + * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @function encode + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LongRunning.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.initialPollDelay != null && Object.hasOwnProperty.call(message, "initialPollDelay")) + $root.google.protobuf.Duration.encode(message.initialPollDelay, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pollDelayMultiplier != null && Object.hasOwnProperty.call(message, "pollDelayMultiplier")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.pollDelayMultiplier); + if (message.maxPollDelay != null && Object.hasOwnProperty.call(message, "maxPollDelay")) + $root.google.protobuf.Duration.encode(message.maxPollDelay, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.totalPollTimeout != null && Object.hasOwnProperty.call(message, "totalPollTimeout")) + $root.google.protobuf.Duration.encode(message.totalPollTimeout, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LongRunning.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LongRunning message from the specified reader or buffer. + * @function decode + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MethodSettings.LongRunning} LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LongRunning.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.pollDelayMultiplier = reader.float(); + break; + } + case 3: { + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + case 4: { + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LongRunning message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MethodSettings.LongRunning} LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LongRunning.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LongRunning message. + * @function verify + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LongRunning.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + if (error) + return "initialPollDelay." + error; + } + if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier")) + if (typeof message.pollDelayMultiplier !== "number") + return "pollDelayMultiplier: number expected"; + if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + if (error) + return "maxPollDelay." + error; + } + if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + if (error) + return "totalPollTimeout." + error; + } + return null; + }; + + /** + * Creates a LongRunning message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {Object.} object Plain object + * @returns {google.api.MethodSettings.LongRunning} LongRunning + */ + LongRunning.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MethodSettings.LongRunning) + return object; + var message = new $root.google.api.MethodSettings.LongRunning(); + if (object.initialPollDelay != null) { + if (typeof object.initialPollDelay !== "object") + throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + } + if (object.pollDelayMultiplier != null) + message.pollDelayMultiplier = Number(object.pollDelayMultiplier); + if (object.maxPollDelay != null) { + if (typeof object.maxPollDelay !== "object") + throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + } + if (object.totalPollTimeout != null) { + if (typeof object.totalPollTimeout !== "object") + throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + } + return message; + }; + + /** + * Creates a plain object from a LongRunning message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {google.api.MethodSettings.LongRunning} message LongRunning + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LongRunning.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.initialPollDelay = null; + object.pollDelayMultiplier = 0; + object.maxPollDelay = null; + object.totalPollTimeout = null; + } + if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) + object.initialPollDelay = $root.google.protobuf.Duration.toObject(message.initialPollDelay, options); + if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier")) + object.pollDelayMultiplier = options.json && !isFinite(message.pollDelayMultiplier) ? String(message.pollDelayMultiplier) : message.pollDelayMultiplier; + if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) + object.maxPollDelay = $root.google.protobuf.Duration.toObject(message.maxPollDelay, options); + if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) + object.totalPollTimeout = $root.google.protobuf.Duration.toObject(message.totalPollTimeout, options); + return object; + }; + + /** + * Converts this LongRunning to JSON. + * @function toJSON + * @memberof google.api.MethodSettings.LongRunning + * @instance + * @returns {Object.} JSON object + */ + LongRunning.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LongRunning + * @function getTypeUrl + * @memberof google.api.MethodSettings.LongRunning + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LongRunning.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MethodSettings.LongRunning"; + }; + + return LongRunning; + })(); + + return MethodSettings; + })(); + + /** + * ClientLibraryOrganization enum. + * @name google.api.ClientLibraryOrganization + * @enum {number} + * @property {number} CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED=0 CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED value + * @property {number} CLOUD=1 CLOUD value + * @property {number} ADS=2 ADS value + * @property {number} PHOTOS=3 PHOTOS value + * @property {number} STREET_VIEW=4 STREET_VIEW value + * @property {number} SHOPPING=5 SHOPPING value + * @property {number} GEO=6 GEO value + * @property {number} GENERATIVE_AI=7 GENERATIVE_AI value + */ + api.ClientLibraryOrganization = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"] = 0; + values[valuesById[1] = "CLOUD"] = 1; + values[valuesById[2] = "ADS"] = 2; + values[valuesById[3] = "PHOTOS"] = 3; + values[valuesById[4] = "STREET_VIEW"] = 4; + values[valuesById[5] = "SHOPPING"] = 5; + values[valuesById[6] = "GEO"] = 6; + values[valuesById[7] = "GENERATIVE_AI"] = 7; + return values; + })(); + + /** + * ClientLibraryDestination enum. + * @name google.api.ClientLibraryDestination + * @enum {number} + * @property {number} CLIENT_LIBRARY_DESTINATION_UNSPECIFIED=0 CLIENT_LIBRARY_DESTINATION_UNSPECIFIED value + * @property {number} GITHUB=10 GITHUB value + * @property {number} PACKAGE_MANAGER=20 PACKAGE_MANAGER value + */ + api.ClientLibraryDestination = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"] = 0; + values[valuesById[10] = "GITHUB"] = 10; + values[valuesById[20] = "PACKAGE_MANAGER"] = 20; + return values; + })(); + + /** + * LaunchStage enum. + * @name google.api.LaunchStage + * @enum {number} + * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value + * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value + * @property {number} PRELAUNCH=7 PRELAUNCH value + * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value + * @property {number} ALPHA=2 ALPHA value + * @property {number} BETA=3 BETA value + * @property {number} GA=4 GA value + * @property {number} DEPRECATED=5 DEPRECATED value + */ + api.LaunchStage = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; + values[valuesById[6] = "UNIMPLEMENTED"] = 6; + values[valuesById[7] = "PRELAUNCH"] = 7; + values[valuesById[1] = "EARLY_ACCESS"] = 1; + values[valuesById[2] = "ALPHA"] = 2; + values[valuesById[3] = "BETA"] = 3; + values[valuesById[4] = "GA"] = 4; + values[valuesById[5] = "DEPRECATED"] = 5; + return values; + })(); + + /** + * FieldBehavior enum. + * @name google.api.FieldBehavior + * @enum {number} + * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value + * @property {number} OPTIONAL=1 OPTIONAL value + * @property {number} REQUIRED=2 REQUIRED value + * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value + * @property {number} INPUT_ONLY=4 INPUT_ONLY value + * @property {number} IMMUTABLE=5 IMMUTABLE value + * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value + * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value + * @property {number} IDENTIFIER=8 IDENTIFIER value + */ + api.FieldBehavior = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; + values[valuesById[1] = "OPTIONAL"] = 1; + values[valuesById[2] = "REQUIRED"] = 2; + values[valuesById[3] = "OUTPUT_ONLY"] = 3; + values[valuesById[4] = "INPUT_ONLY"] = 4; + values[valuesById[5] = "IMMUTABLE"] = 5; + values[valuesById[6] = "UNORDERED_LIST"] = 6; + values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; + values[valuesById[8] = "IDENTIFIER"] = 8; + return values; + })(); + + api.ResourceDescriptor = (function() { + + /** + * Properties of a ResourceDescriptor. + * @memberof google.api + * @interface IResourceDescriptor + * @property {string|null} [type] ResourceDescriptor type + * @property {Array.|null} [pattern] ResourceDescriptor pattern + * @property {string|null} [nameField] ResourceDescriptor nameField + * @property {google.api.ResourceDescriptor.History|null} [history] ResourceDescriptor history + * @property {string|null} [plural] ResourceDescriptor plural + * @property {string|null} [singular] ResourceDescriptor singular + * @property {Array.|null} [style] ResourceDescriptor style + */ + + /** + * Constructs a new ResourceDescriptor. + * @memberof google.api + * @classdesc Represents a ResourceDescriptor. + * @implements IResourceDescriptor + * @constructor + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + */ + function ResourceDescriptor(properties) { + this.pattern = []; + this.style = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceDescriptor type. + * @member {string} type + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.type = ""; + + /** + * ResourceDescriptor pattern. + * @member {Array.} pattern + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.pattern = $util.emptyArray; + + /** + * ResourceDescriptor nameField. + * @member {string} nameField + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.nameField = ""; + + /** + * ResourceDescriptor history. + * @member {google.api.ResourceDescriptor.History} history + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.history = 0; + + /** + * ResourceDescriptor plural. + * @member {string} plural + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.plural = ""; + + /** + * ResourceDescriptor singular. + * @member {string} singular + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.singular = ""; + + /** + * ResourceDescriptor style. + * @member {Array.} style + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.style = $util.emptyArray; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @function create + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance + */ + ResourceDescriptor.create = function create(properties) { + return new ResourceDescriptor(properties); + }; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.pattern != null && message.pattern.length) + for (var i = 0; i < message.pattern.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); + if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); + if (message.history != null && Object.hasOwnProperty.call(message, "history")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); + if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); + if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); + if (message.style != null && message.style.length) { + writer.uint32(/* id 10, wireType 2 =*/82).fork(); + for (var i = 0; i < message.style.length; ++i) + writer.int32(message.style[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type = reader.string(); + break; + } + case 2: { + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + } + case 3: { + message.nameField = reader.string(); + break; + } + case 4: { + message.history = reader.int32(); + break; + } + case 5: { + message.plural = reader.string(); + break; + } + case 6: { + message.singular = reader.string(); + break; + } + case 10: { + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else + message.style.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceDescriptor message. + * @function verify + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.pattern != null && message.hasOwnProperty("pattern")) { + if (!Array.isArray(message.pattern)) + return "pattern: array expected"; + for (var i = 0; i < message.pattern.length; ++i) + if (!$util.isString(message.pattern[i])) + return "pattern: string[] expected"; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + if (!$util.isString(message.nameField)) + return "nameField: string expected"; + if (message.history != null && message.hasOwnProperty("history")) + switch (message.history) { + default: + return "history: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.plural != null && message.hasOwnProperty("plural")) + if (!$util.isString(message.plural)) + return "plural: string expected"; + if (message.singular != null && message.hasOwnProperty("singular")) + if (!$util.isString(message.singular)) + return "singular: string expected"; + if (message.style != null && message.hasOwnProperty("style")) { + if (!Array.isArray(message.style)) + return "style: array expected"; + for (var i = 0; i < message.style.length; ++i) + switch (message.style[i]) { + default: + return "style: enum value[] expected"; + case 0: + case 1: + break; + } + } + return null; + }; + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + */ + ResourceDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceDescriptor) + return object; + var message = new $root.google.api.ResourceDescriptor(); + if (object.type != null) + message.type = String(object.type); + if (object.pattern) { + if (!Array.isArray(object.pattern)) + throw TypeError(".google.api.ResourceDescriptor.pattern: array expected"); + message.pattern = []; + for (var i = 0; i < object.pattern.length; ++i) + message.pattern[i] = String(object.pattern[i]); + } + if (object.nameField != null) + message.nameField = String(object.nameField); + switch (object.history) { + default: + if (typeof object.history === "number") { + message.history = object.history; + break; + } + break; + case "HISTORY_UNSPECIFIED": + case 0: + message.history = 0; + break; + case "ORIGINALLY_SINGLE_PATTERN": + case 1: + message.history = 1; + break; + case "FUTURE_MULTI_PATTERN": + case 2: + message.history = 2; + break; + } + if (object.plural != null) + message.plural = String(object.plural); + if (object.singular != null) + message.singular = String(object.singular); + if (object.style) { + if (!Array.isArray(object.style)) + throw TypeError(".google.api.ResourceDescriptor.style: array expected"); + message.style = []; + for (var i = 0; i < object.style.length; ++i) + switch (object.style[i]) { + default: + if (typeof object.style[i] === "number") { + message.style[i] = object.style[i]; + break; + } + case "STYLE_UNSPECIFIED": + case 0: + message.style[i] = 0; + break; + case "DECLARATIVE_FRIENDLY": + case 1: + message.style[i] = 1; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.ResourceDescriptor} message ResourceDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.pattern = []; + object.style = []; + } + if (options.defaults) { + object.type = ""; + object.nameField = ""; + object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; + object.plural = ""; + object.singular = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.pattern && message.pattern.length) { + object.pattern = []; + for (var j = 0; j < message.pattern.length; ++j) + object.pattern[j] = message.pattern[j]; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + object.nameField = message.nameField; + if (message.history != null && message.hasOwnProperty("history")) + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history; + if (message.plural != null && message.hasOwnProperty("plural")) + object.plural = message.plural; + if (message.singular != null && message.hasOwnProperty("singular")) + object.singular = message.singular; + if (message.style && message.style.length) { + object.style = []; + for (var j = 0; j < message.style.length; ++j) + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + } + return object; + }; + + /** + * Converts this ResourceDescriptor to JSON. + * @function toJSON + * @memberof google.api.ResourceDescriptor + * @instance + * @returns {Object.} JSON object + */ + ResourceDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResourceDescriptor + * @function getTypeUrl + * @memberof google.api.ResourceDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceDescriptor"; + }; + + /** + * History enum. + * @name google.api.ResourceDescriptor.History + * @enum {number} + * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value + * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value + * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value + */ + ResourceDescriptor.History = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0; + values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1; + values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2; + return values; + })(); + + /** + * Style enum. + * @name google.api.ResourceDescriptor.Style + * @enum {number} + * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value + * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value + */ + ResourceDescriptor.Style = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1; + return values; + })(); + + return ResourceDescriptor; + })(); + + api.ResourceReference = (function() { + + /** + * Properties of a ResourceReference. + * @memberof google.api + * @interface IResourceReference + * @property {string|null} [type] ResourceReference type + * @property {string|null} [childType] ResourceReference childType + */ + + /** + * Constructs a new ResourceReference. + * @memberof google.api + * @classdesc Represents a ResourceReference. + * @implements IResourceReference + * @constructor + * @param {google.api.IResourceReference=} [properties] Properties to set + */ + function ResourceReference(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceReference type. + * @member {string} type + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.type = ""; + + /** + * ResourceReference childType. + * @member {string} childType + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.childType = ""; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @function create + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference=} [properties] Properties to set + * @returns {google.api.ResourceReference} ResourceReference instance + */ + ResourceReference.create = function create(properties) { + return new ResourceReference(properties); + }; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); + return writer; + }; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type = reader.string(); + break; + } + case 2: { + message.childType = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceReference message. + * @function verify + * @memberof google.api.ResourceReference + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceReference.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.childType != null && message.hasOwnProperty("childType")) + if (!$util.isString(message.childType)) + return "childType: string expected"; + return null; + }; + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceReference + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceReference} ResourceReference + */ + ResourceReference.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceReference) + return object; + var message = new $root.google.api.ResourceReference(); + if (object.type != null) + message.type = String(object.type); + if (object.childType != null) + message.childType = String(object.childType); + return message; + }; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceReference + * @static + * @param {google.api.ResourceReference} message ResourceReference + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceReference.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + object.childType = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.childType != null && message.hasOwnProperty("childType")) + object.childType = message.childType; + return object; + }; + + /** + * Converts this ResourceReference to JSON. + * @function toJSON + * @memberof google.api.ResourceReference + * @instance + * @returns {Object.} JSON object + */ + ResourceReference.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResourceReference + * @function getTypeUrl + * @memberof google.api.ResourceReference + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceReference"; + }; + + return ResourceReference; + })(); + + return api; + })(); + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileDescriptorSet + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorSet"; + }; + + return FileDescriptorSet; + })(); + + /** + * Edition enum. + * @name google.protobuf.Edition + * @enum {number} + * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value + * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value + * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value + * @property {number} EDITION_2023=1000 EDITION_2023 value + * @property {number} EDITION_2024=1001 EDITION_2024 value + * @property {number} EDITION_1_TEST_ONLY=1 EDITION_1_TEST_ONLY value + * @property {number} EDITION_2_TEST_ONLY=2 EDITION_2_TEST_ONLY value + * @property {number} EDITION_99997_TEST_ONLY=99997 EDITION_99997_TEST_ONLY value + * @property {number} EDITION_99998_TEST_ONLY=99998 EDITION_99998_TEST_ONLY value + * @property {number} EDITION_99999_TEST_ONLY=99999 EDITION_99999_TEST_ONLY value + * @property {number} EDITION_MAX=2147483647 EDITION_MAX value + */ + protobuf.Edition = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "EDITION_UNKNOWN"] = 0; + values[valuesById[998] = "EDITION_PROTO2"] = 998; + values[valuesById[999] = "EDITION_PROTO3"] = 999; + values[valuesById[1000] = "EDITION_2023"] = 1000; + values[valuesById[1001] = "EDITION_2024"] = 1001; + values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1; + values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2; + values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997; + values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998; + values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999; + values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647; + return values; + })(); + + protobuf.FileDescriptorProto = (function() { + + /** + * Properties of a FileDescriptorProto. + * @memberof google.protobuf + * @interface IFileDescriptorProto + * @property {string|null} [name] FileDescriptorProto name + * @property {string|null} ["package"] FileDescriptorProto package + * @property {Array.|null} [dependency] FileDescriptorProto dependency + * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency + * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [messageType] FileDescriptorProto messageType + * @property {Array.|null} [enumType] FileDescriptorProto enumType + * @property {Array.|null} [service] FileDescriptorProto service + * @property {Array.|null} [extension] FileDescriptorProto extension + * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options + * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo + * @property {string|null} [syntax] FileDescriptorProto syntax + * @property {google.protobuf.Edition|null} [edition] FileDescriptorProto edition + */ + + /** + * Constructs a new FileDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorProto. + * @implements IFileDescriptorProto + * @constructor + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + */ + function FileDescriptorProto(properties) { + this.dependency = []; + this.publicDependency = []; + this.weakDependency = []; + this.messageType = []; + this.enumType = []; + this.service = []; + this.extension = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.name = ""; + + /** + * FileDescriptorProto package. + * @member {string} package + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype["package"] = ""; + + /** + * FileDescriptorProto dependency. + * @member {Array.} dependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * FileDescriptorProto publicDependency. + * @member {Array.} publicDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * FileDescriptorProto weakDependency. + * @member {Array.} weakDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * FileDescriptorProto messageType. + * @member {Array.} messageType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * FileDescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * FileDescriptorProto service. + * @member {Array.} service + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * FileDescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * FileDescriptorProto options. + * @member {google.protobuf.IFileOptions|null|undefined} options + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.options = null; + + /** + * FileDescriptorProto sourceCodeInfo. + * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * FileDescriptorProto syntax. + * @member {string} syntax + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.syntax = ""; + + /** + * FileDescriptorProto edition. + * @member {google.protobuf.Edition} edition + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.edition = 0; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + */ + FileDescriptorProto.create = function create(properties) { + return new FileDescriptorProto(properties); + }; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); + if (message.dependency != null && message.dependency.length) + for (var i = 0; i < message.dependency.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); + if (message.messageType != null && message.messageType.length) + for (var i = 0; i < message.messageType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.service != null && message.service.length) + for (var i = 0; i < message.service.length; ++i) + $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) + $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.publicDependency != null && message.publicDependency.length) + for (var i = 0; i < message.publicDependency.length; ++i) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); + if (message.weakDependency != null && message.weakDependency.length) + for (var i = 0; i < message.weakDependency.length; ++i) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); + return writer; + }; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message["package"] = reader.string(); + break; + } + case 3: { + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + } + case 10: { + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else + message.publicDependency.push(reader.int32()); + break; + } + case 11: { + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else + message.weakDependency.push(reader.int32()); + break; + } + case 4: { + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 8: { + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + } + case 12: { + message.syntax = reader.string(); + break; + } + case 14: { + message.edition = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorProto message. + * @function verify + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message["package"] != null && message.hasOwnProperty("package")) + if (!$util.isString(message["package"])) + return "package: string expected"; + if (message.dependency != null && message.hasOwnProperty("dependency")) { + if (!Array.isArray(message.dependency)) + return "dependency: array expected"; + for (var i = 0; i < message.dependency.length; ++i) + if (!$util.isString(message.dependency[i])) + return "dependency: string[] expected"; + } + if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { + if (!Array.isArray(message.publicDependency)) + return "publicDependency: array expected"; + for (var i = 0; i < message.publicDependency.length; ++i) + if (!$util.isInteger(message.publicDependency[i])) + return "publicDependency: integer[] expected"; + } + if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { + if (!Array.isArray(message.weakDependency)) + return "weakDependency: array expected"; + for (var i = 0; i < message.weakDependency.length; ++i) + if (!$util.isInteger(message.weakDependency[i])) + return "weakDependency: integer[] expected"; + } + if (message.messageType != null && message.hasOwnProperty("messageType")) { + if (!Array.isArray(message.messageType)) + return "messageType: array expected"; + for (var i = 0; i < message.messageType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + if (error) + return "messageType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.service != null && message.hasOwnProperty("service")) { + if (!Array.isArray(message.service)) + return "service: array expected"; + for (var i = 0; i < message.service.length; ++i) { + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + if (error) + return "service." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FileOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + if (error) + return "sourceCodeInfo." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + if (!$util.isString(message.syntax)) + return "syntax: string expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + switch (message.edition) { + default: + return "edition: enum value expected"; + case 0: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + */ + FileDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorProto) + return object; + var message = new $root.google.protobuf.FileDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object["package"] != null) + message["package"] = String(object["package"]); + if (object.dependency) { + if (!Array.isArray(object.dependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); + message.dependency = []; + for (var i = 0; i < object.dependency.length; ++i) + message.dependency[i] = String(object.dependency[i]); + } + if (object.publicDependency) { + if (!Array.isArray(object.publicDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); + message.publicDependency = []; + for (var i = 0; i < object.publicDependency.length; ++i) + message.publicDependency[i] = object.publicDependency[i] | 0; + } + if (object.weakDependency) { + if (!Array.isArray(object.weakDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); + message.weakDependency = []; + for (var i = 0; i < object.weakDependency.length; ++i) + message.weakDependency[i] = object.weakDependency[i] | 0; + } + if (object.messageType) { + if (!Array.isArray(object.messageType)) + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); + message.messageType = []; + for (var i = 0; i < object.messageType.length; ++i) { + if (typeof object.messageType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.service) { + if (!Array.isArray(object.service)) + throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); + message.service = []; + for (var i = 0; i < object.service.length; ++i) { + if (typeof object.service[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + } + if (object.sourceCodeInfo != null) { + if (typeof object.sourceCodeInfo !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + } + if (object.syntax != null) + message.syntax = String(object.syntax); + switch (object.edition) { + default: + if (typeof object.edition === "number") { + message.edition = object.edition; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.edition = 0; + break; + case "EDITION_PROTO2": + case 998: + message.edition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.edition = 999; + break; + case "EDITION_2023": + case 1000: + message.edition = 1000; + break; + case "EDITION_2024": + case 1001: + message.edition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.edition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.edition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.edition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.edition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.edition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.edition = 2147483647; + break; + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.dependency = []; + object.messageType = []; + object.enumType = []; + object.service = []; + object.extension = []; + object.publicDependency = []; + object.weakDependency = []; + } + if (options.defaults) { + object.name = ""; + object["package"] = ""; + object.options = null; + object.sourceCodeInfo = null; + object.syntax = ""; + object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message["package"] != null && message.hasOwnProperty("package")) + object["package"] = message["package"]; + if (message.dependency && message.dependency.length) { + object.dependency = []; + for (var j = 0; j < message.dependency.length; ++j) + object.dependency[j] = message.dependency[j]; + } + if (message.messageType && message.messageType.length) { + object.messageType = []; + for (var j = 0; j < message.messageType.length; ++j) + object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.service && message.service.length) { + object.service = []; + for (var j = 0; j < message.service.length; ++j) + object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); + if (message.publicDependency && message.publicDependency.length) { + object.publicDependency = []; + for (var j = 0; j < message.publicDependency.length; ++j) + object.publicDependency[j] = message.publicDependency[j]; + } + if (message.weakDependency && message.weakDependency.length) { + object.weakDependency = []; + for (var j = 0; j < message.weakDependency.length; ++j) + object.weakDependency[j] = message.weakDependency[j]; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = message.syntax; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + return object; + }; + + /** + * Converts this FileDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorProto"; + }; + + return FileDescriptorProto; + })(); + + protobuf.DescriptorProto = (function() { + + /** + * Properties of a DescriptorProto. + * @memberof google.protobuf + * @interface IDescriptorProto + * @property {string|null} [name] DescriptorProto name + * @property {Array.|null} [field] DescriptorProto field + * @property {Array.|null} [extension] DescriptorProto extension + * @property {Array.|null} [nestedType] DescriptorProto nestedType + * @property {Array.|null} [enumType] DescriptorProto enumType + * @property {Array.|null} [extensionRange] DescriptorProto extensionRange + * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl + * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options + * @property {Array.|null} [reservedRange] DescriptorProto reservedRange + * @property {Array.|null} [reservedName] DescriptorProto reservedName + */ + + /** + * Constructs a new DescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a DescriptorProto. + * @implements IDescriptorProto + * @constructor + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + */ + function DescriptorProto(properties) { + this.field = []; + this.extension = []; + this.nestedType = []; + this.enumType = []; + this.extensionRange = []; + this.oneofDecl = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DescriptorProto name. + * @member {string} name + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.name = ""; + + /** + * DescriptorProto field. + * @member {Array.} field + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.field = $util.emptyArray; + + /** + * DescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * DescriptorProto nestedType. + * @member {Array.} nestedType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * DescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * DescriptorProto extensionRange. + * @member {Array.} extensionRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * DescriptorProto oneofDecl. + * @member {Array.} oneofDecl + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * DescriptorProto options. + * @member {google.protobuf.IMessageOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.options = null; + + /** + * DescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * DescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + */ + DescriptorProto.create = function create(properties) { + return new DescriptorProto(properties); + }; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.field != null && message.field.length) + for (var i = 0; i < message.field.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nestedType != null && message.nestedType.length) + for (var i = 0; i < message.nestedType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.extensionRange != null && message.extensionRange.length) + for (var i = 0; i < message.extensionRange.length; ++i) + $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.oneofDecl != null && message.oneofDecl.length) + for (var i = 0; i < message.oneofDecl.length; ++i) + $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + } + case 10: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DescriptorProto message. + * @function verify + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.field != null && message.hasOwnProperty("field")) { + if (!Array.isArray(message.field)) + return "field: array expected"; + for (var i = 0; i < message.field.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + if (error) + return "field." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.nestedType != null && message.hasOwnProperty("nestedType")) { + if (!Array.isArray(message.nestedType)) + return "nestedType: array expected"; + for (var i = 0; i < message.nestedType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + if (error) + return "nestedType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { + if (!Array.isArray(message.extensionRange)) + return "extensionRange: array expected"; + for (var i = 0; i < message.extensionRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + if (error) + return "extensionRange." + error; + } + } + if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { + if (!Array.isArray(message.oneofDecl)) + return "oneofDecl: array expected"; + for (var i = 0; i < message.oneofDecl.length; ++i) { + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + if (error) + return "oneofDecl." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MessageOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto} DescriptorProto + */ + DescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto) + return object; + var message = new $root.google.protobuf.DescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.field) { + if (!Array.isArray(object.field)) + throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); + message.field = []; + for (var i = 0; i < object.field.length; ++i) { + if (typeof object.field[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.nestedType) { + if (!Array.isArray(object.nestedType)) + throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); + message.nestedType = []; + for (var i = 0; i < object.nestedType.length; ++i) { + if (typeof object.nestedType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.extensionRange) { + if (!Array.isArray(object.extensionRange)) + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); + message.extensionRange = []; + for (var i = 0; i < object.extensionRange.length; ++i) { + if (typeof object.extensionRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + } + } + if (object.oneofDecl) { + if (!Array.isArray(object.oneofDecl)) + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); + message.oneofDecl = []; + for (var i = 0; i < object.oneofDecl.length; ++i) { + if (typeof object.oneofDecl[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.field = []; + object.nestedType = []; + object.enumType = []; + object.extensionRange = []; + object.extension = []; + object.oneofDecl = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.field && message.field.length) { + object.field = []; + for (var j = 0; j < message.field.length; ++j) + object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); + } + if (message.nestedType && message.nestedType.length) { + object.nestedType = []; + for (var j = 0; j < message.nestedType.length; ++j) + object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.extensionRange && message.extensionRange.length) { + object.extensionRange = []; + for (var j = 0; j < message.extensionRange.length; ++j) + object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); + if (message.oneofDecl && message.oneofDecl.length) { + object.oneofDecl = []; + for (var j = 0; j < message.oneofDecl.length; ++j) + object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); + } + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this DescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto + * @instance + * @returns {Object.} JSON object + */ + DescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto"; + }; + + DescriptorProto.ExtensionRange = (function() { + + /** + * Properties of an ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @interface IExtensionRange + * @property {number|null} [start] ExtensionRange start + * @property {number|null} [end] ExtensionRange end + * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options + */ + + /** + * Constructs a new ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents an ExtensionRange. + * @implements IExtensionRange + * @constructor + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + */ + function ExtensionRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.start = 0; + + /** + * ExtensionRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.end = 0; + + /** + * ExtensionRange options. + * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.options = null; + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance + */ + ExtensionRange.create = function create(properties) { + return new ExtensionRange(properties); + }; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + */ + ExtensionRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + object.options = null; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ExtensionRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + * @returns {Object.} JSON object + */ + ExtensionRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExtensionRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange"; + }; + + return ExtensionRange; + })(); + + DescriptorProto.ReservedRange = (function() { + + /** + * Properties of a ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @interface IReservedRange + * @property {number|null} [start] ReservedRange start + * @property {number|null} [end] ReservedRange end + */ + + /** + * Constructs a new ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents a ReservedRange. + * @implements IReservedRange + * @constructor + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + */ + function ReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReservedRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.start = 0; + + /** + * ReservedRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.end = 0; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance + */ + ReservedRange.create = function create(properties) { + return new ReservedRange(properties); + }; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReservedRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + */ + ReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this ReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + * @returns {Object.} JSON object + */ + ReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ReservedRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange"; + }; + + return ReservedRange; + })(); + + return DescriptorProto; + })(); + + protobuf.ExtensionRangeOptions = (function() { + + /** + * Properties of an ExtensionRangeOptions. + * @memberof google.protobuf + * @interface IExtensionRangeOptions + * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption + * @property {Array.|null} [declaration] ExtensionRangeOptions declaration + * @property {google.protobuf.IFeatureSet|null} [features] ExtensionRangeOptions features + * @property {google.protobuf.ExtensionRangeOptions.VerificationState|null} [verification] ExtensionRangeOptions verification + */ + + /** + * Constructs a new ExtensionRangeOptions. + * @memberof google.protobuf + * @classdesc Represents an ExtensionRangeOptions. + * @implements IExtensionRangeOptions + * @constructor + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + */ + function ExtensionRangeOptions(properties) { + this.uninterpretedOption = []; + this.declaration = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRangeOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * ExtensionRangeOptions declaration. + * @member {Array.} declaration + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.declaration = $util.emptyArray; + + /** + * ExtensionRangeOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.features = null; + + /** + * ExtensionRangeOptions verification. + * @member {google.protobuf.ExtensionRangeOptions.VerificationState} verification + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.verification = 1; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance + */ + ExtensionRangeOptions.create = function create(properties) { + return new ExtensionRangeOptions(properties); + }; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.declaration != null && message.declaration.length) + for (var i = 0; i < message.declaration.length; ++i) + $root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.verification != null && Object.hasOwnProperty.call(message, "verification")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.verification); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.declaration && message.declaration.length)) + message.declaration = []; + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + break; + } + case 50: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 3: { + message.verification = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRangeOptions message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRangeOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message.declaration != null && message.hasOwnProperty("declaration")) { + if (!Array.isArray(message.declaration)) + return "declaration: array expected"; + for (var i = 0; i < message.declaration.length; ++i) { + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + if (error) + return "declaration." + error; + } + } + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.verification != null && message.hasOwnProperty("verification")) + switch (message.verification) { + default: + return "verification: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + */ + ExtensionRangeOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object.declaration) { + if (!Array.isArray(object.declaration)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected"); + message.declaration = []; + for (var i = 0; i < object.declaration.length; ++i) { + if (typeof object.declaration[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + } + } + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + switch (object.verification) { + case "DECLARATION": + case 0: + message.verification = 0; + break; + default: + if (typeof object.verification === "number") { + message.verification = object.verification; + break; + } + break; + case "UNVERIFIED": + case 1: + message.verification = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRangeOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.declaration = []; + object.uninterpretedOption = []; + } + if (options.defaults) { + object.verification = options.enums === String ? "UNVERIFIED" : 1; + object.features = null; + } + if (message.declaration && message.declaration.length) { + object.declaration = []; + for (var j = 0; j < message.declaration.length; ++j) + object.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options); + } + if (message.verification != null && message.hasOwnProperty("verification")) + object.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === undefined ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + * @returns {Object.} JSON object + */ + ExtensionRangeOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @function getTypeUrl + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions"; + }; + + ExtensionRangeOptions.Declaration = (function() { + + /** + * Properties of a Declaration. + * @memberof google.protobuf.ExtensionRangeOptions + * @interface IDeclaration + * @property {number|null} [number] Declaration number + * @property {string|null} [fullName] Declaration fullName + * @property {string|null} [type] Declaration type + * @property {boolean|null} [reserved] Declaration reserved + * @property {boolean|null} [repeated] Declaration repeated + */ + + /** + * Constructs a new Declaration. + * @memberof google.protobuf.ExtensionRangeOptions + * @classdesc Represents a Declaration. + * @implements IDeclaration + * @constructor + * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set + */ + function Declaration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Declaration number. + * @member {number} number + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + */ + Declaration.prototype.number = 0; + + /** + * Declaration fullName. + * @member {string} fullName + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + */ + Declaration.prototype.fullName = ""; + + /** + * Declaration type. + * @member {string} type + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + */ + Declaration.prototype.type = ""; + + /** + * Declaration reserved. + * @member {boolean} reserved + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + */ + Declaration.prototype.reserved = false; + + /** + * Declaration repeated. + * @member {boolean} repeated + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + */ + Declaration.prototype.repeated = false; + + /** + * Creates a new Declaration instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration instance + */ + Declaration.create = function create(properties) { + return new Declaration(properties); + }; + + /** + * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Declaration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.number); + if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.type); + if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reserved); + if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.repeated); + return writer; + }; + + /** + * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Declaration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Declaration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Declaration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.number = reader.int32(); + break; + } + case 2: { + message.fullName = reader.string(); + break; + } + case 3: { + message.type = reader.string(); + break; + } + case 5: { + message.reserved = reader.bool(); + break; + } + case 6: { + message.repeated = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Declaration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Declaration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Declaration message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Declaration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.fullName != null && message.hasOwnProperty("fullName")) + if (!$util.isString(message.fullName)) + return "fullName: string expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.reserved != null && message.hasOwnProperty("reserved")) + if (typeof message.reserved !== "boolean") + return "reserved: boolean expected"; + if (message.repeated != null && message.hasOwnProperty("repeated")) + if (typeof message.repeated !== "boolean") + return "repeated: boolean expected"; + return null; + }; + + /** + * Creates a Declaration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration + */ + Declaration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); + if (object.number != null) + message.number = object.number | 0; + if (object.fullName != null) + message.fullName = String(object.fullName); + if (object.type != null) + message.type = String(object.type); + if (object.reserved != null) + message.reserved = Boolean(object.reserved); + if (object.repeated != null) + message.repeated = Boolean(object.repeated); + return message; + }; + + /** + * Creates a plain object from a Declaration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {google.protobuf.ExtensionRangeOptions.Declaration} message Declaration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Declaration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.number = 0; + object.fullName = ""; + object.type = ""; + object.reserved = false; + object.repeated = false; + } + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.fullName != null && message.hasOwnProperty("fullName")) + object.fullName = message.fullName; + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.reserved != null && message.hasOwnProperty("reserved")) + object.reserved = message.reserved; + if (message.repeated != null && message.hasOwnProperty("repeated")) + object.repeated = message.repeated; + return object; + }; + + /** + * Converts this Declaration to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @instance + * @returns {Object.} JSON object + */ + Declaration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Declaration + * @function getTypeUrl + * @memberof google.protobuf.ExtensionRangeOptions.Declaration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration"; + }; + + return Declaration; + })(); + + /** + * VerificationState enum. + * @name google.protobuf.ExtensionRangeOptions.VerificationState + * @enum {number} + * @property {number} DECLARATION=0 DECLARATION value + * @property {number} UNVERIFIED=1 UNVERIFIED value + */ + ExtensionRangeOptions.VerificationState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DECLARATION"] = 0; + values[valuesById[1] = "UNVERIFIED"] = 1; + return values; + })(); + + return ExtensionRangeOptions; + })(); + + protobuf.FieldDescriptorProto = (function() { + + /** + * Properties of a FieldDescriptorProto. + * @memberof google.protobuf + * @interface IFieldDescriptorProto + * @property {string|null} [name] FieldDescriptorProto name + * @property {number|null} [number] FieldDescriptorProto number + * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label + * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type + * @property {string|null} [typeName] FieldDescriptorProto typeName + * @property {string|null} [extendee] FieldDescriptorProto extendee + * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue + * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex + * @property {string|null} [jsonName] FieldDescriptorProto jsonName + * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional + */ + + /** + * Constructs a new FieldDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FieldDescriptorProto. + * @implements IFieldDescriptorProto + * @constructor + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + */ + function FieldDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.name = ""; + + /** + * FieldDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.number = 0; + + /** + * FieldDescriptorProto label. + * @member {google.protobuf.FieldDescriptorProto.Label} label + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.label = 1; + + /** + * FieldDescriptorProto type. + * @member {google.protobuf.FieldDescriptorProto.Type} type + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.type = 1; + + /** + * FieldDescriptorProto typeName. + * @member {string} typeName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.typeName = ""; + + /** + * FieldDescriptorProto extendee. + * @member {string} extendee + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.extendee = ""; + + /** + * FieldDescriptorProto defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * FieldDescriptorProto oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * FieldDescriptorProto jsonName. + * @member {string} jsonName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.jsonName = ""; + + /** + * FieldDescriptorProto options. + * @member {google.protobuf.IFieldOptions|null|undefined} options + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.options = null; + + /** + * FieldDescriptorProto proto3Optional. + * @member {boolean} proto3Optional + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.proto3Optional = false; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + */ + FieldDescriptorProto.create = function create(properties) { + return new FieldDescriptorProto(properties); + }; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.label != null && Object.hasOwnProperty.call(message, "label")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional); + return writer; + }; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 3: { + message.number = reader.int32(); + break; + } + case 4: { + message.label = reader.int32(); + break; + } + case 5: { + message.type = reader.int32(); + break; + } + case 6: { + message.typeName = reader.string(); + break; + } + case 2: { + message.extendee = reader.string(); + break; + } + case 7: { + message.defaultValue = reader.string(); + break; + } + case 9: { + message.oneofIndex = reader.int32(); + break; + } + case 10: { + message.jsonName = reader.string(); + break; + } + case 8: { + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + } + case 17: { + message.proto3Optional = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldDescriptorProto message. + * @function verify + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.label != null && message.hasOwnProperty("label")) + switch (message.label) { + default: + return "label: enum value expected"; + case 1: + case 3: + case 2: + break; + } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + if (message.extendee != null && message.hasOwnProperty("extendee")) + if (!$util.isString(message.extendee)) + return "extendee: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + if (typeof message.proto3Optional !== "boolean") + return "proto3Optional: boolean expected"; + return null; + }; + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + */ + FieldDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldDescriptorProto) + return object; + var message = new $root.google.protobuf.FieldDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + switch (object.label) { + default: + if (typeof object.label === "number") { + message.label = object.label; + break; + } + break; + case "LABEL_OPTIONAL": + case 1: + message.label = 1; + break; + case "LABEL_REPEATED": + case 3: + message.label = 3; + break; + case "LABEL_REQUIRED": + case 2: + message.label = 2; + break; + } + switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; + case "TYPE_DOUBLE": + case 1: + message.type = 1; + break; + case "TYPE_FLOAT": + case 2: + message.type = 2; + break; + case "TYPE_INT64": + case 3: + message.type = 3; + break; + case "TYPE_UINT64": + case 4: + message.type = 4; + break; + case "TYPE_INT32": + case 5: + message.type = 5; + break; + case "TYPE_FIXED64": + case 6: + message.type = 6; + break; + case "TYPE_FIXED32": + case 7: + message.type = 7; + break; + case "TYPE_BOOL": + case 8: + message.type = 8; + break; + case "TYPE_STRING": + case 9: + message.type = 9; + break; + case "TYPE_GROUP": + case 10: + message.type = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.type = 11; + break; + case "TYPE_BYTES": + case 12: + message.type = 12; + break; + case "TYPE_UINT32": + case 13: + message.type = 13; + break; + case "TYPE_ENUM": + case 14: + message.type = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.type = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.type = 16; + break; + case "TYPE_SINT32": + case 17: + message.type = 17; + break; + case "TYPE_SINT64": + case 18: + message.type = 18; + break; + } + if (object.typeName != null) + message.typeName = String(object.typeName); + if (object.extendee != null) + message.extendee = String(object.extendee); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + } + if (object.proto3Optional != null) + message.proto3Optional = Boolean(object.proto3Optional); + return message; + }; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.extendee = ""; + object.number = 0; + object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; + object.type = options.enums === String ? "TYPE_DOUBLE" : 1; + object.typeName = ""; + object.defaultValue = ""; + object.options = null; + object.oneofIndex = 0; + object.jsonName = ""; + object.proto3Optional = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.extendee != null && message.hasOwnProperty("extendee")) + object.extendee = message.extendee; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.label != null && message.hasOwnProperty("label")) + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + object.proto3Optional = message.proto3Optional; + return object; + }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FieldDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FieldDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto"; + }; + + /** + * Type enum. + * @name google.protobuf.FieldDescriptorProto.Type + * @enum {number} + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + FieldDescriptorProto.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Label enum. + * @name google.protobuf.FieldDescriptorProto.Label + * @enum {number} + * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value + * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value + * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value + */ + FieldDescriptorProto.Label = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "LABEL_OPTIONAL"] = 1; + values[valuesById[3] = "LABEL_REPEATED"] = 3; + values[valuesById[2] = "LABEL_REQUIRED"] = 2; + return values; + })(); + + return FieldDescriptorProto; + })(); + + protobuf.OneofDescriptorProto = (function() { + + /** + * Properties of an OneofDescriptorProto. + * @memberof google.protobuf + * @interface IOneofDescriptorProto + * @property {string|null} [name] OneofDescriptorProto name + * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + */ + + /** + * Constructs a new OneofDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an OneofDescriptorProto. + * @implements IOneofDescriptorProto + * @constructor + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + */ + function OneofDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.name = ""; + + /** + * OneofDescriptorProto options. + * @member {google.protobuf.IOneofOptions|null|undefined} options + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.options = null; + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + */ + OneofDescriptorProto.create = function create(properties) { + return new OneofDescriptorProto(properties); + }; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofDescriptorProto message. + * @function verify + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.OneofOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + */ + OneofDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofDescriptorProto) + return object; + var message = new $root.google.protobuf.OneofDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.OneofDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + OneofDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OneofDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto"; + }; + + return OneofDescriptorProto; + })(); + + protobuf.EnumDescriptorProto = (function() { + + /** + * Properties of an EnumDescriptorProto. + * @memberof google.protobuf + * @interface IEnumDescriptorProto + * @property {string|null} [name] EnumDescriptorProto name + * @property {Array.|null} [value] EnumDescriptorProto value + * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options + * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange + * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + */ + + /** + * Constructs a new EnumDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumDescriptorProto. + * @implements IEnumDescriptorProto + * @constructor + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + */ + function EnumDescriptorProto(properties) { + this.value = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.name = ""; + + /** + * EnumDescriptorProto value. + * @member {Array.} value + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * EnumDescriptorProto options. + * @member {google.protobuf.IEnumOptions|null|undefined} options + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.options = null; + + /** + * EnumDescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * EnumDescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + */ + EnumDescriptorProto.create = function create(properties) { + return new EnumDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.value.length) + for (var i = 0; i < message.value.length; ++i) + $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + if (!Array.isArray(message.value)) + return "value: array expected"; + for (var i = 0; i < message.value.length; ++i) { + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + if (error) + return "value." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + */ + EnumDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.value) { + if (!Array.isArray(object.value)) + throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); + message.value = []; + for (var i = 0; i < object.value.length; ++i) { + if (typeof object.value[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.value = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value && message.value.length) { + object.value = []; + for (var j = 0; j < message.value.length; ++j) + object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto"; + }; + + EnumDescriptorProto.EnumReservedRange = (function() { + + /** + * Properties of an EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @interface IEnumReservedRange + * @property {number|null} [start] EnumReservedRange start + * @property {number|null} [end] EnumReservedRange end + */ + + /** + * Constructs a new EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @classdesc Represents an EnumReservedRange. + * @implements IEnumReservedRange + * @constructor + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + */ + function EnumReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumReservedRange start. + * @member {number} start + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.start = 0; + + /** + * EnumReservedRange end. + * @member {number} end + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.end = 0; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance + */ + EnumReservedRange.create = function create(properties) { + return new EnumReservedRange(properties); + }; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumReservedRange message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + */ + EnumReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this EnumReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + * @returns {Object.} JSON object + */ + EnumReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumReservedRange + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange"; + }; + + return EnumReservedRange; + })(); + + return EnumDescriptorProto; + })(); + + protobuf.EnumValueDescriptorProto = (function() { + + /** + * Properties of an EnumValueDescriptorProto. + * @memberof google.protobuf + * @interface IEnumValueDescriptorProto + * @property {string|null} [name] EnumValueDescriptorProto name + * @property {number|null} [number] EnumValueDescriptorProto number + * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + */ + + /** + * Constructs a new EnumValueDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumValueDescriptorProto. + * @implements IEnumValueDescriptorProto + * @constructor + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + */ + function EnumValueDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.name = ""; + + /** + * EnumValueDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.number = 0; + + /** + * EnumValueDescriptorProto options. + * @member {google.protobuf.IEnumValueOptions|null|undefined} options + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.options = null; + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + */ + EnumValueDescriptorProto.create = function create(properties) { + return new EnumValueDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.number = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + */ + EnumValueDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumValueDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.number = 0; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto"; + }; + + return EnumValueDescriptorProto; + })(); + + protobuf.ServiceDescriptorProto = (function() { + + /** + * Properties of a ServiceDescriptorProto. + * @memberof google.protobuf + * @interface IServiceDescriptorProto + * @property {string|null} [name] ServiceDescriptorProto name + * @property {Array.|null} [method] ServiceDescriptorProto method + * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + */ + + /** + * Constructs a new ServiceDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a ServiceDescriptorProto. + * @implements IServiceDescriptorProto + * @constructor + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + */ + function ServiceDescriptorProto(properties) { + this.method = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.name = ""; + + /** + * ServiceDescriptorProto method. + * @member {Array.} method + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * ServiceDescriptorProto options. + * @member {google.protobuf.IServiceOptions|null|undefined} options + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.options = null; + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance + */ + ServiceDescriptorProto.create = function create(properties) { + return new ServiceDescriptorProto(properties); + }; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.method != null && message.method.length) + for (var i = 0; i < message.method.length; ++i) + $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceDescriptorProto message. + * @function verify + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.method != null && message.hasOwnProperty("method")) { + if (!Array.isArray(message.method)) + return "method: array expected"; + for (var i = 0; i < message.method.length; ++i) { + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + if (error) + return "method." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ServiceOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + */ + ServiceDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + return object; + var message = new $root.google.protobuf.ServiceDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.method) { + if (!Array.isArray(object.method)) + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); + message.method = []; + for (var i = 0; i < object.method.length; ++i) { + if (typeof object.method[i] !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.method = []; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.method && message.method.length) { + object.method = []; + for (var j = 0; j < message.method.length; ++j) + object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + ServiceDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto"; + }; + + return ServiceDescriptorProto; + })(); + + protobuf.MethodDescriptorProto = (function() { + + /** + * Properties of a MethodDescriptorProto. + * @memberof google.protobuf + * @interface IMethodDescriptorProto + * @property {string|null} [name] MethodDescriptorProto name + * @property {string|null} [inputType] MethodDescriptorProto inputType + * @property {string|null} [outputType] MethodDescriptorProto outputType + * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options + * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming + * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + */ + + /** + * Constructs a new MethodDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a MethodDescriptorProto. + * @implements IMethodDescriptorProto + * @constructor + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + */ + function MethodDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.name = ""; + + /** + * MethodDescriptorProto inputType. + * @member {string} inputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.inputType = ""; + + /** + * MethodDescriptorProto outputType. + * @member {string} outputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.outputType = ""; + + /** + * MethodDescriptorProto options. + * @member {google.protobuf.IMethodOptions|null|undefined} options + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.options = null; + + /** + * MethodDescriptorProto clientStreaming. + * @member {boolean} clientStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * MethodDescriptorProto serverStreaming. + * @member {boolean} serverStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.serverStreaming = false; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + */ + MethodDescriptorProto.create = function create(properties) { + return new MethodDescriptorProto(properties); + }; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + return writer; + }; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.inputType = reader.string(); + break; + } + case 3: { + message.outputType = reader.string(); + break; + } + case 4: { + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + } + case 5: { + message.clientStreaming = reader.bool(); + break; + } + case 6: { + message.serverStreaming = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodDescriptorProto message. + * @function verify + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.inputType != null && message.hasOwnProperty("inputType")) + if (!$util.isString(message.inputType)) + return "inputType: string expected"; + if (message.outputType != null && message.hasOwnProperty("outputType")) + if (!$util.isString(message.outputType)) + return "outputType: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (typeof message.clientStreaming !== "boolean") + return "clientStreaming: boolean expected"; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (typeof message.serverStreaming !== "boolean") + return "serverStreaming: boolean expected"; + return null; + }; + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + */ + MethodDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodDescriptorProto) + return object; + var message = new $root.google.protobuf.MethodDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.inputType != null) + message.inputType = String(object.inputType); + if (object.outputType != null) + message.outputType = String(object.outputType); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + } + if (object.clientStreaming != null) + message.clientStreaming = Boolean(object.clientStreaming); + if (object.serverStreaming != null) + message.serverStreaming = Boolean(object.serverStreaming); + return message; + }; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.inputType = ""; + object.outputType = ""; + object.options = null; + object.clientStreaming = false; + object.serverStreaming = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.inputType != null && message.hasOwnProperty("inputType")) + object.inputType = message.inputType; + if (message.outputType != null && message.hasOwnProperty("outputType")) + object.outputType = message.outputType; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + object.clientStreaming = message.clientStreaming; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + object.serverStreaming = message.serverStreaming; + return object; + }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.MethodDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + MethodDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MethodDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto"; + }; + + return MethodDescriptorProto; + })(); + + protobuf.FileOptions = (function() { + + /** + * Properties of a FileOptions. + * @memberof google.protobuf + * @interface IFileOptions + * @property {string|null} [javaPackage] FileOptions javaPackage + * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname + * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles + * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash + * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 + * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor + * @property {string|null} [goPackage] FileOptions goPackage + * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices + * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices + * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices + * @property {boolean|null} [deprecated] FileOptions deprecated + * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas + * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix + * @property {string|null} [csharpNamespace] FileOptions csharpNamespace + * @property {string|null} [swiftPrefix] FileOptions swiftPrefix + * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix + * @property {string|null} [phpNamespace] FileOptions phpNamespace + * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace + * @property {string|null} [rubyPackage] FileOptions rubyPackage + * @property {google.protobuf.IFeatureSet|null} [features] FileOptions features + * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.resourceDefinition"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = true; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions phpMetadataNamespace. + * @member {string} phpMetadataNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpMetadataNamespace = ""; + + /** + * FileOptions rubyPackage. + * @member {string} rubyPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.rubyPackage = ""; + + /** + * FileOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.features = null; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FileOptions .google.api.resourceDefinition. + * @member {Array.} .google.api.resourceDefinition + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length) + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.javaPackage = reader.string(); + break; + } + case 8: { + message.javaOuterClassname = reader.string(); + break; + } + case 10: { + message.javaMultipleFiles = reader.bool(); + break; + } + case 20: { + message.javaGenerateEqualsAndHash = reader.bool(); + break; + } + case 27: { + message.javaStringCheckUtf8 = reader.bool(); + break; + } + case 9: { + message.optimizeFor = reader.int32(); + break; + } + case 11: { + message.goPackage = reader.string(); + break; + } + case 16: { + message.ccGenericServices = reader.bool(); + break; + } + case 17: { + message.javaGenericServices = reader.bool(); + break; + } + case 18: { + message.pyGenericServices = reader.bool(); + break; + } + case 23: { + message.deprecated = reader.bool(); + break; + } + case 31: { + message.ccEnableArenas = reader.bool(); + break; + } + case 36: { + message.objcClassPrefix = reader.string(); + break; + } + case 37: { + message.csharpNamespace = reader.string(); + break; + } + case 39: { + message.swiftPrefix = reader.string(); + break; + } + case 40: { + message.phpClassPrefix = reader.string(); + break; + } + case 41: { + message.phpNamespace = reader.string(); + break; + } + case 44: { + message.phpMetadataNamespace = reader.string(); + break; + } + case 45: { + message.rubyPackage = reader.string(); + break; + } + case 50: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (!$util.isString(message.phpMetadataNamespace)) + return "phpMetadataNamespace: string expected"; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (!$util.isString(message.rubyPackage)) + return "rubyPackage: string expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) { + if (!Array.isArray(message[".google.api.resourceDefinition"])) + return ".google.api.resourceDefinition: array expected"; + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + if (error) + return ".google.api.resourceDefinition." + error; + } + } + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + default: + if (typeof object.optimizeFor === "number") { + message.optimizeFor = object.optimizeFor; + break; + } + break; + case "SPEED": + case 1: + message.optimizeFor = 1; + break; + case "CODE_SIZE": + case 2: + message.optimizeFor = 2; + break; + case "LITE_RUNTIME": + case 3: + message.optimizeFor = 3; + break; + } + if (object.goPackage != null) + message.goPackage = String(object.goPackage); + if (object.ccGenericServices != null) + message.ccGenericServices = Boolean(object.ccGenericServices); + if (object.javaGenericServices != null) + message.javaGenericServices = Boolean(object.javaGenericServices); + if (object.pyGenericServices != null) + message.pyGenericServices = Boolean(object.pyGenericServices); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.ccEnableArenas != null) + message.ccEnableArenas = Boolean(object.ccEnableArenas); + if (object.objcClassPrefix != null) + message.objcClassPrefix = String(object.objcClassPrefix); + if (object.csharpNamespace != null) + message.csharpNamespace = String(object.csharpNamespace); + if (object.swiftPrefix != null) + message.swiftPrefix = String(object.swiftPrefix); + if (object.phpClassPrefix != null) + message.phpClassPrefix = String(object.phpClassPrefix); + if (object.phpNamespace != null) + message.phpNamespace = String(object.phpNamespace); + if (object.phpMetadataNamespace != null) + message.phpMetadataNamespace = String(object.phpMetadataNamespace); + if (object.rubyPackage != null) + message.rubyPackage = String(object.rubyPackage); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.FileOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resourceDefinition"]) { + if (!Array.isArray(object[".google.api.resourceDefinition"])) + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected"); + message[".google.api.resourceDefinition"] = []; + for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { + if (typeof object[".google.api.resourceDefinition"][i] !== "object") + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.resourceDefinition"] = []; + } + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = true; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpMetadataNamespace = ""; + object.rubyPackage = ""; + object.features = null; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + object.javaMultipleFiles = message.javaMultipleFiles; + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + object.goPackage = message.goPackage; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + object.ccGenericServices = message.ccGenericServices; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + object.javaGenericServices = message.javaGenericServices; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + object.pyGenericServices = message.pyGenericServices; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + object.javaStringCheckUtf8 = message.javaStringCheckUtf8; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + object.ccEnableArenas = message.ccEnableArenas; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + object.objcClassPrefix = message.objcClassPrefix; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + object.csharpNamespace = message.csharpNamespace; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + object.swiftPrefix = message.swiftPrefix; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + object.phpClassPrefix = message.phpClassPrefix; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + object.phpNamespace = message.phpNamespace; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + object.phpMetadataNamespace = message.phpMetadataNamespace; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + object.rubyPackage = message.rubyPackage; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) { + object[".google.api.resourceDefinition"] = []; + for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j) + object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options); + } + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileOptions + * @function getTypeUrl + * @memberof google.protobuf.FileOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileOptions"; + }; + + /** + * OptimizeMode enum. + * @name google.protobuf.FileOptions.OptimizeMode + * @enum {number} + * @property {number} SPEED=1 SPEED value + * @property {number} CODE_SIZE=2 CODE_SIZE value + * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + */ + FileOptions.OptimizeMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "SPEED"] = 1; + values[valuesById[2] = "CODE_SIZE"] = 2; + values[valuesById[3] = "LITE_RUNTIME"] = 3; + return values; + })(); + + return FileOptions; + })(); + + protobuf.MessageOptions = (function() { + + /** + * Properties of a MessageOptions. + * @memberof google.protobuf + * @interface IMessageOptions + * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat + * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor + * @property {boolean|null} [deprecated] MessageOptions deprecated + * @property {boolean|null} [mapEntry] MessageOptions mapEntry + * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] MessageOptions deprecatedLegacyJsonFieldConflicts + * @property {google.protobuf.IFeatureSet|null} [features] MessageOptions features + * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption + * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions deprecatedLegacyJsonFieldConflicts. + * @member {boolean} deprecatedLegacyJsonFieldConflicts + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false; + + /** + * MessageOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.features = null; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MessageOptions .google.api.resource. + * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".google.api.resource"] = null; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts")) + writer.uint32(/* id 11, wireType 0 =*/88).bool(message.deprecatedLegacyJsonFieldConflicts); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.messageSetWireFormat = reader.bool(); + break; + } + case 2: { + message.noStandardDescriptorAccessor = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 7: { + message.mapEntry = reader.bool(); + break; + } + case 11: { + message.deprecatedLegacyJsonFieldConflicts = reader.bool(); + break; + } + case 12: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) + if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") + return "deprecatedLegacyJsonFieldConflicts: boolean expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + if (error) + return ".google.api.resource." + error; + } + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.deprecatedLegacyJsonFieldConflicts != null) + message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.MessageOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resource"] != null) { + if (typeof object[".google.api.resource"] !== "object") + throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + } + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + object.deprecatedLegacyJsonFieldConflicts = false; + object.features = null; + object[".google.api.resource"] = null; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) + object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options); + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MessageOptions + * @function getTypeUrl + * @memberof google.protobuf.MessageOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MessageOptions"; + }; + + return MessageOptions; + })(); + + protobuf.FieldOptions = (function() { + + /** + * Properties of a FieldOptions. + * @memberof google.protobuf + * @interface IFieldOptions + * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype + * @property {boolean|null} [packed] FieldOptions packed + * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype + * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy + * @property {boolean|null} [deprecated] FieldOptions deprecated + * @property {boolean|null} [weak] FieldOptions weak + * @property {boolean|null} [debugRedact] FieldOptions debugRedact + * @property {google.protobuf.FieldOptions.OptionRetention|null} [retention] FieldOptions retention + * @property {Array.|null} [targets] FieldOptions targets + * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults + * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features + * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption + * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior + * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.targets = []; + this.editionDefaults = []; + this.uninterpretedOption = []; + this[".google.api.fieldBehavior"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions unverifiedLazy. + * @member {boolean} unverifiedLazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.unverifiedLazy = false; + + /** + * FieldOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.deprecated = false; + + /** + * FieldOptions weak. + * @member {boolean} weak + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.weak = false; + + /** + * FieldOptions debugRedact. + * @member {boolean} debugRedact + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.debugRedact = false; + + /** + * FieldOptions retention. + * @member {google.protobuf.FieldOptions.OptionRetention} retention + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.retention = 0; + + /** + * FieldOptions targets. + * @member {Array.} targets + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.targets = $util.emptyArray; + + /** + * FieldOptions editionDefaults. + * @member {Array.} editionDefaults + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.editionDefaults = $util.emptyArray; + + /** + * FieldOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.features = null; + + /** + * FieldOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FieldOptions .google.api.fieldBehavior. + * @member {Array.} .google.api.fieldBehavior + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray; + + /** + * FieldOptions .google.api.resourceReference. + * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.resourceReference"] = null; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy")) + writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy); + if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.debugRedact); + if (message.retention != null && Object.hasOwnProperty.call(message, "retention")) + writer.uint32(/* id 17, wireType 0 =*/136).int32(message.retention); + if (message.targets != null && message.targets.length) + for (var i = 0; i < message.targets.length; ++i) + writer.uint32(/* id 19, wireType 0 =*/152).int32(message.targets[i]); + if (message.editionDefaults != null && message.editionDefaults.length) + for (var i = 0; i < message.editionDefaults.length; ++i) + $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length) + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + writer.uint32(/* id 1052, wireType 0 =*/8416).int32(message[".google.api.fieldBehavior"][i]); + if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) + $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.ctype = reader.int32(); + break; + } + case 2: { + message.packed = reader.bool(); + break; + } + case 6: { + message.jstype = reader.int32(); + break; + } + case 5: { + message.lazy = reader.bool(); + break; + } + case 15: { + message.unverifiedLazy = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 10: { + message.weak = reader.bool(); + break; + } + case 16: { + message.debugRedact = reader.bool(); + break; + } + case 17: { + message.retention = reader.int32(); + break; + } + case 19: { + if (!(message.targets && message.targets.length)) + message.targets = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.targets.push(reader.int32()); + } else + message.targets.push(reader.int32()); + break; + } + case 20: { + if (!(message.editionDefaults && message.editionDefaults.length)) + message.editionDefaults = []; + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + break; + } + case 21: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1052: { + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else + message[".google.api.fieldBehavior"].push(reader.int32()); + break; + } + case 1055: { + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + if (typeof message.unverifiedLazy !== "boolean") + return "unverifiedLazy: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.weak != null && message.hasOwnProperty("weak")) + if (typeof message.weak !== "boolean") + return "weak: boolean expected"; + if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) + if (typeof message.debugRedact !== "boolean") + return "debugRedact: boolean expected"; + if (message.retention != null && message.hasOwnProperty("retention")) + switch (message.retention) { + default: + return "retention: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.targets != null && message.hasOwnProperty("targets")) { + if (!Array.isArray(message.targets)) + return "targets: array expected"; + for (var i = 0; i < message.targets.length; ++i) + switch (message.targets[i]) { + default: + return "targets: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + break; + } + } + if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) { + if (!Array.isArray(message.editionDefaults)) + return "editionDefaults: array expected"; + for (var i = 0; i < message.editionDefaults.length; ++i) { + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + if (error) + return "editionDefaults." + error; + } + } + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) { + if (!Array.isArray(message[".google.api.fieldBehavior"])) + return ".google.api.fieldBehavior: array expected"; + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + switch (message[".google.api.fieldBehavior"][i]) { + default: + return ".google.api.fieldBehavior: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + if (error) + return ".google.api.resourceReference." + error; + } + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + default: + if (typeof object.ctype === "number") { + message.ctype = object.ctype; + break; + } + break; + case "STRING": + case 0: + message.ctype = 0; + break; + case "CORD": + case 1: + message.ctype = 1; + break; + case "STRING_PIECE": + case 2: + message.ctype = 2; + break; + } + if (object.packed != null) + message.packed = Boolean(object.packed); + switch (object.jstype) { + default: + if (typeof object.jstype === "number") { + message.jstype = object.jstype; + break; + } + break; + case "JS_NORMAL": + case 0: + message.jstype = 0; + break; + case "JS_STRING": + case 1: + message.jstype = 1; + break; + case "JS_NUMBER": + case 2: + message.jstype = 2; + break; + } + if (object.lazy != null) + message.lazy = Boolean(object.lazy); + if (object.unverifiedLazy != null) + message.unverifiedLazy = Boolean(object.unverifiedLazy); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.weak != null) + message.weak = Boolean(object.weak); + if (object.debugRedact != null) + message.debugRedact = Boolean(object.debugRedact); + switch (object.retention) { + default: + if (typeof object.retention === "number") { + message.retention = object.retention; + break; + } + break; + case "RETENTION_UNKNOWN": + case 0: + message.retention = 0; + break; + case "RETENTION_RUNTIME": + case 1: + message.retention = 1; + break; + case "RETENTION_SOURCE": + case 2: + message.retention = 2; + break; + } + if (object.targets) { + if (!Array.isArray(object.targets)) + throw TypeError(".google.protobuf.FieldOptions.targets: array expected"); + message.targets = []; + for (var i = 0; i < object.targets.length; ++i) + switch (object.targets[i]) { + default: + if (typeof object.targets[i] === "number") { + message.targets[i] = object.targets[i]; + break; + } + case "TARGET_TYPE_UNKNOWN": + case 0: + message.targets[i] = 0; + break; + case "TARGET_TYPE_FILE": + case 1: + message.targets[i] = 1; + break; + case "TARGET_TYPE_EXTENSION_RANGE": + case 2: + message.targets[i] = 2; + break; + case "TARGET_TYPE_MESSAGE": + case 3: + message.targets[i] = 3; + break; + case "TARGET_TYPE_FIELD": + case 4: + message.targets[i] = 4; + break; + case "TARGET_TYPE_ONEOF": + case 5: + message.targets[i] = 5; + break; + case "TARGET_TYPE_ENUM": + case 6: + message.targets[i] = 6; + break; + case "TARGET_TYPE_ENUM_ENTRY": + case 7: + message.targets[i] = 7; + break; + case "TARGET_TYPE_SERVICE": + case 8: + message.targets[i] = 8; + break; + case "TARGET_TYPE_METHOD": + case 9: + message.targets[i] = 9; + break; + } + } + if (object.editionDefaults) { + if (!Array.isArray(object.editionDefaults)) + throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected"); + message.editionDefaults = []; + for (var i = 0; i < object.editionDefaults.length; ++i) { + if (typeof object.editionDefaults[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + } + } + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.FieldOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.fieldBehavior"]) { + if (!Array.isArray(object[".google.api.fieldBehavior"])) + throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected"); + message[".google.api.fieldBehavior"] = []; + for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) + switch (object[".google.api.fieldBehavior"][i]) { + default: + if (typeof object[".google.api.fieldBehavior"][i] === "number") { + message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i]; + break; + } + case "FIELD_BEHAVIOR_UNSPECIFIED": + case 0: + message[".google.api.fieldBehavior"][i] = 0; + break; + case "OPTIONAL": + case 1: + message[".google.api.fieldBehavior"][i] = 1; + break; + case "REQUIRED": + case 2: + message[".google.api.fieldBehavior"][i] = 2; + break; + case "OUTPUT_ONLY": + case 3: + message[".google.api.fieldBehavior"][i] = 3; + break; + case "INPUT_ONLY": + case 4: + message[".google.api.fieldBehavior"][i] = 4; + break; + case "IMMUTABLE": + case 5: + message[".google.api.fieldBehavior"][i] = 5; + break; + case "UNORDERED_LIST": + case 6: + message[".google.api.fieldBehavior"][i] = 6; + break; + case "NON_EMPTY_DEFAULT": + case 7: + message[".google.api.fieldBehavior"][i] = 7; + break; + case "IDENTIFIER": + case 8: + message[".google.api.fieldBehavior"][i] = 8; + break; + } + } + if (object[".google.api.resourceReference"] != null) { + if (typeof object[".google.api.resourceReference"] !== "object") + throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + } + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.targets = []; + object.editionDefaults = []; + object.uninterpretedOption = []; + object[".google.api.fieldBehavior"] = []; + } + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object.unverifiedLazy = false; + object.debugRedact = false; + object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; + object.features = null; + object[".google.api.resourceReference"] = null; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.lazy != null && message.hasOwnProperty("lazy")) + object.lazy = message.lazy; + if (message.jstype != null && message.hasOwnProperty("jstype")) + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + if (message.weak != null && message.hasOwnProperty("weak")) + object.weak = message.weak; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + object.unverifiedLazy = message.unverifiedLazy; + if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) + object.debugRedact = message.debugRedact; + if (message.retention != null && message.hasOwnProperty("retention")) + object.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === undefined ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention; + if (message.targets && message.targets.length) { + object.targets = []; + for (var j = 0; j < message.targets.length; ++j) + 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]; + } + if (message.editionDefaults && message.editionDefaults.length) { + object.editionDefaults = []; + for (var j = 0; j < message.editionDefaults.length; ++j) + object.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options); + } + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { + object[".google.api.fieldBehavior"] = []; + for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); + return object; + }; + + /** + * Converts this FieldOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions + * @instance + * @returns {Object.} JSON object + */ + FieldOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldOptions + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions"; + }; + + /** + * CType enum. + * @name google.protobuf.FieldOptions.CType + * @enum {number} + * @property {number} STRING=0 STRING value + * @property {number} CORD=1 CORD value + * @property {number} STRING_PIECE=2 STRING_PIECE value + */ + FieldOptions.CType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "CORD"] = 1; + values[valuesById[2] = "STRING_PIECE"] = 2; + return values; + })(); + + /** + * JSType enum. + * @name google.protobuf.FieldOptions.JSType + * @enum {number} + * @property {number} JS_NORMAL=0 JS_NORMAL value + * @property {number} JS_STRING=1 JS_STRING value + * @property {number} JS_NUMBER=2 JS_NUMBER value + */ + FieldOptions.JSType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JS_NORMAL"] = 0; + values[valuesById[1] = "JS_STRING"] = 1; + values[valuesById[2] = "JS_NUMBER"] = 2; + return values; + })(); + + /** + * OptionRetention enum. + * @name google.protobuf.FieldOptions.OptionRetention + * @enum {number} + * @property {number} RETENTION_UNKNOWN=0 RETENTION_UNKNOWN value + * @property {number} RETENTION_RUNTIME=1 RETENTION_RUNTIME value + * @property {number} RETENTION_SOURCE=2 RETENTION_SOURCE value + */ + FieldOptions.OptionRetention = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "RETENTION_UNKNOWN"] = 0; + values[valuesById[1] = "RETENTION_RUNTIME"] = 1; + values[valuesById[2] = "RETENTION_SOURCE"] = 2; + return values; + })(); + + /** + * OptionTargetType enum. + * @name google.protobuf.FieldOptions.OptionTargetType + * @enum {number} + * @property {number} TARGET_TYPE_UNKNOWN=0 TARGET_TYPE_UNKNOWN value + * @property {number} TARGET_TYPE_FILE=1 TARGET_TYPE_FILE value + * @property {number} TARGET_TYPE_EXTENSION_RANGE=2 TARGET_TYPE_EXTENSION_RANGE value + * @property {number} TARGET_TYPE_MESSAGE=3 TARGET_TYPE_MESSAGE value + * @property {number} TARGET_TYPE_FIELD=4 TARGET_TYPE_FIELD value + * @property {number} TARGET_TYPE_ONEOF=5 TARGET_TYPE_ONEOF value + * @property {number} TARGET_TYPE_ENUM=6 TARGET_TYPE_ENUM value + * @property {number} TARGET_TYPE_ENUM_ENTRY=7 TARGET_TYPE_ENUM_ENTRY value + * @property {number} TARGET_TYPE_SERVICE=8 TARGET_TYPE_SERVICE value + * @property {number} TARGET_TYPE_METHOD=9 TARGET_TYPE_METHOD value + */ + FieldOptions.OptionTargetType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TARGET_TYPE_UNKNOWN"] = 0; + values[valuesById[1] = "TARGET_TYPE_FILE"] = 1; + values[valuesById[2] = "TARGET_TYPE_EXTENSION_RANGE"] = 2; + values[valuesById[3] = "TARGET_TYPE_MESSAGE"] = 3; + values[valuesById[4] = "TARGET_TYPE_FIELD"] = 4; + values[valuesById[5] = "TARGET_TYPE_ONEOF"] = 5; + values[valuesById[6] = "TARGET_TYPE_ENUM"] = 6; + values[valuesById[7] = "TARGET_TYPE_ENUM_ENTRY"] = 7; + values[valuesById[8] = "TARGET_TYPE_SERVICE"] = 8; + values[valuesById[9] = "TARGET_TYPE_METHOD"] = 9; + return values; + })(); + + FieldOptions.EditionDefault = (function() { + + /** + * Properties of an EditionDefault. + * @memberof google.protobuf.FieldOptions + * @interface IEditionDefault + * @property {google.protobuf.Edition|null} [edition] EditionDefault edition + * @property {string|null} [value] EditionDefault value + */ + + /** + * Constructs a new EditionDefault. + * @memberof google.protobuf.FieldOptions + * @classdesc Represents an EditionDefault. + * @implements IEditionDefault + * @constructor + * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set + */ + function EditionDefault(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EditionDefault edition. + * @member {google.protobuf.Edition} edition + * @memberof google.protobuf.FieldOptions.EditionDefault + * @instance + */ + EditionDefault.prototype.edition = 0; + + /** + * EditionDefault value. + * @member {string} value + * @memberof google.protobuf.FieldOptions.EditionDefault + * @instance + */ + EditionDefault.prototype.value = ""; + + /** + * Creates a new EditionDefault instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault instance + */ + EditionDefault.create = function create(properties) { + return new EditionDefault(properties); + }; + + /** + * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EditionDefault.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + return writer; + }; + + /** + * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EditionDefault.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EditionDefault message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EditionDefault.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + message.edition = reader.int32(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EditionDefault message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EditionDefault.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EditionDefault message. + * @function verify + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EditionDefault.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + switch (message.edition) { + default: + return "edition: enum value expected"; + case 0: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault + */ + EditionDefault.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) + return object; + var message = new $root.google.protobuf.FieldOptions.EditionDefault(); + switch (object.edition) { + default: + if (typeof object.edition === "number") { + message.edition = object.edition; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.edition = 0; + break; + case "EDITION_PROTO2": + case 998: + message.edition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.edition = 999; + break; + case "EDITION_2023": + case 1000: + message.edition = 1000; + break; + case "EDITION_2024": + case 1001: + message.edition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.edition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.edition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.edition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.edition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.edition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.edition = 2147483647; + break; + } + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EditionDefault.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.value = ""; + object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + return object; + }; + + /** + * Converts this EditionDefault to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions.EditionDefault + * @instance + * @returns {Object.} JSON object + */ + EditionDefault.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EditionDefault + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions.EditionDefault + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; + }; + + return EditionDefault; + })(); + + return FieldOptions; + })(); + + protobuf.OneofOptions = (function() { + + /** + * Properties of an OneofOptions. + * @memberof google.protobuf + * @interface IOneofOptions + * @property {google.protobuf.IFeatureSet|null} [features] OneofOptions features + * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + */ + + /** + * Constructs a new OneofOptions. + * @memberof google.protobuf + * @classdesc Represents an OneofOptions. + * @implements IOneofOptions + * @constructor + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + */ + function OneofOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.features = null; + + /** + * OneofOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @returns {google.protobuf.OneofOptions} OneofOptions instance + */ + OneofOptions.create = function create(properties) { + return new OneofOptions(properties); + }; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofOptions message. + * @function verify + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofOptions} OneofOptions + */ + OneofOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofOptions) + return object; + var message = new $root.google.protobuf.OneofOptions(); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.OneofOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) + object.features = null; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this OneofOptions to JSON. + * @function toJSON + * @memberof google.protobuf.OneofOptions + * @instance + * @returns {Object.} JSON object + */ + OneofOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OneofOptions + * @function getTypeUrl + * @memberof google.protobuf.OneofOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofOptions"; + }; + + return OneofOptions; + })(); + + protobuf.EnumOptions = (function() { + + /** + * Properties of an EnumOptions. + * @memberof google.protobuf + * @interface IEnumOptions + * @property {boolean|null} [allowAlias] EnumOptions allowAlias + * @property {boolean|null} [deprecated] EnumOptions deprecated + * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] EnumOptions deprecatedLegacyJsonFieldConflicts + * @property {google.protobuf.IFeatureSet|null} [features] EnumOptions features + * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption + */ + + /** + * Constructs a new EnumOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumOptions. + * @implements IEnumOptions + * @constructor + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + */ + function EnumOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumOptions allowAlias. + * @member {boolean} allowAlias + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.allowAlias = false; + + /** + * EnumOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecated = false; + + /** + * EnumOptions deprecatedLegacyJsonFieldConflicts. + * @member {boolean} deprecatedLegacyJsonFieldConflicts + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false; + + /** + * EnumOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.features = null; + + /** + * EnumOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumOptions} EnumOptions instance + */ + EnumOptions.create = function create(properties) { + return new EnumOptions(properties); + }; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.deprecatedLegacyJsonFieldConflicts); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + message.allowAlias = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 6: { + message.deprecatedLegacyJsonFieldConflicts = reader.bool(); + break; + } + case 7: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumOptions message. + * @function verify + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (typeof message.allowAlias !== "boolean") + return "allowAlias: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) + if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") + return "deprecatedLegacyJsonFieldConflicts: boolean expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumOptions} EnumOptions + */ + EnumOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumOptions) + return object; + var message = new $root.google.protobuf.EnumOptions(); + if (object.allowAlias != null) + message.allowAlias = Boolean(object.allowAlias); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.deprecatedLegacyJsonFieldConflicts != null) + message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.EnumOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.allowAlias = false; + object.deprecated = false; + object.deprecatedLegacyJsonFieldConflicts = false; + object.features = null; + } + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + object.allowAlias = message.allowAlias; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) + object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumOptions + * @instance + * @returns {Object.} JSON object + */ + EnumOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumOptions"; + }; + + return EnumOptions; + })(); + + protobuf.EnumValueOptions = (function() { + + /** + * Properties of an EnumValueOptions. + * @memberof google.protobuf + * @interface IEnumValueOptions + * @property {boolean|null} [deprecated] EnumValueOptions deprecated + * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features + * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact + * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption + */ + + /** + * Constructs a new EnumValueOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumValueOptions. + * @implements IEnumValueOptions + * @constructor + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + */ + function EnumValueOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.deprecated = false; + + /** + * EnumValueOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.features = null; + + /** + * EnumValueOptions debugRedact. + * @member {boolean} debugRedact + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.debugRedact = false; + + /** + * EnumValueOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance + */ + EnumValueOptions.create = function create(properties) { + return new EnumValueOptions(properties); + }; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.deprecated = reader.bool(); + break; + } + case 2: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 3: { + message.debugRedact = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueOptions message. + * @function verify + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) + if (typeof message.debugRedact !== "boolean") + return "debugRedact: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + */ + EnumValueOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueOptions) + return object; + var message = new $root.google.protobuf.EnumValueOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.debugRedact != null) + message.debugRedact = Boolean(object.debugRedact); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.EnumValueOptions} message EnumValueOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object.features = null; + object.debugRedact = false; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) + object.debugRedact = message.debugRedact; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumValueOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueOptions + * @instance + * @returns {Object.} JSON object + */ + EnumValueOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumValueOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueOptions"; + }; + + return EnumValueOptions; + })(); + + protobuf.ServiceOptions = (function() { + + /** + * Properties of a ServiceOptions. + * @memberof google.protobuf + * @interface IServiceOptions + * @property {google.protobuf.IFeatureSet|null} [features] ServiceOptions features + * @property {boolean|null} [deprecated] ServiceOptions deprecated + * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost + * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes + * @property {string|null} [".google.api.apiVersion"] ServiceOptions .google.api.apiVersion + */ + + /** + * Constructs a new ServiceOptions. + * @memberof google.protobuf + * @classdesc Represents a ServiceOptions. + * @implements IServiceOptions + * @constructor + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + */ + function ServiceOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.features = null; + + /** + * ServiceOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.deprecated = false; + + /** + * ServiceOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * ServiceOptions .google.api.defaultHost. + * @member {string} .google.api.defaultHost + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.defaultHost"] = ""; + + /** + * ServiceOptions .google.api.oauthScopes. + * @member {string} .google.api.oauthScopes + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.oauthScopes"] = ""; + + /** + * ServiceOptions .google.api.apiVersion. + * @member {string} .google.api.apiVersion + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.apiVersion"] = ""; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + */ + ServiceOptions.create = function create(properties) { + return new ServiceOptions(properties); + }; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) + writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); + if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) + writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); + if (message[".google.api.apiVersion"] != null && Object.hasOwnProperty.call(message, ".google.api.apiVersion")) + writer.uint32(/* id 525000001, wireType 2 =*/4200000010).string(message[".google.api.apiVersion"]); + return writer; + }; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 34: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 33: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1049: { + message[".google.api.defaultHost"] = reader.string(); + break; + } + case 1050: { + message[".google.api.oauthScopes"] = reader.string(); + break; + } + case 525000001: { + message[".google.api.apiVersion"] = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceOptions message. + * @function verify + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (!$util.isString(message[".google.api.defaultHost"])) + return ".google.api.defaultHost: string expected"; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (!$util.isString(message[".google.api.oauthScopes"])) + return ".google.api.oauthScopes: string expected"; + if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion")) + if (!$util.isString(message[".google.api.apiVersion"])) + return ".google.api.apiVersion: string expected"; + return null; + }; + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceOptions} ServiceOptions + */ + ServiceOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceOptions) + return object; + var message = new $root.google.protobuf.ServiceOptions(); + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.defaultHost"] != null) + message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]); + if (object[".google.api.oauthScopes"] != null) + message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]); + if (object[".google.api.apiVersion"] != null) + message[".google.api.apiVersion"] = String(object[".google.api.apiVersion"]); + return message; + }; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object.features = null; + object[".google.api.defaultHost"] = ""; + object[".google.api.oauthScopes"] = ""; + object[".google.api.apiVersion"] = ""; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + object[".google.api.defaultHost"] = message[".google.api.defaultHost"]; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"]; + if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion")) + object[".google.api.apiVersion"] = message[".google.api.apiVersion"]; + return object; + }; + + /** + * Converts this ServiceOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceOptions + * @instance + * @returns {Object.} JSON object + */ + ServiceOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceOptions + * @function getTypeUrl + * @memberof google.protobuf.ServiceOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceOptions"; + }; + + return ServiceOptions; + })(); + + protobuf.MethodOptions = (function() { + + /** + * Properties of a MethodOptions. + * @memberof google.protobuf + * @interface IMethodOptions + * @property {boolean|null} [deprecated] MethodOptions deprecated + * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel + * @property {google.protobuf.IFeatureSet|null} [features] MethodOptions features + * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption + * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http + * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature + */ + + /** + * Constructs a new MethodOptions. + * @memberof google.protobuf + * @classdesc Represents a MethodOptions. + * @implements IMethodOptions + * @constructor + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + */ + function MethodOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.methodSignature"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.deprecated = false; + + /** + * MethodOptions idempotencyLevel. + * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.idempotencyLevel = 0; + + /** + * MethodOptions features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.features = null; + + /** + * MethodOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MethodOptions .google.api.http. + * @member {google.api.IHttpRule|null|undefined} .google.api.http + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.http"] = null; + + /** + * MethodOptions .google.api.methodSignature. + * @member {Array.} .google.api.methodSignature + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @returns {google.protobuf.MethodOptions} MethodOptions instance + */ + MethodOptions.create = function create(properties) { + return new MethodOptions(properties); + }; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) + writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); + if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) + $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: { + message.deprecated = reader.bool(); + break; + } + case 34: { + message.idempotencyLevel = reader.int32(); + break; + } + case 35: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 72295728: { + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + } + case 1051: { + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodOptions message. + * @function verify + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + switch (message.idempotencyLevel) { + default: + return "idempotencyLevel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { + var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + if (error) + return ".google.api.http." + error; + } + if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) { + if (!Array.isArray(message[".google.api.methodSignature"])) + return ".google.api.methodSignature: array expected"; + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + if (!$util.isString(message[".google.api.methodSignature"][i])) + return ".google.api.methodSignature: string[] expected"; + } + return null; + }; + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodOptions} MethodOptions + */ + MethodOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodOptions) + return object; + var message = new $root.google.protobuf.MethodOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + switch (object.idempotencyLevel) { + default: + if (typeof object.idempotencyLevel === "number") { + message.idempotencyLevel = object.idempotencyLevel; + break; + } + break; + case "IDEMPOTENCY_UNKNOWN": + case 0: + message.idempotencyLevel = 0; + break; + case "NO_SIDE_EFFECTS": + case 1: + message.idempotencyLevel = 1; + break; + case "IDEMPOTENT": + case 2: + message.idempotencyLevel = 2; + break; + } + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.MethodOptions.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.http"] != null) { + if (typeof object[".google.api.http"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + } + if (object[".google.api.methodSignature"]) { + if (!Array.isArray(object[".google.api.methodSignature"])) + throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected"); + message[".google.api.methodSignature"] = []; + for (var i = 0; i < object[".google.api.methodSignature"].length; ++i) + message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]); + } + return message; + }; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.MethodOptions} message MethodOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.methodSignature"] = []; + } + if (options.defaults) { + object.deprecated = false; + object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; + object.features = null; + object[".google.api.http"] = null; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) { + object[".google.api.methodSignature"] = []; + for (var j = 0; j < message[".google.api.methodSignature"].length; ++j) + object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j]; + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options); + return object; + }; + + /** + * Converts this MethodOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MethodOptions + * @instance + * @returns {Object.} JSON object + */ + MethodOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MethodOptions + * @function getTypeUrl + * @memberof google.protobuf.MethodOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodOptions"; + }; + + /** + * IdempotencyLevel enum. + * @name google.protobuf.MethodOptions.IdempotencyLevel + * @enum {number} + * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value + * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value + * @property {number} IDEMPOTENT=2 IDEMPOTENT value + */ + MethodOptions.IdempotencyLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; + values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; + values[valuesById[2] = "IDEMPOTENT"] = 2; + return values; + })(); + + return MethodOptions; + })(); + + protobuf.UninterpretedOption = (function() { + + /** + * Properties of an UninterpretedOption. + * @memberof google.protobuf + * @interface IUninterpretedOption + * @property {Array.|null} [name] UninterpretedOption name + * @property {string|null} [identifierValue] UninterpretedOption identifierValue + * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue + * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue + * @property {number|null} [doubleValue] UninterpretedOption doubleValue + * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue + * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + */ + + /** + * Constructs a new UninterpretedOption. + * @memberof google.protobuf + * @classdesc Represents an UninterpretedOption. + * @implements IUninterpretedOption + * @constructor + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + */ + function UninterpretedOption(properties) { + this.name = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UninterpretedOption name. + * @member {Array.} name + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.name = $util.emptyArray; + + /** + * UninterpretedOption identifierValue. + * @member {string} identifierValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.identifierValue = ""; + + /** + * UninterpretedOption positiveIntValue. + * @member {number|Long} positiveIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * UninterpretedOption negativeIntValue. + * @member {number|Long} negativeIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * UninterpretedOption doubleValue. + * @member {number} doubleValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.doubleValue = 0; + + /** + * UninterpretedOption stringValue. + * @member {Uint8Array} stringValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + + /** + * UninterpretedOption aggregateValue. + * @member {string} aggregateValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.aggregateValue = ""; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance + */ + UninterpretedOption.create = function create(properties) { + return new UninterpretedOption(properties); + }; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.name.length) + for (var i = 0; i < message.name.length; ++i) + $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); + return writer; + }; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + } + case 3: { + message.identifierValue = reader.string(); + break; + } + case 4: { + message.positiveIntValue = reader.uint64(); + break; + } + case 5: { + message.negativeIntValue = reader.int64(); + break; + } + case 6: { + message.doubleValue = reader.double(); + break; + } + case 7: { + message.stringValue = reader.bytes(); + break; + } + case 8: { + message.aggregateValue = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UninterpretedOption message. + * @function verify + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UninterpretedOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) { + if (!Array.isArray(message.name)) + return "name: array expected"; + for (var i = 0; i < message.name.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + if (error) + return "name." + error; + } + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (!$util.isString(message.identifierValue)) + return "identifierValue: string expected"; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) + return "positiveIntValue: integer|Long expected"; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) + return "negativeIntValue: integer|Long expected"; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (typeof message.doubleValue !== "number") + return "doubleValue: number expected"; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) + return "stringValue: buffer expected"; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (!$util.isString(message.aggregateValue)) + return "aggregateValue: string expected"; + return null; + }; + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + */ + UninterpretedOption.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption) + return object; + var message = new $root.google.protobuf.UninterpretedOption(); + if (object.name) { + if (!Array.isArray(object.name)) + throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); + message.name = []; + for (var i = 0; i < object.name.length; ++i) { + if (typeof object.name[i] !== "object") + throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + } + } + if (object.identifierValue != null) + message.identifierValue = String(object.identifierValue); + if (object.positiveIntValue != null) + if ($util.Long) + (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; + else if (typeof object.positiveIntValue === "string") + message.positiveIntValue = parseInt(object.positiveIntValue, 10); + else if (typeof object.positiveIntValue === "number") + message.positiveIntValue = object.positiveIntValue; + else if (typeof object.positiveIntValue === "object") + message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); + if (object.negativeIntValue != null) + if ($util.Long) + (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; + else if (typeof object.negativeIntValue === "string") + message.negativeIntValue = parseInt(object.negativeIntValue, 10); + else if (typeof object.negativeIntValue === "number") + message.negativeIntValue = object.negativeIntValue; + else if (typeof object.negativeIntValue === "object") + message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); + if (object.doubleValue != null) + message.doubleValue = Number(object.doubleValue); + if (object.stringValue != null) + if (typeof object.stringValue === "string") + $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); + else if (object.stringValue.length >= 0) + message.stringValue = object.stringValue; + if (object.aggregateValue != null) + message.aggregateValue = String(object.aggregateValue); + return message; + }; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.UninterpretedOption} message UninterpretedOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UninterpretedOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.name = []; + if (options.defaults) { + object.identifierValue = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.positiveIntValue = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.negativeIntValue = options.longs === String ? "0" : 0; + object.doubleValue = 0; + if (options.bytes === String) + object.stringValue = ""; + else { + object.stringValue = []; + if (options.bytes !== Array) + object.stringValue = $util.newBuffer(object.stringValue); + } + object.aggregateValue = ""; + } + if (message.name && message.name.length) { + object.name = []; + for (var j = 0; j < message.name.length; ++j) + object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + object.identifierValue = message.identifierValue; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (typeof message.positiveIntValue === "number") + object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; + else + object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (typeof message.negativeIntValue === "number") + object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + else + object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + object.aggregateValue = message.aggregateValue; + return object; + }; + + /** + * Converts this UninterpretedOption to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption + * @instance + * @returns {Object.} JSON object + */ + UninterpretedOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UninterpretedOption + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption"; + }; + + UninterpretedOption.NamePart = (function() { + + /** + * Properties of a NamePart. + * @memberof google.protobuf.UninterpretedOption + * @interface INamePart + * @property {string} namePart NamePart namePart + * @property {boolean} isExtension NamePart isExtension + */ + + /** + * Constructs a new NamePart. + * @memberof google.protobuf.UninterpretedOption + * @classdesc Represents a NamePart. + * @implements INamePart + * @constructor + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + */ + function NamePart(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NamePart namePart. + * @member {string} namePart + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.namePart = ""; + + /** + * NamePart isExtension. + * @member {boolean} isExtension + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.isExtension = false; + + /** + * Creates a new NamePart instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance + */ + NamePart.create = function create(properties) { + return new NamePart(properties); + }; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); + return writer; + }; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.namePart = reader.string(); + break; + } + case 2: { + message.isExtension = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + if (!message.hasOwnProperty("namePart")) + throw $util.ProtocolError("missing required 'namePart'", { instance: message }); + if (!message.hasOwnProperty("isExtension")) + throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); + return message; + }; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NamePart message. + * @function verify + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NamePart.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (!$util.isString(message.namePart)) + return "namePart: string expected"; + if (typeof message.isExtension !== "boolean") + return "isExtension: boolean expected"; + return null; + }; + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + */ + NamePart.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) + return object; + var message = new $root.google.protobuf.UninterpretedOption.NamePart(); + if (object.namePart != null) + message.namePart = String(object.namePart); + if (object.isExtension != null) + message.isExtension = Boolean(object.isExtension); + return message; + }; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NamePart.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.namePart = ""; + object.isExtension = false; + } + if (message.namePart != null && message.hasOwnProperty("namePart")) + object.namePart = message.namePart; + if (message.isExtension != null && message.hasOwnProperty("isExtension")) + object.isExtension = message.isExtension; + return object; + }; + + /** + * Converts this NamePart to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + * @returns {Object.} JSON object + */ + NamePart.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for NamePart + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart"; + }; + + return NamePart; + })(); + + return UninterpretedOption; + })(); + + protobuf.FeatureSet = (function() { + + /** + * Properties of a FeatureSet. + * @memberof google.protobuf + * @interface IFeatureSet + * @property {google.protobuf.FeatureSet.FieldPresence|null} [fieldPresence] FeatureSet fieldPresence + * @property {google.protobuf.FeatureSet.EnumType|null} [enumType] FeatureSet enumType + * @property {google.protobuf.FeatureSet.RepeatedFieldEncoding|null} [repeatedFieldEncoding] FeatureSet repeatedFieldEncoding + * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation + * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding + * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat + */ + + /** + * Constructs a new FeatureSet. + * @memberof google.protobuf + * @classdesc Represents a FeatureSet. + * @implements IFeatureSet + * @constructor + * @param {google.protobuf.IFeatureSet=} [properties] Properties to set + */ + function FeatureSet(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSet fieldPresence. + * @member {google.protobuf.FeatureSet.FieldPresence} fieldPresence + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.fieldPresence = 0; + + /** + * FeatureSet enumType. + * @member {google.protobuf.FeatureSet.EnumType} enumType + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.enumType = 0; + + /** + * FeatureSet repeatedFieldEncoding. + * @member {google.protobuf.FeatureSet.RepeatedFieldEncoding} repeatedFieldEncoding + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.repeatedFieldEncoding = 0; + + /** + * FeatureSet utf8Validation. + * @member {google.protobuf.FeatureSet.Utf8Validation} utf8Validation + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.utf8Validation = 0; + + /** + * FeatureSet messageEncoding. + * @member {google.protobuf.FeatureSet.MessageEncoding} messageEncoding + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.messageEncoding = 0; + + /** + * FeatureSet jsonFormat. + * @member {google.protobuf.FeatureSet.JsonFormat} jsonFormat + * @memberof google.protobuf.FeatureSet + * @instance + */ + FeatureSet.prototype.jsonFormat = 0; + + /** + * Creates a new FeatureSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSet + * @static + * @param {google.protobuf.IFeatureSet=} [properties] Properties to set + * @returns {google.protobuf.FeatureSet} FeatureSet instance + */ + FeatureSet.create = function create(properties) { + return new FeatureSet(properties); + }; + + /** + * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSet + * @static + * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.fieldPresence); + if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.enumType); + if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.repeatedFieldEncoding); + if (message.utf8Validation != null && Object.hasOwnProperty.call(message, "utf8Validation")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.utf8Validation); + if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); + if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); + return writer; + }; + + /** + * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSet + * @static + * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSet} FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.fieldPresence = reader.int32(); + break; + } + case 2: { + message.enumType = reader.int32(); + break; + } + case 3: { + message.repeatedFieldEncoding = reader.int32(); + break; + } + case 4: { + message.utf8Validation = reader.int32(); + break; + } + case 5: { + message.messageEncoding = reader.int32(); + break; + } + case 6: { + message.jsonFormat = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSet} FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSet message. + * @function verify + * @memberof google.protobuf.FeatureSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) + switch (message.fieldPresence) { + default: + return "fieldPresence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.enumType != null && message.hasOwnProperty("enumType")) + switch (message.enumType) { + default: + return "enumType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding")) + switch (message.repeatedFieldEncoding) { + default: + return "repeatedFieldEncoding: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation")) + switch (message.utf8Validation) { + default: + return "utf8Validation: enum value expected"; + case 0: + case 2: + case 3: + break; + } + if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding")) + switch (message.messageEncoding) { + default: + return "messageEncoding: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) + switch (message.jsonFormat) { + default: + return "jsonFormat: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSet} FeatureSet + */ + FeatureSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FeatureSet) + return object; + var message = new $root.google.protobuf.FeatureSet(); + switch (object.fieldPresence) { + default: + if (typeof object.fieldPresence === "number") { + message.fieldPresence = object.fieldPresence; + break; + } + break; + case "FIELD_PRESENCE_UNKNOWN": + case 0: + message.fieldPresence = 0; + break; + case "EXPLICIT": + case 1: + message.fieldPresence = 1; + break; + case "IMPLICIT": + case 2: + message.fieldPresence = 2; + break; + case "LEGACY_REQUIRED": + case 3: + message.fieldPresence = 3; + break; + } + switch (object.enumType) { + default: + if (typeof object.enumType === "number") { + message.enumType = object.enumType; + break; + } + break; + case "ENUM_TYPE_UNKNOWN": + case 0: + message.enumType = 0; + break; + case "OPEN": + case 1: + message.enumType = 1; + break; + case "CLOSED": + case 2: + message.enumType = 2; + break; + } + switch (object.repeatedFieldEncoding) { + default: + if (typeof object.repeatedFieldEncoding === "number") { + message.repeatedFieldEncoding = object.repeatedFieldEncoding; + break; + } + break; + case "REPEATED_FIELD_ENCODING_UNKNOWN": + case 0: + message.repeatedFieldEncoding = 0; + break; + case "PACKED": + case 1: + message.repeatedFieldEncoding = 1; + break; + case "EXPANDED": + case 2: + message.repeatedFieldEncoding = 2; + break; + } + switch (object.utf8Validation) { + default: + if (typeof object.utf8Validation === "number") { + message.utf8Validation = object.utf8Validation; + break; + } + break; + case "UTF8_VALIDATION_UNKNOWN": + case 0: + message.utf8Validation = 0; + break; + case "VERIFY": + case 2: + message.utf8Validation = 2; + break; + case "NONE": + case 3: + message.utf8Validation = 3; + break; + } + switch (object.messageEncoding) { + default: + if (typeof object.messageEncoding === "number") { + message.messageEncoding = object.messageEncoding; + break; + } + break; + case "MESSAGE_ENCODING_UNKNOWN": + case 0: + message.messageEncoding = 0; + break; + case "LENGTH_PREFIXED": + case 1: + message.messageEncoding = 1; + break; + case "DELIMITED": + case 2: + message.messageEncoding = 2; + break; + } + switch (object.jsonFormat) { + default: + if (typeof object.jsonFormat === "number") { + message.jsonFormat = object.jsonFormat; + break; + } + break; + case "JSON_FORMAT_UNKNOWN": + case 0: + message.jsonFormat = 0; + break; + case "ALLOW": + case 1: + message.jsonFormat = 1; + break; + case "LEGACY_BEST_EFFORT": + case 2: + message.jsonFormat = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a FeatureSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSet + * @static + * @param {google.protobuf.FeatureSet} message FeatureSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FeatureSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0; + object.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0; + object.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0; + object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; + object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; + object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; + } + if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) + object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; + if (message.enumType != null && message.hasOwnProperty("enumType")) + object.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === undefined ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType; + if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding")) + object.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === undefined ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding; + if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation")) + object.utf8Validation = options.enums === String ? $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] === undefined ? message.utf8Validation : $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] : message.utf8Validation; + if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding")) + object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; + if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) + object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; + return object; + }; + + /** + * Converts this FeatureSet to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSet + * @instance + * @returns {Object.} JSON object + */ + FeatureSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FeatureSet + * @function getTypeUrl + * @memberof google.protobuf.FeatureSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSet"; + }; + + /** + * FieldPresence enum. + * @name google.protobuf.FeatureSet.FieldPresence + * @enum {number} + * @property {number} FIELD_PRESENCE_UNKNOWN=0 FIELD_PRESENCE_UNKNOWN value + * @property {number} EXPLICIT=1 EXPLICIT value + * @property {number} IMPLICIT=2 IMPLICIT value + * @property {number} LEGACY_REQUIRED=3 LEGACY_REQUIRED value + */ + FeatureSet.FieldPresence = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0; + values[valuesById[1] = "EXPLICIT"] = 1; + values[valuesById[2] = "IMPLICIT"] = 2; + values[valuesById[3] = "LEGACY_REQUIRED"] = 3; + return values; + })(); + + /** + * EnumType enum. + * @name google.protobuf.FeatureSet.EnumType + * @enum {number} + * @property {number} ENUM_TYPE_UNKNOWN=0 ENUM_TYPE_UNKNOWN value + * @property {number} OPEN=1 OPEN value + * @property {number} CLOSED=2 CLOSED value + */ + FeatureSet.EnumType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0; + values[valuesById[1] = "OPEN"] = 1; + values[valuesById[2] = "CLOSED"] = 2; + return values; + })(); + + /** + * RepeatedFieldEncoding enum. + * @name google.protobuf.FeatureSet.RepeatedFieldEncoding + * @enum {number} + * @property {number} REPEATED_FIELD_ENCODING_UNKNOWN=0 REPEATED_FIELD_ENCODING_UNKNOWN value + * @property {number} PACKED=1 PACKED value + * @property {number} EXPANDED=2 EXPANDED value + */ + FeatureSet.RepeatedFieldEncoding = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0; + values[valuesById[1] = "PACKED"] = 1; + values[valuesById[2] = "EXPANDED"] = 2; + return values; + })(); + + /** + * Utf8Validation enum. + * @name google.protobuf.FeatureSet.Utf8Validation + * @enum {number} + * @property {number} UTF8_VALIDATION_UNKNOWN=0 UTF8_VALIDATION_UNKNOWN value + * @property {number} VERIFY=2 VERIFY value + * @property {number} NONE=3 NONE value + */ + FeatureSet.Utf8Validation = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UTF8_VALIDATION_UNKNOWN"] = 0; + values[valuesById[2] = "VERIFY"] = 2; + values[valuesById[3] = "NONE"] = 3; + return values; + })(); + + /** + * MessageEncoding enum. + * @name google.protobuf.FeatureSet.MessageEncoding + * @enum {number} + * @property {number} MESSAGE_ENCODING_UNKNOWN=0 MESSAGE_ENCODING_UNKNOWN value + * @property {number} LENGTH_PREFIXED=1 LENGTH_PREFIXED value + * @property {number} DELIMITED=2 DELIMITED value + */ + FeatureSet.MessageEncoding = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0; + values[valuesById[1] = "LENGTH_PREFIXED"] = 1; + values[valuesById[2] = "DELIMITED"] = 2; + return values; + })(); + + /** + * JsonFormat enum. + * @name google.protobuf.FeatureSet.JsonFormat + * @enum {number} + * @property {number} JSON_FORMAT_UNKNOWN=0 JSON_FORMAT_UNKNOWN value + * @property {number} ALLOW=1 ALLOW value + * @property {number} LEGACY_BEST_EFFORT=2 LEGACY_BEST_EFFORT value + */ + FeatureSet.JsonFormat = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0; + values[valuesById[1] = "ALLOW"] = 1; + values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2; + return values; + })(); + + return FeatureSet; + })(); + + protobuf.FeatureSetDefaults = (function() { + + /** + * Properties of a FeatureSetDefaults. + * @memberof google.protobuf + * @interface IFeatureSetDefaults + * @property {Array.|null} [defaults] FeatureSetDefaults defaults + * @property {google.protobuf.Edition|null} [minimumEdition] FeatureSetDefaults minimumEdition + * @property {google.protobuf.Edition|null} [maximumEdition] FeatureSetDefaults maximumEdition + */ + + /** + * Constructs a new FeatureSetDefaults. + * @memberof google.protobuf + * @classdesc Represents a FeatureSetDefaults. + * @implements IFeatureSetDefaults + * @constructor + * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set + */ + function FeatureSetDefaults(properties) { + this.defaults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSetDefaults defaults. + * @member {Array.} defaults + * @memberof google.protobuf.FeatureSetDefaults + * @instance + */ + FeatureSetDefaults.prototype.defaults = $util.emptyArray; + + /** + * FeatureSetDefaults minimumEdition. + * @member {google.protobuf.Edition} minimumEdition + * @memberof google.protobuf.FeatureSetDefaults + * @instance + */ + FeatureSetDefaults.prototype.minimumEdition = 0; + + /** + * FeatureSetDefaults maximumEdition. + * @member {google.protobuf.Edition} maximumEdition + * @memberof google.protobuf.FeatureSetDefaults + * @instance + */ + FeatureSetDefaults.prototype.maximumEdition = 0; + + /** + * Creates a new FeatureSetDefaults instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set + * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults instance + */ + FeatureSetDefaults.create = function create(properties) { + return new FeatureSetDefaults(properties); + }; + + /** + * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSetDefaults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.defaults != null && message.defaults.length) + for (var i = 0; i < message.defaults.length; ++i) + $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.minimumEdition != null && Object.hasOwnProperty.call(message, "minimumEdition")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minimumEdition); + if (message.maximumEdition != null && Object.hasOwnProperty.call(message, "maximumEdition")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.maximumEdition); + return writer; + }; + + /** + * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSetDefaults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSetDefaults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.defaults && message.defaults.length)) + message.defaults = []; + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + break; + } + case 4: { + message.minimumEdition = reader.int32(); + break; + } + case 5: { + message.maximumEdition = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSetDefaults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSetDefaults message. + * @function verify + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSetDefaults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.defaults != null && message.hasOwnProperty("defaults")) { + if (!Array.isArray(message.defaults)) + return "defaults: array expected"; + for (var i = 0; i < message.defaults.length; ++i) { + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + if (error) + return "defaults." + error; + } + } + if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition")) + switch (message.minimumEdition) { + default: + return "minimumEdition: enum value expected"; + case 0: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition")) + switch (message.maximumEdition) { + default: + return "maximumEdition: enum value expected"; + case 0: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + return null; + }; + + /** + * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults + */ + FeatureSetDefaults.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FeatureSetDefaults) + return object; + var message = new $root.google.protobuf.FeatureSetDefaults(); + if (object.defaults) { + if (!Array.isArray(object.defaults)) + throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected"); + message.defaults = []; + for (var i = 0; i < object.defaults.length; ++i) { + if (typeof object.defaults[i] !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + } + } + switch (object.minimumEdition) { + default: + if (typeof object.minimumEdition === "number") { + message.minimumEdition = object.minimumEdition; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.minimumEdition = 0; + break; + case "EDITION_PROTO2": + case 998: + message.minimumEdition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.minimumEdition = 999; + break; + case "EDITION_2023": + case 1000: + message.minimumEdition = 1000; + break; + case "EDITION_2024": + case 1001: + message.minimumEdition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.minimumEdition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.minimumEdition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.minimumEdition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.minimumEdition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.minimumEdition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.minimumEdition = 2147483647; + break; + } + switch (object.maximumEdition) { + default: + if (typeof object.maximumEdition === "number") { + message.maximumEdition = object.maximumEdition; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.maximumEdition = 0; + break; + case "EDITION_PROTO2": + case 998: + message.maximumEdition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.maximumEdition = 999; + break; + case "EDITION_2023": + case 1000: + message.maximumEdition = 1000; + break; + case "EDITION_2024": + case 1001: + message.maximumEdition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.maximumEdition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.maximumEdition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.maximumEdition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.maximumEdition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.maximumEdition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.maximumEdition = 2147483647; + break; + } + return message; + }; + + /** + * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {google.protobuf.FeatureSetDefaults} message FeatureSetDefaults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FeatureSetDefaults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.defaults = []; + if (options.defaults) { + object.minimumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0; + object.maximumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.defaults && message.defaults.length) { + object.defaults = []; + for (var j = 0; j < message.defaults.length; ++j) + object.defaults[j] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j], options); + } + if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition")) + object.minimumEdition = options.enums === String ? $root.google.protobuf.Edition[message.minimumEdition] === undefined ? message.minimumEdition : $root.google.protobuf.Edition[message.minimumEdition] : message.minimumEdition; + if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition")) + object.maximumEdition = options.enums === String ? $root.google.protobuf.Edition[message.maximumEdition] === undefined ? message.maximumEdition : $root.google.protobuf.Edition[message.maximumEdition] : message.maximumEdition; + return object; + }; + + /** + * Converts this FeatureSetDefaults to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSetDefaults + * @instance + * @returns {Object.} JSON object + */ + FeatureSetDefaults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FeatureSetDefaults + * @function getTypeUrl + * @memberof google.protobuf.FeatureSetDefaults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FeatureSetDefaults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults"; + }; + + FeatureSetDefaults.FeatureSetEditionDefault = (function() { + + /** + * Properties of a FeatureSetEditionDefault. + * @memberof google.protobuf.FeatureSetDefaults + * @interface IFeatureSetEditionDefault + * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition + * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features + */ + + /** + * Constructs a new FeatureSetEditionDefault. + * @memberof google.protobuf.FeatureSetDefaults + * @classdesc Represents a FeatureSetEditionDefault. + * @implements IFeatureSetEditionDefault + * @constructor + * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set + */ + function FeatureSetEditionDefault(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FeatureSetEditionDefault edition. + * @member {google.protobuf.Edition} edition + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.edition = 0; + + /** + * FeatureSetEditionDefault features. + * @member {google.protobuf.IFeatureSet|null|undefined} features + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + */ + FeatureSetEditionDefault.prototype.features = null; + + /** + * Creates a new FeatureSetEditionDefault instance using the specified properties. + * @function create + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set + * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault instance + */ + FeatureSetEditionDefault.create = function create(properties) { + return new FeatureSetEditionDefault(properties); + }; + + /** + * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSetEditionDefault.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.features != null && Object.hasOwnProperty.call(message, "features")) + $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); + return writer; + }; + + /** + * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FeatureSetEditionDefault.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSetEditionDefault.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + message.edition = reader.int32(); + break; + } + case 2: { + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FeatureSetEditionDefault.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FeatureSetEditionDefault message. + * @function verify + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FeatureSetEditionDefault.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + switch (message.edition) { + default: + return "edition: enum value expected"; + case 0: + case 998: + case 999: + case 1000: + case 1001: + case 1: + case 2: + case 99997: + case 99998: + case 99999: + case 2147483647: + break; + } + if (message.features != null && message.hasOwnProperty("features")) { + var error = $root.google.protobuf.FeatureSet.verify(message.features); + if (error) + return "features." + error; + } + return null; + }; + + /** + * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault + */ + FeatureSetEditionDefault.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) + return object; + var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); + switch (object.edition) { + default: + if (typeof object.edition === "number") { + message.edition = object.edition; + break; + } + break; + case "EDITION_UNKNOWN": + case 0: + message.edition = 0; + break; + case "EDITION_PROTO2": + case 998: + message.edition = 998; + break; + case "EDITION_PROTO3": + case 999: + message.edition = 999; + break; + case "EDITION_2023": + case 1000: + message.edition = 1000; + break; + case "EDITION_2024": + case 1001: + message.edition = 1001; + break; + case "EDITION_1_TEST_ONLY": + case 1: + message.edition = 1; + break; + case "EDITION_2_TEST_ONLY": + case 2: + message.edition = 2; + break; + case "EDITION_99997_TEST_ONLY": + case 99997: + message.edition = 99997; + break; + case "EDITION_99998_TEST_ONLY": + case 99998: + message.edition = 99998; + break; + case "EDITION_99999_TEST_ONLY": + case 99999: + message.edition = 99999; + break; + case "EDITION_MAX": + case 2147483647: + message.edition = 2147483647; + break; + } + if (object.features != null) { + if (typeof object.features !== "object") + throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + } + return message; + }; + + /** + * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} message FeatureSetEditionDefault + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FeatureSetEditionDefault.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.features = null; + object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; + } + if (message.features != null && message.hasOwnProperty("features")) + object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; + return object; + }; + + /** + * Converts this FeatureSetEditionDefault to JSON. + * @function toJSON + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @instance + * @returns {Object.} JSON object + */ + FeatureSetEditionDefault.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FeatureSetEditionDefault + * @function getTypeUrl + * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FeatureSetEditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"; + }; + + return FeatureSetEditionDefault; + })(); + + return FeatureSetDefaults; + })(); + + protobuf.SourceCodeInfo = (function() { + + /** + * Properties of a SourceCodeInfo. + * @memberof google.protobuf + * @interface ISourceCodeInfo + * @property {Array.|null} [location] SourceCodeInfo location + */ + + /** + * Constructs a new SourceCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a SourceCodeInfo. + * @implements ISourceCodeInfo + * @constructor + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + */ + function SourceCodeInfo(properties) { + this.location = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceCodeInfo location. + * @member {Array.} location + * @memberof google.protobuf.SourceCodeInfo + * @instance + */ + SourceCodeInfo.prototype.location = $util.emptyArray; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + */ + SourceCodeInfo.create = function create(properties) { + return new SourceCodeInfo(properties); + }; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.location != null && message.location.length) + for (var i = 0; i < message.location.length; ++i) + $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceCodeInfo message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.location != null && message.hasOwnProperty("location")) { + if (!Array.isArray(message.location)) + return "location: array expected"; + for (var i = 0; i < message.location.length; ++i) { + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + if (error) + return "location." + error; + } + } + return null; + }; + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + */ + SourceCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo) + return object; + var message = new $root.google.protobuf.SourceCodeInfo(); + if (object.location) { + if (!Array.isArray(object.location)) + throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); + message.location = []; + for (var i = 0; i < object.location.length; ++i) { + if (typeof object.location[i] !== "object") + throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.location = []; + if (message.location && message.location.length) { + object.location = []; + for (var j = 0; j < message.location.length; ++j) + object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); + } + return object; + }; + + /** + * Converts this SourceCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo + * @instance + * @returns {Object.} JSON object + */ + SourceCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SourceCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo"; + }; + + SourceCodeInfo.Location = (function() { + + /** + * Properties of a Location. + * @memberof google.protobuf.SourceCodeInfo + * @interface ILocation + * @property {Array.|null} [path] Location path + * @property {Array.|null} [span] Location span + * @property {string|null} [leadingComments] Location leadingComments + * @property {string|null} [trailingComments] Location trailingComments + * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments + */ + + /** + * Constructs a new Location. + * @memberof google.protobuf.SourceCodeInfo + * @classdesc Represents a Location. + * @implements ILocation + * @constructor + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + */ + function Location(properties) { + this.path = []; + this.span = []; + this.leadingDetachedComments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Location path. + * @member {Array.} path + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.path = $util.emptyArray; + + /** + * Location span. + * @member {Array.} span + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.span = $util.emptyArray; + + /** + * Location leadingComments. + * @member {string} leadingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingComments = ""; + + /** + * Location trailingComments. + * @member {string} trailingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.trailingComments = ""; + + /** + * Location leadingDetachedComments. + * @member {Array.} leadingDetachedComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingDetachedComments = $util.emptyArray; + + /** + * Creates a new Location instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo.Location} Location instance + */ + Location.create = function create(properties) { + return new Location(properties); + }; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.span != null && message.span.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.span.length; ++i) + writer.int32(message.span[i]); + writer.ldelim(); + } + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); + if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); + return writer; + }; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Location message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + } + case 2: { + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else + message.span.push(reader.int32()); + break; + } + case 3: { + message.leadingComments = reader.string(); + break; + } + case 4: { + message.trailingComments = reader.string(); + break; + } + case 6: { + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Location message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Location.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.span != null && message.hasOwnProperty("span")) { + if (!Array.isArray(message.span)) + return "span: array expected"; + for (var i = 0; i < message.span.length; ++i) + if (!$util.isInteger(message.span[i])) + return "span: integer[] expected"; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (!$util.isString(message.leadingComments)) + return "leadingComments: string expected"; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (!$util.isString(message.trailingComments)) + return "trailingComments: string expected"; + if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { + if (!Array.isArray(message.leadingDetachedComments)) + return "leadingDetachedComments: array expected"; + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + if (!$util.isString(message.leadingDetachedComments[i])) + return "leadingDetachedComments: string[] expected"; + } + return null; + }; + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo.Location} Location + */ + Location.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) + return object; + var message = new $root.google.protobuf.SourceCodeInfo.Location(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.span) { + if (!Array.isArray(object.span)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); + message.span = []; + for (var i = 0; i < object.span.length; ++i) + message.span[i] = object.span[i] | 0; + } + if (object.leadingComments != null) + message.leadingComments = String(object.leadingComments); + if (object.trailingComments != null) + message.trailingComments = String(object.trailingComments); + if (object.leadingDetachedComments) { + if (!Array.isArray(object.leadingDetachedComments)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); + message.leadingDetachedComments = []; + for (var i = 0; i < object.leadingDetachedComments.length; ++i) + message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + } + return message; + }; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.Location} message Location + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Location.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.span = []; + object.leadingDetachedComments = []; + } + if (options.defaults) { + object.leadingComments = ""; + object.trailingComments = ""; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.span && message.span.length) { + object.span = []; + for (var j = 0; j < message.span.length; ++j) + object.span[j] = message.span[j]; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + object.leadingComments = message.leadingComments; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + object.trailingComments = message.trailingComments; + if (message.leadingDetachedComments && message.leadingDetachedComments.length) { + object.leadingDetachedComments = []; + for (var j = 0; j < message.leadingDetachedComments.length; ++j) + object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; + } + return object; + }; + + /** + * Converts this Location to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + * @returns {Object.} JSON object + */ + Location.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Location + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location"; + }; + + return Location; + })(); + + return SourceCodeInfo; + })(); + + protobuf.GeneratedCodeInfo = (function() { + + /** + * Properties of a GeneratedCodeInfo. + * @memberof google.protobuf + * @interface IGeneratedCodeInfo + * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + */ + + /** + * Constructs a new GeneratedCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a GeneratedCodeInfo. + * @implements IGeneratedCodeInfo + * @constructor + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + */ + function GeneratedCodeInfo(properties) { + this.annotation = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GeneratedCodeInfo annotation. + * @member {Array.} annotation + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + */ + GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + */ + GeneratedCodeInfo.create = function create(properties) { + return new GeneratedCodeInfo(properties); + }; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotation != null && message.annotation.length) + for (var i = 0; i < message.annotation.length; ++i) + $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GeneratedCodeInfo message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GeneratedCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotation != null && message.hasOwnProperty("annotation")) { + if (!Array.isArray(message.annotation)) + return "annotation: array expected"; + for (var i = 0; i < message.annotation.length; ++i) { + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (error) + return "annotation." + error; + } + } + return null; + }; + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + */ + GeneratedCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo(); + if (object.annotation) { + if (!Array.isArray(object.annotation)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); + message.annotation = []; + for (var i = 0; i < object.annotation.length; ++i) { + if (typeof object.annotation[i] !== "object") + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GeneratedCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotation = []; + if (message.annotation && message.annotation.length) { + object.annotation = []; + for (var j = 0; j < message.annotation.length; ++j) + object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + } + return object; + }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + * @returns {Object.} JSON object + */ + GeneratedCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo"; + }; + + GeneratedCodeInfo.Annotation = (function() { + + /** + * Properties of an Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @interface IAnnotation + * @property {Array.|null} [path] Annotation path + * @property {string|null} [sourceFile] Annotation sourceFile + * @property {number|null} [begin] Annotation begin + * @property {number|null} [end] Annotation end + * @property {google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null} [semantic] Annotation semantic + */ + + /** + * Constructs a new Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @classdesc Represents an Annotation. + * @implements IAnnotation + * @constructor + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + */ + function Annotation(properties) { + this.path = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Annotation path. + * @member {Array.} path + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.path = $util.emptyArray; + + /** + * Annotation sourceFile. + * @member {string} sourceFile + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.sourceFile = ""; + + /** + * Annotation begin. + * @member {number} begin + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.begin = 0; + + /** + * Annotation end. + * @member {number} end + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.end = 0; + + /** + * Annotation semantic. + * @member {google.protobuf.GeneratedCodeInfo.Annotation.Semantic} semantic + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.semantic = 0; + + /** + * Creates a new Annotation instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance + */ + Annotation.create = function create(properties) { + return new Annotation(properties); + }; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.semantic); + return writer; + }; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + } + case 2: { + message.sourceFile = reader.string(); + break; + } + case 3: { + message.begin = reader.int32(); + break; + } + case 4: { + message.end = reader.int32(); + break; + } + case 5: { + message.semantic = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Annotation message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Annotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (!$util.isString(message.sourceFile)) + return "sourceFile: string expected"; + if (message.begin != null && message.hasOwnProperty("begin")) + if (!$util.isInteger(message.begin)) + return "begin: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.semantic != null && message.hasOwnProperty("semantic")) + switch (message.semantic) { + default: + return "semantic: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + */ + Annotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.sourceFile != null) + message.sourceFile = String(object.sourceFile); + if (object.begin != null) + message.begin = object.begin | 0; + if (object.end != null) + message.end = object.end | 0; + switch (object.semantic) { + default: + if (typeof object.semantic === "number") { + message.semantic = object.semantic; + break; + } + break; + case "NONE": + case 0: + message.semantic = 0; + break; + case "SET": + case 1: + message.semantic = 1; + break; + case "ALIAS": + case 2: + message.semantic = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Annotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.path = []; + if (options.defaults) { + object.sourceFile = ""; + object.begin = 0; + object.end = 0; + object.semantic = options.enums === String ? "NONE" : 0; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + object.sourceFile = message.sourceFile; + if (message.begin != null && message.hasOwnProperty("begin")) + object.begin = message.begin; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.semantic != null && message.hasOwnProperty("semantic")) + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === undefined ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; + return object; + }; + + /** + * Converts this Annotation to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + * @returns {Object.} JSON object + */ + Annotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Annotation + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation"; + }; + + /** + * Semantic enum. + * @name google.protobuf.GeneratedCodeInfo.Annotation.Semantic + * @enum {number} + * @property {number} NONE=0 NONE value + * @property {number} SET=1 SET value + * @property {number} ALIAS=2 ALIAS value + */ + Annotation.Semantic = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NONE"] = 0; + values[valuesById[1] = "SET"] = 1; + values[valuesById[2] = "ALIAS"] = 2; + return values; + })(); + + return Annotation; + })(); + + return GeneratedCodeInfo; + })(); + + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Duration + * @function getTypeUrl + * @memberof google.protobuf.Duration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Duration"; + }; + + return Duration; + })(); + + protobuf.Empty = (function() { + + /** + * Properties of an Empty. + * @memberof google.protobuf + * @interface IEmpty + */ + + /** + * Constructs a new Empty. + * @memberof google.protobuf + * @classdesc Represents an Empty. + * @implements IEmpty + * @constructor + * @param {google.protobuf.IEmpty=} [properties] Properties to set + */ + function Empty(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Empty instance using the specified properties. + * @function create + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty=} [properties] Properties to set + * @returns {google.protobuf.Empty} Empty instance + */ + Empty.create = function create(properties) { + return new Empty(properties); + }; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Empty message. + * @function verify + * @memberof google.protobuf.Empty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Empty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Empty + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Empty} Empty + */ + Empty.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Empty) + return object; + return new $root.google.protobuf.Empty(); + }; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.Empty} message Empty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Empty.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Empty to JSON. + * @function toJSON + * @memberof google.protobuf.Empty + * @instance + * @returns {Object.} JSON object + */ + Empty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Empty + * @function getTypeUrl + * @memberof google.protobuf.Empty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Empty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Empty"; + }; + + return Empty; + })(); + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Timestamp + * @function getTypeUrl + * @memberof google.protobuf.Timestamp + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Timestamp"; + }; + + return Timestamp; + })(); + + return protobuf; + })(); + + google.type = (function() { + + /** + * Namespace type. + * @memberof google + * @namespace + */ + var type = {}; + + type.Interval = (function() { + + /** + * Properties of an Interval. + * @memberof google.type + * @interface IInterval + * @property {google.protobuf.ITimestamp|null} [startTime] Interval startTime + * @property {google.protobuf.ITimestamp|null} [endTime] Interval endTime + */ + + /** + * Constructs a new Interval. + * @memberof google.type + * @classdesc Represents an Interval. + * @implements IInterval + * @constructor + * @param {google.type.IInterval=} [properties] Properties to set + */ + function Interval(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Interval startTime. + * @member {google.protobuf.ITimestamp|null|undefined} startTime + * @memberof google.type.Interval + * @instance + */ + Interval.prototype.startTime = null; + + /** + * Interval endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.type.Interval + * @instance + */ + Interval.prototype.endTime = null; + + /** + * Creates a new Interval instance using the specified properties. + * @function create + * @memberof google.type.Interval + * @static + * @param {google.type.IInterval=} [properties] Properties to set + * @returns {google.type.Interval} Interval instance + */ + Interval.create = function create(properties) { + return new Interval(properties); + }; + + /** + * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages. + * @function encode + * @memberof google.type.Interval + * @static + * @param {google.type.IInterval} message Interval message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Interval.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) + $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages. + * @function encodeDelimited + * @memberof google.type.Interval + * @static + * @param {google.type.IInterval} message Interval message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Interval.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Interval message from the specified reader or buffer. + * @function decode + * @memberof google.type.Interval + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.type.Interval} Interval + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Interval.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Interval(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Interval message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.type.Interval + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.type.Interval} Interval + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Interval.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Interval message. + * @function verify + * @memberof google.type.Interval + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Interval.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startTime != null && message.hasOwnProperty("startTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.startTime); + if (error) + return "startTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + return null; + }; + + /** + * Creates an Interval message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.type.Interval + * @static + * @param {Object.} object Plain object + * @returns {google.type.Interval} Interval + */ + Interval.fromObject = function fromObject(object) { + if (object instanceof $root.google.type.Interval) + return object; + var message = new $root.google.type.Interval(); + if (object.startTime != null) { + if (typeof object.startTime !== "object") + throw TypeError(".google.type.Interval.startTime: object expected"); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.type.Interval.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + return message; + }; + + /** + * Creates a plain object from an Interval message. Also converts values to other types if specified. + * @function toObject + * @memberof google.type.Interval + * @static + * @param {google.type.Interval} message Interval + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Interval.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.startTime = null; + object.endTime = null; + } + if (message.startTime != null && message.hasOwnProperty("startTime")) + object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + return object; + }; + + /** + * Converts this Interval to JSON. + * @function toJSON + * @memberof google.type.Interval + * @instance + * @returns {Object.} JSON object + */ + Interval.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Interval + * @function getTypeUrl + * @memberof google.type.Interval + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Interval.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.type.Interval"; + }; + + return Interval; + })(); + + return type; + })(); + + return google; + })(); + + return $root; +}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json new file mode 100644 index 00000000000..0660cb79eda --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json @@ -0,0 +1,3893 @@ +{ + "nested": { + "google": { + "nested": { + "shopping": { + "nested": { + "merchant": { + "nested": { + "products": { + "nested": { + "v1beta": { + "options": { + "go_package": "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb", + "java_multiple_files": true, + "java_outer_classname": "ProductsProto", + "java_package": "com.google.shopping.merchant.products.v1beta", + "(google.api.resource_definition).type": "merchantapi.googleapis.com/Account", + "(google.api.resource_definition).pattern": "accounts/{account}" + }, + "nested": { + "ProductInputsService": { + "options": { + "(google.api.default_host)": "merchantapi.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "InsertProductInput": { + "requestType": "InsertProductInputRequest", + "responseType": "ProductInput", + "options": { + "(google.api.http).post": "/products/v1beta/{parent=accounts/*}/productInputs:insert", + "(google.api.http).body": "product_input" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/products/v1beta/{parent=accounts/*}/productInputs:insert", + "body": "product_input" + } + } + ] + }, + "DeleteProductInput": { + "requestType": "DeleteProductInputRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/products/v1beta/{name=accounts/*/productInputs/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/products/v1beta/{name=accounts/*/productInputs/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + } + } + }, + "ProductInput": { + "options": { + "(google.api.resource).type": "merchantapi.googleapis.com/ProductInput", + "(google.api.resource).pattern": "accounts/{account}/productInputs/{productinput}", + "(google.api.resource).plural": "productInputs", + "(google.api.resource).singular": "productInput" + }, + "oneofs": { + "_versionNumber": { + "oneof": [ + "versionNumber" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "IDENTIFIER" + } + }, + "product": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "channel": { + "type": "google.shopping.type.Channel.ChannelEnum", + "id": 3, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "offerId": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "contentLanguage": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "feedLabel": { + "type": "string", + "id": 6, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "versionNumber": { + "type": "int64", + "id": 7, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "proto3_optional": true + } + }, + "attributes": { + "type": "Attributes", + "id": 8, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "customAttributes": { + "rule": "repeated", + "type": "google.shopping.type.CustomAttribute", + "id": 9, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "InsertProductInputRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "merchantapi.googleapis.com/Product" + } + }, + "productInput": { + "type": "ProductInput", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dataSource": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "DeleteProductInputRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "merchantapi.googleapis.com/ProductInput" + } + }, + "dataSource": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "SubscriptionPeriod": { + "values": { + "SUBSCRIPTION_PERIOD_UNSPECIFIED": 0, + "MONTH": 1, + "YEAR": 2 + } + }, + "Attributes": { + "oneofs": { + "_identifierExists": { + "oneof": [ + "identifierExists" + ] + }, + "_isBundle": { + "oneof": [ + "isBundle" + ] + }, + "_title": { + "oneof": [ + "title" + ] + }, + "_description": { + "oneof": [ + "description" + ] + }, + "_link": { + "oneof": [ + "link" + ] + }, + "_mobileLink": { + "oneof": [ + "mobileLink" + ] + }, + "_canonicalLink": { + "oneof": [ + "canonicalLink" + ] + }, + "_imageLink": { + "oneof": [ + "imageLink" + ] + }, + "_adult": { + "oneof": [ + "adult" + ] + }, + "_ageGroup": { + "oneof": [ + "ageGroup" + ] + }, + "_availability": { + "oneof": [ + "availability" + ] + }, + "_brand": { + "oneof": [ + "brand" + ] + }, + "_color": { + "oneof": [ + "color" + ] + }, + "_condition": { + "oneof": [ + "condition" + ] + }, + "_gender": { + "oneof": [ + "gender" + ] + }, + "_googleProductCategory": { + "oneof": [ + "googleProductCategory" + ] + }, + "_itemGroupId": { + "oneof": [ + "itemGroupId" + ] + }, + "_material": { + "oneof": [ + "material" + ] + }, + "_mpn": { + "oneof": [ + "mpn" + ] + }, + "_pattern": { + "oneof": [ + "pattern" + ] + }, + "_sellOnGoogleQuantity": { + "oneof": [ + "sellOnGoogleQuantity" + ] + }, + "_maxHandlingTime": { + "oneof": [ + "maxHandlingTime" + ] + }, + "_minHandlingTime": { + "oneof": [ + "minHandlingTime" + ] + }, + "_shippingLabel": { + "oneof": [ + "shippingLabel" + ] + }, + "_transitTimeLabel": { + "oneof": [ + "transitTimeLabel" + ] + }, + "_size": { + "oneof": [ + "size" + ] + }, + "_sizeSystem": { + "oneof": [ + "sizeSystem" + ] + }, + "_taxCategory": { + "oneof": [ + "taxCategory" + ] + }, + "_energyEfficiencyClass": { + "oneof": [ + "energyEfficiencyClass" + ] + }, + "_minEnergyEfficiencyClass": { + "oneof": [ + "minEnergyEfficiencyClass" + ] + }, + "_maxEnergyEfficiencyClass": { + "oneof": [ + "maxEnergyEfficiencyClass" + ] + }, + "_multipack": { + "oneof": [ + "multipack" + ] + }, + "_adsGrouping": { + "oneof": [ + "adsGrouping" + ] + }, + "_adsRedirect": { + "oneof": [ + "adsRedirect" + ] + }, + "_displayAdsId": { + "oneof": [ + "displayAdsId" + ] + }, + "_displayAdsTitle": { + "oneof": [ + "displayAdsTitle" + ] + }, + "_displayAdsLink": { + "oneof": [ + "displayAdsLink" + ] + }, + "_displayAdsValue": { + "oneof": [ + "displayAdsValue" + ] + }, + "_pickupMethod": { + "oneof": [ + "pickupMethod" + ] + }, + "_pickupSla": { + "oneof": [ + "pickupSla" + ] + }, + "_linkTemplate": { + "oneof": [ + "linkTemplate" + ] + }, + "_mobileLinkTemplate": { + "oneof": [ + "mobileLinkTemplate" + ] + }, + "_customLabel_0": { + "oneof": [ + "customLabel_0" + ] + }, + "_customLabel_1": { + "oneof": [ + "customLabel_1" + ] + }, + "_customLabel_2": { + "oneof": [ + "customLabel_2" + ] + }, + "_customLabel_3": { + "oneof": [ + "customLabel_3" + ] + }, + "_customLabel_4": { + "oneof": [ + "customLabel_4" + ] + }, + "_externalSellerId": { + "oneof": [ + "externalSellerId" + ] + }, + "_pause": { + "oneof": [ + "pause" + ] + }, + "_virtualModelLink": { + "oneof": [ + "virtualModelLink" + ] + }, + "_structuredTitle": { + "oneof": [ + "structuredTitle" + ] + }, + "_structuredDescription": { + "oneof": [ + "structuredDescription" + ] + } + }, + "fields": { + "identifierExists": { + "type": "bool", + "id": 4, + "options": { + "proto3_optional": true + } + }, + "isBundle": { + "type": "bool", + "id": 5, + "options": { + "proto3_optional": true + } + }, + "title": { + "type": "string", + "id": 6, + "options": { + "proto3_optional": true + } + }, + "description": { + "type": "string", + "id": 7, + "options": { + "proto3_optional": true + } + }, + "link": { + "type": "string", + "id": 8, + "options": { + "proto3_optional": true + } + }, + "mobileLink": { + "type": "string", + "id": 9, + "options": { + "proto3_optional": true + } + }, + "canonicalLink": { + "type": "string", + "id": 10, + "options": { + "proto3_optional": true + } + }, + "imageLink": { + "type": "string", + "id": 11, + "options": { + "proto3_optional": true + } + }, + "additionalImageLinks": { + "rule": "repeated", + "type": "string", + "id": 12 + }, + "expirationDate": { + "type": "google.protobuf.Timestamp", + "id": 16 + }, + "disclosureDate": { + "type": "google.protobuf.Timestamp", + "id": 79 + }, + "adult": { + "type": "bool", + "id": 17, + "options": { + "proto3_optional": true + } + }, + "ageGroup": { + "type": "string", + "id": 18, + "options": { + "proto3_optional": true + } + }, + "availability": { + "type": "string", + "id": 19, + "options": { + "proto3_optional": true + } + }, + "availabilityDate": { + "type": "google.protobuf.Timestamp", + "id": 20 + }, + "brand": { + "type": "string", + "id": 21, + "options": { + "proto3_optional": true + } + }, + "color": { + "type": "string", + "id": 22, + "options": { + "proto3_optional": true + } + }, + "condition": { + "type": "string", + "id": 23, + "options": { + "proto3_optional": true + } + }, + "gender": { + "type": "string", + "id": 24, + "options": { + "proto3_optional": true + } + }, + "googleProductCategory": { + "type": "string", + "id": 25, + "options": { + "proto3_optional": true + } + }, + "gtin": { + "rule": "repeated", + "type": "string", + "id": 26 + }, + "itemGroupId": { + "type": "string", + "id": 27, + "options": { + "proto3_optional": true + } + }, + "material": { + "type": "string", + "id": 28, + "options": { + "proto3_optional": true + } + }, + "mpn": { + "type": "string", + "id": 29, + "options": { + "proto3_optional": true + } + }, + "pattern": { + "type": "string", + "id": 30, + "options": { + "proto3_optional": true + } + }, + "price": { + "type": "google.shopping.type.Price", + "id": 31 + }, + "installment": { + "type": "Installment", + "id": 32 + }, + "subscriptionCost": { + "type": "SubscriptionCost", + "id": 33 + }, + "loyaltyPoints": { + "type": "LoyaltyPoints", + "id": 34 + }, + "loyaltyPrograms": { + "rule": "repeated", + "type": "LoyaltyProgram", + "id": 136 + }, + "productTypes": { + "rule": "repeated", + "type": "string", + "id": 35 + }, + "salePrice": { + "type": "google.shopping.type.Price", + "id": 36 + }, + "salePriceEffectiveDate": { + "type": "google.type.Interval", + "id": 37 + }, + "sellOnGoogleQuantity": { + "type": "int64", + "id": 38, + "options": { + "proto3_optional": true + } + }, + "productHeight": { + "type": "ProductDimension", + "id": 119 + }, + "productLength": { + "type": "ProductDimension", + "id": 120 + }, + "productWidth": { + "type": "ProductDimension", + "id": 121 + }, + "productWeight": { + "type": "ProductWeight", + "id": 122 + }, + "shipping": { + "rule": "repeated", + "type": "Shipping", + "id": 39 + }, + "freeShippingThreshold": { + "rule": "repeated", + "type": "FreeShippingThreshold", + "id": 135 + }, + "shippingWeight": { + "type": "ShippingWeight", + "id": 40 + }, + "shippingLength": { + "type": "ShippingDimension", + "id": 41 + }, + "shippingWidth": { + "type": "ShippingDimension", + "id": 42 + }, + "shippingHeight": { + "type": "ShippingDimension", + "id": 43 + }, + "maxHandlingTime": { + "type": "int64", + "id": 44, + "options": { + "proto3_optional": true + } + }, + "minHandlingTime": { + "type": "int64", + "id": 45, + "options": { + "proto3_optional": true + } + }, + "shippingLabel": { + "type": "string", + "id": 46, + "options": { + "proto3_optional": true + } + }, + "transitTimeLabel": { + "type": "string", + "id": 47, + "options": { + "proto3_optional": true + } + }, + "size": { + "type": "string", + "id": 48, + "options": { + "proto3_optional": true + } + }, + "sizeSystem": { + "type": "string", + "id": 49, + "options": { + "proto3_optional": true + } + }, + "sizeTypes": { + "rule": "repeated", + "type": "string", + "id": 50 + }, + "taxes": { + "rule": "repeated", + "type": "Tax", + "id": 51 + }, + "taxCategory": { + "type": "string", + "id": 52, + "options": { + "proto3_optional": true + } + }, + "energyEfficiencyClass": { + "type": "string", + "id": 53, + "options": { + "proto3_optional": true + } + }, + "minEnergyEfficiencyClass": { + "type": "string", + "id": 54, + "options": { + "proto3_optional": true + } + }, + "maxEnergyEfficiencyClass": { + "type": "string", + "id": 55, + "options": { + "proto3_optional": true + } + }, + "unitPricingMeasure": { + "type": "UnitPricingMeasure", + "id": 56 + }, + "unitPricingBaseMeasure": { + "type": "UnitPricingBaseMeasure", + "id": 57 + }, + "multipack": { + "type": "int64", + "id": 58, + "options": { + "proto3_optional": true + } + }, + "adsGrouping": { + "type": "string", + "id": 59, + "options": { + "proto3_optional": true + } + }, + "adsLabels": { + "rule": "repeated", + "type": "string", + "id": 60 + }, + "adsRedirect": { + "type": "string", + "id": 61, + "options": { + "proto3_optional": true + } + }, + "costOfGoodsSold": { + "type": "google.shopping.type.Price", + "id": 62 + }, + "productDetails": { + "rule": "repeated", + "type": "ProductDetail", + "id": 63 + }, + "productHighlights": { + "rule": "repeated", + "type": "string", + "id": 64 + }, + "displayAdsId": { + "type": "string", + "id": 65, + "options": { + "proto3_optional": true + } + }, + "displayAdsSimilarIds": { + "rule": "repeated", + "type": "string", + "id": 66 + }, + "displayAdsTitle": { + "type": "string", + "id": 67, + "options": { + "proto3_optional": true + } + }, + "displayAdsLink": { + "type": "string", + "id": 68, + "options": { + "proto3_optional": true + } + }, + "displayAdsValue": { + "type": "double", + "id": 69, + "options": { + "proto3_optional": true + } + }, + "promotionIds": { + "rule": "repeated", + "type": "string", + "id": 70 + }, + "pickupMethod": { + "type": "string", + "id": 80, + "options": { + "proto3_optional": true + } + }, + "pickupSla": { + "type": "string", + "id": 81, + "options": { + "proto3_optional": true + } + }, + "linkTemplate": { + "type": "string", + "id": 82, + "options": { + "proto3_optional": true + } + }, + "mobileLinkTemplate": { + "type": "string", + "id": 83, + "options": { + "proto3_optional": true + } + }, + "customLabel_0": { + "type": "string", + "id": 71, + "options": { + "proto3_optional": true + } + }, + "customLabel_1": { + "type": "string", + "id": 72, + "options": { + "proto3_optional": true + } + }, + "customLabel_2": { + "type": "string", + "id": 73, + "options": { + "proto3_optional": true + } + }, + "customLabel_3": { + "type": "string", + "id": 74, + "options": { + "proto3_optional": true + } + }, + "customLabel_4": { + "type": "string", + "id": 75, + "options": { + "proto3_optional": true + } + }, + "includedDestinations": { + "rule": "repeated", + "type": "string", + "id": 76 + }, + "excludedDestinations": { + "rule": "repeated", + "type": "string", + "id": 77 + }, + "shoppingAdsExcludedCountries": { + "rule": "repeated", + "type": "string", + "id": 78 + }, + "externalSellerId": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "pause": { + "type": "string", + "id": 13, + "options": { + "proto3_optional": true + } + }, + "lifestyleImageLinks": { + "rule": "repeated", + "type": "string", + "id": 14 + }, + "cloudExportAdditionalProperties": { + "rule": "repeated", + "type": "CloudExportAdditionalProperties", + "id": 84 + }, + "virtualModelLink": { + "type": "string", + "id": 130, + "options": { + "proto3_optional": true + } + }, + "certifications": { + "rule": "repeated", + "type": "Certification", + "id": 123 + }, + "structuredTitle": { + "type": "ProductStructuredTitle", + "id": 132, + "options": { + "proto3_optional": true + } + }, + "structuredDescription": { + "type": "ProductStructuredDescription", + "id": 133, + "options": { + "proto3_optional": true + } + }, + "autoPricingMinPrice": { + "type": "google.shopping.type.Price", + "id": 124 + } + } + }, + "Tax": { + "fields": { + "rate": { + "type": "double", + "id": 1 + }, + "country": { + "type": "string", + "id": 2 + }, + "region": { + "type": "string", + "id": 3 + }, + "taxShip": { + "type": "bool", + "id": 4 + }, + "locationId": { + "type": "int64", + "id": 5 + }, + "postalCode": { + "type": "string", + "id": 6 + } + } + }, + "ShippingWeight": { + "fields": { + "value": { + "type": "double", + "id": 1 + }, + "unit": { + "type": "string", + "id": 2 + } + } + }, + "ShippingDimension": { + "fields": { + "value": { + "type": "double", + "id": 1 + }, + "unit": { + "type": "string", + "id": 2 + } + } + }, + "UnitPricingBaseMeasure": { + "fields": { + "value": { + "type": "int64", + "id": 1 + }, + "unit": { + "type": "string", + "id": 2 + } + } + }, + "UnitPricingMeasure": { + "fields": { + "value": { + "type": "double", + "id": 1 + }, + "unit": { + "type": "string", + "id": 2 + } + } + }, + "SubscriptionCost": { + "fields": { + "period": { + "type": "SubscriptionPeriod", + "id": 1 + }, + "periodLength": { + "type": "int64", + "id": 2 + }, + "amount": { + "type": "google.shopping.type.Price", + "id": 3 + } + } + }, + "Installment": { + "oneofs": { + "_downpayment": { + "oneof": [ + "downpayment" + ] + }, + "_creditType": { + "oneof": [ + "creditType" + ] + } + }, + "fields": { + "months": { + "type": "int64", + "id": 1 + }, + "amount": { + "type": "google.shopping.type.Price", + "id": 2 + }, + "downpayment": { + "type": "google.shopping.type.Price", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "creditType": { + "type": "string", + "id": 4, + "options": { + "proto3_optional": true + } + } + } + }, + "LoyaltyPoints": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "pointsValue": { + "type": "int64", + "id": 2 + }, + "ratio": { + "type": "double", + "id": 3 + } + } + }, + "LoyaltyProgram": { + "oneofs": { + "_programLabel": { + "oneof": [ + "programLabel" + ] + }, + "_tierLabel": { + "oneof": [ + "tierLabel" + ] + }, + "_price": { + "oneof": [ + "price" + ] + }, + "_cashbackForFutureUse": { + "oneof": [ + "cashbackForFutureUse" + ] + }, + "_loyaltyPoints": { + "oneof": [ + "loyaltyPoints" + ] + }, + "_memberPriceEffectiveDate": { + "oneof": [ + "memberPriceEffectiveDate" + ] + }, + "_shippingLabel": { + "oneof": [ + "shippingLabel" + ] + } + }, + "fields": { + "programLabel": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "tierLabel": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + }, + "price": { + "type": "google.shopping.type.Price", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "cashbackForFutureUse": { + "type": "google.shopping.type.Price", + "id": 4, + "options": { + "proto3_optional": true + } + }, + "loyaltyPoints": { + "type": "int64", + "id": 5, + "options": { + "proto3_optional": true + } + }, + "memberPriceEffectiveDate": { + "type": "google.type.Interval", + "id": 6, + "options": { + "proto3_optional": true + } + }, + "shippingLabel": { + "type": "string", + "id": 7, + "options": { + "proto3_optional": true + } + } + } + }, + "Shipping": { + "oneofs": { + "_minHandlingTime": { + "oneof": [ + "minHandlingTime" + ] + }, + "_maxHandlingTime": { + "oneof": [ + "maxHandlingTime" + ] + }, + "_minTransitTime": { + "oneof": [ + "minTransitTime" + ] + }, + "_maxTransitTime": { + "oneof": [ + "maxTransitTime" + ] + } + }, + "fields": { + "price": { + "type": "google.shopping.type.Price", + "id": 1 + }, + "country": { + "type": "string", + "id": 2 + }, + "region": { + "type": "string", + "id": 3 + }, + "service": { + "type": "string", + "id": 4 + }, + "locationId": { + "type": "int64", + "id": 5 + }, + "locationGroupName": { + "type": "string", + "id": 6 + }, + "postalCode": { + "type": "string", + "id": 7 + }, + "minHandlingTime": { + "type": "int64", + "id": 8, + "options": { + "proto3_optional": true + } + }, + "maxHandlingTime": { + "type": "int64", + "id": 9, + "options": { + "proto3_optional": true + } + }, + "minTransitTime": { + "type": "int64", + "id": 10, + "options": { + "proto3_optional": true + } + }, + "maxTransitTime": { + "type": "int64", + "id": 11, + "options": { + "proto3_optional": true + } + } + } + }, + "FreeShippingThreshold": { + "oneofs": { + "_country": { + "oneof": [ + "country" + ] + }, + "_priceThreshold": { + "oneof": [ + "priceThreshold" + ] + } + }, + "fields": { + "country": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "priceThreshold": { + "type": "google.shopping.type.Price", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "ProductDetail": { + "fields": { + "sectionName": { + "type": "string", + "id": 1 + }, + "attributeName": { + "type": "string", + "id": 2 + }, + "attributeValue": { + "type": "string", + "id": 3 + } + } + }, + "Certification": { + "oneofs": { + "_certificationAuthority": { + "oneof": [ + "certificationAuthority" + ] + }, + "_certificationName": { + "oneof": [ + "certificationName" + ] + }, + "_certificationCode": { + "oneof": [ + "certificationCode" + ] + }, + "_certificationValue": { + "oneof": [ + "certificationValue" + ] + } + }, + "fields": { + "certificationAuthority": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "certificationName": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + }, + "certificationCode": { + "type": "string", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "certificationValue": { + "type": "string", + "id": 4, + "options": { + "proto3_optional": true + } + } + } + }, + "ProductStructuredTitle": { + "oneofs": { + "_digitalSourceType": { + "oneof": [ + "digitalSourceType" + ] + }, + "_content": { + "oneof": [ + "content" + ] + } + }, + "fields": { + "digitalSourceType": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "content": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "ProductStructuredDescription": { + "oneofs": { + "_digitalSourceType": { + "oneof": [ + "digitalSourceType" + ] + }, + "_content": { + "oneof": [ + "content" + ] + } + }, + "fields": { + "digitalSourceType": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "content": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "ProductDimension": { + "fields": { + "value": { + "type": "double", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "unit": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ProductWeight": { + "fields": { + "value": { + "type": "double", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "unit": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ProductStatus": { + "fields": { + "destinationStatuses": { + "rule": "repeated", + "type": "DestinationStatus", + "id": 3 + }, + "itemLevelIssues": { + "rule": "repeated", + "type": "ItemLevelIssue", + "id": 4 + }, + "creationDate": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "lastUpdateDate": { + "type": "google.protobuf.Timestamp", + "id": 6 + }, + "googleExpirationDate": { + "type": "google.protobuf.Timestamp", + "id": 7 + } + }, + "nested": { + "DestinationStatus": { + "fields": { + "reportingContext": { + "type": "google.shopping.type.ReportingContext.ReportingContextEnum", + "id": 1 + }, + "approvedCountries": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "pendingCountries": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "disapprovedCountries": { + "rule": "repeated", + "type": "string", + "id": 4 + } + } + }, + "ItemLevelIssue": { + "fields": { + "code": { + "type": "string", + "id": 1 + }, + "severity": { + "type": "Severity", + "id": 2 + }, + "resolution": { + "type": "string", + "id": 3 + }, + "attribute": { + "type": "string", + "id": 4 + }, + "reportingContext": { + "type": "google.shopping.type.ReportingContext.ReportingContextEnum", + "id": 5 + }, + "description": { + "type": "string", + "id": 6 + }, + "detail": { + "type": "string", + "id": 7 + }, + "documentation": { + "type": "string", + "id": 8 + }, + "applicableCountries": { + "rule": "repeated", + "type": "string", + "id": 9 + } + }, + "nested": { + "Severity": { + "values": { + "SEVERITY_UNSPECIFIED": 0, + "NOT_IMPACTED": 1, + "DEMOTED": 2, + "DISAPPROVED": 3 + } + } + } + } + } + }, + "CloudExportAdditionalProperties": { + "oneofs": { + "_propertyName": { + "oneof": [ + "propertyName" + ] + }, + "_boolValue": { + "oneof": [ + "boolValue" + ] + }, + "_minValue": { + "oneof": [ + "minValue" + ] + }, + "_maxValue": { + "oneof": [ + "maxValue" + ] + }, + "_unitCode": { + "oneof": [ + "unitCode" + ] + } + }, + "fields": { + "propertyName": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "textValue": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "boolValue": { + "type": "bool", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "intValue": { + "rule": "repeated", + "type": "int64", + "id": 4 + }, + "floatValue": { + "rule": "repeated", + "type": "float", + "id": 5 + }, + "minValue": { + "type": "float", + "id": 6, + "options": { + "proto3_optional": true + } + }, + "maxValue": { + "type": "float", + "id": 7, + "options": { + "proto3_optional": true + } + }, + "unitCode": { + "type": "string", + "id": 8, + "options": { + "proto3_optional": true + } + } + } + }, + "ProductsService": { + "options": { + "(google.api.default_host)": "merchantapi.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "GetProduct": { + "requestType": "GetProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).get": "/products/v1beta/{name=accounts/*/products/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/products/v1beta/{name=accounts/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "ListProducts": { + "requestType": "ListProductsRequest", + "responseType": "ListProductsResponse", + "options": { + "(google.api.http).get": "/products/v1beta/{parent=accounts/*}/products", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/products/v1beta/{parent=accounts/*}/products" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + } + } + }, + "Product": { + "options": { + "(google.api.resource).type": "merchantapi.googleapis.com/Product", + "(google.api.resource).pattern": "accounts/{account}/products/{product}" + }, + "oneofs": { + "_versionNumber": { + "oneof": [ + "versionNumber" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "channel": { + "type": "google.shopping.type.Channel.ChannelEnum", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "offerId": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "contentLanguage": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "feedLabel": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dataSource": { + "type": "string", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "versionNumber": { + "type": "int64", + "id": 7, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY", + "proto3_optional": true + } + }, + "attributes": { + "type": "Attributes", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "customAttributes": { + "rule": "repeated", + "type": "google.shopping.type.CustomAttribute", + "id": 9, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "productStatus": { + "type": "ProductStatus", + "id": 10, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "GetProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "merchantapi.googleapis.com/Product" + } + } + } + }, + "ListProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "merchantapi.googleapis.com/Product" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + } + } + } + } + } + } + }, + "type": { + "options": { + "csharp_namespace": "Google.Shopping.Type", + "go_package": "cloud.google.com/go/shopping/type/typepb;typepb", + "java_multiple_files": true, + "java_outer_classname": "TypesProto", + "java_package": "com.google.shopping.type" + }, + "nested": { + "Weight": { + "oneofs": { + "_amountMicros": { + "oneof": [ + "amountMicros" + ] + } + }, + "fields": { + "amountMicros": { + "type": "int64", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "unit": { + "type": "WeightUnit", + "id": 2 + } + }, + "nested": { + "WeightUnit": { + "values": { + "WEIGHT_UNIT_UNSPECIFIED": 0, + "POUND": 1, + "KILOGRAM": 2 + } + } + } + }, + "Price": { + "oneofs": { + "_amountMicros": { + "oneof": [ + "amountMicros" + ] + }, + "_currencyCode": { + "oneof": [ + "currencyCode" + ] + } + }, + "fields": { + "amountMicros": { + "type": "int64", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "currencyCode": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "CustomAttribute": { + "oneofs": { + "_name": { + "oneof": [ + "name" + ] + }, + "_value": { + "oneof": [ + "value" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "value": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + }, + "groupValues": { + "rule": "repeated", + "type": "CustomAttribute", + "id": 3 + } + } + }, + "Destination": { + "fields": {}, + "nested": { + "DestinationEnum": { + "values": { + "DESTINATION_ENUM_UNSPECIFIED": 0, + "SHOPPING_ADS": 1, + "DISPLAY_ADS": 2, + "LOCAL_INVENTORY_ADS": 3, + "FREE_LISTINGS": 4, + "FREE_LOCAL_LISTINGS": 5, + "YOUTUBE_SHOPPING": 6 + } + } + } + }, + "ReportingContext": { + "fields": {}, + "nested": { + "ReportingContextEnum": { + "valuesOptions": { + "DISCOVERY_ADS": { + "deprecated": true + } + }, + "values": { + "REPORTING_CONTEXT_ENUM_UNSPECIFIED": 0, + "SHOPPING_ADS": 1, + "DISCOVERY_ADS": 2, + "DEMAND_GEN_ADS": 13, + "DEMAND_GEN_ADS_DISCOVER_SURFACE": 14, + "VIDEO_ADS": 3, + "DISPLAY_ADS": 4, + "LOCAL_INVENTORY_ADS": 5, + "VEHICLE_INVENTORY_ADS": 6, + "FREE_LISTINGS": 7, + "FREE_LOCAL_LISTINGS": 8, + "FREE_LOCAL_VEHICLE_LISTINGS": 9, + "YOUTUBE_SHOPPING": 10, + "CLOUD_RETAIL": 11, + "LOCAL_CLOUD_RETAIL": 12 + } + } + } + }, + "Channel": { + "fields": {}, + "nested": { + "ChannelEnum": { + "values": { + "CHANNEL_ENUM_UNSPECIFIED": 0, + "ONLINE": 1, + "LOCAL": 2 + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ResourceProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + }, + "apiVersion": { + "type": "string", + "id": 525000001, + "extend": "google.protobuf.ServiceOptions" + }, + "CommonLanguageSettings": { + "fields": { + "referenceDocsUri": { + "type": "string", + "id": 1, + "options": { + "deprecated": true + } + }, + "destinations": { + "rule": "repeated", + "type": "ClientLibraryDestination", + "id": 2 + } + } + }, + "ClientLibrarySettings": { + "fields": { + "version": { + "type": "string", + "id": 1 + }, + "launchStage": { + "type": "LaunchStage", + "id": 2 + }, + "restNumericEnums": { + "type": "bool", + "id": 3 + }, + "javaSettings": { + "type": "JavaSettings", + "id": 21 + }, + "cppSettings": { + "type": "CppSettings", + "id": 22 + }, + "phpSettings": { + "type": "PhpSettings", + "id": 23 + }, + "pythonSettings": { + "type": "PythonSettings", + "id": 24 + }, + "nodeSettings": { + "type": "NodeSettings", + "id": 25 + }, + "dotnetSettings": { + "type": "DotnetSettings", + "id": 26 + }, + "rubySettings": { + "type": "RubySettings", + "id": 27 + }, + "goSettings": { + "type": "GoSettings", + "id": 28 + } + } + }, + "Publishing": { + "fields": { + "methodSettings": { + "rule": "repeated", + "type": "MethodSettings", + "id": 2 + }, + "newIssueUri": { + "type": "string", + "id": 101 + }, + "documentationUri": { + "type": "string", + "id": 102 + }, + "apiShortName": { + "type": "string", + "id": 103 + }, + "githubLabel": { + "type": "string", + "id": 104 + }, + "codeownerGithubTeams": { + "rule": "repeated", + "type": "string", + "id": 105 + }, + "docTagPrefix": { + "type": "string", + "id": 106 + }, + "organization": { + "type": "ClientLibraryOrganization", + "id": 107 + }, + "librarySettings": { + "rule": "repeated", + "type": "ClientLibrarySettings", + "id": 109 + }, + "protoReferenceDocumentationUri": { + "type": "string", + "id": 110 + }, + "restReferenceDocumentationUri": { + "type": "string", + "id": 111 + } + } + }, + "JavaSettings": { + "fields": { + "libraryPackage": { + "type": "string", + "id": 1 + }, + "serviceClassNames": { + "keyType": "string", + "type": "string", + "id": 2 + }, + "common": { + "type": "CommonLanguageSettings", + "id": 3 + } + } + }, + "CppSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "PhpSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "PythonSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "NodeSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "DotnetSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 + }, + "renamedResources": { + "keyType": "string", + "type": "string", + "id": 3 + }, + "ignoredResources": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "forcedNamespaceAliases": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "handwrittenSignatures": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + }, + "RubySettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "GoSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "MethodSettings": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "longRunning": { + "type": "LongRunning", + "id": 2 + }, + "autoPopulatedFields": { + "rule": "repeated", + "type": "string", + "id": 3 + } + }, + "nested": { + "LongRunning": { + "fields": { + "initialPollDelay": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pollDelayMultiplier": { + "type": "float", + "id": 2 + }, + "maxPollDelay": { + "type": "google.protobuf.Duration", + "id": 3 + }, + "totalPollTimeout": { + "type": "google.protobuf.Duration", + "id": 4 + } + } + } + } + }, + "ClientLibraryOrganization": { + "values": { + "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0, + "CLOUD": 1, + "ADS": 2, + "PHOTOS": 3, + "STREET_VIEW": 4, + "SHOPPING": 5, + "GEO": 6, + "GENERATIVE_AI": 7 + } + }, + "ClientLibraryDestination": { + "values": { + "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0, + "GITHUB": 10, + "PACKAGE_MANAGER": 20 + } + }, + "LaunchStage": { + "values": { + "LAUNCH_STAGE_UNSPECIFIED": 0, + "UNIMPLEMENTED": 6, + "PRELAUNCH": 7, + "EARLY_ACCESS": 1, + "ALPHA": 2, + "BETA": 3, + "GA": 4, + "DEPRECATED": 5 + } + }, + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions", + "options": { + "packed": false + } + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5, + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7, + "IDENTIFIER": 8 + } + }, + "resourceReference": { + "type": "google.api.ResourceReference", + "id": 1055, + "extend": "google.protobuf.FieldOptions" + }, + "resourceDefinition": { + "rule": "repeated", + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.FileOptions" + }, + "resource": { + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.MessageOptions" + }, + "ResourceDescriptor": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "pattern": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "nameField": { + "type": "string", + "id": 3 + }, + "history": { + "type": "History", + "id": 4 + }, + "plural": { + "type": "string", + "id": 5 + }, + "singular": { + "type": "string", + "id": 6 + }, + "style": { + "rule": "repeated", + "type": "Style", + "id": 10 + } + }, + "nested": { + "History": { + "values": { + "HISTORY_UNSPECIFIED": 0, + "ORIGINALLY_SINGLE_PATTERN": 1, + "FUTURE_MULTI_PATTERN": 2 + } + }, + "Style": { + "values": { + "STYLE_UNSPECIFIED": 0, + "DECLARATIVE_FRIENDLY": 1 + } + } + } + }, + "ResourceReference": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "childType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "protobuf": { + "options": { + "go_package": "google.golang.org/protobuf/types/descriptorpb", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "Edition": { + "values": { + "EDITION_UNKNOWN": 0, + "EDITION_PROTO2": 998, + "EDITION_PROTO3": 999, + "EDITION_2023": 1000, + "EDITION_2024": 1001, + "EDITION_1_TEST_ONLY": 1, + "EDITION_2_TEST_ONLY": 2, + "EDITION_99997_TEST_ONLY": 99997, + "EDITION_99998_TEST_ONLY": 99998, + "EDITION_99999_TEST_ONLY": 99999, + "EDITION_MAX": 2147483647 + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + }, + "edition": { + "type": "Edition", + "id": 14 + } + } + }, + "DescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + }, + "declaration": { + "rule": "repeated", + "type": "Declaration", + "id": 2, + "options": { + "retention": "RETENTION_SOURCE" + } + }, + "features": { + "type": "FeatureSet", + "id": 50 + }, + "verification": { + "type": "VerificationState", + "id": 3, + "options": { + "default": "UNVERIFIED", + "retention": "RETENTION_SOURCE" + } + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "Declaration": { + "fields": { + "number": { + "type": "int32", + "id": 1 + }, + "fullName": { + "type": "string", + "id": 2 + }, + "type": { + "type": "string", + "id": 3 + }, + "reserved": { + "type": "bool", + "id": 5 + }, + "repeated": { + "type": "bool", + "id": 6 + } + }, + "reserved": [ + [ + 4, + 4 + ] + ] + }, + "VerificationState": { + "values": { + "DECLARATION": 0, + "UNVERIFIED": 1 + } + } + } + }, + "FieldDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18 + } + }, + "Label": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REPEATED": 3, + "LABEL_REQUIRED": 2 + } + } + } + }, + "OneofDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + } + }, + "MethodDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": true + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "features": { + "type": "FeatureSet", + "id": 50 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 42, + 42 + ], + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "deprecatedLegacyJsonFieldConflicts": { + "type": "bool", + "id": 11, + "options": { + "deprecated": true + } + }, + "features": { + "type": "FeatureSet", + "id": 12 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "debugRedact": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "retention": { + "type": "OptionRetention", + "id": 17 + }, + "targets": { + "rule": "repeated", + "type": "OptionTargetType", + "id": 19, + "options": { + "packed": false + } + }, + "editionDefaults": { + "rule": "repeated", + "type": "EditionDefault", + "id": 20 + }, + "features": { + "type": "FeatureSet", + "id": 21 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ], + [ + 18, + 18 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + }, + "OptionRetention": { + "values": { + "RETENTION_UNKNOWN": 0, + "RETENTION_RUNTIME": 1, + "RETENTION_SOURCE": 2 + } + }, + "OptionTargetType": { + "values": { + "TARGET_TYPE_UNKNOWN": 0, + "TARGET_TYPE_FILE": 1, + "TARGET_TYPE_EXTENSION_RANGE": 2, + "TARGET_TYPE_MESSAGE": 3, + "TARGET_TYPE_FIELD": 4, + "TARGET_TYPE_ONEOF": 5, + "TARGET_TYPE_ENUM": 6, + "TARGET_TYPE_ENUM_ENTRY": 7, + "TARGET_TYPE_SERVICE": 8, + "TARGET_TYPE_METHOD": 9 + } + }, + "EditionDefault": { + "fields": { + "edition": { + "type": "Edition", + "id": 3 + }, + "value": { + "type": "string", + "id": 2 + } + } + } + } + }, + "OneofOptions": { + "fields": { + "features": { + "type": "FeatureSet", + "id": 1 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "deprecatedLegacyJsonFieldConflicts": { + "type": "bool", + "id": 6, + "options": { + "deprecated": true + } + }, + "features": { + "type": "FeatureSet", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "features": { + "type": "FeatureSet", + "id": 2 + }, + "debugRedact": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "fields": { + "features": { + "type": "FeatureSet", + "id": 34 + }, + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "features": { + "type": "FeatureSet", + "id": 35 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "FeatureSet": { + "fields": { + "fieldPresence": { + "type": "FieldPresence", + "id": 1, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_2023", + "edition_defaults.value": "EXPLICIT" + } + }, + "enumType": { + "type": "EnumType", + "id": 2, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "OPEN" + } + }, + "repeatedFieldEncoding": { + "type": "RepeatedFieldEncoding", + "id": 3, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "PACKED" + } + }, + "utf8Validation": { + "type": "Utf8Validation", + "id": 4, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "VERIFY" + } + }, + "messageEncoding": { + "type": "MessageEncoding", + "id": 5, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_PROTO2", + "edition_defaults.value": "LENGTH_PREFIXED" + } + }, + "jsonFormat": { + "type": "JsonFormat", + "id": 6, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "ALLOW" + } + } + }, + "extensions": [ + [ + 1000, + 1000 + ], + [ + 1001, + 1001 + ], + [ + 1002, + 1002 + ], + [ + 9990, + 9990 + ], + [ + 9995, + 9999 + ], + [ + 10000, + 10000 + ] + ], + "reserved": [ + [ + 999, + 999 + ] + ], + "nested": { + "FieldPresence": { + "values": { + "FIELD_PRESENCE_UNKNOWN": 0, + "EXPLICIT": 1, + "IMPLICIT": 2, + "LEGACY_REQUIRED": 3 + } + }, + "EnumType": { + "values": { + "ENUM_TYPE_UNKNOWN": 0, + "OPEN": 1, + "CLOSED": 2 + } + }, + "RepeatedFieldEncoding": { + "values": { + "REPEATED_FIELD_ENCODING_UNKNOWN": 0, + "PACKED": 1, + "EXPANDED": 2 + } + }, + "Utf8Validation": { + "values": { + "UTF8_VALIDATION_UNKNOWN": 0, + "VERIFY": 2, + "NONE": 3 + } + }, + "MessageEncoding": { + "values": { + "MESSAGE_ENCODING_UNKNOWN": 0, + "LENGTH_PREFIXED": 1, + "DELIMITED": 2 + } + }, + "JsonFormat": { + "values": { + "JSON_FORMAT_UNKNOWN": 0, + "ALLOW": 1, + "LEGACY_BEST_EFFORT": 2 + } + } + } + }, + "FeatureSetDefaults": { + "fields": { + "defaults": { + "rule": "repeated", + "type": "FeatureSetEditionDefault", + "id": 1 + }, + "minimumEdition": { + "type": "Edition", + "id": 4 + }, + "maximumEdition": { + "type": "Edition", + "id": 5 + } + }, + "nested": { + "FeatureSetEditionDefault": { + "fields": { + "edition": { + "type": "Edition", + "id": 3 + }, + "features": { + "type": "FeatureSet", + "id": 2 + } + } + } + } + }, + "SourceCodeInfo": { + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } + } + } + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "type": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/type/interval;interval", + "java_multiple_files": true, + "java_outer_classname": "IntervalProto", + "java_package": "com.google.type", + "objc_class_prefix": "GTP" + }, + "nested": { + "Interval": { + "fields": { + "startTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js new file mode 100644 index 00000000000..4f7f38aebbe --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js @@ -0,0 +1,73 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name, dataSource) { + // [START merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The name of the product input resource to delete. + * Format: accounts/{account}/productInputs/{product} + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/productInputs/online~en~US~sku123" + */ + // const name = 'abc123' + /** + * Required. The primary or supplemental data source from which the product + * input should be deleted. Format: + * `accounts/{account}/dataSources/{datasource}`. + */ + // const dataSource = 'abc123' + + // Imports the Products library + const {ProductInputsServiceClient} = require('@google-shopping/products').v1beta; + + // Instantiates a client + const productsClient = new ProductInputsServiceClient(); + + async function callDeleteProductInput() { + // Construct request + const request = { + name, + dataSource, + }; + + // Run request + const response = await productsClient.deleteProductInput(request); + console.log(response); + } + + callDeleteProductInput(); + // [END merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js new file mode 100644 index 00000000000..08bcf64e566 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js @@ -0,0 +1,75 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent, productInput, dataSource) { + // [START merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The account where this product will be inserted. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * Required. The product input to insert. + */ + // const productInput = {} + /** + * Required. The primary or supplemental product data source name. If the + * product already exists and data source provided is different, then the + * product will be moved to a new data source. Format: + * `accounts/{account}/dataSources/{datasource}`. + */ + // const dataSource = 'abc123' + + // Imports the Products library + const {ProductInputsServiceClient} = require('@google-shopping/products').v1beta; + + // Instantiates a client + const productsClient = new ProductInputsServiceClient(); + + async function callInsertProductInput() { + // Construct request + const request = { + parent, + productInput, + dataSource, + }; + + // Run request + const response = await productsClient.insertProductInput(request); + console.log(response); + } + + callInsertProductInput(); + // [END merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js new file mode 100644 index 00000000000..e66121fbbfa --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START merchantapi_v1beta_generated_ProductsService_GetProduct_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The name of the product to retrieve. + * Format: `accounts/{account}/products/{product}` + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/products/online~en~US~sku123" + */ + // const name = 'abc123' + + // Imports the Products library + const {ProductsServiceClient} = require('@google-shopping/products').v1beta; + + // Instantiates a client + const productsClient = new ProductsServiceClient(); + + async function callGetProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await productsClient.getProduct(request); + console.log(response); + } + + callGetProduct(); + // [END merchantapi_v1beta_generated_ProductsService_GetProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js new file mode 100644 index 00000000000..84c6741b8e0 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js @@ -0,0 +1,78 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent) { + // [START merchantapi_v1beta_generated_ProductsService_ListProducts_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The account to list processed products for. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * The maximum number of products to return. The service may return fewer than + * this value. + * The maximum value is 250; values above 250 will be coerced to 250. + * If unspecified, the maximum number of products will be returned. + */ + // const pageSize = 1234 + /** + * A page token, received from a previous `ListProducts` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to `ListProducts` must + * match the call that provided the page token. + */ + // const pageToken = 'abc123' + + // Imports the Products library + const {ProductsServiceClient} = require('@google-shopping/products').v1beta; + + // Instantiates a client + const productsClient = new ProductsServiceClient(); + + async function callListProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = productsClient.listProductsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProducts(); + // [END merchantapi_v1beta_generated_ProductsService_ListProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json new file mode 100644 index 00000000000..9101e8da12f --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json @@ -0,0 +1,195 @@ +{ + "clientLibrary": { + "name": "nodejs-products", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.shopping.merchant.products.v1beta", + "version": "v1beta" + } + ] + }, + "snippets": [ + { + "regionTag": "merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async", + "title": "ProductInputsService insertProductInput Sample", + "origin": "API_DEFINITION", + "description": " Uploads a product input to your Merchant Center account. If an input with the same contentLanguage, offerId, and dataSource already exists, this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", + "canonical": true, + "file": "product_inputs_service.insert_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "InsertProductInput", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInput", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_input", + "type": ".google.shopping.merchant.products.v1beta.ProductInput" + }, + { + "name": "data_source", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.merchant.products.v1beta.ProductInput", + "client": { + "shortName": "ProductInputsServiceClient", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsServiceClient" + }, + "method": { + "shortName": "InsertProductInput", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInput", + "service": { + "shortName": "ProductInputsService", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService" + } + } + } + }, + { + "regionTag": "merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async", + "title": "ProductInputsService deleteProductInput Sample", + "origin": "API_DEFINITION", + "description": " Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", + "canonical": true, + "file": "product_inputs_service.delete_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductInput", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInput", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "data_source", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductInputsServiceClient", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsServiceClient" + }, + "method": { + "shortName": "DeleteProductInput", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInput", + "service": { + "shortName": "ProductInputsService", + "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService" + } + } + } + }, + { + "regionTag": "merchantapi_v1beta_generated_ProductsService_GetProduct_async", + "title": "ProductInputsService getProduct Sample", + "origin": "API_DEFINITION", + "description": " Retrieves the processed product from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the updated final product can be retrieved.", + "canonical": true, + "file": "products_service.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.merchant.products.v1beta.Product", + "client": { + "shortName": "ProductsServiceClient", + "fullName": "google.shopping.merchant.products.v1beta.ProductsServiceClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService.GetProduct", + "service": { + "shortName": "ProductsService", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService" + } + } + } + }, + { + "regionTag": "merchantapi_v1beta_generated_ProductsService_ListProducts_async", + "title": "ProductInputsService listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists the processed products in your Merchant Center account. The response might contain fewer items than specified by pageSize. Rely on pageToken to determine if there are more items to be requested. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved.", + "canonical": true, + "file": "products_service.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 70, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.merchant.products.v1beta.ListProductsResponse", + "client": { + "shortName": "ProductsServiceClient", + "fullName": "google.shopping.merchant.products.v1beta.ProductsServiceClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService.ListProducts", + "service": { + "shortName": "ProductsService", + "fullName": "google.shopping.merchant.products.v1beta.ProductsService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts new file mode 100644 index 00000000000..3b9c9daccab --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts @@ -0,0 +1,27 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1beta from './v1beta'; +const ProductInputsServiceClient = v1beta.ProductInputsServiceClient; +type ProductInputsServiceClient = v1beta.ProductInputsServiceClient; +const ProductsServiceClient = v1beta.ProductsServiceClient; +type ProductsServiceClient = v1beta.ProductsServiceClient; +export {v1beta, ProductInputsServiceClient, ProductsServiceClient}; +export default {v1beta, ProductInputsServiceClient, ProductsServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json new file mode 100644 index 00000000000..f3012a0e504 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json @@ -0,0 +1,81 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.shopping.merchant.products.v1beta", + "libraryPackage": "@google-shopping/products", + "services": { + "ProductInputsService": { + "clients": { + "grpc": { + "libraryClient": "ProductInputsServiceClient", + "rpcs": { + "InsertProductInput": { + "methods": [ + "insertProductInput" + ] + }, + "DeleteProductInput": { + "methods": [ + "deleteProductInput" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ProductInputsServiceClient", + "rpcs": { + "InsertProductInput": { + "methods": [ + "insertProductInput" + ] + }, + "DeleteProductInput": { + "methods": [ + "deleteProductInput" + ] + } + } + } + } + }, + "ProductsService": { + "clients": { + "grpc": { + "libraryClient": "ProductsServiceClient", + "rpcs": { + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ProductsServiceClient", + "rpcs": { + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts new file mode 100644 index 00000000000..215bd619d18 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts @@ -0,0 +1,20 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {ProductInputsServiceClient} from './product_inputs_service_client'; +export {ProductsServiceClient} from './products_service_client'; diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts new file mode 100644 index 00000000000..7276e3c7b8e --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts @@ -0,0 +1,614 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; + +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); + +/** + * Client JSON configuration object, loaded from + * `src/v1beta/product_inputs_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './product_inputs_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service to use ProductInput resource. + * This service works for products with online channel only. + * @class + * @memberof v1beta + */ +export class ProductInputsServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + private _universeDomain: string; + private _servicePath: string; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + productInputsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ProductInputsServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ProductInputsServiceClient({fallback: true}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof ProductInputsServiceClient; + if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { + throw new Error('Please set either universe_domain or universeDomain, but not both.'); + } + const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; + this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + this._servicePath = 'merchantapi.' + this._universeDomain; + const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== this._servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = this._servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === this._servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process === 'object' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + accountPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}' + ), + productPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/products/{product}' + ), + productInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/productInputs/{productinput}' + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.merchant.products.v1beta.ProductInputsService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.productInputsServiceStub) { + return this.productInputsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.merchant.products.v1beta.ProductInputsService. + this.productInputsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.merchant.products.v1beta.ProductInputsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.merchant.products.v1beta.ProductInputsService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productInputsServiceStubMethods = + ['insertProductInput', 'deleteProductInput']; + for (const methodName of productInputsServiceStubMethods) { + const callPromise = this.productInputsServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.productInputsServiceStub; + } + + /** + * The DNS address for this API service. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + } + return 'merchantapi.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + } + return 'merchantapi.googleapis.com'; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + get apiEndpoint() { + return this._servicePath; + } + + get universeDomain() { + return this._universeDomain; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/content' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Uploads a product input to your Merchant Center account. If an input + * with the same contentLanguage, offerId, and dataSource already exists, + * this method replaces that entry. + * + * After inserting, updating, or deleting a product input, it may take several + * minutes before the processed product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account where this product will be inserted. + * Format: accounts/{account} + * @param {google.shopping.merchant.products.v1beta.ProductInput} request.productInput + * Required. The product input to insert. + * @param {string} request.dataSource + * Required. The primary or supplemental product data source name. If the + * product already exists and data source provided is different, then the + * product will be moved to a new data source. Format: + * `accounts/{account}/dataSources/{datasource}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.shopping.merchant.products.v1beta.ProductInput|ProductInput}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/product_inputs_service.insert_product_input.js + * region_tag:merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async + */ + insertProductInput( + request?: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|undefined, {}|undefined + ]>; + insertProductInput( + request: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, + {}|null|undefined>): void; + insertProductInput( + request: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, + callback: Callback< + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, + {}|null|undefined>): void; + insertProductInput( + request?: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProductInput, + protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.insertProductInput(request, options, callback); + } +/** + * Deletes a product input from your Merchant Center account. + * + * After inserting, updating, or deleting a product input, it may take several + * minutes before the processed product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the product input resource to delete. + * Format: accounts/{account}/productInputs/{product} + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/productInputs/online~en~US~sku123" + * @param {string} request.dataSource + * Required. The primary or supplemental data source from which the product + * input should be deleted. Format: + * `accounts/{account}/dataSources/{datasource}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/product_inputs_service.delete_product_input.js + * region_tag:merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async + */ + deleteProductInput( + request?: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|undefined, {}|undefined + ]>; + deleteProductInput( + request: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, + {}|null|undefined>): void; + deleteProductInput( + request: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, + {}|null|undefined>): void; + deleteProductInput( + request?: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteProductInput(request, options, callback); + } + + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified account resource name string. + * + * @param {string} account + * @returns {string} Resource name string. + */ + accountPath(account:string) { + return this.pathTemplates.accountPathTemplate.render({ + account: account, + }); + } + + /** + * Parse the account from Account resource. + * + * @param {string} accountName + * A fully-qualified path representing Account resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountName(accountName: string) { + return this.pathTemplates.accountPathTemplate.match(accountName).account; + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} account + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(account:string,product:string) { + return this.pathTemplates.productPathTemplate.render({ + account: account, + product: product, + }); + } + + /** + * Parse the account from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the account. + */ + matchAccountFromProductName(productName: string) { + return this.pathTemplates.productPathTemplate.match(productName).account; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this.pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productInput resource name string. + * + * @param {string} account + * @param {string} productinput + * @returns {string} Resource name string. + */ + productInputPath(account:string,productinput:string) { + return this.pathTemplates.productInputPathTemplate.render({ + account: account, + productinput: productinput, + }); + } + + /** + * Parse the account from ProductInput resource. + * + * @param {string} productInputName + * A fully-qualified path representing ProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromProductInputName(productInputName: string) { + return this.pathTemplates.productInputPathTemplate.match(productInputName).account; + } + + /** + * Parse the productinput from ProductInput resource. + * + * @param {string} productInputName + * A fully-qualified path representing ProductInput resource. + * @returns {string} A string representing the productinput. + */ + matchProductinputFromProductInputName(productInputName: string) { + return this.pathTemplates.productInputPathTemplate.match(productInputName).productinput; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.productInputsServiceStub && !this._terminated) { + return this.productInputsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json new file mode 100644 index 00000000000..aa2d1f3d89f --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json @@ -0,0 +1,48 @@ +{ + "interfaces": { + "google.shopping.merchant.products.v1beta.ProductInputsService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "InsertProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "DeleteProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json new file mode 100644 index 00000000000..aa7a8d7d894 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json @@ -0,0 +1,6 @@ +[ + "../../protos/google/shopping/merchant/products/v1beta/productinputs.proto", + "../../protos/google/shopping/merchant/products/v1beta/products.proto", + "../../protos/google/shopping/merchant/products/v1beta/products_common.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts new file mode 100644 index 00000000000..0a5b47677c8 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts @@ -0,0 +1,735 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); + +/** + * Client JSON configuration object, loaded from + * `src/v1beta/products_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './products_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service to use Product resource. + * This service works for products with online channel only. + * @class + * @memberof v1beta + */ +export class ProductsServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + private _universeDomain: string; + private _servicePath: string; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + productsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ProductsServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ProductsServiceClient({fallback: true}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof ProductsServiceClient; + if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { + throw new Error('Please set either universe_domain or universeDomain, but not both.'); + } + const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; + this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; + this._servicePath = 'merchantapi.' + this._universeDomain; + const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== this._servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = this._servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === this._servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process === 'object' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + accountPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}' + ), + productPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/products/{product}' + ), + productInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/productInputs/{productinput}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listProducts: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'products') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.merchant.products.v1beta.ProductsService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.productsServiceStub) { + return this.productsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.merchant.products.v1beta.ProductsService. + this.productsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.merchant.products.v1beta.ProductsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.merchant.products.v1beta.ProductsService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productsServiceStubMethods = + ['getProduct', 'listProducts']; + for (const methodName of productsServiceStubMethods) { + const callPromise = this.productsServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.productsServiceStub; + } + + /** + * The DNS address for this API service. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); + } + return 'merchantapi.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); + } + return 'merchantapi.googleapis.com'; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + get apiEndpoint() { + return this._servicePath; + } + + get universeDomain() { + return this._universeDomain; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/content' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Retrieves the processed product from your Merchant Center account. + * + * After inserting, updating, or deleting a product input, it may take several + * minutes before the updated final product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the product to retrieve. + * Format: `accounts/{account}/products/{product}` + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/products/online~en~US~sku123" + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/products_service.get_product.js + * region_tag:merchantapi_v1beta_generated_ProductsService_GetProduct_async + */ + getProduct( + request?: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|undefined, {}|undefined + ]>; + getProduct( + request: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, + {}|null|undefined>): void; + getProduct( + request: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, + callback: Callback< + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, + {}|null|undefined>): void; + getProduct( + request?: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProduct, + protos.google.shopping.merchant.products.v1beta.IGetProductRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getProduct(request, options, callback); + } + + /** + * Lists the processed products in your Merchant Center account. The response + * might contain fewer items than specified by pageSize. Rely on pageToken to + * determine if there are more items to be requested. + * + * After inserting, updating, or deleting a product input, it may take several + * minutes before the updated processed product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account to list processed products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of products to return. The service may return fewer than + * this value. + * The maximum value is 250; values above 250 will be coerced to 250. + * If unspecified, the maximum number of products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListProducts` must + * match the call that provided the page token. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ + listProducts( + request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProduct[], + protos.google.shopping.merchant.products.v1beta.IListProductsRequest|null, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse + ]>; + listProducts( + request: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, + protos.google.shopping.merchant.products.v1beta.IProduct>): void; + listProducts( + request: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + callback: PaginationCallback< + protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, + protos.google.shopping.merchant.products.v1beta.IProduct>): void; + listProducts( + request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, + protos.google.shopping.merchant.products.v1beta.IProduct>, + callback?: PaginationCallback< + protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, + protos.google.shopping.merchant.products.v1beta.IProduct>): + Promise<[ + protos.google.shopping.merchant.products.v1beta.IProduct[], + protos.google.shopping.merchant.products.v1beta.IListProductsRequest|null, + protos.google.shopping.merchant.products.v1beta.IListProductsResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listProducts(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account to list processed products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of products to return. The service may return fewer than + * this value. + * The maximum value is 250; values above 250 will be coerced to 250. + * If unspecified, the maximum number of products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListProducts` must + * match the call that provided the page token. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing {@link protos.google.shopping.merchant.products.v1beta.Product|Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + */ + listProductsStream( + request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listProducts.createStream( + this.innerApiCalls.listProducts as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listProducts`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account to list processed products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of products to return. The service may return fewer than + * this value. + * The maximum value is 250; values above 250 will be coerced to 250. + * If unspecified, the maximum number of products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListProducts` must + * match the call that provided the page token. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. + * When you iterate the returned iterable, each element will be an object representing + * {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } + * for more details and examples. + * @example include:samples/generated/v1beta/products_service.list_products.js + * region_tag:merchantapi_v1beta_generated_ProductsService_ListProducts_async + */ + listProductsAsync( + request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listProducts.asyncIterate( + this.innerApiCalls['listProducts'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified account resource name string. + * + * @param {string} account + * @returns {string} Resource name string. + */ + accountPath(account:string) { + return this.pathTemplates.accountPathTemplate.render({ + account: account, + }); + } + + /** + * Parse the account from Account resource. + * + * @param {string} accountName + * A fully-qualified path representing Account resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountName(accountName: string) { + return this.pathTemplates.accountPathTemplate.match(accountName).account; + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} account + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(account:string,product:string) { + return this.pathTemplates.productPathTemplate.render({ + account: account, + product: product, + }); + } + + /** + * Parse the account from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the account. + */ + matchAccountFromProductName(productName: string) { + return this.pathTemplates.productPathTemplate.match(productName).account; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this.pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productInput resource name string. + * + * @param {string} account + * @param {string} productinput + * @returns {string} Resource name string. + */ + productInputPath(account:string,productinput:string) { + return this.pathTemplates.productInputPathTemplate.render({ + account: account, + productinput: productinput, + }); + } + + /** + * Parse the account from ProductInput resource. + * + * @param {string} productInputName + * A fully-qualified path representing ProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromProductInputName(productInputName: string) { + return this.pathTemplates.productInputPathTemplate.match(productInputName).account; + } + + /** + * Parse the productinput from ProductInput resource. + * + * @param {string} productInputName + * A fully-qualified path representing ProductInput resource. + * @returns {string} A string representing the productinput. + */ + matchProductinputFromProductInputName(productInputName: string) { + return this.pathTemplates.productInputPathTemplate.match(productInputName).productinput; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.productsServiceStub && !this._terminated) { + return this.productsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json new file mode 100644 index 00000000000..e9ec3b38bb5 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json @@ -0,0 +1,48 @@ +{ + "interfaces": { + "google.shopping.merchant.products.v1beta.ProductsService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "GetProduct": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListProducts": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json new file mode 100644 index 00000000000..aa7a8d7d894 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json @@ -0,0 +1,6 @@ +[ + "../../protos/google/shopping/merchant/products/v1beta/productinputs.proto", + "../../protos/google/shopping/merchant/products/v1beta/products.proto", + "../../protos/google/shopping/merchant/products/v1beta/products_common.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..5ac87c527b1 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js @@ -0,0 +1,28 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const products = require('@google-shopping/products'); + +function main() { + const productInputsServiceClient = new products.ProductInputsServiceClient(); + const productsServiceClient = new products.ProductsServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..b551c0fcbcb --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,38 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {ProductInputsServiceClient, ProductsServiceClient} from '@google-shopping/products'; + +// check that the client class type name can be used +function doStuffWithProductInputsServiceClient(client: ProductInputsServiceClient) { + client.close(); +} +function doStuffWithProductsServiceClient(client: ProductsServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const productInputsServiceClient = new ProductInputsServiceClient(); + doStuffWithProductInputsServiceClient(productInputsServiceClient); + // check that the client instance can be created + const productsServiceClient = new ProductsServiceClient(); + doStuffWithProductsServiceClient(productsServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts new file mode 100644 index 00000000000..fd5bfdc71d5 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts new file mode 100644 index 00000000000..5702820345a --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts @@ -0,0 +1,539 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as productinputsserviceModule from '../src'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +describe('v1beta.ProductInputsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, "googleapis.com"); + }); + + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = productinputsserviceModule.v1beta.ProductInputsServiceClient.servicePath; + assert.strictEqual(servicePath, 'merchantapi.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = productinputsserviceModule.v1beta.ProductInputsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + }); + + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.configured.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { new productinputsserviceModule.v1beta.ProductInputsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = productinputsserviceModule.v1beta.ProductInputsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productInputsServiceStub, undefined); + await client.initialize(); + assert(client.productInputsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.productInputsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productInputsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('insertProductInput', () => { + it('invokes insertProductInput without error', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ProductInput() + ); + client.innerApiCalls.insertProductInput = stubSimpleCall(expectedResponse); + const [response] = await client.insertProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertProductInput without error using callback', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ProductInput() + ); + client.innerApiCalls.insertProductInput = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.insertProductInput( + request, + (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProductInput|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertProductInput with error', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.insertProductInput = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.insertProductInput(request), expectedError); + const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertProductInput with closed client', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.insertProductInput(request), expectedError); + }); + }); + + describe('deleteProductInput', () => { + it('invokes deleteProductInput without error', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductInput = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteProductInput without error using callback', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductInput = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteProductInput( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteProductInput with error', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProductInput = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteProductInput(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteProductInput with closed client', async () => { + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProductInput(request), expectedError); + }); + }); + + describe('Path templates', () => { + + describe('account', () => { + const fakePath = "/rendered/path/account"; + const expectedParameters = { + account: "accountValue", + }; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountPath', () => { + const result = client.accountPath("accountValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountName', () => { + const result = client.matchAccountFromAccountName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('product', () => { + const fakePath = "/rendered/path/product"; + const expectedParameters = { + account: "accountValue", + product: "productValue", + }; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.productPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath("accountValue", "productValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromProductName', () => { + const result = client.matchAccountFromProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, "productValue"); + assert((client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('productInput', () => { + const fakePath = "/rendered/path/productInput"; + const expectedParameters = { + account: "accountValue", + productinput: "productinputValue", + }; + const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.productInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('productInputPath', () => { + const result = client.productInputPath("accountValue", "productinputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.productInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromProductInputName', () => { + const result = client.matchAccountFromProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchProductinputFromProductInputName', () => { + const result = client.matchProductinputFromProductInputName(fakePath); + assert.strictEqual(result, "productinputValue"); + assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts new file mode 100644 index 00000000000..60921dd4420 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts @@ -0,0 +1,723 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as productsserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1beta.ProductsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, "googleapis.com"); + }); + + if (typeof process === 'object' && typeof process.emitWarning === 'function') { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = productsserviceModule.v1beta.ProductsServiceClient.servicePath; + assert.strictEqual(servicePath, 'merchantapi.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = productsserviceModule.v1beta.ProductsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + }); + + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new productsserviceModule.v1beta.ProductsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new productsserviceModule.v1beta.ProductsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'merchantapi.configured.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { new productsserviceModule.v1beta.ProductsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = productsserviceModule.v1beta.ProductsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productsServiceStub, undefined); + await client.initialize(); + assert(client.productsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.productsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.GetProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); + const [response] = await client.getProduct(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProduct without error using callback', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.GetProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getProduct( + request, + (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProduct|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProduct with error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.GetProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getProduct = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getProduct(request), expectedError); + const actualRequest = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getProduct with closed client', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.GetProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProduct(request), expectedError); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + ]; + client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); + const [response] = await client.listProducts(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listProducts without error using callback', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + ]; + client.innerApiCalls.listProducts = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listProducts( + request, + (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProduct[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listProducts with error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listProducts = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listProducts(request), expectedError); + const actualRequest = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listProductsStream without error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + ]; + client.descriptors.page.listProducts.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.merchant.products.v1beta.Product[] = []; + stream.on('data', (response: protos.google.shopping.merchant.products.v1beta.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listProducts, request)); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listProductsStream with error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.merchant.products.v1beta.Product[] = []; + stream.on('data', (response: protos.google.shopping.merchant.products.v1beta.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listProducts, request)); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listProducts without error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), + ]; + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.shopping.merchant.products.v1beta.IProduct[] = []; + const iterable = client.listProductsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listProducts with error', async () => { + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listProductsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.shopping.merchant.products.v1beta.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + + describe('account', () => { + const fakePath = "/rendered/path/account"; + const expectedParameters = { + account: "accountValue", + }; + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountPath', () => { + const result = client.accountPath("accountValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountName', () => { + const result = client.matchAccountFromAccountName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('product', () => { + const fakePath = "/rendered/path/product"; + const expectedParameters = { + account: "accountValue", + product: "productValue", + }; + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.productPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath("accountValue", "productValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromProductName', () => { + const result = client.matchAccountFromProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, "productValue"); + assert((client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('productInput', () => { + const fakePath = "/rendered/path/productInput"; + const expectedParameters = { + account: "accountValue", + productinput: "productinputValue", + }; + const client = new productsserviceModule.v1beta.ProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.productInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('productInputPath', () => { + const result = client.productInputPath("accountValue", "productinputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.productInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromProductInputName', () => { + const result = client.matchAccountFromProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchProductinputFromProductInputName', () => { + const result = client.matchProductinputFromProductInputName(fakePath); + assert.strictEqual(result, "productinputValue"); + assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js new file mode 100644 index 00000000000..0edb8aab988 --- /dev/null +++ b/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'ProductInputsService', + filename: './product-inputs-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; From 1099ba7b11bbf6f9aeb1196b6cf5a27e5e7fc345 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Mon, 9 Dec 2024 18:13:43 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .../v1beta/.eslintignore | 7 - .../v1beta/.eslintrc.json | 3 - .../v1beta/.gitignore | 14 - .../v1beta/.jsdoc.js | 55 - .../v1beta/.mocharc.js | 33 - .../v1beta/.prettierrc.js | 22 - .../v1beta/README.md | 1 - .../v1beta/package.json | 59 - .../products/v1beta/productinputs.proto | 215 - .../merchant/products/v1beta/products.proto | 200 - .../products/v1beta/products_common.proto | 846 - .../protos/google/shopping/type/types.proto | 193 - .../v1beta/protos/protos.d.ts | 11613 ------ .../v1beta/protos/protos.js | 32903 ---------------- .../v1beta/protos/protos.json | 3893 -- ...uct_inputs_service.delete_product_input.js | 73 - ...uct_inputs_service.insert_product_input.js | 75 - .../v1beta/products_service.get_product.js | 66 - .../v1beta/products_service.list_products.js | 78 - ...gle.shopping.merchant.products.v1beta.json | 195 - .../v1beta/src/index.ts | 27 - .../v1beta/src/v1beta/gapic_metadata.json | 81 - .../v1beta/src/v1beta/index.ts | 20 - .../v1beta/product_inputs_service_client.ts | 614 - .../product_inputs_service_client_config.json | 48 - .../product_inputs_service_proto_list.json | 6 - .../src/v1beta/products_service_client.ts | 735 - .../products_service_client_config.json | 48 - .../v1beta/products_service_proto_list.json | 6 - .../system-test/fixtures/sample/src/index.js | 28 - .../system-test/fixtures/sample/src/index.ts | 38 - .../v1beta/system-test/install.ts | 49 - .../gapic_product_inputs_service_v1beta.ts | 539 - .../test/gapic_products_service_v1beta.ts | 723 - .../v1beta/tsconfig.json | 19 - .../v1beta/webpack.config.js | 64 - .../README.md | 4 +- .../products/v1beta/productinputs.proto | 16 +- .../merchant/products/v1beta/products.proto | 19 +- .../products/v1beta/products_common.proto | 47 +- .../protos/protos.d.ts | 25 +- .../protos/protos.js | 135 +- .../protos/protos.json | 38 +- ...uct_inputs_service.delete_product_input.js | 4 + .../v1beta/products_service.get_product.js | 4 + .../v1beta/products_service.list_products.js | 2 +- ...gle.shopping.merchant.products.v1beta.json | 4 +- .../v1beta/product_inputs_service_client.ts | 4 + .../src/v1beta/products_service_client.ts | 10 +- 49 files changed, 236 insertions(+), 53665 deletions(-) delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/README.md delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/package.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json delete mode 100644 owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore b/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore deleted file mode 100644 index d4f03a0df2e..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -/.coverage -/coverage -/.nyc_output -/docs/ -/out/ -/build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js deleted file mode 100644 index dc287873ce0..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2024 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-shopping/products', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js deleted file mode 100644 index 13b67c34edc..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js deleted file mode 100644 index 9a8fd690982..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md b/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md deleted file mode 100644 index 8a0dbf98da4..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/README.md +++ /dev/null @@ -1 +0,0 @@ -Products: Nodejs Client diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json deleted file mode 100644 index c946be2ea8e..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@google-shopping/products", - "version": "0.1.0", - "description": "Products client for Node.js", - "repository": "googleapis/nodejs-products", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google products", - "products", - "product inputs service", - "products service" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^4.3.4" - }, - "devDependencies": { - "@types/mocha": "^10.0.6", - "@types/node": "^20.12.12", - "@types/sinon": "^10.0.20", - "c8": "^9.1.0", - "gapic-tools": "^0.4.2", - "gts": "5.3.0", - "jsdoc": "^4.0.3", - "jsdoc-fresh": "^3.0.0", - "jsdoc-region-tag": "^3.0.0", - "mocha": "^10.4.0", - "pack-n-play": "^2.0.3", - "sinon": "^15.2.0", - "typescript": "5.1.6" - }, - "engines": { - "node": ">=v14" - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto deleted file mode 100644 index 53315dd6bd9..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/productinputs.proto +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.shopping.merchant.products.v1beta; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/protobuf/empty.proto"; -import "google/shopping/merchant/products/v1beta/products_common.proto"; -import "google/shopping/type/types.proto"; - -option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; -option java_multiple_files = true; -option java_outer_classname = "ProductInputsProto"; -option java_package = "com.google.shopping.merchant.products.v1beta"; - -// Service to use ProductInput resource. -// This service works for products with online channel only. -service ProductInputsService { - option (google.api.default_host) = "merchantapi.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Uploads a product input to your Merchant Center account. If an input - // with the same contentLanguage, offerId, and dataSource already exists, - // this method replaces that entry. - // - // After inserting, updating, or deleting a product input, it may take several - // minutes before the processed product can be retrieved. - rpc InsertProductInput(InsertProductInputRequest) returns (ProductInput) { - option (google.api.http) = { - post: "/products/v1beta/{parent=accounts/*}/productInputs:insert" - body: "product_input" - }; - } - - // Deletes a product input from your Merchant Center account. - // - // After inserting, updating, or deleting a product input, it may take several - // minutes before the processed product can be retrieved. - rpc DeleteProductInput(DeleteProductInputRequest) - returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/products/v1beta/{name=accounts/*/productInputs/*}" - }; - option (google.api.method_signature) = "name"; - } -} - -// This resource represents input data you submit for a product, not the -// processed product that you see in Merchant Center, in Shopping ads, or across -// Google surfaces. Product inputs, rules and supplemental data source data are -// combined to create the processed -// [Product][google.shopping.merchant.products.v1beta.Product]. -// -// Required product input attributes to pass data validation checks are -// primarily defined in the [Products Data -// Specification](https://support.google.com/merchants/answer/188494). -// -// The following attributes are required: -// [feedLabel][google.shopping.merchant.products.v1beta.Product.feed_label], -// [contentLanguage][google.shopping.merchant.products.v1beta.Product.content_language] -// and [offerId][google.shopping.merchant.products.v1beta.Product.offer_id]. -// -// After inserting, updating, or deleting a product input, it may take several -// minutes before the processed product can be retrieved. -// -// All fields in the product input and its sub-messages match the English name -// of their corresponding attribute in the vertical spec with [some -// exceptions](https://support.google.com/merchants/answer/7052112). -message ProductInput { - option (google.api.resource) = { - type: "merchantapi.googleapis.com/ProductInput" - pattern: "accounts/{account}/productInputs/{productinput}" - plural: "productInputs" - singular: "productInput" - }; - - // Identifier. The name of the product input. - // Format: - // `"{productinput.name=accounts/{account}/productInputs/{productinput}}"` - // where the last section `productinput` consists of 4 parts: - // channel~content_language~feed_label~offer_id - // example for product input name is - // "accounts/123/productInputs/online~en~US~sku123" - string name = 1 [(google.api.field_behavior) = IDENTIFIER]; - - // Output only. The name of the processed product. - // Format: - // `"{product.name=accounts/{account}/products/{product}}"` - string product = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Required. Immutable. The - // [channel](https://support.google.com/merchants/answer/7361332) of the - // product. - google.shopping.type.Channel.ChannelEnum channel = 3 [ - (google.api.field_behavior) = REQUIRED, - (google.api.field_behavior) = IMMUTABLE - ]; - - // Required. Immutable. Your unique identifier for the product. This is the - // same for the product input and processed product. Leading and trailing - // whitespaces are stripped and multiple whitespaces are replaced by a single - // whitespace upon submission. See the [products data - // specification](https://support.google.com/merchants/answer/188494#id) for - // details. - string offer_id = 4 [ - (google.api.field_behavior) = REQUIRED, - (google.api.field_behavior) = IMMUTABLE - ]; - - // Required. Immutable. The two-letter [ISO - // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the - // product. - string content_language = 5 [ - (google.api.field_behavior) = REQUIRED, - (google.api.field_behavior) = IMMUTABLE - ]; - - // Required. Immutable. The [feed - // label](https://developers.google.com/shopping-content/guides/products/feed-labels) - // for the product. - string feed_label = 6 [ - (google.api.field_behavior) = REQUIRED, - (google.api.field_behavior) = IMMUTABLE - ]; - - // Optional. Represents the existing version (freshness) of the product, which - // can be used to preserve the right order when multiple updates are done at - // the same time. - // - // If set, the insertion is prevented when version number is lower than - // the current version number of the existing product. Re-insertion (for - // example, product refresh after 30 days) can be performed with the current - // `version_number`. - // - // Only supported for insertions into primary data sources. - // - // If the operation is prevented, the aborted exception will be - // thrown. - optional int64 version_number = 7 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. A list of product attributes. - Attributes attributes = 8 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. A list of custom (merchant-provided) attributes. It can also be - // used for submitting any attribute of the data specification in its generic - // form (for example, - // `{ "name": "size type", "value": "regular" }`). - // This is useful for submitting attributes not explicitly exposed by the - // API, such as additional attributes used for Buy on Google. - // Maximum allowed number of characters for each - // custom attribute is 10240 (represents sum of characters for name and - // value). Maximum 2500 custom attributes can be set per product, with total - // size of 102.4kB. Underscores in custom attribute names are replaced by - // spaces upon insertion. - repeated google.shopping.type.CustomAttribute custom_attributes = 9 - [(google.api.field_behavior) = OPTIONAL]; -} - -// Request message for the InsertProductInput method. -message InsertProductInputRequest { - // Required. The account where this product will be inserted. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "merchantapi.googleapis.com/Product" - } - ]; - - // Required. The product input to insert. - ProductInput product_input = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The primary or supplemental product data source name. If the - // product already exists and data source provided is different, then the - // product will be moved to a new data source. Format: - // `accounts/{account}/dataSources/{datasource}`. - string data_source = 3 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for the DeleteProductInput method. -message DeleteProductInputRequest { - // Required. The name of the product input resource to delete. - // Format: accounts/{account}/productInputs/{product} - // where the last section `product` consists of 4 parts: - // channel~content_language~feed_label~offer_id - // example for product name is - // "accounts/123/productInputs/online~en~US~sku123" - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "merchantapi.googleapis.com/ProductInput" - } - ]; - - // Required. The primary or supplemental data source from which the product - // input should be deleted. Format: - // `accounts/{account}/dataSources/{datasource}`. - string data_source = 2 [(google.api.field_behavior) = REQUIRED]; -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto deleted file mode 100644 index 755e10ea675..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products.proto +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.shopping.merchant.products.v1beta; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/shopping/merchant/products/v1beta/products_common.proto"; -import "google/shopping/type/types.proto"; - -option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; -option java_multiple_files = true; -option java_outer_classname = "ProductsProto"; -option java_package = "com.google.shopping.merchant.products.v1beta"; -option (google.api.resource_definition) = { - type: "merchantapi.googleapis.com/Account" - pattern: "accounts/{account}" -}; - -// Service to use Product resource. -// This service works for products with online channel only. -service ProductsService { - option (google.api.default_host) = "merchantapi.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Retrieves the processed product from your Merchant Center account. - // - // After inserting, updating, or deleting a product input, it may take several - // minutes before the updated final product can be retrieved. - rpc GetProduct(GetProductRequest) returns (Product) { - option (google.api.http) = { - get: "/products/v1beta/{name=accounts/*/products/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Lists the processed products in your Merchant Center account. The response - // might contain fewer items than specified by pageSize. Rely on pageToken to - // determine if there are more items to be requested. - // - // After inserting, updating, or deleting a product input, it may take several - // minutes before the updated processed product can be retrieved. - rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) { - option (google.api.http) = { - get: "/products/v1beta/{parent=accounts/*}/products" - }; - option (google.api.method_signature) = "parent"; - } -} - -// The processed product, built from multiple [product -// inputs][google.shopping.merchant.products.v1main.ProductInput] -// after applying rules and supplemental data sources. This processed product -// matches what is shown in your Merchant Center account and in Shopping ads and -// other surfaces across Google. Each product is built from exactly one primary -// data source product input, and multiple supplemental data source inputs. -// After inserting, updating, or deleting a product input, it may take -// several minutes before the updated processed product can be retrieved. -// -// All fields in the processed product and its sub-messages match the name of -// their corresponding attribute in the [Product data -// specification](https://support.google.com/merchants/answer/7052112) with some -// exceptions. -message Product { - option (google.api.resource) = { - type: "merchantapi.googleapis.com/Product" - pattern: "accounts/{account}/products/{product}" - }; - - // The name of the product. - // Format: - // `"{product.name=accounts/{account}/products/{product}}"` where the last - // section `product` consists of 4 parts: - // channel~content_language~feed_label~offer_id - // example for product name is "accounts/123/products/online~en~US~sku123" - string name = 1; - - // Output only. The - // [channel](https://support.google.com/merchants/answer/7361332) of the - // product. - google.shopping.type.Channel.ChannelEnum channel = 2 - [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Your unique identifier for the product. This is the same for - // the product input and processed product. Leading and trailing whitespaces - // are stripped and multiple whitespaces are replaced by a single whitespace - // upon submission. See the [product data - // specification](https://support.google.com/merchants/answer/188494#id) for - // details. - string offer_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The two-letter [ISO - // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the - // product. - string content_language = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The feed label for the product. - string feed_label = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The primary data source of the product. - string data_source = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. Represents the existing version (freshness) of the product, - // which can be used to preserve the right order when multiple updates are - // done at the same time. - // - // If set, the insertion is prevented when version number is lower than - // the current version number of the existing product. Re-insertion (for - // example, product refresh after 30 days) can be performed with the current - // `version_number`. - // - // Only supported for insertions into primary data sources. - // - // If the operation is prevented, the aborted exception will be - // thrown. - optional int64 version_number = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. A list of product attributes. - Attributes attributes = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. A list of custom (merchant-provided) attributes. It can also - // be used to submit any attribute of the data specification in its generic - // form (for example, - // `{ "name": "size type", "value": "regular" }`). - // This is useful for submitting attributes not explicitly exposed by the - // API, such as additional attributes used for Buy on Google. - repeated google.shopping.type.CustomAttribute custom_attributes = 9 - [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The status of a product, data validation issues, that is, - // information about a product computed asynchronously. - ProductStatus product_status = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Request message for the GetProduct method. -message GetProductRequest { - // Required. The name of the product to retrieve. - // Format: `accounts/{account}/products/{product}` - // where the last section `product` consists of 4 parts: - // channel~content_language~feed_label~offer_id - // example for product name is - // "accounts/123/products/online~en~US~sku123" - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "merchantapi.googleapis.com/Product" - } - ]; -} - -// Request message for the ListProducts method. -message ListProductsRequest { - // Required. The account to list processed products for. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "merchantapi.googleapis.com/Product" - } - ]; - - // The maximum number of products to return. The service may return fewer than - // this value. - // The maximum value is 250; values above 250 will be coerced to 250. - // If unspecified, the maximum number of products will be returned. - int32 page_size = 2; - - // A page token, received from a previous `ListProducts` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListProducts` must - // match the call that provided the page token. - string page_token = 3; -} - -// Response message for the ListProducts method. -message ListProductsResponse { - // The processed products from the specified account. These are your processed - // products after applying rules and supplemental data sources. - repeated Product products = 1; - - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - string next_page_token = 2; -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto deleted file mode 100644 index a221ff1f2b1..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/merchant/products/v1beta/products_common.proto +++ /dev/null @@ -1,846 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.shopping.merchant.products.v1beta; - -import "google/api/field_behavior.proto"; -import "google/protobuf/timestamp.proto"; -import "google/shopping/type/types.proto"; -import "google/type/interval.proto"; - -option go_package = "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb"; -option java_multiple_files = true; -option java_outer_classname = "ProductsCommonProto"; -option java_package = "com.google.shopping.merchant.products.v1beta"; - -// The subscription period of the product. -enum SubscriptionPeriod { - // Indicates that the subscription period is unspecified. - SUBSCRIPTION_PERIOD_UNSPECIFIED = 0; - - // Indicates that the subscription period is month. - MONTH = 1; - - // Indicates that the subscription period is year. - YEAR = 2; -} - -// Attributes. -message Attributes { - // Set this value to false when the item does not have unique product - // identifiers appropriate to its category, such as GTIN, MPN, and brand. - // Defaults to true, if not provided. - optional bool identifier_exists = 4; - - // Whether the item is a merchant-defined bundle. A bundle is a custom - // grouping of different products sold by a merchant for a single price. - optional bool is_bundle = 5; - - // Title of the item. - optional string title = 6; - - // Description of the item. - optional string description = 7; - - // URL directly linking to your item's page on your online store. - optional string link = 8; - - // URL for the mobile-optimized version of your item's landing page. - optional string mobile_link = 9; - - // URL for the canonical version of your item's landing page. - optional string canonical_link = 10; - - // URL of an image of the item. - optional string image_link = 11; - - // Additional URLs of images of the item. - repeated string additional_image_links = 12; - - // Date on which the item should expire, as specified upon insertion, in - // [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual - // expiration date is exposed in `productstatuses` as - // [googleExpirationDate](https://support.google.com/merchants/answer/6324499) - // and might be earlier if `expirationDate` is too far in the future. - google.protobuf.Timestamp expiration_date = 16; - - // The date time when an offer becomes visible in search results across - // Google’s YouTube surfaces, in [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date]( - // https://support.google.com/merchants/answer/13034208) for more information. - google.protobuf.Timestamp disclosure_date = 79; - - // Set to true if the item is targeted towards adults. - optional bool adult = 17; - - // Target [age group](https://support.google.com/merchants/answer/6324463) of - // the item. - optional string age_group = 18; - - // Availability status of the item. - optional string availability = 19; - - // The day a pre-ordered product becomes available for delivery, in [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. - google.protobuf.Timestamp availability_date = 20; - - // Brand of the item. - optional string brand = 21; - - // Color of the item. - optional string color = 22; - - // Condition or state of the item. - optional string condition = 23; - - // Target gender of the item. - optional string gender = 24; - - // Google's category of the item (see [Google product - // taxonomy](https://support.google.com/merchants/answer/1705911)). When - // querying products, this field will contain the user provided value. There - // is currently no way to get back the auto assigned google product - // categories through the API. - optional string google_product_category = 25; - - // Global Trade Item Numbers - // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the - // item. - // You can provide up to 10 GTINs. - repeated string gtin = 26; - - // Shared identifier for all variants of the same product. - optional string item_group_id = 27; - - // The material of which the item is made. - optional string material = 28; - - // Manufacturer Part Number - // ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the - // item. - optional string mpn = 29; - - // The item's pattern (for example, polka dots). - optional string pattern = 30; - - // Price of the item. - google.shopping.type.Price price = 31; - - // Number and amount of installments to pay for an item. - Installment installment = 32; - - // Number of periods (months or years) and amount of payment per period - // for an item with an associated subscription contract. - SubscriptionCost subscription_cost = 33; - - // Loyalty points that users receive after purchasing the item. Japan only. - LoyaltyPoints loyalty_points = 34; - - // A list of loyalty program information that is used to surface loyalty - // benefits (for example, better pricing, points, etc) to the user of this - // item. - repeated LoyaltyProgram loyalty_programs = 136; - - // Categories of the item (formatted as in [product data - // specification](https://support.google.com/merchants/answer/188494#product_type)). - repeated string product_types = 35; - - // Advertised sale price of the item. - google.shopping.type.Price sale_price = 36; - - // Date range during which the item is on sale (see [product data - // specification](https://support.google.com/merchants/answer/188494#sale_price_effective_date)). - google.type.Interval sale_price_effective_date = 37; - - // The quantity of the product that is available for selling on Google. - // Supported only for online products. - optional int64 sell_on_google_quantity = 38; - - // The height of the product in the units provided. The value must be - // between - // 0 (exclusive) and 3000 (inclusive). - ProductDimension product_height = 119; - - // The length of the product in the units provided. The value must be - // between 0 (exclusive) and 3000 (inclusive). - ProductDimension product_length = 120; - - // The width of the product in the units provided. The value must be between - // 0 (exclusive) and 3000 (inclusive). - ProductDimension product_width = 121; - - // The weight of the product in the units provided. The value must be - // between 0 (exclusive) and 2000 (inclusive). - ProductWeight product_weight = 122; - - // Shipping rules. - repeated Shipping shipping = 39; - - // Conditions to be met for a product to have free shipping. - repeated FreeShippingThreshold free_shipping_threshold = 135; - - // Weight of the item for shipping. - ShippingWeight shipping_weight = 40; - - // Length of the item for shipping. - ShippingDimension shipping_length = 41; - - // Width of the item for shipping. - ShippingDimension shipping_width = 42; - - // Height of the item for shipping. - ShippingDimension shipping_height = 43; - - // Maximal product handling time (in business days). - optional int64 max_handling_time = 44; - - // Minimal product handling time (in business days). - optional int64 min_handling_time = 45; - - // The shipping label of the product, used to group product in account-level - // shipping rules. - optional string shipping_label = 46; - - // The transit time label of the product, used to group product in - // account-level transit time tables. - optional string transit_time_label = 47; - - // Size of the item. Only one value is allowed. For variants with different - // sizes, insert a separate product for each size with the same - // `itemGroupId` value (see - // [https://support.google.com/merchants/answer/6324492](size definition)). - optional string size = 48; - - // System in which the size is specified. Recommended for apparel items. - optional string size_system = 49; - - // The cut of the item. It can be used to represent combined size types for - // apparel items. Maximum two of size types can be provided (see - // [https://support.google.com/merchants/answer/6324497](size type)). - repeated string size_types = 50; - - // Tax information. - repeated Tax taxes = 51; - - // The tax category of the product. - optional string tax_category = 52; - - // The energy efficiency class as defined in EU directive 2010/30/EU. - optional string energy_efficiency_class = 53; - - // The energy efficiency class as defined in EU directive 2010/30/EU. - optional string min_energy_efficiency_class = 54; - - // The energy efficiency class as defined in EU directive 2010/30/EU. - optional string max_energy_efficiency_class = 55; - - // The measure and dimension of an item. - UnitPricingMeasure unit_pricing_measure = 56; - - // The preference of the denominator of the unit price. - UnitPricingBaseMeasure unit_pricing_base_measure = 57; - - // The number of identical products in a merchant-defined multipack. - optional int64 multipack = 58; - - // Used to group items in an arbitrary way. Only for CPA%, discouraged - // otherwise. - optional string ads_grouping = 59; - - // Similar to ads_grouping, but only works on CPC. - repeated string ads_labels = 60; - - // Allows advertisers to override the item URL when the product is shown - // within the context of Product ads. - optional string ads_redirect = 61; - - // Cost of goods sold. Used for gross profit reporting. - google.shopping.type.Price cost_of_goods_sold = 62; - - // Technical specification or additional product details. - repeated ProductDetail product_details = 63; - - // Bullet points describing the most relevant highlights of a product. - repeated string product_highlights = 64; - - // An identifier for an item for dynamic remarketing campaigns. - optional string display_ads_id = 65; - - // Advertiser-specified recommendations. - repeated string display_ads_similar_ids = 66; - - // Title of an item for dynamic remarketing campaigns. - optional string display_ads_title = 67; - - // URL directly to your item's landing page for dynamic remarketing - // campaigns. - optional string display_ads_link = 68; - - // Offer margin for dynamic remarketing campaigns. - optional double display_ads_value = 69; - - // The unique ID of a promotion. - repeated string promotion_ids = 70; - - // The pick up option for the item. - optional string pickup_method = 80; - - // Item store pickup timeline. - optional string pickup_sla = 81; - - // Link template for merchant hosted local storefront. - optional string link_template = 82; - - // Link template for merchant hosted local storefront optimized for mobile - // devices. - optional string mobile_link_template = 83; - - // Custom label 0 for custom grouping of items in a Shopping campaign. - optional string custom_label_0 = 71; - - // Custom label 1 for custom grouping of items in a Shopping campaign. - optional string custom_label_1 = 72; - - // Custom label 2 for custom grouping of items in a Shopping campaign. - optional string custom_label_2 = 73; - - // Custom label 3 for custom grouping of items in a Shopping campaign. - optional string custom_label_3 = 74; - - // Custom label 4 for custom grouping of items in a Shopping campaign. - optional string custom_label_4 = 75; - - // The list of destinations to include for this target (corresponds to - // checked check boxes in Merchant Center). Default destinations are always - // included unless provided in `excludedDestinations`. - repeated string included_destinations = 76; - - // The list of destinations to exclude for this target (corresponds to - // unchecked check boxes in Merchant Center). - repeated string excluded_destinations = 77; - - // List of country codes (ISO 3166-1 alpha-2) to exclude the offer from - // Shopping Ads destination. - // Countries from this list are removed from countries configured - // in data source settings. - repeated string shopping_ads_excluded_countries = 78; - - // Required for multi-seller accounts. Use this attribute if you're a - // marketplace uploading products for various sellers to your multi-seller - // account. - optional string external_seller_id = 1; - - // Publication of this item will be temporarily - // [paused](https://support.google.com/merchants/answer/11909930). - optional string pause = 13; - - // Additional URLs of lifestyle images of the item, used to explicitly - // identify images that showcase your item in a real-world context. See the - // [Help Center article](https://support.google.com/merchants/answer/9103186) - // for more information. - repeated string lifestyle_image_links = 14; - - // Extra fields to export to the Cloud Retail program. - repeated CloudExportAdditionalProperties cloud_export_additional_properties = - 84; - - // URL of the 3D image of the item. See the - // [Help Center article](https://support.google.com/merchants/answer/13674896) - // for more information. - optional string virtual_model_link = 130; - - // Product Certifications, for example for energy efficiency labeling of - // products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) - // database. See the [Help - // Center](https://support.google.com/merchants/answer/13528839) - // article for more information. - repeated Certification certifications = 123; - - // Structured title, for algorithmically (AI)-generated titles. - optional ProductStructuredTitle structured_title = 132; - - // Structured description, for algorithmically (AI)-generated descriptions. - optional ProductStructuredDescription structured_description = 133; - - // A safeguard in the "Automated Discounts" - // (https://support.google.com/merchants/answer/10295759) and - // "Dynamic Promotions" - // (https://support.google.com/merchants/answer/13949249) projects, - // ensuring that discounts on merchants' offers do not fall below this value, - // thereby preserving the offer's value and profitability. - google.shopping.type.Price auto_pricing_min_price = 124; -} - -// The Tax of the product. -message Tax { - // The percentage of tax rate that applies to the item price. - double rate = 1; - - // The country within which the item is taxed, specified as a [CLDR - // territory - // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml). - string country = 2; - - // The geographic region to which the tax rate applies. - string region = 3; - - // Set to true if tax is charged on shipping. - bool tax_ship = 4; - - // The numeric ID of a location that the tax rate applies to as defined in - // the [AdWords - // API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). - int64 location_id = 5; - - // The postal code range that the tax rate applies to, represented by - // a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP - // codes or two ZIP code prefixes of equal length. - // Examples: 94114, 94*, 94002-95460, 94*-95*. - string postal_code = 6; -} - -// The ShippingWeight of the product. -message ShippingWeight { - // The weight of the product used to calculate the shipping cost of the - // item. - double value = 1; - - // The unit of value. - string unit = 2; -} - -// The ShippingDimension of the product. -message ShippingDimension { - // The dimension of the product used to calculate the shipping cost of the - // item. - double value = 1; - - // The unit of value. - string unit = 2; -} - -// The UnitPricingBaseMeasure of the product. -message UnitPricingBaseMeasure { - // The denominator of the unit price. - int64 value = 1; - - // The unit of the denominator. - string unit = 2; -} - -// The UnitPricingMeasure of the product. -message UnitPricingMeasure { - // The measure of an item. - double value = 1; - - // The unit of the measure. - string unit = 2; -} - -// The SubscriptionCost of the product. -message SubscriptionCost { - // The type of subscription period. - // Supported values are: - // * "`month`" - // * "`year`" - SubscriptionPeriod period = 1; - - // The number of subscription periods the buyer has to pay. - int64 period_length = 2; - - // The amount the buyer has to pay per subscription period. - google.shopping.type.Price amount = 3; -} - -// A message that represents installment. -message Installment { - // The number of installments the buyer has to pay. - int64 months = 1; - - // The amount the buyer has to pay per month. - google.shopping.type.Price amount = 2; - - // The up-front down payment amount the buyer has to pay. - optional google.shopping.type.Price downpayment = 3; - - // Type of installment payments. - // Supported values are: - // * "`finance`" - // * "`lease`" - optional string credit_type = 4; -} - -// A message that represents loyalty points. -message LoyaltyPoints { - // Name of loyalty points program. It is recommended to limit the name to - // 12 full-width characters or 24 Roman characters. - string name = 1; - - // The retailer's loyalty points in absolute value. - int64 points_value = 2; - - // The ratio of a point when converted to currency. Google assumes currency - // based on Merchant Center settings. If ratio is left out, it defaults to - // 1.0. - double ratio = 3; -} - -// A message that represents loyalty program. -message LoyaltyProgram { - // The label of the loyalty program. This is an internal label that uniquely - // identifies the relationship between a merchant entity and a loyalty - // program entity. The label must be provided so that the system can associate - // the assets below (for example, price and points) with a merchant. The - // corresponding program must be linked to the merchant account. - optional string program_label = 1; - - // The label of the tier within the loyalty program. - // Must match one of the labels within the program. - optional string tier_label = 2; - - // The price for members of the given tier, that is, the instant discount - // price. Must be smaller or equal to the regular price. - optional google.shopping.type.Price price = 3; - - // The cashback that can be used for future purchases. - optional google.shopping.type.Price cashback_for_future_use = 4; - - // The amount of loyalty points earned on a purchase. - optional int64 loyalty_points = 5; - - // A date range during which the item is eligible for member price. If not - // specified, the member price is always applicable. The date range is - // represented by a pair of ISO 8601 dates separated by a space, - // comma, or slash. - optional google.type.Interval member_price_effective_date = 6; - - // The label of the shipping benefit. If the field has value, this offer has - // loyalty shipping benefit. If the field value isn't provided, the item is - // not eligible for loyalty shipping for the given loyalty tier. - optional string shipping_label = 7; -} - -// The Shipping of the product. -message Shipping { - // Fixed shipping price, represented as a number. - google.shopping.type.Price price = 1; - - // The [CLDR territory - // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) - // of the country to which an item will ship. - string country = 2; - - // The geographic region to which a shipping rate applies. - // See [region](https://support.google.com/merchants/answer/6324484) for more - // information. - string region = 3; - - // A free-form description of the service class or delivery speed. - string service = 4; - - // The numeric ID of a location that the shipping rate applies to as - // defined in the [AdWords - // API](https://developers.google.com/adwords/api/docs/appendix/geotargeting). - int64 location_id = 5; - - // The location where the shipping is applicable, represented by a - // location group name. - string location_group_name = 6; - - // The postal code range that the shipping rate applies to, represented by - // a postal code, a postal code prefix followed by a * wildcard, a range - // between two postal codes or two postal code prefixes of equal length. - string postal_code = 7; - - // Minimum handling time (inclusive) between when the order is received and - // shipped in business days. 0 means that the order is shipped on the same - // day as it is received if it happens before the cut-off time. - // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] - // can only be present together with - // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]; - // but it is not required if - // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] - // is present. - optional int64 min_handling_time = 8; - - // Maximum handling time (inclusive) between when the order is received and - // shipped in business days. 0 means that the order is shipped on the same - // day as it is received if it happens before the cut-off time. Both - // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] - // and - // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] - // are required if providing shipping speeds. - // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] - // is optional if - // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] - // is present. - optional int64 max_handling_time = 9; - - // Minimum transit time (inclusive) between when the order has shipped and - // when it is delivered in business days. 0 means that the order is - // delivered on the same day as it ships. - // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] - // can only be present together with - // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]; - // but it is not required if - // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] - // is present. - optional int64 min_transit_time = 10; - - // Maximum transit time (inclusive) between when the order has shipped and - // when it is delivered in business days. 0 means that the order is - // delivered on the same day as it ships. Both - // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] - // and - // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] - // are required if providing shipping speeds. - // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] - // is optional if - // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] - // is present. - optional int64 max_transit_time = 11; -} - -// Conditions to be met for a product to have free shipping. -message FreeShippingThreshold { - // The [CLDR territory - // code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) - // of the country to which an item will ship. - optional string country = 1; - - // The minimum product price for the shipping cost to become free. Represented - // as a number. - optional google.shopping.type.Price price_threshold = 2; -} - -// The product details. -message ProductDetail { - // The section header used to group a set of product details. - string section_name = 1; - - // The name of the product detail. - string attribute_name = 2; - - // The value of the product detail. - string attribute_value = 3; -} - -// Product -// [certification](https://support.google.com/merchants/answer/13528839), -// initially introduced for EU energy efficiency labeling compliance using the -// EU EPREL database. -message Certification { - // The certification authority, for example "European_Commission". - // Maximum length is 2000 characters. - optional string certification_authority = 1; - - // The name of the certification, for example "EPREL". - // Maximum length is 2000 characters. - optional string certification_name = 2; - - // The certification code. - // Maximum length is 2000 characters. - optional string certification_code = 3; - - // The certification value (also known as class, level or grade), for example - // "A+", "C", "gold". - // Maximum length is 2000 characters. - optional string certification_value = 4; -} - -// Structured title, for algorithmically (AI)-generated titles. -message ProductStructuredTitle { - // The digital source type, for example "trained_algorithmic_media". - // Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). - // Maximum length is 40 characters. - optional string digital_source_type = 1; - - // The title text - // Maximum length is 150 characters - optional string content = 2; -} - -// Structured description, for algorithmically (AI)-generated descriptions. -message ProductStructuredDescription { - // The digital source type, for example "trained_algorithmic_media". - // Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). - // Maximum length is 40 characters. - optional string digital_source_type = 1; - - // The description text - // Maximum length is 5000 characters - optional string content = 2; -} - -// The dimension of the product. -message ProductDimension { - // Required. The dimension value represented as a number. The value can have a - // maximum precision of four decimal places. - double value = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The dimension units. - // Acceptable values are: - // * "`in`" - // * "`cm`" - string unit = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// The weight of the product. -message ProductWeight { - // Required. The weight represented as a number. The weight can have a maximum - // precision of four decimal places. - double value = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The weight unit. - // Acceptable values are: - // * "`g`" - // * "`kg`" - // * "`oz`" - // * "`lb`" - string unit = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// The status of a product, data validation issues, that is, information about -// a product computed asynchronously. -message ProductStatus { - // The destination status of the product status. - message DestinationStatus { - // The name of the reporting context. - google.shopping.type.ReportingContext.ReportingContextEnum - reporting_context = 1; - - // List of country codes (ISO 3166-1 alpha-2) where the offer is approved. - repeated string approved_countries = 2; - - // List of country codes (ISO 3166-1 alpha-2) where the offer is pending - // approval. - repeated string pending_countries = 3; - - // List of country codes (ISO 3166-1 alpha-2) where the offer is - // disapproved. - repeated string disapproved_countries = 4; - } - - // The ItemLevelIssue of the product status. - message ItemLevelIssue { - // How the issue affects the serving of the product. - enum Severity { - // Not specified. - SEVERITY_UNSPECIFIED = 0; - - // This issue represents a warning and does not have a direct affect - // on the product. - NOT_IMPACTED = 1; - - // The product is demoted and most likely have limited performance - // in search results - DEMOTED = 2; - - // Issue disapproves the product. - DISAPPROVED = 3; - } - - // The error code of the issue. - string code = 1; - - // How this issue affects serving of the offer. - Severity severity = 2; - - // Whether the issue can be resolved by the merchant. - string resolution = 3; - - // The attribute's name, if the issue is caused by a single attribute. - string attribute = 4; - - // The reporting context the issue applies to. - google.shopping.type.ReportingContext.ReportingContextEnum - reporting_context = 5; - - // A short issue description in English. - string description = 6; - - // A detailed issue description in English. - string detail = 7; - - // The URL of a web page to help with resolving this issue. - string documentation = 8; - - // List of country codes (ISO 3166-1 alpha-2) where issue applies to the - // offer. - repeated string applicable_countries = 9; - } - - // The intended destinations for the product. - repeated DestinationStatus destination_statuses = 3; - - // A list of all issues associated with the product. - repeated ItemLevelIssue item_level_issues = 4; - - // Date on which the item has been created, in [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. - google.protobuf.Timestamp creation_date = 5; - - // Date on which the item has been last updated, in [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. - google.protobuf.Timestamp last_update_date = 6; - - // Date on which the item expires, in [ISO - // 8601](http://en.wikipedia.org/wiki/ISO_8601) format. - google.protobuf.Timestamp google_expiration_date = 7; -} - -// Product property for the Cloud Retail API. -// For example, properties for a TV product could be "Screen-Resolution" or -// "Screen-Size". -message CloudExportAdditionalProperties { - // Name of the given property. For example, - // "Screen-Resolution" for a TV product. Maximum string size is 256 - // characters. - optional string property_name = 1; - - // Text value of the given property. For example, - // "8K(UHD)" could be a text value for a TV product. Maximum - // repeatedness of this value is 400. Values are stored in an arbitrary but - // consistent order. Maximum string size is 256 characters. - repeated string text_value = 2; - - // Boolean value of the given property. For example for a TV product, - // "True" or "False" if the screen is UHD. - optional bool bool_value = 3; - - // Integer values of the given property. For example, 1080 for a TV - // product's Screen Resolution. Maximum repeatedness of this value - // is 400. Values are stored in an arbitrary but consistent order. - repeated int64 int_value = 4; - - // Float values of the given property. For example for a TV product - // 1.2345. Maximum repeatedness of this value is 400. Values - // are stored in an arbitrary but consistent order. - repeated float float_value = 5; - - // Minimum float value of the given property. For example for a TV - // product 1.00. - optional float min_value = 6; - - // Maximum float value of the given property. For example for a TV - // product 100.00. - optional float max_value = 7; - - // Unit of the given property. For example, "Pixels" for a TV product. Maximum - // string size is 256B. - optional string unit_code = 8; -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto deleted file mode 100644 index 0d219e72d6a..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/google/shopping/type/types.proto +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.shopping.type; - -option csharp_namespace = "Google.Shopping.Type"; -option go_package = "cloud.google.com/go/shopping/type/typepb;typepb"; -option java_multiple_files = true; -option java_outer_classname = "TypesProto"; -option java_package = "com.google.shopping.type"; - -// The weight represented as the value in string and the unit. -message Weight { - // The weight unit. - enum WeightUnit { - // unit unspecified - WEIGHT_UNIT_UNSPECIFIED = 0; - - // lb unit. - POUND = 1; - - // kg unit. - KILOGRAM = 2; - } - - // Required. The weight represented as a number in micros (1 million micros is - // an equivalent to one's currency standard unit, for example, 1 kg = 1000000 - // micros). - // This field can also be set as infinity by setting to -1. - // This field only support -1 and positive value. - optional int64 amount_micros = 1; - - // Required. The weight unit. - // Acceptable values are: kg and lb - WeightUnit unit = 2; -} - -// The price represented as a number and currency. -message Price { - // The price represented as a number in micros (1 million micros is an - // equivalent to one's currency standard unit, for example, 1 USD = 1000000 - // micros). - optional int64 amount_micros = 1; - - // The currency of the price using three-letter acronyms according to [ISO - // 4217](http://en.wikipedia.org/wiki/ISO_4217). - optional string currency_code = 2; -} - -// A message that represents custom attributes. Exactly one of `value` or -// `group_values` must not be empty. -message CustomAttribute { - // The name of the attribute. - optional string name = 1; - - // The value of the attribute. If `value` is not empty, `group_values` must be - // empty. - optional string value = 2; - - // Subattributes within this attribute group. If - // `group_values` is not empty, `value` must be empty. - repeated CustomAttribute group_values = 3; -} - -// Destinations available for a product. -// -// Destinations are used in Merchant Center to allow you to control where the -// products from your data feed should be displayed. -// -message Destination { - // Destination values. - enum DestinationEnum { - // Not specified. - DESTINATION_ENUM_UNSPECIFIED = 0; - - // [Shopping ads](https://support.google.com/google-ads/answer/2454022). - SHOPPING_ADS = 1; - - // [Display ads](https://support.google.com/merchants/answer/6069387). - DISPLAY_ADS = 2; - - // [Local inventory - // ads](https://support.google.com/merchants/answer/3057972). - LOCAL_INVENTORY_ADS = 3; - - // [Free listings](https://support.google.com/merchants/answer/9199328). - FREE_LISTINGS = 4; - - // [Free local product - // listings](https://support.google.com/merchants/answer/9825611). - FREE_LOCAL_LISTINGS = 5; - - // [YouTube Shopping](https://support.google.com/merchants/answer/12362804). - YOUTUBE_SHOPPING = 6; - } -} - -// Reporting contexts that your account and product issues apply to. -// -// Reporting contexts are groups of surfaces and formats for product results on -// Google. They can represent the entire destination (for example, [Shopping -// ads](https://support.google.com/merchants/answer/6149970)) or a subset of -// formats within a destination (for example, [Demand Gen -// ads](https://support.google.com/merchants/answer/13389785)). -// -message ReportingContext { - // Reporting context values. - enum ReportingContextEnum { - // Not specified. - REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0; - - // [Shopping ads](https://support.google.com/merchants/answer/6149970). - SHOPPING_ADS = 1; - - // Deprecated: Use `DEMAND_GEN_ADS` instead. - // [Discovery and Demand Gen - // ads](https://support.google.com/merchants/answer/13389785). - DISCOVERY_ADS = 2 [deprecated = true]; - - // [Demand Gen ads](https://support.google.com/merchants/answer/13389785). - DEMAND_GEN_ADS = 13; - - // [Demand Gen ads on Discover - // surface](https://support.google.com/merchants/answer/13389785). - DEMAND_GEN_ADS_DISCOVER_SURFACE = 14; - - // [Video ads](https://support.google.com/google-ads/answer/6340491). - VIDEO_ADS = 3; - - // [Display ads](https://support.google.com/merchants/answer/6069387). - DISPLAY_ADS = 4; - - // [Local inventory - // ads](https://support.google.com/merchants/answer/3271956). - LOCAL_INVENTORY_ADS = 5; - - // [Vehicle inventory - // ads](https://support.google.com/merchants/answer/11544533). - VEHICLE_INVENTORY_ADS = 6; - - // [Free product - // listings](https://support.google.com/merchants/answer/9199328). - FREE_LISTINGS = 7; - - // [Free local product - // listings](https://support.google.com/merchants/answer/9825611). - FREE_LOCAL_LISTINGS = 8; - - // [Free local vehicle - // listings](https://support.google.com/merchants/answer/11544533). - FREE_LOCAL_VEHICLE_LISTINGS = 9; - - // [YouTube - // Shopping](https://support.google.com/merchants/answer/13478370). - YOUTUBE_SHOPPING = 10; - - // [Cloud retail](https://cloud.google.com/solutions/retail). - CLOUD_RETAIL = 11; - - // [Local cloud retail](https://cloud.google.com/solutions/retail). - LOCAL_CLOUD_RETAIL = 12; - } -} - -// [Channel](https://support.google.com/merchants/answer/7361332) of a product. -// -// Channel is used to distinguish between online and local products. -message Channel { - // Channel values. - enum ChannelEnum { - // Not specified. - CHANNEL_ENUM_UNSPECIFIED = 0; - - // Online product. - ONLINE = 1; - - // Local product. - LOCAL = 2; - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts deleted file mode 100644 index ea7d5f21424..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.d.ts +++ /dev/null @@ -1,11613 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import type {protobuf as $protobuf} from "google-gax"; -import Long = require("long"); -/** Namespace google. */ -export namespace google { - - /** Namespace shopping. */ - namespace shopping { - - /** Namespace merchant. */ - namespace merchant { - - /** Namespace products. */ - namespace products { - - /** Namespace v1beta. */ - namespace v1beta { - - /** Represents a ProductInputsService */ - class ProductInputsService extends $protobuf.rpc.Service { - - /** - * Constructs a new ProductInputsService service. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - */ - constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); - - /** - * Creates new ProductInputsService service using the specified rpc implementation. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - * @returns RPC service. Useful where requests and/or responses are streamed. - */ - public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ProductInputsService; - - /** - * Calls InsertProductInput. - * @param request InsertProductInputRequest message or plain object - * @param callback Node-style callback called with the error, if any, and ProductInput - */ - public insertProductInput(request: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, callback: google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInputCallback): void; - - /** - * Calls InsertProductInput. - * @param request InsertProductInputRequest message or plain object - * @returns Promise - */ - public insertProductInput(request: google.shopping.merchant.products.v1beta.IInsertProductInputRequest): Promise; - - /** - * Calls DeleteProductInput. - * @param request DeleteProductInputRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Empty - */ - public deleteProductInput(request: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, callback: google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInputCallback): void; - - /** - * Calls DeleteProductInput. - * @param request DeleteProductInputRequest message or plain object - * @returns Promise - */ - public deleteProductInput(request: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest): Promise; - } - - namespace ProductInputsService { - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|insertProductInput}. - * @param error Error, if any - * @param [response] ProductInput - */ - type InsertProductInputCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.ProductInput) => void; - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|deleteProductInput}. - * @param error Error, if any - * @param [response] Empty - */ - type DeleteProductInputCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; - } - - /** Properties of a ProductInput. */ - interface IProductInput { - - /** ProductInput name */ - name?: (string|null); - - /** ProductInput product */ - product?: (string|null); - - /** ProductInput channel */ - channel?: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum|null); - - /** ProductInput offerId */ - offerId?: (string|null); - - /** ProductInput contentLanguage */ - contentLanguage?: (string|null); - - /** ProductInput feedLabel */ - feedLabel?: (string|null); - - /** ProductInput versionNumber */ - versionNumber?: (number|Long|string|null); - - /** ProductInput attributes */ - attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); - - /** ProductInput customAttributes */ - customAttributes?: (google.shopping.type.ICustomAttribute[]|null); - } - - /** Represents a ProductInput. */ - class ProductInput implements IProductInput { - - /** - * Constructs a new ProductInput. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductInput); - - /** ProductInput name. */ - public name: string; - - /** ProductInput product. */ - public product: string; - - /** ProductInput channel. */ - public channel: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum); - - /** ProductInput offerId. */ - public offerId: string; - - /** ProductInput contentLanguage. */ - public contentLanguage: string; - - /** ProductInput feedLabel. */ - public feedLabel: string; - - /** ProductInput versionNumber. */ - public versionNumber?: (number|Long|string|null); - - /** ProductInput attributes. */ - public attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); - - /** ProductInput customAttributes. */ - public customAttributes: google.shopping.type.ICustomAttribute[]; - - /** ProductInput _versionNumber. */ - public _versionNumber?: "versionNumber"; - - /** - * Creates a new ProductInput instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductInput instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductInput): google.shopping.merchant.products.v1beta.ProductInput; - - /** - * Encodes the specified ProductInput message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. - * @param message ProductInput message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductInput, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductInput message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. - * @param message ProductInput message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductInput, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductInput message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductInput; - - /** - * Decodes a ProductInput message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductInput; - - /** - * Verifies a ProductInput message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductInput message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductInput - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductInput; - - /** - * Creates a plain object from a ProductInput message. Also converts values to other types if specified. - * @param message ProductInput - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductInput, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductInput to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductInput - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an InsertProductInputRequest. */ - interface IInsertProductInputRequest { - - /** InsertProductInputRequest parent */ - parent?: (string|null); - - /** InsertProductInputRequest productInput */ - productInput?: (google.shopping.merchant.products.v1beta.IProductInput|null); - - /** InsertProductInputRequest dataSource */ - dataSource?: (string|null); - } - - /** Represents an InsertProductInputRequest. */ - class InsertProductInputRequest implements IInsertProductInputRequest { - - /** - * Constructs a new InsertProductInputRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IInsertProductInputRequest); - - /** InsertProductInputRequest parent. */ - public parent: string; - - /** InsertProductInputRequest productInput. */ - public productInput?: (google.shopping.merchant.products.v1beta.IProductInput|null); - - /** InsertProductInputRequest dataSource. */ - public dataSource: string; - - /** - * Creates a new InsertProductInputRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns InsertProductInputRequest instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IInsertProductInputRequest): google.shopping.merchant.products.v1beta.InsertProductInputRequest; - - /** - * Encodes the specified InsertProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. - * @param message InsertProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified InsertProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. - * @param message InsertProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IInsertProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an InsertProductInputRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns InsertProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.InsertProductInputRequest; - - /** - * Decodes an InsertProductInputRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns InsertProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.InsertProductInputRequest; - - /** - * Verifies an InsertProductInputRequest message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an InsertProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns InsertProductInputRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.InsertProductInputRequest; - - /** - * Creates a plain object from an InsertProductInputRequest message. Also converts values to other types if specified. - * @param message InsertProductInputRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.InsertProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this InsertProductInputRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for InsertProductInputRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a DeleteProductInputRequest. */ - interface IDeleteProductInputRequest { - - /** DeleteProductInputRequest name */ - name?: (string|null); - - /** DeleteProductInputRequest dataSource */ - dataSource?: (string|null); - } - - /** Represents a DeleteProductInputRequest. */ - class DeleteProductInputRequest implements IDeleteProductInputRequest { - - /** - * Constructs a new DeleteProductInputRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest); - - /** DeleteProductInputRequest name. */ - public name: string; - - /** DeleteProductInputRequest dataSource. */ - public dataSource: string; - - /** - * Creates a new DeleteProductInputRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns DeleteProductInputRequest instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; - - /** - * Encodes the specified DeleteProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. - * @param message DeleteProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DeleteProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. - * @param message DeleteProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DeleteProductInputRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DeleteProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; - - /** - * Decodes a DeleteProductInputRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DeleteProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; - - /** - * Verifies a DeleteProductInputRequest message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a DeleteProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DeleteProductInputRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.DeleteProductInputRequest; - - /** - * Creates a plain object from a DeleteProductInputRequest message. Also converts values to other types if specified. - * @param message DeleteProductInputRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.DeleteProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DeleteProductInputRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DeleteProductInputRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** SubscriptionPeriod enum. */ - enum SubscriptionPeriod { - SUBSCRIPTION_PERIOD_UNSPECIFIED = 0, - MONTH = 1, - YEAR = 2 - } - - /** Properties of an Attributes. */ - interface IAttributes { - - /** Attributes identifierExists */ - identifierExists?: (boolean|null); - - /** Attributes isBundle */ - isBundle?: (boolean|null); - - /** Attributes title */ - title?: (string|null); - - /** Attributes description */ - description?: (string|null); - - /** Attributes link */ - link?: (string|null); - - /** Attributes mobileLink */ - mobileLink?: (string|null); - - /** Attributes canonicalLink */ - canonicalLink?: (string|null); - - /** Attributes imageLink */ - imageLink?: (string|null); - - /** Attributes additionalImageLinks */ - additionalImageLinks?: (string[]|null); - - /** Attributes expirationDate */ - expirationDate?: (google.protobuf.ITimestamp|null); - - /** Attributes disclosureDate */ - disclosureDate?: (google.protobuf.ITimestamp|null); - - /** Attributes adult */ - adult?: (boolean|null); - - /** Attributes ageGroup */ - ageGroup?: (string|null); - - /** Attributes availability */ - availability?: (string|null); - - /** Attributes availabilityDate */ - availabilityDate?: (google.protobuf.ITimestamp|null); - - /** Attributes brand */ - brand?: (string|null); - - /** Attributes color */ - color?: (string|null); - - /** Attributes condition */ - condition?: (string|null); - - /** Attributes gender */ - gender?: (string|null); - - /** Attributes googleProductCategory */ - googleProductCategory?: (string|null); - - /** Attributes gtin */ - gtin?: (string[]|null); - - /** Attributes itemGroupId */ - itemGroupId?: (string|null); - - /** Attributes material */ - material?: (string|null); - - /** Attributes mpn */ - mpn?: (string|null); - - /** Attributes pattern */ - pattern?: (string|null); - - /** Attributes price */ - price?: (google.shopping.type.IPrice|null); - - /** Attributes installment */ - installment?: (google.shopping.merchant.products.v1beta.IInstallment|null); - - /** Attributes subscriptionCost */ - subscriptionCost?: (google.shopping.merchant.products.v1beta.ISubscriptionCost|null); - - /** Attributes loyaltyPoints */ - loyaltyPoints?: (google.shopping.merchant.products.v1beta.ILoyaltyPoints|null); - - /** Attributes loyaltyPrograms */ - loyaltyPrograms?: (google.shopping.merchant.products.v1beta.ILoyaltyProgram[]|null); - - /** Attributes productTypes */ - productTypes?: (string[]|null); - - /** Attributes salePrice */ - salePrice?: (google.shopping.type.IPrice|null); - - /** Attributes salePriceEffectiveDate */ - salePriceEffectiveDate?: (google.type.IInterval|null); - - /** Attributes sellOnGoogleQuantity */ - sellOnGoogleQuantity?: (number|Long|string|null); - - /** Attributes productHeight */ - productHeight?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productLength */ - productLength?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productWidth */ - productWidth?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productWeight */ - productWeight?: (google.shopping.merchant.products.v1beta.IProductWeight|null); - - /** Attributes shipping */ - shipping?: (google.shopping.merchant.products.v1beta.IShipping[]|null); - - /** Attributes freeShippingThreshold */ - freeShippingThreshold?: (google.shopping.merchant.products.v1beta.IFreeShippingThreshold[]|null); - - /** Attributes shippingWeight */ - shippingWeight?: (google.shopping.merchant.products.v1beta.IShippingWeight|null); - - /** Attributes shippingLength */ - shippingLength?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes shippingWidth */ - shippingWidth?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes shippingHeight */ - shippingHeight?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes maxHandlingTime */ - maxHandlingTime?: (number|Long|string|null); - - /** Attributes minHandlingTime */ - minHandlingTime?: (number|Long|string|null); - - /** Attributes shippingLabel */ - shippingLabel?: (string|null); - - /** Attributes transitTimeLabel */ - transitTimeLabel?: (string|null); - - /** Attributes size */ - size?: (string|null); - - /** Attributes sizeSystem */ - sizeSystem?: (string|null); - - /** Attributes sizeTypes */ - sizeTypes?: (string[]|null); - - /** Attributes taxes */ - taxes?: (google.shopping.merchant.products.v1beta.ITax[]|null); - - /** Attributes taxCategory */ - taxCategory?: (string|null); - - /** Attributes energyEfficiencyClass */ - energyEfficiencyClass?: (string|null); - - /** Attributes minEnergyEfficiencyClass */ - minEnergyEfficiencyClass?: (string|null); - - /** Attributes maxEnergyEfficiencyClass */ - maxEnergyEfficiencyClass?: (string|null); - - /** Attributes unitPricingMeasure */ - unitPricingMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null); - - /** Attributes unitPricingBaseMeasure */ - unitPricingBaseMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null); - - /** Attributes multipack */ - multipack?: (number|Long|string|null); - - /** Attributes adsGrouping */ - adsGrouping?: (string|null); - - /** Attributes adsLabels */ - adsLabels?: (string[]|null); - - /** Attributes adsRedirect */ - adsRedirect?: (string|null); - - /** Attributes costOfGoodsSold */ - costOfGoodsSold?: (google.shopping.type.IPrice|null); - - /** Attributes productDetails */ - productDetails?: (google.shopping.merchant.products.v1beta.IProductDetail[]|null); - - /** Attributes productHighlights */ - productHighlights?: (string[]|null); - - /** Attributes displayAdsId */ - displayAdsId?: (string|null); - - /** Attributes displayAdsSimilarIds */ - displayAdsSimilarIds?: (string[]|null); - - /** Attributes displayAdsTitle */ - displayAdsTitle?: (string|null); - - /** Attributes displayAdsLink */ - displayAdsLink?: (string|null); - - /** Attributes displayAdsValue */ - displayAdsValue?: (number|null); - - /** Attributes promotionIds */ - promotionIds?: (string[]|null); - - /** Attributes pickupMethod */ - pickupMethod?: (string|null); - - /** Attributes pickupSla */ - pickupSla?: (string|null); - - /** Attributes linkTemplate */ - linkTemplate?: (string|null); - - /** Attributes mobileLinkTemplate */ - mobileLinkTemplate?: (string|null); - - /** Attributes customLabel_0 */ - customLabel_0?: (string|null); - - /** Attributes customLabel_1 */ - customLabel_1?: (string|null); - - /** Attributes customLabel_2 */ - customLabel_2?: (string|null); - - /** Attributes customLabel_3 */ - customLabel_3?: (string|null); - - /** Attributes customLabel_4 */ - customLabel_4?: (string|null); - - /** Attributes includedDestinations */ - includedDestinations?: (string[]|null); - - /** Attributes excludedDestinations */ - excludedDestinations?: (string[]|null); - - /** Attributes shoppingAdsExcludedCountries */ - shoppingAdsExcludedCountries?: (string[]|null); - - /** Attributes externalSellerId */ - externalSellerId?: (string|null); - - /** Attributes pause */ - pause?: (string|null); - - /** Attributes lifestyleImageLinks */ - lifestyleImageLinks?: (string[]|null); - - /** Attributes cloudExportAdditionalProperties */ - cloudExportAdditionalProperties?: (google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties[]|null); - - /** Attributes virtualModelLink */ - virtualModelLink?: (string|null); - - /** Attributes certifications */ - certifications?: (google.shopping.merchant.products.v1beta.ICertification[]|null); - - /** Attributes structuredTitle */ - structuredTitle?: (google.shopping.merchant.products.v1beta.IProductStructuredTitle|null); - - /** Attributes structuredDescription */ - structuredDescription?: (google.shopping.merchant.products.v1beta.IProductStructuredDescription|null); - - /** Attributes autoPricingMinPrice */ - autoPricingMinPrice?: (google.shopping.type.IPrice|null); - } - - /** Represents an Attributes. */ - class Attributes implements IAttributes { - - /** - * Constructs a new Attributes. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IAttributes); - - /** Attributes identifierExists. */ - public identifierExists?: (boolean|null); - - /** Attributes isBundle. */ - public isBundle?: (boolean|null); - - /** Attributes title. */ - public title?: (string|null); - - /** Attributes description. */ - public description?: (string|null); - - /** Attributes link. */ - public link?: (string|null); - - /** Attributes mobileLink. */ - public mobileLink?: (string|null); - - /** Attributes canonicalLink. */ - public canonicalLink?: (string|null); - - /** Attributes imageLink. */ - public imageLink?: (string|null); - - /** Attributes additionalImageLinks. */ - public additionalImageLinks: string[]; - - /** Attributes expirationDate. */ - public expirationDate?: (google.protobuf.ITimestamp|null); - - /** Attributes disclosureDate. */ - public disclosureDate?: (google.protobuf.ITimestamp|null); - - /** Attributes adult. */ - public adult?: (boolean|null); - - /** Attributes ageGroup. */ - public ageGroup?: (string|null); - - /** Attributes availability. */ - public availability?: (string|null); - - /** Attributes availabilityDate. */ - public availabilityDate?: (google.protobuf.ITimestamp|null); - - /** Attributes brand. */ - public brand?: (string|null); - - /** Attributes color. */ - public color?: (string|null); - - /** Attributes condition. */ - public condition?: (string|null); - - /** Attributes gender. */ - public gender?: (string|null); - - /** Attributes googleProductCategory. */ - public googleProductCategory?: (string|null); - - /** Attributes gtin. */ - public gtin: string[]; - - /** Attributes itemGroupId. */ - public itemGroupId?: (string|null); - - /** Attributes material. */ - public material?: (string|null); - - /** Attributes mpn. */ - public mpn?: (string|null); - - /** Attributes pattern. */ - public pattern?: (string|null); - - /** Attributes price. */ - public price?: (google.shopping.type.IPrice|null); - - /** Attributes installment. */ - public installment?: (google.shopping.merchant.products.v1beta.IInstallment|null); - - /** Attributes subscriptionCost. */ - public subscriptionCost?: (google.shopping.merchant.products.v1beta.ISubscriptionCost|null); - - /** Attributes loyaltyPoints. */ - public loyaltyPoints?: (google.shopping.merchant.products.v1beta.ILoyaltyPoints|null); - - /** Attributes loyaltyPrograms. */ - public loyaltyPrograms: google.shopping.merchant.products.v1beta.ILoyaltyProgram[]; - - /** Attributes productTypes. */ - public productTypes: string[]; - - /** Attributes salePrice. */ - public salePrice?: (google.shopping.type.IPrice|null); - - /** Attributes salePriceEffectiveDate. */ - public salePriceEffectiveDate?: (google.type.IInterval|null); - - /** Attributes sellOnGoogleQuantity. */ - public sellOnGoogleQuantity?: (number|Long|string|null); - - /** Attributes productHeight. */ - public productHeight?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productLength. */ - public productLength?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productWidth. */ - public productWidth?: (google.shopping.merchant.products.v1beta.IProductDimension|null); - - /** Attributes productWeight. */ - public productWeight?: (google.shopping.merchant.products.v1beta.IProductWeight|null); - - /** Attributes shipping. */ - public shipping: google.shopping.merchant.products.v1beta.IShipping[]; - - /** Attributes freeShippingThreshold. */ - public freeShippingThreshold: google.shopping.merchant.products.v1beta.IFreeShippingThreshold[]; - - /** Attributes shippingWeight. */ - public shippingWeight?: (google.shopping.merchant.products.v1beta.IShippingWeight|null); - - /** Attributes shippingLength. */ - public shippingLength?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes shippingWidth. */ - public shippingWidth?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes shippingHeight. */ - public shippingHeight?: (google.shopping.merchant.products.v1beta.IShippingDimension|null); - - /** Attributes maxHandlingTime. */ - public maxHandlingTime?: (number|Long|string|null); - - /** Attributes minHandlingTime. */ - public minHandlingTime?: (number|Long|string|null); - - /** Attributes shippingLabel. */ - public shippingLabel?: (string|null); - - /** Attributes transitTimeLabel. */ - public transitTimeLabel?: (string|null); - - /** Attributes size. */ - public size?: (string|null); - - /** Attributes sizeSystem. */ - public sizeSystem?: (string|null); - - /** Attributes sizeTypes. */ - public sizeTypes: string[]; - - /** Attributes taxes. */ - public taxes: google.shopping.merchant.products.v1beta.ITax[]; - - /** Attributes taxCategory. */ - public taxCategory?: (string|null); - - /** Attributes energyEfficiencyClass. */ - public energyEfficiencyClass?: (string|null); - - /** Attributes minEnergyEfficiencyClass. */ - public minEnergyEfficiencyClass?: (string|null); - - /** Attributes maxEnergyEfficiencyClass. */ - public maxEnergyEfficiencyClass?: (string|null); - - /** Attributes unitPricingMeasure. */ - public unitPricingMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null); - - /** Attributes unitPricingBaseMeasure. */ - public unitPricingBaseMeasure?: (google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null); - - /** Attributes multipack. */ - public multipack?: (number|Long|string|null); - - /** Attributes adsGrouping. */ - public adsGrouping?: (string|null); - - /** Attributes adsLabels. */ - public adsLabels: string[]; - - /** Attributes adsRedirect. */ - public adsRedirect?: (string|null); - - /** Attributes costOfGoodsSold. */ - public costOfGoodsSold?: (google.shopping.type.IPrice|null); - - /** Attributes productDetails. */ - public productDetails: google.shopping.merchant.products.v1beta.IProductDetail[]; - - /** Attributes productHighlights. */ - public productHighlights: string[]; - - /** Attributes displayAdsId. */ - public displayAdsId?: (string|null); - - /** Attributes displayAdsSimilarIds. */ - public displayAdsSimilarIds: string[]; - - /** Attributes displayAdsTitle. */ - public displayAdsTitle?: (string|null); - - /** Attributes displayAdsLink. */ - public displayAdsLink?: (string|null); - - /** Attributes displayAdsValue. */ - public displayAdsValue?: (number|null); - - /** Attributes promotionIds. */ - public promotionIds: string[]; - - /** Attributes pickupMethod. */ - public pickupMethod?: (string|null); - - /** Attributes pickupSla. */ - public pickupSla?: (string|null); - - /** Attributes linkTemplate. */ - public linkTemplate?: (string|null); - - /** Attributes mobileLinkTemplate. */ - public mobileLinkTemplate?: (string|null); - - /** Attributes customLabel_0. */ - public customLabel_0?: (string|null); - - /** Attributes customLabel_1. */ - public customLabel_1?: (string|null); - - /** Attributes customLabel_2. */ - public customLabel_2?: (string|null); - - /** Attributes customLabel_3. */ - public customLabel_3?: (string|null); - - /** Attributes customLabel_4. */ - public customLabel_4?: (string|null); - - /** Attributes includedDestinations. */ - public includedDestinations: string[]; - - /** Attributes excludedDestinations. */ - public excludedDestinations: string[]; - - /** Attributes shoppingAdsExcludedCountries. */ - public shoppingAdsExcludedCountries: string[]; - - /** Attributes externalSellerId. */ - public externalSellerId?: (string|null); - - /** Attributes pause. */ - public pause?: (string|null); - - /** Attributes lifestyleImageLinks. */ - public lifestyleImageLinks: string[]; - - /** Attributes cloudExportAdditionalProperties. */ - public cloudExportAdditionalProperties: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties[]; - - /** Attributes virtualModelLink. */ - public virtualModelLink?: (string|null); - - /** Attributes certifications. */ - public certifications: google.shopping.merchant.products.v1beta.ICertification[]; - - /** Attributes structuredTitle. */ - public structuredTitle?: (google.shopping.merchant.products.v1beta.IProductStructuredTitle|null); - - /** Attributes structuredDescription. */ - public structuredDescription?: (google.shopping.merchant.products.v1beta.IProductStructuredDescription|null); - - /** Attributes autoPricingMinPrice. */ - public autoPricingMinPrice?: (google.shopping.type.IPrice|null); - - /** Attributes _identifierExists. */ - public _identifierExists?: "identifierExists"; - - /** Attributes _isBundle. */ - public _isBundle?: "isBundle"; - - /** Attributes _title. */ - public _title?: "title"; - - /** Attributes _description. */ - public _description?: "description"; - - /** Attributes _link. */ - public _link?: "link"; - - /** Attributes _mobileLink. */ - public _mobileLink?: "mobileLink"; - - /** Attributes _canonicalLink. */ - public _canonicalLink?: "canonicalLink"; - - /** Attributes _imageLink. */ - public _imageLink?: "imageLink"; - - /** Attributes _adult. */ - public _adult?: "adult"; - - /** Attributes _ageGroup. */ - public _ageGroup?: "ageGroup"; - - /** Attributes _availability. */ - public _availability?: "availability"; - - /** Attributes _brand. */ - public _brand?: "brand"; - - /** Attributes _color. */ - public _color?: "color"; - - /** Attributes _condition. */ - public _condition?: "condition"; - - /** Attributes _gender. */ - public _gender?: "gender"; - - /** Attributes _googleProductCategory. */ - public _googleProductCategory?: "googleProductCategory"; - - /** Attributes _itemGroupId. */ - public _itemGroupId?: "itemGroupId"; - - /** Attributes _material. */ - public _material?: "material"; - - /** Attributes _mpn. */ - public _mpn?: "mpn"; - - /** Attributes _pattern. */ - public _pattern?: "pattern"; - - /** Attributes _sellOnGoogleQuantity. */ - public _sellOnGoogleQuantity?: "sellOnGoogleQuantity"; - - /** Attributes _maxHandlingTime. */ - public _maxHandlingTime?: "maxHandlingTime"; - - /** Attributes _minHandlingTime. */ - public _minHandlingTime?: "minHandlingTime"; - - /** Attributes _shippingLabel. */ - public _shippingLabel?: "shippingLabel"; - - /** Attributes _transitTimeLabel. */ - public _transitTimeLabel?: "transitTimeLabel"; - - /** Attributes _size. */ - public _size?: "size"; - - /** Attributes _sizeSystem. */ - public _sizeSystem?: "sizeSystem"; - - /** Attributes _taxCategory. */ - public _taxCategory?: "taxCategory"; - - /** Attributes _energyEfficiencyClass. */ - public _energyEfficiencyClass?: "energyEfficiencyClass"; - - /** Attributes _minEnergyEfficiencyClass. */ - public _minEnergyEfficiencyClass?: "minEnergyEfficiencyClass"; - - /** Attributes _maxEnergyEfficiencyClass. */ - public _maxEnergyEfficiencyClass?: "maxEnergyEfficiencyClass"; - - /** Attributes _multipack. */ - public _multipack?: "multipack"; - - /** Attributes _adsGrouping. */ - public _adsGrouping?: "adsGrouping"; - - /** Attributes _adsRedirect. */ - public _adsRedirect?: "adsRedirect"; - - /** Attributes _displayAdsId. */ - public _displayAdsId?: "displayAdsId"; - - /** Attributes _displayAdsTitle. */ - public _displayAdsTitle?: "displayAdsTitle"; - - /** Attributes _displayAdsLink. */ - public _displayAdsLink?: "displayAdsLink"; - - /** Attributes _displayAdsValue. */ - public _displayAdsValue?: "displayAdsValue"; - - /** Attributes _pickupMethod. */ - public _pickupMethod?: "pickupMethod"; - - /** Attributes _pickupSla. */ - public _pickupSla?: "pickupSla"; - - /** Attributes _linkTemplate. */ - public _linkTemplate?: "linkTemplate"; - - /** Attributes _mobileLinkTemplate. */ - public _mobileLinkTemplate?: "mobileLinkTemplate"; - - /** Attributes _customLabel_0. */ - public _customLabel_0?: "customLabel_0"; - - /** Attributes _customLabel_1. */ - public _customLabel_1?: "customLabel_1"; - - /** Attributes _customLabel_2. */ - public _customLabel_2?: "customLabel_2"; - - /** Attributes _customLabel_3. */ - public _customLabel_3?: "customLabel_3"; - - /** Attributes _customLabel_4. */ - public _customLabel_4?: "customLabel_4"; - - /** Attributes _externalSellerId. */ - public _externalSellerId?: "externalSellerId"; - - /** Attributes _pause. */ - public _pause?: "pause"; - - /** Attributes _virtualModelLink. */ - public _virtualModelLink?: "virtualModelLink"; - - /** Attributes _structuredTitle. */ - public _structuredTitle?: "structuredTitle"; - - /** Attributes _structuredDescription. */ - public _structuredDescription?: "structuredDescription"; - - /** - * Creates a new Attributes instance using the specified properties. - * @param [properties] Properties to set - * @returns Attributes instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IAttributes): google.shopping.merchant.products.v1beta.Attributes; - - /** - * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. - * @param message Attributes message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. - * @param message Attributes message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Attributes message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Attributes - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Attributes; - - /** - * Decodes an Attributes message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Attributes - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Attributes; - - /** - * Verifies an Attributes message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Attributes message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Attributes - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Attributes; - - /** - * Creates a plain object from an Attributes message. Also converts values to other types if specified. - * @param message Attributes - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Attributes, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Attributes to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Attributes - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Tax. */ - interface ITax { - - /** Tax rate */ - rate?: (number|null); - - /** Tax country */ - country?: (string|null); - - /** Tax region */ - region?: (string|null); - - /** Tax taxShip */ - taxShip?: (boolean|null); - - /** Tax locationId */ - locationId?: (number|Long|string|null); - - /** Tax postalCode */ - postalCode?: (string|null); - } - - /** Represents a Tax. */ - class Tax implements ITax { - - /** - * Constructs a new Tax. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ITax); - - /** Tax rate. */ - public rate: number; - - /** Tax country. */ - public country: string; - - /** Tax region. */ - public region: string; - - /** Tax taxShip. */ - public taxShip: boolean; - - /** Tax locationId. */ - public locationId: (number|Long|string); - - /** Tax postalCode. */ - public postalCode: string; - - /** - * Creates a new Tax instance using the specified properties. - * @param [properties] Properties to set - * @returns Tax instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ITax): google.shopping.merchant.products.v1beta.Tax; - - /** - * Encodes the specified Tax message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. - * @param message Tax message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ITax, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Tax message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. - * @param message Tax message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ITax, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Tax message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Tax - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Tax; - - /** - * Decodes a Tax message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Tax - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Tax; - - /** - * Verifies a Tax message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Tax message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Tax - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Tax; - - /** - * Creates a plain object from a Tax message. Also converts values to other types if specified. - * @param message Tax - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Tax, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Tax to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Tax - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ShippingWeight. */ - interface IShippingWeight { - - /** ShippingWeight value */ - value?: (number|null); - - /** ShippingWeight unit */ - unit?: (string|null); - } - - /** Represents a ShippingWeight. */ - class ShippingWeight implements IShippingWeight { - - /** - * Constructs a new ShippingWeight. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IShippingWeight); - - /** ShippingWeight value. */ - public value: number; - - /** ShippingWeight unit. */ - public unit: string; - - /** - * Creates a new ShippingWeight instance using the specified properties. - * @param [properties] Properties to set - * @returns ShippingWeight instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IShippingWeight): google.shopping.merchant.products.v1beta.ShippingWeight; - - /** - * Encodes the specified ShippingWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. - * @param message ShippingWeight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IShippingWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ShippingWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. - * @param message ShippingWeight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShippingWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ShippingWeight message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ShippingWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ShippingWeight; - - /** - * Decodes a ShippingWeight message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ShippingWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ShippingWeight; - - /** - * Verifies a ShippingWeight message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ShippingWeight message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ShippingWeight - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ShippingWeight; - - /** - * Creates a plain object from a ShippingWeight message. Also converts values to other types if specified. - * @param message ShippingWeight - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ShippingWeight, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ShippingWeight to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ShippingWeight - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ShippingDimension. */ - interface IShippingDimension { - - /** ShippingDimension value */ - value?: (number|null); - - /** ShippingDimension unit */ - unit?: (string|null); - } - - /** Represents a ShippingDimension. */ - class ShippingDimension implements IShippingDimension { - - /** - * Constructs a new ShippingDimension. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IShippingDimension); - - /** ShippingDimension value. */ - public value: number; - - /** ShippingDimension unit. */ - public unit: string; - - /** - * Creates a new ShippingDimension instance using the specified properties. - * @param [properties] Properties to set - * @returns ShippingDimension instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IShippingDimension): google.shopping.merchant.products.v1beta.ShippingDimension; - - /** - * Encodes the specified ShippingDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. - * @param message ShippingDimension message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IShippingDimension, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ShippingDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. - * @param message ShippingDimension message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShippingDimension, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ShippingDimension message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ShippingDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ShippingDimension; - - /** - * Decodes a ShippingDimension message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ShippingDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ShippingDimension; - - /** - * Verifies a ShippingDimension message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ShippingDimension message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ShippingDimension - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ShippingDimension; - - /** - * Creates a plain object from a ShippingDimension message. Also converts values to other types if specified. - * @param message ShippingDimension - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ShippingDimension, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ShippingDimension to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ShippingDimension - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an UnitPricingBaseMeasure. */ - interface IUnitPricingBaseMeasure { - - /** UnitPricingBaseMeasure value */ - value?: (number|Long|string|null); - - /** UnitPricingBaseMeasure unit */ - unit?: (string|null); - } - - /** Represents an UnitPricingBaseMeasure. */ - class UnitPricingBaseMeasure implements IUnitPricingBaseMeasure { - - /** - * Constructs a new UnitPricingBaseMeasure. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure); - - /** UnitPricingBaseMeasure value. */ - public value: (number|Long|string); - - /** UnitPricingBaseMeasure unit. */ - public unit: string; - - /** - * Creates a new UnitPricingBaseMeasure instance using the specified properties. - * @param [properties] Properties to set - * @returns UnitPricingBaseMeasure instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; - - /** - * Encodes the specified UnitPricingBaseMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. - * @param message UnitPricingBaseMeasure message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UnitPricingBaseMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. - * @param message UnitPricingBaseMeasure message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UnitPricingBaseMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; - - /** - * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UnitPricingBaseMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; - - /** - * Verifies an UnitPricingBaseMeasure message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an UnitPricingBaseMeasure message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UnitPricingBaseMeasure - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure; - - /** - * Creates a plain object from an UnitPricingBaseMeasure message. Also converts values to other types if specified. - * @param message UnitPricingBaseMeasure - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UnitPricingBaseMeasure to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UnitPricingBaseMeasure - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an UnitPricingMeasure. */ - interface IUnitPricingMeasure { - - /** UnitPricingMeasure value */ - value?: (number|null); - - /** UnitPricingMeasure unit */ - unit?: (string|null); - } - - /** Represents an UnitPricingMeasure. */ - class UnitPricingMeasure implements IUnitPricingMeasure { - - /** - * Constructs a new UnitPricingMeasure. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IUnitPricingMeasure); - - /** UnitPricingMeasure value. */ - public value: number; - - /** UnitPricingMeasure unit. */ - public unit: string; - - /** - * Creates a new UnitPricingMeasure instance using the specified properties. - * @param [properties] Properties to set - * @returns UnitPricingMeasure instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IUnitPricingMeasure): google.shopping.merchant.products.v1beta.UnitPricingMeasure; - - /** - * Encodes the specified UnitPricingMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. - * @param message UnitPricingMeasure message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IUnitPricingMeasure, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UnitPricingMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. - * @param message UnitPricingMeasure message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IUnitPricingMeasure, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UnitPricingMeasure message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UnitPricingMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.UnitPricingMeasure; - - /** - * Decodes an UnitPricingMeasure message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UnitPricingMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.UnitPricingMeasure; - - /** - * Verifies an UnitPricingMeasure message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an UnitPricingMeasure message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UnitPricingMeasure - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.UnitPricingMeasure; - - /** - * Creates a plain object from an UnitPricingMeasure message. Also converts values to other types if specified. - * @param message UnitPricingMeasure - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.UnitPricingMeasure, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UnitPricingMeasure to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UnitPricingMeasure - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a SubscriptionCost. */ - interface ISubscriptionCost { - - /** SubscriptionCost period */ - period?: (google.shopping.merchant.products.v1beta.SubscriptionPeriod|keyof typeof google.shopping.merchant.products.v1beta.SubscriptionPeriod|null); - - /** SubscriptionCost periodLength */ - periodLength?: (number|Long|string|null); - - /** SubscriptionCost amount */ - amount?: (google.shopping.type.IPrice|null); - } - - /** Represents a SubscriptionCost. */ - class SubscriptionCost implements ISubscriptionCost { - - /** - * Constructs a new SubscriptionCost. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ISubscriptionCost); - - /** SubscriptionCost period. */ - public period: (google.shopping.merchant.products.v1beta.SubscriptionPeriod|keyof typeof google.shopping.merchant.products.v1beta.SubscriptionPeriod); - - /** SubscriptionCost periodLength. */ - public periodLength: (number|Long|string); - - /** SubscriptionCost amount. */ - public amount?: (google.shopping.type.IPrice|null); - - /** - * Creates a new SubscriptionCost instance using the specified properties. - * @param [properties] Properties to set - * @returns SubscriptionCost instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ISubscriptionCost): google.shopping.merchant.products.v1beta.SubscriptionCost; - - /** - * Encodes the specified SubscriptionCost message. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. - * @param message SubscriptionCost message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ISubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. - * @param message SubscriptionCost message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ISubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SubscriptionCost message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.SubscriptionCost; - - /** - * Decodes a SubscriptionCost message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.SubscriptionCost; - - /** - * Verifies a SubscriptionCost message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SubscriptionCost message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SubscriptionCost - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.SubscriptionCost; - - /** - * Creates a plain object from a SubscriptionCost message. Also converts values to other types if specified. - * @param message SubscriptionCost - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.SubscriptionCost, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SubscriptionCost to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for SubscriptionCost - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an Installment. */ - interface IInstallment { - - /** Installment months */ - months?: (number|Long|string|null); - - /** Installment amount */ - amount?: (google.shopping.type.IPrice|null); - - /** Installment downpayment */ - downpayment?: (google.shopping.type.IPrice|null); - - /** Installment creditType */ - creditType?: (string|null); - } - - /** Represents an Installment. */ - class Installment implements IInstallment { - - /** - * Constructs a new Installment. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IInstallment); - - /** Installment months. */ - public months: (number|Long|string); - - /** Installment amount. */ - public amount?: (google.shopping.type.IPrice|null); - - /** Installment downpayment. */ - public downpayment?: (google.shopping.type.IPrice|null); - - /** Installment creditType. */ - public creditType?: (string|null); - - /** Installment _downpayment. */ - public _downpayment?: "downpayment"; - - /** Installment _creditType. */ - public _creditType?: "creditType"; - - /** - * Creates a new Installment instance using the specified properties. - * @param [properties] Properties to set - * @returns Installment instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IInstallment): google.shopping.merchant.products.v1beta.Installment; - - /** - * Encodes the specified Installment message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. - * @param message Installment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IInstallment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Installment message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. - * @param message Installment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IInstallment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Installment message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Installment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Installment; - - /** - * Decodes an Installment message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Installment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Installment; - - /** - * Verifies an Installment message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Installment message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Installment - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Installment; - - /** - * Creates a plain object from an Installment message. Also converts values to other types if specified. - * @param message Installment - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Installment, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Installment to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Installment - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a LoyaltyPoints. */ - interface ILoyaltyPoints { - - /** LoyaltyPoints name */ - name?: (string|null); - - /** LoyaltyPoints pointsValue */ - pointsValue?: (number|Long|string|null); - - /** LoyaltyPoints ratio */ - ratio?: (number|null); - } - - /** Represents a LoyaltyPoints. */ - class LoyaltyPoints implements ILoyaltyPoints { - - /** - * Constructs a new LoyaltyPoints. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ILoyaltyPoints); - - /** LoyaltyPoints name. */ - public name: string; - - /** LoyaltyPoints pointsValue. */ - public pointsValue: (number|Long|string); - - /** LoyaltyPoints ratio. */ - public ratio: number; - - /** - * Creates a new LoyaltyPoints instance using the specified properties. - * @param [properties] Properties to set - * @returns LoyaltyPoints instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ILoyaltyPoints): google.shopping.merchant.products.v1beta.LoyaltyPoints; - - /** - * Encodes the specified LoyaltyPoints message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. - * @param message LoyaltyPoints message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ILoyaltyPoints, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LoyaltyPoints message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. - * @param message LoyaltyPoints message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ILoyaltyPoints, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LoyaltyPoints message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LoyaltyPoints - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.LoyaltyPoints; - - /** - * Decodes a LoyaltyPoints message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LoyaltyPoints - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.LoyaltyPoints; - - /** - * Verifies a LoyaltyPoints message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LoyaltyPoints message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LoyaltyPoints - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.LoyaltyPoints; - - /** - * Creates a plain object from a LoyaltyPoints message. Also converts values to other types if specified. - * @param message LoyaltyPoints - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.LoyaltyPoints, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LoyaltyPoints to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for LoyaltyPoints - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a LoyaltyProgram. */ - interface ILoyaltyProgram { - - /** LoyaltyProgram programLabel */ - programLabel?: (string|null); - - /** LoyaltyProgram tierLabel */ - tierLabel?: (string|null); - - /** LoyaltyProgram price */ - price?: (google.shopping.type.IPrice|null); - - /** LoyaltyProgram cashbackForFutureUse */ - cashbackForFutureUse?: (google.shopping.type.IPrice|null); - - /** LoyaltyProgram loyaltyPoints */ - loyaltyPoints?: (number|Long|string|null); - - /** LoyaltyProgram memberPriceEffectiveDate */ - memberPriceEffectiveDate?: (google.type.IInterval|null); - - /** LoyaltyProgram shippingLabel */ - shippingLabel?: (string|null); - } - - /** Represents a LoyaltyProgram. */ - class LoyaltyProgram implements ILoyaltyProgram { - - /** - * Constructs a new LoyaltyProgram. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ILoyaltyProgram); - - /** LoyaltyProgram programLabel. */ - public programLabel?: (string|null); - - /** LoyaltyProgram tierLabel. */ - public tierLabel?: (string|null); - - /** LoyaltyProgram price. */ - public price?: (google.shopping.type.IPrice|null); - - /** LoyaltyProgram cashbackForFutureUse. */ - public cashbackForFutureUse?: (google.shopping.type.IPrice|null); - - /** LoyaltyProgram loyaltyPoints. */ - public loyaltyPoints?: (number|Long|string|null); - - /** LoyaltyProgram memberPriceEffectiveDate. */ - public memberPriceEffectiveDate?: (google.type.IInterval|null); - - /** LoyaltyProgram shippingLabel. */ - public shippingLabel?: (string|null); - - /** LoyaltyProgram _programLabel. */ - public _programLabel?: "programLabel"; - - /** LoyaltyProgram _tierLabel. */ - public _tierLabel?: "tierLabel"; - - /** LoyaltyProgram _price. */ - public _price?: "price"; - - /** LoyaltyProgram _cashbackForFutureUse. */ - public _cashbackForFutureUse?: "cashbackForFutureUse"; - - /** LoyaltyProgram _loyaltyPoints. */ - public _loyaltyPoints?: "loyaltyPoints"; - - /** LoyaltyProgram _memberPriceEffectiveDate. */ - public _memberPriceEffectiveDate?: "memberPriceEffectiveDate"; - - /** LoyaltyProgram _shippingLabel. */ - public _shippingLabel?: "shippingLabel"; - - /** - * Creates a new LoyaltyProgram instance using the specified properties. - * @param [properties] Properties to set - * @returns LoyaltyProgram instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ILoyaltyProgram): google.shopping.merchant.products.v1beta.LoyaltyProgram; - - /** - * Encodes the specified LoyaltyProgram message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. - * @param message LoyaltyProgram message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ILoyaltyProgram, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LoyaltyProgram message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. - * @param message LoyaltyProgram message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ILoyaltyProgram, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LoyaltyProgram message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LoyaltyProgram - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.LoyaltyProgram; - - /** - * Decodes a LoyaltyProgram message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LoyaltyProgram - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.LoyaltyProgram; - - /** - * Verifies a LoyaltyProgram message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LoyaltyProgram message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LoyaltyProgram - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.LoyaltyProgram; - - /** - * Creates a plain object from a LoyaltyProgram message. Also converts values to other types if specified. - * @param message LoyaltyProgram - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.LoyaltyProgram, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LoyaltyProgram to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for LoyaltyProgram - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Shipping. */ - interface IShipping { - - /** Shipping price */ - price?: (google.shopping.type.IPrice|null); - - /** Shipping country */ - country?: (string|null); - - /** Shipping region */ - region?: (string|null); - - /** Shipping service */ - service?: (string|null); - - /** Shipping locationId */ - locationId?: (number|Long|string|null); - - /** Shipping locationGroupName */ - locationGroupName?: (string|null); - - /** Shipping postalCode */ - postalCode?: (string|null); - - /** Shipping minHandlingTime */ - minHandlingTime?: (number|Long|string|null); - - /** Shipping maxHandlingTime */ - maxHandlingTime?: (number|Long|string|null); - - /** Shipping minTransitTime */ - minTransitTime?: (number|Long|string|null); - - /** Shipping maxTransitTime */ - maxTransitTime?: (number|Long|string|null); - } - - /** Represents a Shipping. */ - class Shipping implements IShipping { - - /** - * Constructs a new Shipping. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IShipping); - - /** Shipping price. */ - public price?: (google.shopping.type.IPrice|null); - - /** Shipping country. */ - public country: string; - - /** Shipping region. */ - public region: string; - - /** Shipping service. */ - public service: string; - - /** Shipping locationId. */ - public locationId: (number|Long|string); - - /** Shipping locationGroupName. */ - public locationGroupName: string; - - /** Shipping postalCode. */ - public postalCode: string; - - /** Shipping minHandlingTime. */ - public minHandlingTime?: (number|Long|string|null); - - /** Shipping maxHandlingTime. */ - public maxHandlingTime?: (number|Long|string|null); - - /** Shipping minTransitTime. */ - public minTransitTime?: (number|Long|string|null); - - /** Shipping maxTransitTime. */ - public maxTransitTime?: (number|Long|string|null); - - /** Shipping _minHandlingTime. */ - public _minHandlingTime?: "minHandlingTime"; - - /** Shipping _maxHandlingTime. */ - public _maxHandlingTime?: "maxHandlingTime"; - - /** Shipping _minTransitTime. */ - public _minTransitTime?: "minTransitTime"; - - /** Shipping _maxTransitTime. */ - public _maxTransitTime?: "maxTransitTime"; - - /** - * Creates a new Shipping instance using the specified properties. - * @param [properties] Properties to set - * @returns Shipping instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IShipping): google.shopping.merchant.products.v1beta.Shipping; - - /** - * Encodes the specified Shipping message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. - * @param message Shipping message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IShipping, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Shipping message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. - * @param message Shipping message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IShipping, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Shipping message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Shipping - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Shipping; - - /** - * Decodes a Shipping message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Shipping - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Shipping; - - /** - * Verifies a Shipping message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Shipping message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Shipping - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Shipping; - - /** - * Creates a plain object from a Shipping message. Also converts values to other types if specified. - * @param message Shipping - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Shipping, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Shipping to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Shipping - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a FreeShippingThreshold. */ - interface IFreeShippingThreshold { - - /** FreeShippingThreshold country */ - country?: (string|null); - - /** FreeShippingThreshold priceThreshold */ - priceThreshold?: (google.shopping.type.IPrice|null); - } - - /** Represents a FreeShippingThreshold. */ - class FreeShippingThreshold implements IFreeShippingThreshold { - - /** - * Constructs a new FreeShippingThreshold. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IFreeShippingThreshold); - - /** FreeShippingThreshold country. */ - public country?: (string|null); - - /** FreeShippingThreshold priceThreshold. */ - public priceThreshold?: (google.shopping.type.IPrice|null); - - /** FreeShippingThreshold _country. */ - public _country?: "country"; - - /** FreeShippingThreshold _priceThreshold. */ - public _priceThreshold?: "priceThreshold"; - - /** - * Creates a new FreeShippingThreshold instance using the specified properties. - * @param [properties] Properties to set - * @returns FreeShippingThreshold instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IFreeShippingThreshold): google.shopping.merchant.products.v1beta.FreeShippingThreshold; - - /** - * Encodes the specified FreeShippingThreshold message. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. - * @param message FreeShippingThreshold message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IFreeShippingThreshold, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FreeShippingThreshold message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. - * @param message FreeShippingThreshold message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IFreeShippingThreshold, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FreeShippingThreshold message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FreeShippingThreshold - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.FreeShippingThreshold; - - /** - * Decodes a FreeShippingThreshold message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FreeShippingThreshold - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.FreeShippingThreshold; - - /** - * Verifies a FreeShippingThreshold message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FreeShippingThreshold message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FreeShippingThreshold - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.FreeShippingThreshold; - - /** - * Creates a plain object from a FreeShippingThreshold message. Also converts values to other types if specified. - * @param message FreeShippingThreshold - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.FreeShippingThreshold, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FreeShippingThreshold to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FreeShippingThreshold - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductDetail. */ - interface IProductDetail { - - /** ProductDetail sectionName */ - sectionName?: (string|null); - - /** ProductDetail attributeName */ - attributeName?: (string|null); - - /** ProductDetail attributeValue */ - attributeValue?: (string|null); - } - - /** Represents a ProductDetail. */ - class ProductDetail implements IProductDetail { - - /** - * Constructs a new ProductDetail. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductDetail); - - /** ProductDetail sectionName. */ - public sectionName: string; - - /** ProductDetail attributeName. */ - public attributeName: string; - - /** ProductDetail attributeValue. */ - public attributeValue: string; - - /** - * Creates a new ProductDetail instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductDetail instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductDetail): google.shopping.merchant.products.v1beta.ProductDetail; - - /** - * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. - * @param message ProductDetail message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. - * @param message ProductDetail message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductDetail message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductDetail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductDetail; - - /** - * Decodes a ProductDetail message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductDetail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductDetail; - - /** - * Verifies a ProductDetail message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductDetail - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductDetail; - - /** - * Creates a plain object from a ProductDetail message. Also converts values to other types if specified. - * @param message ProductDetail - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductDetail, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductDetail to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductDetail - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Certification. */ - interface ICertification { - - /** Certification certificationAuthority */ - certificationAuthority?: (string|null); - - /** Certification certificationName */ - certificationName?: (string|null); - - /** Certification certificationCode */ - certificationCode?: (string|null); - - /** Certification certificationValue */ - certificationValue?: (string|null); - } - - /** Represents a Certification. */ - class Certification implements ICertification { - - /** - * Constructs a new Certification. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ICertification); - - /** Certification certificationAuthority. */ - public certificationAuthority?: (string|null); - - /** Certification certificationName. */ - public certificationName?: (string|null); - - /** Certification certificationCode. */ - public certificationCode?: (string|null); - - /** Certification certificationValue. */ - public certificationValue?: (string|null); - - /** Certification _certificationAuthority. */ - public _certificationAuthority?: "certificationAuthority"; - - /** Certification _certificationName. */ - public _certificationName?: "certificationName"; - - /** Certification _certificationCode. */ - public _certificationCode?: "certificationCode"; - - /** Certification _certificationValue. */ - public _certificationValue?: "certificationValue"; - - /** - * Creates a new Certification instance using the specified properties. - * @param [properties] Properties to set - * @returns Certification instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ICertification): google.shopping.merchant.products.v1beta.Certification; - - /** - * Encodes the specified Certification message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. - * @param message Certification message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. - * @param message Certification message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Certification message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Certification - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Certification; - - /** - * Decodes a Certification message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Certification - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Certification; - - /** - * Verifies a Certification message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Certification message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Certification - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Certification; - - /** - * Creates a plain object from a Certification message. Also converts values to other types if specified. - * @param message Certification - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Certification, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Certification to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Certification - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductStructuredTitle. */ - interface IProductStructuredTitle { - - /** ProductStructuredTitle digitalSourceType */ - digitalSourceType?: (string|null); - - /** ProductStructuredTitle content */ - content?: (string|null); - } - - /** Represents a ProductStructuredTitle. */ - class ProductStructuredTitle implements IProductStructuredTitle { - - /** - * Constructs a new ProductStructuredTitle. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductStructuredTitle); - - /** ProductStructuredTitle digitalSourceType. */ - public digitalSourceType?: (string|null); - - /** ProductStructuredTitle content. */ - public content?: (string|null); - - /** ProductStructuredTitle _digitalSourceType. */ - public _digitalSourceType?: "digitalSourceType"; - - /** ProductStructuredTitle _content. */ - public _content?: "content"; - - /** - * Creates a new ProductStructuredTitle instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductStructuredTitle instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductStructuredTitle): google.shopping.merchant.products.v1beta.ProductStructuredTitle; - - /** - * Encodes the specified ProductStructuredTitle message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. - * @param message ProductStructuredTitle message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductStructuredTitle, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductStructuredTitle message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. - * @param message ProductStructuredTitle message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStructuredTitle, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductStructuredTitle message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductStructuredTitle - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStructuredTitle; - - /** - * Decodes a ProductStructuredTitle message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductStructuredTitle - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStructuredTitle; - - /** - * Verifies a ProductStructuredTitle message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductStructuredTitle message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductStructuredTitle - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStructuredTitle; - - /** - * Creates a plain object from a ProductStructuredTitle message. Also converts values to other types if specified. - * @param message ProductStructuredTitle - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductStructuredTitle, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductStructuredTitle to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductStructuredTitle - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductStructuredDescription. */ - interface IProductStructuredDescription { - - /** ProductStructuredDescription digitalSourceType */ - digitalSourceType?: (string|null); - - /** ProductStructuredDescription content */ - content?: (string|null); - } - - /** Represents a ProductStructuredDescription. */ - class ProductStructuredDescription implements IProductStructuredDescription { - - /** - * Constructs a new ProductStructuredDescription. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductStructuredDescription); - - /** ProductStructuredDescription digitalSourceType. */ - public digitalSourceType?: (string|null); - - /** ProductStructuredDescription content. */ - public content?: (string|null); - - /** ProductStructuredDescription _digitalSourceType. */ - public _digitalSourceType?: "digitalSourceType"; - - /** ProductStructuredDescription _content. */ - public _content?: "content"; - - /** - * Creates a new ProductStructuredDescription instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductStructuredDescription instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductStructuredDescription): google.shopping.merchant.products.v1beta.ProductStructuredDescription; - - /** - * Encodes the specified ProductStructuredDescription message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. - * @param message ProductStructuredDescription message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductStructuredDescription, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductStructuredDescription message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. - * @param message ProductStructuredDescription message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStructuredDescription, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductStructuredDescription message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductStructuredDescription - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStructuredDescription; - - /** - * Decodes a ProductStructuredDescription message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductStructuredDescription - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStructuredDescription; - - /** - * Verifies a ProductStructuredDescription message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductStructuredDescription message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductStructuredDescription - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStructuredDescription; - - /** - * Creates a plain object from a ProductStructuredDescription message. Also converts values to other types if specified. - * @param message ProductStructuredDescription - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductStructuredDescription, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductStructuredDescription to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductStructuredDescription - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductDimension. */ - interface IProductDimension { - - /** ProductDimension value */ - value?: (number|null); - - /** ProductDimension unit */ - unit?: (string|null); - } - - /** Represents a ProductDimension. */ - class ProductDimension implements IProductDimension { - - /** - * Constructs a new ProductDimension. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductDimension); - - /** ProductDimension value. */ - public value: number; - - /** ProductDimension unit. */ - public unit: string; - - /** - * Creates a new ProductDimension instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductDimension instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductDimension): google.shopping.merchant.products.v1beta.ProductDimension; - - /** - * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. - * @param message ProductDimension message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. - * @param message ProductDimension message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductDimension message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductDimension; - - /** - * Decodes a ProductDimension message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductDimension; - - /** - * Verifies a ProductDimension message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductDimension message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductDimension - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductDimension; - - /** - * Creates a plain object from a ProductDimension message. Also converts values to other types if specified. - * @param message ProductDimension - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductDimension, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductDimension to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductDimension - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductWeight. */ - interface IProductWeight { - - /** ProductWeight value */ - value?: (number|null); - - /** ProductWeight unit */ - unit?: (string|null); - } - - /** Represents a ProductWeight. */ - class ProductWeight implements IProductWeight { - - /** - * Constructs a new ProductWeight. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductWeight); - - /** ProductWeight value. */ - public value: number; - - /** ProductWeight unit. */ - public unit: string; - - /** - * Creates a new ProductWeight instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductWeight instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductWeight): google.shopping.merchant.products.v1beta.ProductWeight; - - /** - * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. - * @param message ProductWeight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. - * @param message ProductWeight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductWeight message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductWeight; - - /** - * Decodes a ProductWeight message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductWeight; - - /** - * Verifies a ProductWeight message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductWeight message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductWeight - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductWeight; - - /** - * Creates a plain object from a ProductWeight message. Also converts values to other types if specified. - * @param message ProductWeight - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductWeight, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductWeight to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductWeight - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ProductStatus. */ - interface IProductStatus { - - /** ProductStatus destinationStatuses */ - destinationStatuses?: (google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus[]|null); - - /** ProductStatus itemLevelIssues */ - itemLevelIssues?: (google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue[]|null); - - /** ProductStatus creationDate */ - creationDate?: (google.protobuf.ITimestamp|null); - - /** ProductStatus lastUpdateDate */ - lastUpdateDate?: (google.protobuf.ITimestamp|null); - - /** ProductStatus googleExpirationDate */ - googleExpirationDate?: (google.protobuf.ITimestamp|null); - } - - /** Represents a ProductStatus. */ - class ProductStatus implements IProductStatus { - - /** - * Constructs a new ProductStatus. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProductStatus); - - /** ProductStatus destinationStatuses. */ - public destinationStatuses: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus[]; - - /** ProductStatus itemLevelIssues. */ - public itemLevelIssues: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue[]; - - /** ProductStatus creationDate. */ - public creationDate?: (google.protobuf.ITimestamp|null); - - /** ProductStatus lastUpdateDate. */ - public lastUpdateDate?: (google.protobuf.ITimestamp|null); - - /** ProductStatus googleExpirationDate. */ - public googleExpirationDate?: (google.protobuf.ITimestamp|null); - - /** - * Creates a new ProductStatus instance using the specified properties. - * @param [properties] Properties to set - * @returns ProductStatus instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProductStatus): google.shopping.merchant.products.v1beta.ProductStatus; - - /** - * Encodes the specified ProductStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. - * @param message ProductStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. - * @param message ProductStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ProductStatus message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus; - - /** - * Decodes a ProductStatus message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus; - - /** - * Verifies a ProductStatus message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ProductStatus message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ProductStatus - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus; - - /** - * Creates a plain object from a ProductStatus message. Also converts values to other types if specified. - * @param message ProductStatus - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ProductStatus to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ProductStatus - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace ProductStatus { - - /** Properties of a DestinationStatus. */ - interface IDestinationStatus { - - /** DestinationStatus reportingContext */ - reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null); - - /** DestinationStatus approvedCountries */ - approvedCountries?: (string[]|null); - - /** DestinationStatus pendingCountries */ - pendingCountries?: (string[]|null); - - /** DestinationStatus disapprovedCountries */ - disapprovedCountries?: (string[]|null); - } - - /** Represents a DestinationStatus. */ - class DestinationStatus implements IDestinationStatus { - - /** - * Constructs a new DestinationStatus. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus); - - /** DestinationStatus reportingContext. */ - public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum); - - /** DestinationStatus approvedCountries. */ - public approvedCountries: string[]; - - /** DestinationStatus pendingCountries. */ - public pendingCountries: string[]; - - /** DestinationStatus disapprovedCountries. */ - public disapprovedCountries: string[]; - - /** - * Creates a new DestinationStatus instance using the specified properties. - * @param [properties] Properties to set - * @returns DestinationStatus instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; - - /** - * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. - * @param message DestinationStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. - * @param message DestinationStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DestinationStatus message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DestinationStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; - - /** - * Decodes a DestinationStatus message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DestinationStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; - - /** - * Verifies a DestinationStatus message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a DestinationStatus message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DestinationStatus - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus; - - /** - * Creates a plain object from a DestinationStatus message. Also converts values to other types if specified. - * @param message DestinationStatus - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DestinationStatus to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DestinationStatus - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an ItemLevelIssue. */ - interface IItemLevelIssue { - - /** ItemLevelIssue code */ - code?: (string|null); - - /** ItemLevelIssue severity */ - severity?: (google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|keyof typeof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|null); - - /** ItemLevelIssue resolution */ - resolution?: (string|null); - - /** ItemLevelIssue attribute */ - attribute?: (string|null); - - /** ItemLevelIssue reportingContext */ - reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null); - - /** ItemLevelIssue description */ - description?: (string|null); - - /** ItemLevelIssue detail */ - detail?: (string|null); - - /** ItemLevelIssue documentation */ - documentation?: (string|null); - - /** ItemLevelIssue applicableCountries */ - applicableCountries?: (string[]|null); - } - - /** Represents an ItemLevelIssue. */ - class ItemLevelIssue implements IItemLevelIssue { - - /** - * Constructs a new ItemLevelIssue. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue); - - /** ItemLevelIssue code. */ - public code: string; - - /** ItemLevelIssue severity. */ - public severity: (google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|keyof typeof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity); - - /** ItemLevelIssue resolution. */ - public resolution: string; - - /** ItemLevelIssue attribute. */ - public attribute: string; - - /** ItemLevelIssue reportingContext. */ - public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum); - - /** ItemLevelIssue description. */ - public description: string; - - /** ItemLevelIssue detail. */ - public detail: string; - - /** ItemLevelIssue documentation. */ - public documentation: string; - - /** ItemLevelIssue applicableCountries. */ - public applicableCountries: string[]; - - /** - * Creates a new ItemLevelIssue instance using the specified properties. - * @param [properties] Properties to set - * @returns ItemLevelIssue instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; - - /** - * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. - * @param message ItemLevelIssue message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. - * @param message ItemLevelIssue message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ItemLevelIssue message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ItemLevelIssue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; - - /** - * Decodes an ItemLevelIssue message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ItemLevelIssue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; - - /** - * Verifies an ItemLevelIssue message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ItemLevelIssue message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ItemLevelIssue - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue; - - /** - * Creates a plain object from an ItemLevelIssue message. Also converts values to other types if specified. - * @param message ItemLevelIssue - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ItemLevelIssue to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ItemLevelIssue - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace ItemLevelIssue { - - /** Severity enum. */ - enum Severity { - SEVERITY_UNSPECIFIED = 0, - NOT_IMPACTED = 1, - DEMOTED = 2, - DISAPPROVED = 3 - } - } - } - - /** Properties of a CloudExportAdditionalProperties. */ - interface ICloudExportAdditionalProperties { - - /** CloudExportAdditionalProperties propertyName */ - propertyName?: (string|null); - - /** CloudExportAdditionalProperties textValue */ - textValue?: (string[]|null); - - /** CloudExportAdditionalProperties boolValue */ - boolValue?: (boolean|null); - - /** CloudExportAdditionalProperties intValue */ - intValue?: ((number|Long|string)[]|null); - - /** CloudExportAdditionalProperties floatValue */ - floatValue?: (number[]|null); - - /** CloudExportAdditionalProperties minValue */ - minValue?: (number|null); - - /** CloudExportAdditionalProperties maxValue */ - maxValue?: (number|null); - - /** CloudExportAdditionalProperties unitCode */ - unitCode?: (string|null); - } - - /** Represents a CloudExportAdditionalProperties. */ - class CloudExportAdditionalProperties implements ICloudExportAdditionalProperties { - - /** - * Constructs a new CloudExportAdditionalProperties. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties); - - /** CloudExportAdditionalProperties propertyName. */ - public propertyName?: (string|null); - - /** CloudExportAdditionalProperties textValue. */ - public textValue: string[]; - - /** CloudExportAdditionalProperties boolValue. */ - public boolValue?: (boolean|null); - - /** CloudExportAdditionalProperties intValue. */ - public intValue: (number|Long|string)[]; - - /** CloudExportAdditionalProperties floatValue. */ - public floatValue: number[]; - - /** CloudExportAdditionalProperties minValue. */ - public minValue?: (number|null); - - /** CloudExportAdditionalProperties maxValue. */ - public maxValue?: (number|null); - - /** CloudExportAdditionalProperties unitCode. */ - public unitCode?: (string|null); - - /** CloudExportAdditionalProperties _propertyName. */ - public _propertyName?: "propertyName"; - - /** CloudExportAdditionalProperties _boolValue. */ - public _boolValue?: "boolValue"; - - /** CloudExportAdditionalProperties _minValue. */ - public _minValue?: "minValue"; - - /** CloudExportAdditionalProperties _maxValue. */ - public _maxValue?: "maxValue"; - - /** CloudExportAdditionalProperties _unitCode. */ - public _unitCode?: "unitCode"; - - /** - * Creates a new CloudExportAdditionalProperties instance using the specified properties. - * @param [properties] Properties to set - * @returns CloudExportAdditionalProperties instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; - - /** - * Encodes the specified CloudExportAdditionalProperties message. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. - * @param message CloudExportAdditionalProperties message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CloudExportAdditionalProperties message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. - * @param message CloudExportAdditionalProperties message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CloudExportAdditionalProperties - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; - - /** - * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CloudExportAdditionalProperties - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; - - /** - * Verifies a CloudExportAdditionalProperties message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CloudExportAdditionalProperties message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CloudExportAdditionalProperties - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties; - - /** - * Creates a plain object from a CloudExportAdditionalProperties message. Also converts values to other types if specified. - * @param message CloudExportAdditionalProperties - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CloudExportAdditionalProperties to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CloudExportAdditionalProperties - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Represents a ProductsService */ - class ProductsService extends $protobuf.rpc.Service { - - /** - * Constructs a new ProductsService service. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - */ - constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); - - /** - * Creates new ProductsService service using the specified rpc implementation. - * @param rpcImpl RPC implementation - * @param [requestDelimited=false] Whether requests are length-delimited - * @param [responseDelimited=false] Whether responses are length-delimited - * @returns RPC service. Useful where requests and/or responses are streamed. - */ - public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ProductsService; - - /** - * Calls GetProduct. - * @param request GetProductRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Product - */ - public getProduct(request: google.shopping.merchant.products.v1beta.IGetProductRequest, callback: google.shopping.merchant.products.v1beta.ProductsService.GetProductCallback): void; - - /** - * Calls GetProduct. - * @param request GetProductRequest message or plain object - * @returns Promise - */ - public getProduct(request: google.shopping.merchant.products.v1beta.IGetProductRequest): Promise; - - /** - * Calls ListProducts. - * @param request ListProductsRequest message or plain object - * @param callback Node-style callback called with the error, if any, and ListProductsResponse - */ - public listProducts(request: google.shopping.merchant.products.v1beta.IListProductsRequest, callback: google.shopping.merchant.products.v1beta.ProductsService.ListProductsCallback): void; - - /** - * Calls ListProducts. - * @param request ListProductsRequest message or plain object - * @returns Promise - */ - public listProducts(request: google.shopping.merchant.products.v1beta.IListProductsRequest): Promise; - } - - namespace ProductsService { - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|getProduct}. - * @param error Error, if any - * @param [response] Product - */ - type GetProductCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.Product) => void; - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|listProducts}. - * @param error Error, if any - * @param [response] ListProductsResponse - */ - type ListProductsCallback = (error: (Error|null), response?: google.shopping.merchant.products.v1beta.ListProductsResponse) => void; - } - - /** Properties of a Product. */ - interface IProduct { - - /** Product name */ - name?: (string|null); - - /** Product channel */ - channel?: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum|null); - - /** Product offerId */ - offerId?: (string|null); - - /** Product contentLanguage */ - contentLanguage?: (string|null); - - /** Product feedLabel */ - feedLabel?: (string|null); - - /** Product dataSource */ - dataSource?: (string|null); - - /** Product versionNumber */ - versionNumber?: (number|Long|string|null); - - /** Product attributes */ - attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); - - /** Product customAttributes */ - customAttributes?: (google.shopping.type.ICustomAttribute[]|null); - - /** Product productStatus */ - productStatus?: (google.shopping.merchant.products.v1beta.IProductStatus|null); - } - - /** Represents a Product. */ - class Product implements IProduct { - - /** - * Constructs a new Product. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IProduct); - - /** Product name. */ - public name: string; - - /** Product channel. */ - public channel: (google.shopping.type.Channel.ChannelEnum|keyof typeof google.shopping.type.Channel.ChannelEnum); - - /** Product offerId. */ - public offerId: string; - - /** Product contentLanguage. */ - public contentLanguage: string; - - /** Product feedLabel. */ - public feedLabel: string; - - /** Product dataSource. */ - public dataSource: string; - - /** Product versionNumber. */ - public versionNumber?: (number|Long|string|null); - - /** Product attributes. */ - public attributes?: (google.shopping.merchant.products.v1beta.IAttributes|null); - - /** Product customAttributes. */ - public customAttributes: google.shopping.type.ICustomAttribute[]; - - /** Product productStatus. */ - public productStatus?: (google.shopping.merchant.products.v1beta.IProductStatus|null); - - /** Product _versionNumber. */ - public _versionNumber?: "versionNumber"; - - /** - * Creates a new Product instance using the specified properties. - * @param [properties] Properties to set - * @returns Product instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IProduct): google.shopping.merchant.products.v1beta.Product; - - /** - * Encodes the specified Product message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. - * @param message Product message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Product message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. - * @param message Product message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Product message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Product - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.Product; - - /** - * Decodes a Product message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Product - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.Product; - - /** - * Verifies a Product message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Product message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Product - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.Product; - - /** - * Creates a plain object from a Product message. Also converts values to other types if specified. - * @param message Product - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.Product, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Product to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Product - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a GetProductRequest. */ - interface IGetProductRequest { - - /** GetProductRequest name */ - name?: (string|null); - } - - /** Represents a GetProductRequest. */ - class GetProductRequest implements IGetProductRequest { - - /** - * Constructs a new GetProductRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IGetProductRequest); - - /** GetProductRequest name. */ - public name: string; - - /** - * Creates a new GetProductRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns GetProductRequest instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IGetProductRequest): google.shopping.merchant.products.v1beta.GetProductRequest; - - /** - * Encodes the specified GetProductRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. - * @param message GetProductRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. - * @param message GetProductRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GetProductRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GetProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.GetProductRequest; - - /** - * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GetProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.GetProductRequest; - - /** - * Verifies a GetProductRequest message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GetProductRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.GetProductRequest; - - /** - * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. - * @param message GetProductRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GetProductRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for GetProductRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListProductsRequest. */ - interface IListProductsRequest { - - /** ListProductsRequest parent */ - parent?: (string|null); - - /** ListProductsRequest pageSize */ - pageSize?: (number|null); - - /** ListProductsRequest pageToken */ - pageToken?: (string|null); - } - - /** Represents a ListProductsRequest. */ - class ListProductsRequest implements IListProductsRequest { - - /** - * Constructs a new ListProductsRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IListProductsRequest); - - /** ListProductsRequest parent. */ - public parent: string; - - /** ListProductsRequest pageSize. */ - public pageSize: number; - - /** ListProductsRequest pageToken. */ - public pageToken: string; - - /** - * Creates a new ListProductsRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns ListProductsRequest instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IListProductsRequest): google.shopping.merchant.products.v1beta.ListProductsRequest; - - /** - * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. - * @param message ListProductsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. - * @param message ListProductsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListProductsRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ListProductsRequest; - - /** - * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ListProductsRequest; - - /** - * Verifies a ListProductsRequest message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListProductsRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ListProductsRequest; - - /** - * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. - * @param message ListProductsRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListProductsRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListProductsRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListProductsResponse. */ - interface IListProductsResponse { - - /** ListProductsResponse products */ - products?: (google.shopping.merchant.products.v1beta.IProduct[]|null); - - /** ListProductsResponse nextPageToken */ - nextPageToken?: (string|null); - } - - /** Represents a ListProductsResponse. */ - class ListProductsResponse implements IListProductsResponse { - - /** - * Constructs a new ListProductsResponse. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.merchant.products.v1beta.IListProductsResponse); - - /** ListProductsResponse products. */ - public products: google.shopping.merchant.products.v1beta.IProduct[]; - - /** ListProductsResponse nextPageToken. */ - public nextPageToken: string; - - /** - * Creates a new ListProductsResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns ListProductsResponse instance - */ - public static create(properties?: google.shopping.merchant.products.v1beta.IListProductsResponse): google.shopping.merchant.products.v1beta.ListProductsResponse; - - /** - * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. - * @param message ListProductsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.merchant.products.v1beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. - * @param message ListProductsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.merchant.products.v1beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListProductsResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.products.v1beta.ListProductsResponse; - - /** - * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.products.v1beta.ListProductsResponse; - - /** - * Verifies a ListProductsResponse message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListProductsResponse - */ - public static fromObject(object: { [k: string]: any }): google.shopping.merchant.products.v1beta.ListProductsResponse; - - /** - * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. - * @param message ListProductsResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.merchant.products.v1beta.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListProductsResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListProductsResponse - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - } - } - - /** Namespace type. */ - namespace type { - - /** Properties of a Weight. */ - interface IWeight { - - /** Weight amountMicros */ - amountMicros?: (number|Long|string|null); - - /** Weight unit */ - unit?: (google.shopping.type.Weight.WeightUnit|keyof typeof google.shopping.type.Weight.WeightUnit|null); - } - - /** Represents a Weight. */ - class Weight implements IWeight { - - /** - * Constructs a new Weight. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.IWeight); - - /** Weight amountMicros. */ - public amountMicros?: (number|Long|string|null); - - /** Weight unit. */ - public unit: (google.shopping.type.Weight.WeightUnit|keyof typeof google.shopping.type.Weight.WeightUnit); - - /** Weight _amountMicros. */ - public _amountMicros?: "amountMicros"; - - /** - * Creates a new Weight instance using the specified properties. - * @param [properties] Properties to set - * @returns Weight instance - */ - public static create(properties?: google.shopping.type.IWeight): google.shopping.type.Weight; - - /** - * Encodes the specified Weight message. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. - * @param message Weight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.IWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Weight message, length delimited. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. - * @param message Weight message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.IWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Weight message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Weight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Weight; - - /** - * Decodes a Weight message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Weight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Weight; - - /** - * Verifies a Weight message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Weight message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Weight - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.Weight; - - /** - * Creates a plain object from a Weight message. Also converts values to other types if specified. - * @param message Weight - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.Weight, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Weight to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Weight - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace Weight { - - /** WeightUnit enum. */ - enum WeightUnit { - WEIGHT_UNIT_UNSPECIFIED = 0, - POUND = 1, - KILOGRAM = 2 - } - } - - /** Properties of a Price. */ - interface IPrice { - - /** Price amountMicros */ - amountMicros?: (number|Long|string|null); - - /** Price currencyCode */ - currencyCode?: (string|null); - } - - /** Represents a Price. */ - class Price implements IPrice { - - /** - * Constructs a new Price. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.IPrice); - - /** Price amountMicros. */ - public amountMicros?: (number|Long|string|null); - - /** Price currencyCode. */ - public currencyCode?: (string|null); - - /** Price _amountMicros. */ - public _amountMicros?: "amountMicros"; - - /** Price _currencyCode. */ - public _currencyCode?: "currencyCode"; - - /** - * Creates a new Price instance using the specified properties. - * @param [properties] Properties to set - * @returns Price instance - */ - public static create(properties?: google.shopping.type.IPrice): google.shopping.type.Price; - - /** - * Encodes the specified Price message. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. - * @param message Price message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.IPrice, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Price message, length delimited. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. - * @param message Price message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.IPrice, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Price message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Price - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Price; - - /** - * Decodes a Price message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Price - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Price; - - /** - * Verifies a Price message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Price message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Price - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.Price; - - /** - * Creates a plain object from a Price message. Also converts values to other types if specified. - * @param message Price - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.Price, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Price to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Price - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CustomAttribute. */ - interface ICustomAttribute { - - /** CustomAttribute name */ - name?: (string|null); - - /** CustomAttribute value */ - value?: (string|null); - - /** CustomAttribute groupValues */ - groupValues?: (google.shopping.type.ICustomAttribute[]|null); - } - - /** Represents a CustomAttribute. */ - class CustomAttribute implements ICustomAttribute { - - /** - * Constructs a new CustomAttribute. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.ICustomAttribute); - - /** CustomAttribute name. */ - public name?: (string|null); - - /** CustomAttribute value. */ - public value?: (string|null); - - /** CustomAttribute groupValues. */ - public groupValues: google.shopping.type.ICustomAttribute[]; - - /** CustomAttribute _name. */ - public _name?: "name"; - - /** CustomAttribute _value. */ - public _value?: "value"; - - /** - * Creates a new CustomAttribute instance using the specified properties. - * @param [properties] Properties to set - * @returns CustomAttribute instance - */ - public static create(properties?: google.shopping.type.ICustomAttribute): google.shopping.type.CustomAttribute; - - /** - * Encodes the specified CustomAttribute message. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. - * @param message CustomAttribute message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. - * @param message CustomAttribute message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CustomAttribute message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CustomAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.CustomAttribute; - - /** - * Decodes a CustomAttribute message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CustomAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.CustomAttribute; - - /** - * Verifies a CustomAttribute message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CustomAttribute - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.CustomAttribute; - - /** - * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified. - * @param message CustomAttribute - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.CustomAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CustomAttribute to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CustomAttribute - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Destination. */ - interface IDestination { - } - - /** Represents a Destination. */ - class Destination implements IDestination { - - /** - * Constructs a new Destination. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.IDestination); - - /** - * Creates a new Destination instance using the specified properties. - * @param [properties] Properties to set - * @returns Destination instance - */ - public static create(properties?: google.shopping.type.IDestination): google.shopping.type.Destination; - - /** - * Encodes the specified Destination message. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. - * @param message Destination message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.IDestination, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. - * @param message Destination message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.IDestination, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Destination message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Destination - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Destination; - - /** - * Decodes a Destination message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Destination - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Destination; - - /** - * Verifies a Destination message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Destination message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Destination - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.Destination; - - /** - * Creates a plain object from a Destination message. Also converts values to other types if specified. - * @param message Destination - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.Destination, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Destination to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Destination - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace Destination { - - /** DestinationEnum enum. */ - enum DestinationEnum { - DESTINATION_ENUM_UNSPECIFIED = 0, - SHOPPING_ADS = 1, - DISPLAY_ADS = 2, - LOCAL_INVENTORY_ADS = 3, - FREE_LISTINGS = 4, - FREE_LOCAL_LISTINGS = 5, - YOUTUBE_SHOPPING = 6 - } - } - - /** Properties of a ReportingContext. */ - interface IReportingContext { - } - - /** Represents a ReportingContext. */ - class ReportingContext implements IReportingContext { - - /** - * Constructs a new ReportingContext. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.IReportingContext); - - /** - * Creates a new ReportingContext instance using the specified properties. - * @param [properties] Properties to set - * @returns ReportingContext instance - */ - public static create(properties?: google.shopping.type.IReportingContext): google.shopping.type.ReportingContext; - - /** - * Encodes the specified ReportingContext message. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. - * @param message ReportingContext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.IReportingContext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ReportingContext message, length delimited. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. - * @param message ReportingContext message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.IReportingContext, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ReportingContext message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ReportingContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.ReportingContext; - - /** - * Decodes a ReportingContext message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ReportingContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.ReportingContext; - - /** - * Verifies a ReportingContext message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ReportingContext message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ReportingContext - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.ReportingContext; - - /** - * Creates a plain object from a ReportingContext message. Also converts values to other types if specified. - * @param message ReportingContext - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.ReportingContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ReportingContext to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ReportingContext - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace ReportingContext { - - /** ReportingContextEnum enum. */ - enum ReportingContextEnum { - REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0, - SHOPPING_ADS = 1, - DISCOVERY_ADS = 2, - DEMAND_GEN_ADS = 13, - DEMAND_GEN_ADS_DISCOVER_SURFACE = 14, - VIDEO_ADS = 3, - DISPLAY_ADS = 4, - LOCAL_INVENTORY_ADS = 5, - VEHICLE_INVENTORY_ADS = 6, - FREE_LISTINGS = 7, - FREE_LOCAL_LISTINGS = 8, - FREE_LOCAL_VEHICLE_LISTINGS = 9, - YOUTUBE_SHOPPING = 10, - CLOUD_RETAIL = 11, - LOCAL_CLOUD_RETAIL = 12 - } - } - - /** Properties of a Channel. */ - interface IChannel { - } - - /** Represents a Channel. */ - class Channel implements IChannel { - - /** - * Constructs a new Channel. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.type.IChannel); - - /** - * Creates a new Channel instance using the specified properties. - * @param [properties] Properties to set - * @returns Channel instance - */ - public static create(properties?: google.shopping.type.IChannel): google.shopping.type.Channel; - - /** - * Encodes the specified Channel message. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. - * @param message Channel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.type.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. - * @param message Channel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.type.IChannel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Channel message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.type.Channel; - - /** - * Decodes a Channel message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.type.Channel; - - /** - * Verifies a Channel message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Channel message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Channel - */ - public static fromObject(object: { [k: string]: any }): google.shopping.type.Channel; - - /** - * Creates a plain object from a Channel message. Also converts values to other types if specified. - * @param message Channel - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.type.Channel, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Channel to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Channel - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace Channel { - - /** ChannelEnum enum. */ - enum ChannelEnum { - CHANNEL_ENUM_UNSPECIFIED = 0, - ONLINE = 1, - LOCAL = 2 - } - } - } - } - - /** Namespace api. */ - namespace api { - - /** Properties of a Http. */ - interface IHttp { - - /** Http rules */ - rules?: (google.api.IHttpRule[]|null); - - /** Http fullyDecodeReservedExpansion */ - fullyDecodeReservedExpansion?: (boolean|null); - } - - /** Represents a Http. */ - class Http implements IHttp { - - /** - * Constructs a new Http. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IHttp); - - /** Http rules. */ - public rules: google.api.IHttpRule[]; - - /** Http fullyDecodeReservedExpansion. */ - public fullyDecodeReservedExpansion: boolean; - - /** - * Creates a new Http instance using the specified properties. - * @param [properties] Properties to set - * @returns Http instance - */ - public static create(properties?: google.api.IHttp): google.api.Http; - - /** - * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. - * @param message Http message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. - * @param message Http message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Http message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Http - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http; - - /** - * Decodes a Http message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Http - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http; - - /** - * Verifies a Http message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Http message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Http - */ - public static fromObject(object: { [k: string]: any }): google.api.Http; - - /** - * Creates a plain object from a Http message. Also converts values to other types if specified. - * @param message Http - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Http to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Http - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a HttpRule. */ - interface IHttpRule { - - /** HttpRule selector */ - selector?: (string|null); - - /** HttpRule get */ - get?: (string|null); - - /** HttpRule put */ - put?: (string|null); - - /** HttpRule post */ - post?: (string|null); - - /** HttpRule delete */ - "delete"?: (string|null); - - /** HttpRule patch */ - patch?: (string|null); - - /** HttpRule custom */ - custom?: (google.api.ICustomHttpPattern|null); - - /** HttpRule body */ - body?: (string|null); - - /** HttpRule responseBody */ - responseBody?: (string|null); - - /** HttpRule additionalBindings */ - additionalBindings?: (google.api.IHttpRule[]|null); - } - - /** Represents a HttpRule. */ - class HttpRule implements IHttpRule { - - /** - * Constructs a new HttpRule. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IHttpRule); - - /** HttpRule selector. */ - public selector: string; - - /** HttpRule get. */ - public get?: (string|null); - - /** HttpRule put. */ - public put?: (string|null); - - /** HttpRule post. */ - public post?: (string|null); - - /** HttpRule delete. */ - public delete?: (string|null); - - /** HttpRule patch. */ - public patch?: (string|null); - - /** HttpRule custom. */ - public custom?: (google.api.ICustomHttpPattern|null); - - /** HttpRule body. */ - public body: string; - - /** HttpRule responseBody. */ - public responseBody: string; - - /** HttpRule additionalBindings. */ - public additionalBindings: google.api.IHttpRule[]; - - /** HttpRule pattern. */ - public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom"); - - /** - * Creates a new HttpRule instance using the specified properties. - * @param [properties] Properties to set - * @returns HttpRule instance - */ - public static create(properties?: google.api.IHttpRule): google.api.HttpRule; - - /** - * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. - * @param message HttpRule message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. - * @param message HttpRule message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a HttpRule message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns HttpRule - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule; - - /** - * Decodes a HttpRule message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns HttpRule - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule; - - /** - * Verifies a HttpRule message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns HttpRule - */ - public static fromObject(object: { [k: string]: any }): google.api.HttpRule; - - /** - * Creates a plain object from a HttpRule message. Also converts values to other types if specified. - * @param message HttpRule - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this HttpRule to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for HttpRule - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CustomHttpPattern. */ - interface ICustomHttpPattern { - - /** CustomHttpPattern kind */ - kind?: (string|null); - - /** CustomHttpPattern path */ - path?: (string|null); - } - - /** Represents a CustomHttpPattern. */ - class CustomHttpPattern implements ICustomHttpPattern { - - /** - * Constructs a new CustomHttpPattern. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.ICustomHttpPattern); - - /** CustomHttpPattern kind. */ - public kind: string; - - /** CustomHttpPattern path. */ - public path: string; - - /** - * Creates a new CustomHttpPattern instance using the specified properties. - * @param [properties] Properties to set - * @returns CustomHttpPattern instance - */ - public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern; - - /** - * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. - * @param message CustomHttpPattern message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. - * @param message CustomHttpPattern message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CustomHttpPattern message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CustomHttpPattern - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern; - - /** - * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CustomHttpPattern - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern; - - /** - * Verifies a CustomHttpPattern message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CustomHttpPattern - */ - public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern; - - /** - * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. - * @param message CustomHttpPattern - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CustomHttpPattern to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CustomHttpPattern - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CommonLanguageSettings. */ - interface ICommonLanguageSettings { - - /** CommonLanguageSettings referenceDocsUri */ - referenceDocsUri?: (string|null); - - /** CommonLanguageSettings destinations */ - destinations?: (google.api.ClientLibraryDestination[]|null); - } - - /** Represents a CommonLanguageSettings. */ - class CommonLanguageSettings implements ICommonLanguageSettings { - - /** - * Constructs a new CommonLanguageSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.ICommonLanguageSettings); - - /** CommonLanguageSettings referenceDocsUri. */ - public referenceDocsUri: string; - - /** CommonLanguageSettings destinations. */ - public destinations: google.api.ClientLibraryDestination[]; - - /** - * Creates a new CommonLanguageSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns CommonLanguageSettings instance - */ - public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings; - - /** - * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. - * @param message CommonLanguageSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. - * @param message CommonLanguageSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CommonLanguageSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CommonLanguageSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings; - - /** - * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CommonLanguageSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings; - - /** - * Verifies a CommonLanguageSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CommonLanguageSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings; - - /** - * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified. - * @param message CommonLanguageSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CommonLanguageSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CommonLanguageSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ClientLibrarySettings. */ - interface IClientLibrarySettings { - - /** ClientLibrarySettings version */ - version?: (string|null); - - /** ClientLibrarySettings launchStage */ - launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null); - - /** ClientLibrarySettings restNumericEnums */ - restNumericEnums?: (boolean|null); - - /** ClientLibrarySettings javaSettings */ - javaSettings?: (google.api.IJavaSettings|null); - - /** ClientLibrarySettings cppSettings */ - cppSettings?: (google.api.ICppSettings|null); - - /** ClientLibrarySettings phpSettings */ - phpSettings?: (google.api.IPhpSettings|null); - - /** ClientLibrarySettings pythonSettings */ - pythonSettings?: (google.api.IPythonSettings|null); - - /** ClientLibrarySettings nodeSettings */ - nodeSettings?: (google.api.INodeSettings|null); - - /** ClientLibrarySettings dotnetSettings */ - dotnetSettings?: (google.api.IDotnetSettings|null); - - /** ClientLibrarySettings rubySettings */ - rubySettings?: (google.api.IRubySettings|null); - - /** ClientLibrarySettings goSettings */ - goSettings?: (google.api.IGoSettings|null); - } - - /** Represents a ClientLibrarySettings. */ - class ClientLibrarySettings implements IClientLibrarySettings { - - /** - * Constructs a new ClientLibrarySettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IClientLibrarySettings); - - /** ClientLibrarySettings version. */ - public version: string; - - /** ClientLibrarySettings launchStage. */ - public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage); - - /** ClientLibrarySettings restNumericEnums. */ - public restNumericEnums: boolean; - - /** ClientLibrarySettings javaSettings. */ - public javaSettings?: (google.api.IJavaSettings|null); - - /** ClientLibrarySettings cppSettings. */ - public cppSettings?: (google.api.ICppSettings|null); - - /** ClientLibrarySettings phpSettings. */ - public phpSettings?: (google.api.IPhpSettings|null); - - /** ClientLibrarySettings pythonSettings. */ - public pythonSettings?: (google.api.IPythonSettings|null); - - /** ClientLibrarySettings nodeSettings. */ - public nodeSettings?: (google.api.INodeSettings|null); - - /** ClientLibrarySettings dotnetSettings. */ - public dotnetSettings?: (google.api.IDotnetSettings|null); - - /** ClientLibrarySettings rubySettings. */ - public rubySettings?: (google.api.IRubySettings|null); - - /** ClientLibrarySettings goSettings. */ - public goSettings?: (google.api.IGoSettings|null); - - /** - * Creates a new ClientLibrarySettings instance using the specified properties. - * @param [properties] Properties to set - * @returns ClientLibrarySettings instance - */ - public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings; - - /** - * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. - * @param message ClientLibrarySettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. - * @param message ClientLibrarySettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ClientLibrarySettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ClientLibrarySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings; - - /** - * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ClientLibrarySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings; - - /** - * Verifies a ClientLibrarySettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ClientLibrarySettings - */ - public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings; - - /** - * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified. - * @param message ClientLibrarySettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ClientLibrarySettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ClientLibrarySettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Publishing. */ - interface IPublishing { - - /** Publishing methodSettings */ - methodSettings?: (google.api.IMethodSettings[]|null); - - /** Publishing newIssueUri */ - newIssueUri?: (string|null); - - /** Publishing documentationUri */ - documentationUri?: (string|null); - - /** Publishing apiShortName */ - apiShortName?: (string|null); - - /** Publishing githubLabel */ - githubLabel?: (string|null); - - /** Publishing codeownerGithubTeams */ - codeownerGithubTeams?: (string[]|null); - - /** Publishing docTagPrefix */ - docTagPrefix?: (string|null); - - /** Publishing organization */ - organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null); - - /** Publishing librarySettings */ - librarySettings?: (google.api.IClientLibrarySettings[]|null); - - /** Publishing protoReferenceDocumentationUri */ - protoReferenceDocumentationUri?: (string|null); - - /** Publishing restReferenceDocumentationUri */ - restReferenceDocumentationUri?: (string|null); - } - - /** Represents a Publishing. */ - class Publishing implements IPublishing { - - /** - * Constructs a new Publishing. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IPublishing); - - /** Publishing methodSettings. */ - public methodSettings: google.api.IMethodSettings[]; - - /** Publishing newIssueUri. */ - public newIssueUri: string; - - /** Publishing documentationUri. */ - public documentationUri: string; - - /** Publishing apiShortName. */ - public apiShortName: string; - - /** Publishing githubLabel. */ - public githubLabel: string; - - /** Publishing codeownerGithubTeams. */ - public codeownerGithubTeams: string[]; - - /** Publishing docTagPrefix. */ - public docTagPrefix: string; - - /** Publishing organization. */ - public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization); - - /** Publishing librarySettings. */ - public librarySettings: google.api.IClientLibrarySettings[]; - - /** Publishing protoReferenceDocumentationUri. */ - public protoReferenceDocumentationUri: string; - - /** Publishing restReferenceDocumentationUri. */ - public restReferenceDocumentationUri: string; - - /** - * Creates a new Publishing instance using the specified properties. - * @param [properties] Properties to set - * @returns Publishing instance - */ - public static create(properties?: google.api.IPublishing): google.api.Publishing; - - /** - * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages. - * @param message Publishing message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages. - * @param message Publishing message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Publishing message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Publishing - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing; - - /** - * Decodes a Publishing message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Publishing - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing; - - /** - * Verifies a Publishing message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Publishing message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Publishing - */ - public static fromObject(object: { [k: string]: any }): google.api.Publishing; - - /** - * Creates a plain object from a Publishing message. Also converts values to other types if specified. - * @param message Publishing - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Publishing to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Publishing - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a JavaSettings. */ - interface IJavaSettings { - - /** JavaSettings libraryPackage */ - libraryPackage?: (string|null); - - /** JavaSettings serviceClassNames */ - serviceClassNames?: ({ [k: string]: string }|null); - - /** JavaSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a JavaSettings. */ - class JavaSettings implements IJavaSettings { - - /** - * Constructs a new JavaSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IJavaSettings); - - /** JavaSettings libraryPackage. */ - public libraryPackage: string; - - /** JavaSettings serviceClassNames. */ - public serviceClassNames: { [k: string]: string }; - - /** JavaSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new JavaSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns JavaSettings instance - */ - public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings; - - /** - * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. - * @param message JavaSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. - * @param message JavaSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a JavaSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns JavaSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings; - - /** - * Decodes a JavaSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns JavaSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings; - - /** - * Verifies a JavaSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns JavaSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.JavaSettings; - - /** - * Creates a plain object from a JavaSettings message. Also converts values to other types if specified. - * @param message JavaSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this JavaSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for JavaSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CppSettings. */ - interface ICppSettings { - - /** CppSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a CppSettings. */ - class CppSettings implements ICppSettings { - - /** - * Constructs a new CppSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.ICppSettings); - - /** CppSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new CppSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns CppSettings instance - */ - public static create(properties?: google.api.ICppSettings): google.api.CppSettings; - - /** - * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. - * @param message CppSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. - * @param message CppSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CppSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CppSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings; - - /** - * Decodes a CppSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CppSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings; - - /** - * Verifies a CppSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a CppSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CppSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.CppSettings; - - /** - * Creates a plain object from a CppSettings message. Also converts values to other types if specified. - * @param message CppSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CppSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CppSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a PhpSettings. */ - interface IPhpSettings { - - /** PhpSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a PhpSettings. */ - class PhpSettings implements IPhpSettings { - - /** - * Constructs a new PhpSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IPhpSettings); - - /** PhpSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new PhpSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns PhpSettings instance - */ - public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings; - - /** - * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. - * @param message PhpSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. - * @param message PhpSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a PhpSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns PhpSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings; - - /** - * Decodes a PhpSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns PhpSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings; - - /** - * Verifies a PhpSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns PhpSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.PhpSettings; - - /** - * Creates a plain object from a PhpSettings message. Also converts values to other types if specified. - * @param message PhpSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this PhpSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for PhpSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a PythonSettings. */ - interface IPythonSettings { - - /** PythonSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a PythonSettings. */ - class PythonSettings implements IPythonSettings { - - /** - * Constructs a new PythonSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IPythonSettings); - - /** PythonSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new PythonSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns PythonSettings instance - */ - public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings; - - /** - * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. - * @param message PythonSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. - * @param message PythonSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a PythonSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns PythonSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings; - - /** - * Decodes a PythonSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns PythonSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings; - - /** - * Verifies a PythonSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns PythonSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.PythonSettings; - - /** - * Creates a plain object from a PythonSettings message. Also converts values to other types if specified. - * @param message PythonSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this PythonSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for PythonSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a NodeSettings. */ - interface INodeSettings { - - /** NodeSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a NodeSettings. */ - class NodeSettings implements INodeSettings { - - /** - * Constructs a new NodeSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.INodeSettings); - - /** NodeSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new NodeSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns NodeSettings instance - */ - public static create(properties?: google.api.INodeSettings): google.api.NodeSettings; - - /** - * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. - * @param message NodeSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. - * @param message NodeSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NodeSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NodeSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings; - - /** - * Decodes a NodeSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NodeSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings; - - /** - * Verifies a NodeSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NodeSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.NodeSettings; - - /** - * Creates a plain object from a NodeSettings message. Also converts values to other types if specified. - * @param message NodeSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NodeSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for NodeSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a DotnetSettings. */ - interface IDotnetSettings { - - /** DotnetSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - - /** DotnetSettings renamedServices */ - renamedServices?: ({ [k: string]: string }|null); - - /** DotnetSettings renamedResources */ - renamedResources?: ({ [k: string]: string }|null); - - /** DotnetSettings ignoredResources */ - ignoredResources?: (string[]|null); - - /** DotnetSettings forcedNamespaceAliases */ - forcedNamespaceAliases?: (string[]|null); - - /** DotnetSettings handwrittenSignatures */ - handwrittenSignatures?: (string[]|null); - } - - /** Represents a DotnetSettings. */ - class DotnetSettings implements IDotnetSettings { - - /** - * Constructs a new DotnetSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IDotnetSettings); - - /** DotnetSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** DotnetSettings renamedServices. */ - public renamedServices: { [k: string]: string }; - - /** DotnetSettings renamedResources. */ - public renamedResources: { [k: string]: string }; - - /** DotnetSettings ignoredResources. */ - public ignoredResources: string[]; - - /** DotnetSettings forcedNamespaceAliases. */ - public forcedNamespaceAliases: string[]; - - /** DotnetSettings handwrittenSignatures. */ - public handwrittenSignatures: string[]; - - /** - * Creates a new DotnetSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns DotnetSettings instance - */ - public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings; - - /** - * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. - * @param message DotnetSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. - * @param message DotnetSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DotnetSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DotnetSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings; - - /** - * Decodes a DotnetSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DotnetSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings; - - /** - * Verifies a DotnetSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DotnetSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings; - - /** - * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified. - * @param message DotnetSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DotnetSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DotnetSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a RubySettings. */ - interface IRubySettings { - - /** RubySettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a RubySettings. */ - class RubySettings implements IRubySettings { - - /** - * Constructs a new RubySettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IRubySettings); - - /** RubySettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new RubySettings instance using the specified properties. - * @param [properties] Properties to set - * @returns RubySettings instance - */ - public static create(properties?: google.api.IRubySettings): google.api.RubySettings; - - /** - * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. - * @param message RubySettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. - * @param message RubySettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a RubySettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns RubySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings; - - /** - * Decodes a RubySettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns RubySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings; - - /** - * Verifies a RubySettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a RubySettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns RubySettings - */ - public static fromObject(object: { [k: string]: any }): google.api.RubySettings; - - /** - * Creates a plain object from a RubySettings message. Also converts values to other types if specified. - * @param message RubySettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this RubySettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for RubySettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a GoSettings. */ - interface IGoSettings { - - /** GoSettings common */ - common?: (google.api.ICommonLanguageSettings|null); - } - - /** Represents a GoSettings. */ - class GoSettings implements IGoSettings { - - /** - * Constructs a new GoSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IGoSettings); - - /** GoSettings common. */ - public common?: (google.api.ICommonLanguageSettings|null); - - /** - * Creates a new GoSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns GoSettings instance - */ - public static create(properties?: google.api.IGoSettings): google.api.GoSettings; - - /** - * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. - * @param message GoSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. - * @param message GoSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GoSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GoSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings; - - /** - * Decodes a GoSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GoSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings; - - /** - * Verifies a GoSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a GoSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GoSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.GoSettings; - - /** - * Creates a plain object from a GoSettings message. Also converts values to other types if specified. - * @param message GoSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GoSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for GoSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a MethodSettings. */ - interface IMethodSettings { - - /** MethodSettings selector */ - selector?: (string|null); - - /** MethodSettings longRunning */ - longRunning?: (google.api.MethodSettings.ILongRunning|null); - - /** MethodSettings autoPopulatedFields */ - autoPopulatedFields?: (string[]|null); - } - - /** Represents a MethodSettings. */ - class MethodSettings implements IMethodSettings { - - /** - * Constructs a new MethodSettings. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IMethodSettings); - - /** MethodSettings selector. */ - public selector: string; - - /** MethodSettings longRunning. */ - public longRunning?: (google.api.MethodSettings.ILongRunning|null); - - /** MethodSettings autoPopulatedFields. */ - public autoPopulatedFields: string[]; - - /** - * Creates a new MethodSettings instance using the specified properties. - * @param [properties] Properties to set - * @returns MethodSettings instance - */ - public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings; - - /** - * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. - * @param message MethodSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. - * @param message MethodSettings message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MethodSettings message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MethodSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings; - - /** - * Decodes a MethodSettings message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MethodSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings; - - /** - * Verifies a MethodSettings message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MethodSettings - */ - public static fromObject(object: { [k: string]: any }): google.api.MethodSettings; - - /** - * Creates a plain object from a MethodSettings message. Also converts values to other types if specified. - * @param message MethodSettings - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MethodSettings to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for MethodSettings - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace MethodSettings { - - /** Properties of a LongRunning. */ - interface ILongRunning { - - /** LongRunning initialPollDelay */ - initialPollDelay?: (google.protobuf.IDuration|null); - - /** LongRunning pollDelayMultiplier */ - pollDelayMultiplier?: (number|null); - - /** LongRunning maxPollDelay */ - maxPollDelay?: (google.protobuf.IDuration|null); - - /** LongRunning totalPollTimeout */ - totalPollTimeout?: (google.protobuf.IDuration|null); - } - - /** Represents a LongRunning. */ - class LongRunning implements ILongRunning { - - /** - * Constructs a new LongRunning. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.MethodSettings.ILongRunning); - - /** LongRunning initialPollDelay. */ - public initialPollDelay?: (google.protobuf.IDuration|null); - - /** LongRunning pollDelayMultiplier. */ - public pollDelayMultiplier: number; - - /** LongRunning maxPollDelay. */ - public maxPollDelay?: (google.protobuf.IDuration|null); - - /** LongRunning totalPollTimeout. */ - public totalPollTimeout?: (google.protobuf.IDuration|null); - - /** - * Creates a new LongRunning instance using the specified properties. - * @param [properties] Properties to set - * @returns LongRunning instance - */ - public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning; - - /** - * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. - * @param message LongRunning message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. - * @param message LongRunning message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a LongRunning message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns LongRunning - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning; - - /** - * Decodes a LongRunning message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns LongRunning - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning; - - /** - * Verifies a LongRunning message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a LongRunning message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns LongRunning - */ - public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning; - - /** - * Creates a plain object from a LongRunning message. Also converts values to other types if specified. - * @param message LongRunning - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this LongRunning to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for LongRunning - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** ClientLibraryOrganization enum. */ - enum ClientLibraryOrganization { - CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0, - CLOUD = 1, - ADS = 2, - PHOTOS = 3, - STREET_VIEW = 4, - SHOPPING = 5, - GEO = 6, - GENERATIVE_AI = 7 - } - - /** ClientLibraryDestination enum. */ - enum ClientLibraryDestination { - CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0, - GITHUB = 10, - PACKAGE_MANAGER = 20 - } - - /** LaunchStage enum. */ - enum LaunchStage { - LAUNCH_STAGE_UNSPECIFIED = 0, - UNIMPLEMENTED = 6, - PRELAUNCH = 7, - EARLY_ACCESS = 1, - ALPHA = 2, - BETA = 3, - GA = 4, - DEPRECATED = 5 - } - - /** FieldBehavior enum. */ - enum FieldBehavior { - FIELD_BEHAVIOR_UNSPECIFIED = 0, - OPTIONAL = 1, - REQUIRED = 2, - OUTPUT_ONLY = 3, - INPUT_ONLY = 4, - IMMUTABLE = 5, - UNORDERED_LIST = 6, - NON_EMPTY_DEFAULT = 7, - IDENTIFIER = 8 - } - - /** Properties of a ResourceDescriptor. */ - interface IResourceDescriptor { - - /** ResourceDescriptor type */ - type?: (string|null); - - /** ResourceDescriptor pattern */ - pattern?: (string[]|null); - - /** ResourceDescriptor nameField */ - nameField?: (string|null); - - /** ResourceDescriptor history */ - history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null); - - /** ResourceDescriptor plural */ - plural?: (string|null); - - /** ResourceDescriptor singular */ - singular?: (string|null); - - /** ResourceDescriptor style */ - style?: (google.api.ResourceDescriptor.Style[]|null); - } - - /** Represents a ResourceDescriptor. */ - class ResourceDescriptor implements IResourceDescriptor { - - /** - * Constructs a new ResourceDescriptor. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IResourceDescriptor); - - /** ResourceDescriptor type. */ - public type: string; - - /** ResourceDescriptor pattern. */ - public pattern: string[]; - - /** ResourceDescriptor nameField. */ - public nameField: string; - - /** ResourceDescriptor history. */ - public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History); - - /** ResourceDescriptor plural. */ - public plural: string; - - /** ResourceDescriptor singular. */ - public singular: string; - - /** ResourceDescriptor style. */ - public style: google.api.ResourceDescriptor.Style[]; - - /** - * Creates a new ResourceDescriptor instance using the specified properties. - * @param [properties] Properties to set - * @returns ResourceDescriptor instance - */ - public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor; - - /** - * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. - * @param message ResourceDescriptor message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. - * @param message ResourceDescriptor message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResourceDescriptor message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResourceDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor; - - /** - * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResourceDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor; - - /** - * Verifies a ResourceDescriptor message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResourceDescriptor - */ - public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor; - - /** - * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. - * @param message ResourceDescriptor - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResourceDescriptor to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ResourceDescriptor - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace ResourceDescriptor { - - /** History enum. */ - enum History { - HISTORY_UNSPECIFIED = 0, - ORIGINALLY_SINGLE_PATTERN = 1, - FUTURE_MULTI_PATTERN = 2 - } - - /** Style enum. */ - enum Style { - STYLE_UNSPECIFIED = 0, - DECLARATIVE_FRIENDLY = 1 - } - } - - /** Properties of a ResourceReference. */ - interface IResourceReference { - - /** ResourceReference type */ - type?: (string|null); - - /** ResourceReference childType */ - childType?: (string|null); - } - - /** Represents a ResourceReference. */ - class ResourceReference implements IResourceReference { - - /** - * Constructs a new ResourceReference. - * @param [properties] Properties to set - */ - constructor(properties?: google.api.IResourceReference); - - /** ResourceReference type. */ - public type: string; - - /** ResourceReference childType. */ - public childType: string; - - /** - * Creates a new ResourceReference instance using the specified properties. - * @param [properties] Properties to set - * @returns ResourceReference instance - */ - public static create(properties?: google.api.IResourceReference): google.api.ResourceReference; - - /** - * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. - * @param message ResourceReference message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. - * @param message ResourceReference message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ResourceReference message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ResourceReference - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference; - - /** - * Decodes a ResourceReference message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ResourceReference - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference; - - /** - * Verifies a ResourceReference message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ResourceReference - */ - public static fromObject(object: { [k: string]: any }): google.api.ResourceReference; - - /** - * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. - * @param message ResourceReference - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ResourceReference to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ResourceReference - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Namespace protobuf. */ - namespace protobuf { - - /** Properties of a FileDescriptorSet. */ - interface IFileDescriptorSet { - - /** FileDescriptorSet file */ - file?: (google.protobuf.IFileDescriptorProto[]|null); - } - - /** Represents a FileDescriptorSet. */ - class FileDescriptorSet implements IFileDescriptorSet { - - /** - * Constructs a new FileDescriptorSet. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFileDescriptorSet); - - /** FileDescriptorSet file. */ - public file: google.protobuf.IFileDescriptorProto[]; - - /** - * Creates a new FileDescriptorSet instance using the specified properties. - * @param [properties] Properties to set - * @returns FileDescriptorSet instance - */ - public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; - - /** - * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @param message FileDescriptorSet message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @param message FileDescriptorSet message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FileDescriptorSet message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FileDescriptorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; - - /** - * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FileDescriptorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; - - /** - * Verifies a FileDescriptorSet message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FileDescriptorSet - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; - - /** - * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. - * @param message FileDescriptorSet - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FileDescriptorSet to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FileDescriptorSet - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Edition enum. */ - enum Edition { - EDITION_UNKNOWN = 0, - EDITION_PROTO2 = 998, - EDITION_PROTO3 = 999, - EDITION_2023 = 1000, - EDITION_2024 = 1001, - EDITION_1_TEST_ONLY = 1, - EDITION_2_TEST_ONLY = 2, - EDITION_99997_TEST_ONLY = 99997, - EDITION_99998_TEST_ONLY = 99998, - EDITION_99999_TEST_ONLY = 99999, - EDITION_MAX = 2147483647 - } - - /** Properties of a FileDescriptorProto. */ - interface IFileDescriptorProto { - - /** FileDescriptorProto name */ - name?: (string|null); - - /** FileDescriptorProto package */ - "package"?: (string|null); - - /** FileDescriptorProto dependency */ - dependency?: (string[]|null); - - /** FileDescriptorProto publicDependency */ - publicDependency?: (number[]|null); - - /** FileDescriptorProto weakDependency */ - weakDependency?: (number[]|null); - - /** FileDescriptorProto messageType */ - messageType?: (google.protobuf.IDescriptorProto[]|null); - - /** FileDescriptorProto enumType */ - enumType?: (google.protobuf.IEnumDescriptorProto[]|null); - - /** FileDescriptorProto service */ - service?: (google.protobuf.IServiceDescriptorProto[]|null); - - /** FileDescriptorProto extension */ - extension?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** FileDescriptorProto options */ - options?: (google.protobuf.IFileOptions|null); - - /** FileDescriptorProto sourceCodeInfo */ - sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); - - /** FileDescriptorProto syntax */ - syntax?: (string|null); - - /** FileDescriptorProto edition */ - edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - } - - /** Represents a FileDescriptorProto. */ - class FileDescriptorProto implements IFileDescriptorProto { - - /** - * Constructs a new FileDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFileDescriptorProto); - - /** FileDescriptorProto name. */ - public name: string; - - /** FileDescriptorProto package. */ - public package: string; - - /** FileDescriptorProto dependency. */ - public dependency: string[]; - - /** FileDescriptorProto publicDependency. */ - public publicDependency: number[]; - - /** FileDescriptorProto weakDependency. */ - public weakDependency: number[]; - - /** FileDescriptorProto messageType. */ - public messageType: google.protobuf.IDescriptorProto[]; - - /** FileDescriptorProto enumType. */ - public enumType: google.protobuf.IEnumDescriptorProto[]; - - /** FileDescriptorProto service. */ - public service: google.protobuf.IServiceDescriptorProto[]; - - /** FileDescriptorProto extension. */ - public extension: google.protobuf.IFieldDescriptorProto[]; - - /** FileDescriptorProto options. */ - public options?: (google.protobuf.IFileOptions|null); - - /** FileDescriptorProto sourceCodeInfo. */ - public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); - - /** FileDescriptorProto syntax. */ - public syntax: string; - - /** FileDescriptorProto edition. */ - public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - - /** - * Creates a new FileDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns FileDescriptorProto instance - */ - public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; - - /** - * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @param message FileDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @param message FileDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FileDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FileDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; - - /** - * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FileDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; - - /** - * Verifies a FileDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FileDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; - - /** - * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. - * @param message FileDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FileDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FileDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a DescriptorProto. */ - interface IDescriptorProto { - - /** DescriptorProto name */ - name?: (string|null); - - /** DescriptorProto field */ - field?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** DescriptorProto extension */ - extension?: (google.protobuf.IFieldDescriptorProto[]|null); - - /** DescriptorProto nestedType */ - nestedType?: (google.protobuf.IDescriptorProto[]|null); - - /** DescriptorProto enumType */ - enumType?: (google.protobuf.IEnumDescriptorProto[]|null); - - /** DescriptorProto extensionRange */ - extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); - - /** DescriptorProto oneofDecl */ - oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); - - /** DescriptorProto options */ - options?: (google.protobuf.IMessageOptions|null); - - /** DescriptorProto reservedRange */ - reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); - - /** DescriptorProto reservedName */ - reservedName?: (string[]|null); - } - - /** Represents a DescriptorProto. */ - class DescriptorProto implements IDescriptorProto { - - /** - * Constructs a new DescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IDescriptorProto); - - /** DescriptorProto name. */ - public name: string; - - /** DescriptorProto field. */ - public field: google.protobuf.IFieldDescriptorProto[]; - - /** DescriptorProto extension. */ - public extension: google.protobuf.IFieldDescriptorProto[]; - - /** DescriptorProto nestedType. */ - public nestedType: google.protobuf.IDescriptorProto[]; - - /** DescriptorProto enumType. */ - public enumType: google.protobuf.IEnumDescriptorProto[]; - - /** DescriptorProto extensionRange. */ - public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; - - /** DescriptorProto oneofDecl. */ - public oneofDecl: google.protobuf.IOneofDescriptorProto[]; - - /** DescriptorProto options. */ - public options?: (google.protobuf.IMessageOptions|null); - - /** DescriptorProto reservedRange. */ - public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; - - /** DescriptorProto reservedName. */ - public reservedName: string[]; - - /** - * Creates a new DescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns DescriptorProto instance - */ - public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; - - /** - * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @param message DescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @param message DescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; - - /** - * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; - - /** - * Verifies a DescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; - - /** - * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. - * @param message DescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace DescriptorProto { - - /** Properties of an ExtensionRange. */ - interface IExtensionRange { - - /** ExtensionRange start */ - start?: (number|null); - - /** ExtensionRange end */ - end?: (number|null); - - /** ExtensionRange options */ - options?: (google.protobuf.IExtensionRangeOptions|null); - } - - /** Represents an ExtensionRange. */ - class ExtensionRange implements IExtensionRange { - - /** - * Constructs a new ExtensionRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); - - /** ExtensionRange start. */ - public start: number; - - /** ExtensionRange end. */ - public end: number; - - /** ExtensionRange options. */ - public options?: (google.protobuf.IExtensionRangeOptions|null); - - /** - * Creates a new ExtensionRange instance using the specified properties. - * @param [properties] Properties to set - * @returns ExtensionRange instance - */ - public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @param message ExtensionRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @param message ExtensionRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Verifies an ExtensionRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ExtensionRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; - - /** - * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. - * @param message ExtensionRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ExtensionRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ExtensionRange - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ReservedRange. */ - interface IReservedRange { - - /** ReservedRange start */ - start?: (number|null); - - /** ReservedRange end */ - end?: (number|null); - } - - /** Represents a ReservedRange. */ - class ReservedRange implements IReservedRange { - - /** - * Constructs a new ReservedRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); - - /** ReservedRange start. */ - public start: number; - - /** ReservedRange end. */ - public end: number; - - /** - * Creates a new ReservedRange instance using the specified properties. - * @param [properties] Properties to set - * @returns ReservedRange instance - */ - public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; - - /** - * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @param message ReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @param message ReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ReservedRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; - - /** - * Decodes a ReservedRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; - - /** - * Verifies a ReservedRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ReservedRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; - - /** - * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. - * @param message ReservedRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ReservedRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ReservedRange - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of an ExtensionRangeOptions. */ - interface IExtensionRangeOptions { - - /** ExtensionRangeOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** ExtensionRangeOptions declaration */ - declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null); - - /** ExtensionRangeOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** ExtensionRangeOptions verification */ - verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null); - } - - /** Represents an ExtensionRangeOptions. */ - class ExtensionRangeOptions implements IExtensionRangeOptions { - - /** - * Constructs a new ExtensionRangeOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IExtensionRangeOptions); - - /** ExtensionRangeOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** ExtensionRangeOptions declaration. */ - public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[]; - - /** ExtensionRangeOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** ExtensionRangeOptions verification. */ - public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState); - - /** - * Creates a new ExtensionRangeOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns ExtensionRangeOptions instance - */ - public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; - - /** - * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @param message ExtensionRangeOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @param message ExtensionRangeOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ExtensionRangeOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; - - /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ExtensionRangeOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; - - /** - * Verifies an ExtensionRangeOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ExtensionRangeOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; - - /** - * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. - * @param message ExtensionRangeOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ExtensionRangeOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ExtensionRangeOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace ExtensionRangeOptions { - - /** Properties of a Declaration. */ - interface IDeclaration { - - /** Declaration number */ - number?: (number|null); - - /** Declaration fullName */ - fullName?: (string|null); - - /** Declaration type */ - type?: (string|null); - - /** Declaration reserved */ - reserved?: (boolean|null); - - /** Declaration repeated */ - repeated?: (boolean|null); - } - - /** Represents a Declaration. */ - class Declaration implements IDeclaration { - - /** - * Constructs a new Declaration. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration); - - /** Declaration number. */ - public number: number; - - /** Declaration fullName. */ - public fullName: string; - - /** Declaration type. */ - public type: string; - - /** Declaration reserved. */ - public reserved: boolean; - - /** Declaration repeated. */ - public repeated: boolean; - - /** - * Creates a new Declaration instance using the specified properties. - * @param [properties] Properties to set - * @returns Declaration instance - */ - public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration; - - /** - * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. - * @param message Declaration message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. - * @param message Declaration message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Declaration message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Declaration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration; - - /** - * Decodes a Declaration message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Declaration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration; - - /** - * Verifies a Declaration message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Declaration message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Declaration - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration; - - /** - * Creates a plain object from a Declaration message. Also converts values to other types if specified. - * @param message Declaration - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Declaration to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Declaration - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** VerificationState enum. */ - enum VerificationState { - DECLARATION = 0, - UNVERIFIED = 1 - } - } - - /** Properties of a FieldDescriptorProto. */ - interface IFieldDescriptorProto { - - /** FieldDescriptorProto name */ - name?: (string|null); - - /** FieldDescriptorProto number */ - number?: (number|null); - - /** FieldDescriptorProto label */ - label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); - - /** FieldDescriptorProto type */ - type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); - - /** FieldDescriptorProto typeName */ - typeName?: (string|null); - - /** FieldDescriptorProto extendee */ - extendee?: (string|null); - - /** FieldDescriptorProto defaultValue */ - defaultValue?: (string|null); - - /** FieldDescriptorProto oneofIndex */ - oneofIndex?: (number|null); - - /** FieldDescriptorProto jsonName */ - jsonName?: (string|null); - - /** FieldDescriptorProto options */ - options?: (google.protobuf.IFieldOptions|null); - - /** FieldDescriptorProto proto3Optional */ - proto3Optional?: (boolean|null); - } - - /** Represents a FieldDescriptorProto. */ - class FieldDescriptorProto implements IFieldDescriptorProto { - - /** - * Constructs a new FieldDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFieldDescriptorProto); - - /** FieldDescriptorProto name. */ - public name: string; - - /** FieldDescriptorProto number. */ - public number: number; - - /** FieldDescriptorProto label. */ - public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); - - /** FieldDescriptorProto type. */ - public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); - - /** FieldDescriptorProto typeName. */ - public typeName: string; - - /** FieldDescriptorProto extendee. */ - public extendee: string; - - /** FieldDescriptorProto defaultValue. */ - public defaultValue: string; - - /** FieldDescriptorProto oneofIndex. */ - public oneofIndex: number; - - /** FieldDescriptorProto jsonName. */ - public jsonName: string; - - /** FieldDescriptorProto options. */ - public options?: (google.protobuf.IFieldOptions|null); - - /** FieldDescriptorProto proto3Optional. */ - public proto3Optional: boolean; - - /** - * Creates a new FieldDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns FieldDescriptorProto instance - */ - public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; - - /** - * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @param message FieldDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @param message FieldDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FieldDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; - - /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FieldDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; - - /** - * Verifies a FieldDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FieldDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; - - /** - * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. - * @param message FieldDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FieldDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FieldDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace FieldDescriptorProto { - - /** Type enum. */ - enum Type { - TYPE_DOUBLE = 1, - TYPE_FLOAT = 2, - TYPE_INT64 = 3, - TYPE_UINT64 = 4, - TYPE_INT32 = 5, - TYPE_FIXED64 = 6, - TYPE_FIXED32 = 7, - TYPE_BOOL = 8, - TYPE_STRING = 9, - TYPE_GROUP = 10, - TYPE_MESSAGE = 11, - TYPE_BYTES = 12, - TYPE_UINT32 = 13, - TYPE_ENUM = 14, - TYPE_SFIXED32 = 15, - TYPE_SFIXED64 = 16, - TYPE_SINT32 = 17, - TYPE_SINT64 = 18 - } - - /** Label enum. */ - enum Label { - LABEL_OPTIONAL = 1, - LABEL_REPEATED = 3, - LABEL_REQUIRED = 2 - } - } - - /** Properties of an OneofDescriptorProto. */ - interface IOneofDescriptorProto { - - /** OneofDescriptorProto name */ - name?: (string|null); - - /** OneofDescriptorProto options */ - options?: (google.protobuf.IOneofOptions|null); - } - - /** Represents an OneofDescriptorProto. */ - class OneofDescriptorProto implements IOneofDescriptorProto { - - /** - * Constructs a new OneofDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IOneofDescriptorProto); - - /** OneofDescriptorProto name. */ - public name: string; - - /** OneofDescriptorProto options. */ - public options?: (google.protobuf.IOneofOptions|null); - - /** - * Creates a new OneofDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns OneofDescriptorProto instance - */ - public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; - - /** - * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @param message OneofDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @param message OneofDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns OneofDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; - - /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns OneofDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; - - /** - * Verifies an OneofDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns OneofDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; - - /** - * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. - * @param message OneofDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this OneofDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for OneofDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an EnumDescriptorProto. */ - interface IEnumDescriptorProto { - - /** EnumDescriptorProto name */ - name?: (string|null); - - /** EnumDescriptorProto value */ - value?: (google.protobuf.IEnumValueDescriptorProto[]|null); - - /** EnumDescriptorProto options */ - options?: (google.protobuf.IEnumOptions|null); - - /** EnumDescriptorProto reservedRange */ - reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); - - /** EnumDescriptorProto reservedName */ - reservedName?: (string[]|null); - } - - /** Represents an EnumDescriptorProto. */ - class EnumDescriptorProto implements IEnumDescriptorProto { - - /** - * Constructs a new EnumDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IEnumDescriptorProto); - - /** EnumDescriptorProto name. */ - public name: string; - - /** EnumDescriptorProto value. */ - public value: google.protobuf.IEnumValueDescriptorProto[]; - - /** EnumDescriptorProto options. */ - public options?: (google.protobuf.IEnumOptions|null); - - /** EnumDescriptorProto reservedRange. */ - public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; - - /** EnumDescriptorProto reservedName. */ - public reservedName: string[]; - - /** - * Creates a new EnumDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumDescriptorProto instance - */ - public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; - - /** - * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @param message EnumDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @param message EnumDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; - - /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; - - /** - * Verifies an EnumDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; - - /** - * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. - * @param message EnumDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EnumDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EnumDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace EnumDescriptorProto { - - /** Properties of an EnumReservedRange. */ - interface IEnumReservedRange { - - /** EnumReservedRange start */ - start?: (number|null); - - /** EnumReservedRange end */ - end?: (number|null); - } - - /** Represents an EnumReservedRange. */ - class EnumReservedRange implements IEnumReservedRange { - - /** - * Constructs a new EnumReservedRange. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); - - /** EnumReservedRange start. */ - public start: number; - - /** EnumReservedRange end. */ - public end: number; - - /** - * Creates a new EnumReservedRange instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumReservedRange instance - */ - public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; - - /** - * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @param message EnumReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @param message EnumReservedRange message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumReservedRange message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; - - /** - * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; - - /** - * Verifies an EnumReservedRange message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumReservedRange - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; - - /** - * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. - * @param message EnumReservedRange - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EnumReservedRange to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EnumReservedRange - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of an EnumValueDescriptorProto. */ - interface IEnumValueDescriptorProto { - - /** EnumValueDescriptorProto name */ - name?: (string|null); - - /** EnumValueDescriptorProto number */ - number?: (number|null); - - /** EnumValueDescriptorProto options */ - options?: (google.protobuf.IEnumValueOptions|null); - } - - /** Represents an EnumValueDescriptorProto. */ - class EnumValueDescriptorProto implements IEnumValueDescriptorProto { - - /** - * Constructs a new EnumValueDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IEnumValueDescriptorProto); - - /** EnumValueDescriptorProto name. */ - public name: string; - - /** EnumValueDescriptorProto number. */ - public number: number; - - /** EnumValueDescriptorProto options. */ - public options?: (google.protobuf.IEnumValueOptions|null); - - /** - * Creates a new EnumValueDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumValueDescriptorProto instance - */ - public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; - - /** - * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @param message EnumValueDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @param message EnumValueDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumValueDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; - - /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumValueDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; - - /** - * Verifies an EnumValueDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumValueDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; - - /** - * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. - * @param message EnumValueDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EnumValueDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EnumValueDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ServiceDescriptorProto. */ - interface IServiceDescriptorProto { - - /** ServiceDescriptorProto name */ - name?: (string|null); - - /** ServiceDescriptorProto method */ - method?: (google.protobuf.IMethodDescriptorProto[]|null); - - /** ServiceDescriptorProto options */ - options?: (google.protobuf.IServiceOptions|null); - } - - /** Represents a ServiceDescriptorProto. */ - class ServiceDescriptorProto implements IServiceDescriptorProto { - - /** - * Constructs a new ServiceDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IServiceDescriptorProto); - - /** ServiceDescriptorProto name. */ - public name: string; - - /** ServiceDescriptorProto method. */ - public method: google.protobuf.IMethodDescriptorProto[]; - - /** ServiceDescriptorProto options. */ - public options?: (google.protobuf.IServiceOptions|null); - - /** - * Creates a new ServiceDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns ServiceDescriptorProto instance - */ - public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; - - /** - * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @param message ServiceDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @param message ServiceDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ServiceDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; - - /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ServiceDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; - - /** - * Verifies a ServiceDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ServiceDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; - - /** - * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. - * @param message ServiceDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ServiceDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ServiceDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a MethodDescriptorProto. */ - interface IMethodDescriptorProto { - - /** MethodDescriptorProto name */ - name?: (string|null); - - /** MethodDescriptorProto inputType */ - inputType?: (string|null); - - /** MethodDescriptorProto outputType */ - outputType?: (string|null); - - /** MethodDescriptorProto options */ - options?: (google.protobuf.IMethodOptions|null); - - /** MethodDescriptorProto clientStreaming */ - clientStreaming?: (boolean|null); - - /** MethodDescriptorProto serverStreaming */ - serverStreaming?: (boolean|null); - } - - /** Represents a MethodDescriptorProto. */ - class MethodDescriptorProto implements IMethodDescriptorProto { - - /** - * Constructs a new MethodDescriptorProto. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IMethodDescriptorProto); - - /** MethodDescriptorProto name. */ - public name: string; - - /** MethodDescriptorProto inputType. */ - public inputType: string; - - /** MethodDescriptorProto outputType. */ - public outputType: string; - - /** MethodDescriptorProto options. */ - public options?: (google.protobuf.IMethodOptions|null); - - /** MethodDescriptorProto clientStreaming. */ - public clientStreaming: boolean; - - /** MethodDescriptorProto serverStreaming. */ - public serverStreaming: boolean; - - /** - * Creates a new MethodDescriptorProto instance using the specified properties. - * @param [properties] Properties to set - * @returns MethodDescriptorProto instance - */ - public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; - - /** - * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @param message MethodDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @param message MethodDescriptorProto message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MethodDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; - - /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MethodDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; - - /** - * Verifies a MethodDescriptorProto message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MethodDescriptorProto - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; - - /** - * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. - * @param message MethodDescriptorProto - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MethodDescriptorProto to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for MethodDescriptorProto - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a FileOptions. */ - interface IFileOptions { - - /** FileOptions javaPackage */ - javaPackage?: (string|null); - - /** FileOptions javaOuterClassname */ - javaOuterClassname?: (string|null); - - /** FileOptions javaMultipleFiles */ - javaMultipleFiles?: (boolean|null); - - /** FileOptions javaGenerateEqualsAndHash */ - javaGenerateEqualsAndHash?: (boolean|null); - - /** FileOptions javaStringCheckUtf8 */ - javaStringCheckUtf8?: (boolean|null); - - /** FileOptions optimizeFor */ - optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); - - /** FileOptions goPackage */ - goPackage?: (string|null); - - /** FileOptions ccGenericServices */ - ccGenericServices?: (boolean|null); - - /** FileOptions javaGenericServices */ - javaGenericServices?: (boolean|null); - - /** FileOptions pyGenericServices */ - pyGenericServices?: (boolean|null); - - /** FileOptions deprecated */ - deprecated?: (boolean|null); - - /** FileOptions ccEnableArenas */ - ccEnableArenas?: (boolean|null); - - /** FileOptions objcClassPrefix */ - objcClassPrefix?: (string|null); - - /** FileOptions csharpNamespace */ - csharpNamespace?: (string|null); - - /** FileOptions swiftPrefix */ - swiftPrefix?: (string|null); - - /** FileOptions phpClassPrefix */ - phpClassPrefix?: (string|null); - - /** FileOptions phpNamespace */ - phpNamespace?: (string|null); - - /** FileOptions phpMetadataNamespace */ - phpMetadataNamespace?: (string|null); - - /** FileOptions rubyPackage */ - rubyPackage?: (string|null); - - /** FileOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** FileOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** FileOptions .google.api.resourceDefinition */ - ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null); - } - - /** Represents a FileOptions. */ - class FileOptions implements IFileOptions { - - /** - * Constructs a new FileOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFileOptions); - - /** FileOptions javaPackage. */ - public javaPackage: string; - - /** FileOptions javaOuterClassname. */ - public javaOuterClassname: string; - - /** FileOptions javaMultipleFiles. */ - public javaMultipleFiles: boolean; - - /** FileOptions javaGenerateEqualsAndHash. */ - public javaGenerateEqualsAndHash: boolean; - - /** FileOptions javaStringCheckUtf8. */ - public javaStringCheckUtf8: boolean; - - /** FileOptions optimizeFor. */ - public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); - - /** FileOptions goPackage. */ - public goPackage: string; - - /** FileOptions ccGenericServices. */ - public ccGenericServices: boolean; - - /** FileOptions javaGenericServices. */ - public javaGenericServices: boolean; - - /** FileOptions pyGenericServices. */ - public pyGenericServices: boolean; - - /** FileOptions deprecated. */ - public deprecated: boolean; - - /** FileOptions ccEnableArenas. */ - public ccEnableArenas: boolean; - - /** FileOptions objcClassPrefix. */ - public objcClassPrefix: string; - - /** FileOptions csharpNamespace. */ - public csharpNamespace: string; - - /** FileOptions swiftPrefix. */ - public swiftPrefix: string; - - /** FileOptions phpClassPrefix. */ - public phpClassPrefix: string; - - /** FileOptions phpNamespace. */ - public phpNamespace: string; - - /** FileOptions phpMetadataNamespace. */ - public phpMetadataNamespace: string; - - /** FileOptions rubyPackage. */ - public rubyPackage: string; - - /** FileOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** FileOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new FileOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns FileOptions instance - */ - public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; - - /** - * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @param message FileOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @param message FileOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FileOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FileOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; - - /** - * Decodes a FileOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FileOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; - - /** - * Verifies a FileOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FileOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; - - /** - * Creates a plain object from a FileOptions message. Also converts values to other types if specified. - * @param message FileOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FileOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FileOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace FileOptions { - - /** OptimizeMode enum. */ - enum OptimizeMode { - SPEED = 1, - CODE_SIZE = 2, - LITE_RUNTIME = 3 - } - } - - /** Properties of a MessageOptions. */ - interface IMessageOptions { - - /** MessageOptions messageSetWireFormat */ - messageSetWireFormat?: (boolean|null); - - /** MessageOptions noStandardDescriptorAccessor */ - noStandardDescriptorAccessor?: (boolean|null); - - /** MessageOptions deprecated */ - deprecated?: (boolean|null); - - /** MessageOptions mapEntry */ - mapEntry?: (boolean|null); - - /** MessageOptions deprecatedLegacyJsonFieldConflicts */ - deprecatedLegacyJsonFieldConflicts?: (boolean|null); - - /** MessageOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** MessageOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** MessageOptions .google.api.resource */ - ".google.api.resource"?: (google.api.IResourceDescriptor|null); - } - - /** Represents a MessageOptions. */ - class MessageOptions implements IMessageOptions { - - /** - * Constructs a new MessageOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IMessageOptions); - - /** MessageOptions messageSetWireFormat. */ - public messageSetWireFormat: boolean; - - /** MessageOptions noStandardDescriptorAccessor. */ - public noStandardDescriptorAccessor: boolean; - - /** MessageOptions deprecated. */ - public deprecated: boolean; - - /** MessageOptions mapEntry. */ - public mapEntry: boolean; - - /** MessageOptions deprecatedLegacyJsonFieldConflicts. */ - public deprecatedLegacyJsonFieldConflicts: boolean; - - /** MessageOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** MessageOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new MessageOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns MessageOptions instance - */ - public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; - - /** - * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @param message MessageOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @param message MessageOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MessageOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MessageOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; - - /** - * Decodes a MessageOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MessageOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; - - /** - * Verifies a MessageOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MessageOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; - - /** - * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. - * @param message MessageOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MessageOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for MessageOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a FieldOptions. */ - interface IFieldOptions { - - /** FieldOptions ctype */ - ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); - - /** FieldOptions packed */ - packed?: (boolean|null); - - /** FieldOptions jstype */ - jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); - - /** FieldOptions lazy */ - lazy?: (boolean|null); - - /** FieldOptions unverifiedLazy */ - unverifiedLazy?: (boolean|null); - - /** FieldOptions deprecated */ - deprecated?: (boolean|null); - - /** FieldOptions weak */ - weak?: (boolean|null); - - /** FieldOptions debugRedact */ - debugRedact?: (boolean|null); - - /** FieldOptions retention */ - retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null); - - /** FieldOptions targets */ - targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null); - - /** FieldOptions editionDefaults */ - editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null); - - /** FieldOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** FieldOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** FieldOptions .google.api.fieldBehavior */ - ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null); - - /** FieldOptions .google.api.resourceReference */ - ".google.api.resourceReference"?: (google.api.IResourceReference|null); - } - - /** Represents a FieldOptions. */ - class FieldOptions implements IFieldOptions { - - /** - * Constructs a new FieldOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFieldOptions); - - /** FieldOptions ctype. */ - public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType); - - /** FieldOptions packed. */ - public packed: boolean; - - /** FieldOptions jstype. */ - public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); - - /** FieldOptions lazy. */ - public lazy: boolean; - - /** FieldOptions unverifiedLazy. */ - public unverifiedLazy: boolean; - - /** FieldOptions deprecated. */ - public deprecated: boolean; - - /** FieldOptions weak. */ - public weak: boolean; - - /** FieldOptions debugRedact. */ - public debugRedact: boolean; - - /** FieldOptions retention. */ - public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention); - - /** FieldOptions targets. */ - public targets: google.protobuf.FieldOptions.OptionTargetType[]; - - /** FieldOptions editionDefaults. */ - public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[]; - - /** FieldOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** FieldOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new FieldOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns FieldOptions instance - */ - public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; - - /** - * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @param message FieldOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @param message FieldOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FieldOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FieldOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; - - /** - * Decodes a FieldOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FieldOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; - - /** - * Verifies a FieldOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FieldOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; - - /** - * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. - * @param message FieldOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FieldOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FieldOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace FieldOptions { - - /** CType enum. */ - enum CType { - STRING = 0, - CORD = 1, - STRING_PIECE = 2 - } - - /** JSType enum. */ - enum JSType { - JS_NORMAL = 0, - JS_STRING = 1, - JS_NUMBER = 2 - } - - /** OptionRetention enum. */ - enum OptionRetention { - RETENTION_UNKNOWN = 0, - RETENTION_RUNTIME = 1, - RETENTION_SOURCE = 2 - } - - /** OptionTargetType enum. */ - enum OptionTargetType { - TARGET_TYPE_UNKNOWN = 0, - TARGET_TYPE_FILE = 1, - TARGET_TYPE_EXTENSION_RANGE = 2, - TARGET_TYPE_MESSAGE = 3, - TARGET_TYPE_FIELD = 4, - TARGET_TYPE_ONEOF = 5, - TARGET_TYPE_ENUM = 6, - TARGET_TYPE_ENUM_ENTRY = 7, - TARGET_TYPE_SERVICE = 8, - TARGET_TYPE_METHOD = 9 - } - - /** Properties of an EditionDefault. */ - interface IEditionDefault { - - /** EditionDefault edition */ - edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - - /** EditionDefault value */ - value?: (string|null); - } - - /** Represents an EditionDefault. */ - class EditionDefault implements IEditionDefault { - - /** - * Constructs a new EditionDefault. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.FieldOptions.IEditionDefault); - - /** EditionDefault edition. */ - public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - - /** EditionDefault value. */ - public value: string; - - /** - * Creates a new EditionDefault instance using the specified properties. - * @param [properties] Properties to set - * @returns EditionDefault instance - */ - public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault; - - /** - * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. - * @param message EditionDefault message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. - * @param message EditionDefault message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EditionDefault message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault; - - /** - * Decodes an EditionDefault message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault; - - /** - * Verifies an EditionDefault message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EditionDefault - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault; - - /** - * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. - * @param message EditionDefault - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EditionDefault to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EditionDefault - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of an OneofOptions. */ - interface IOneofOptions { - - /** OneofOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** OneofOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - } - - /** Represents an OneofOptions. */ - class OneofOptions implements IOneofOptions { - - /** - * Constructs a new OneofOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IOneofOptions); - - /** OneofOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** OneofOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new OneofOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns OneofOptions instance - */ - public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; - - /** - * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @param message OneofOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @param message OneofOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an OneofOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns OneofOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; - - /** - * Decodes an OneofOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns OneofOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; - - /** - * Verifies an OneofOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns OneofOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; - - /** - * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. - * @param message OneofOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this OneofOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for OneofOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an EnumOptions. */ - interface IEnumOptions { - - /** EnumOptions allowAlias */ - allowAlias?: (boolean|null); - - /** EnumOptions deprecated */ - deprecated?: (boolean|null); - - /** EnumOptions deprecatedLegacyJsonFieldConflicts */ - deprecatedLegacyJsonFieldConflicts?: (boolean|null); - - /** EnumOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** EnumOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - } - - /** Represents an EnumOptions. */ - class EnumOptions implements IEnumOptions { - - /** - * Constructs a new EnumOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IEnumOptions); - - /** EnumOptions allowAlias. */ - public allowAlias: boolean; - - /** EnumOptions deprecated. */ - public deprecated: boolean; - - /** EnumOptions deprecatedLegacyJsonFieldConflicts. */ - public deprecatedLegacyJsonFieldConflicts: boolean; - - /** EnumOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** EnumOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new EnumOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumOptions instance - */ - public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; - - /** - * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @param message EnumOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @param message EnumOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; - - /** - * Decodes an EnumOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; - - /** - * Verifies an EnumOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; - - /** - * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. - * @param message EnumOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EnumOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EnumOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an EnumValueOptions. */ - interface IEnumValueOptions { - - /** EnumValueOptions deprecated */ - deprecated?: (boolean|null); - - /** EnumValueOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** EnumValueOptions debugRedact */ - debugRedact?: (boolean|null); - - /** EnumValueOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - } - - /** Represents an EnumValueOptions. */ - class EnumValueOptions implements IEnumValueOptions { - - /** - * Constructs a new EnumValueOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IEnumValueOptions); - - /** EnumValueOptions deprecated. */ - public deprecated: boolean; - - /** EnumValueOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** EnumValueOptions debugRedact. */ - public debugRedact: boolean; - - /** EnumValueOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new EnumValueOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns EnumValueOptions instance - */ - public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; - - /** - * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @param message EnumValueOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @param message EnumValueOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an EnumValueOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EnumValueOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; - - /** - * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EnumValueOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; - - /** - * Verifies an EnumValueOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EnumValueOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; - - /** - * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. - * @param message EnumValueOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this EnumValueOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for EnumValueOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ServiceOptions. */ - interface IServiceOptions { - - /** ServiceOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** ServiceOptions deprecated */ - deprecated?: (boolean|null); - - /** ServiceOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** ServiceOptions .google.api.defaultHost */ - ".google.api.defaultHost"?: (string|null); - - /** ServiceOptions .google.api.oauthScopes */ - ".google.api.oauthScopes"?: (string|null); - - /** ServiceOptions .google.api.apiVersion */ - ".google.api.apiVersion"?: (string|null); - } - - /** Represents a ServiceOptions. */ - class ServiceOptions implements IServiceOptions { - - /** - * Constructs a new ServiceOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IServiceOptions); - - /** ServiceOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** ServiceOptions deprecated. */ - public deprecated: boolean; - - /** ServiceOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new ServiceOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns ServiceOptions instance - */ - public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; - - /** - * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @param message ServiceOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @param message ServiceOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ServiceOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; - - /** - * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; - - /** - * Verifies a ServiceOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ServiceOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; - - /** - * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. - * @param message ServiceOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ServiceOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ServiceOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a MethodOptions. */ - interface IMethodOptions { - - /** MethodOptions deprecated */ - deprecated?: (boolean|null); - - /** MethodOptions idempotencyLevel */ - idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); - - /** MethodOptions features */ - features?: (google.protobuf.IFeatureSet|null); - - /** MethodOptions uninterpretedOption */ - uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); - - /** MethodOptions .google.api.http */ - ".google.api.http"?: (google.api.IHttpRule|null); - - /** MethodOptions .google.api.methodSignature */ - ".google.api.methodSignature"?: (string[]|null); - } - - /** Represents a MethodOptions. */ - class MethodOptions implements IMethodOptions { - - /** - * Constructs a new MethodOptions. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IMethodOptions); - - /** MethodOptions deprecated. */ - public deprecated: boolean; - - /** MethodOptions idempotencyLevel. */ - public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); - - /** MethodOptions features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** MethodOptions uninterpretedOption. */ - public uninterpretedOption: google.protobuf.IUninterpretedOption[]; - - /** - * Creates a new MethodOptions instance using the specified properties. - * @param [properties] Properties to set - * @returns MethodOptions instance - */ - public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; - - /** - * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @param message MethodOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @param message MethodOptions message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a MethodOptions message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns MethodOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; - - /** - * Decodes a MethodOptions message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns MethodOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; - - /** - * Verifies a MethodOptions message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns MethodOptions - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; - - /** - * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. - * @param message MethodOptions - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this MethodOptions to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for MethodOptions - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace MethodOptions { - - /** IdempotencyLevel enum. */ - enum IdempotencyLevel { - IDEMPOTENCY_UNKNOWN = 0, - NO_SIDE_EFFECTS = 1, - IDEMPOTENT = 2 - } - } - - /** Properties of an UninterpretedOption. */ - interface IUninterpretedOption { - - /** UninterpretedOption name */ - name?: (google.protobuf.UninterpretedOption.INamePart[]|null); - - /** UninterpretedOption identifierValue */ - identifierValue?: (string|null); - - /** UninterpretedOption positiveIntValue */ - positiveIntValue?: (number|Long|string|null); - - /** UninterpretedOption negativeIntValue */ - negativeIntValue?: (number|Long|string|null); - - /** UninterpretedOption doubleValue */ - doubleValue?: (number|null); - - /** UninterpretedOption stringValue */ - stringValue?: (Uint8Array|string|null); - - /** UninterpretedOption aggregateValue */ - aggregateValue?: (string|null); - } - - /** Represents an UninterpretedOption. */ - class UninterpretedOption implements IUninterpretedOption { - - /** - * Constructs a new UninterpretedOption. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IUninterpretedOption); - - /** UninterpretedOption name. */ - public name: google.protobuf.UninterpretedOption.INamePart[]; - - /** UninterpretedOption identifierValue. */ - public identifierValue: string; - - /** UninterpretedOption positiveIntValue. */ - public positiveIntValue: (number|Long|string); - - /** UninterpretedOption negativeIntValue. */ - public negativeIntValue: (number|Long|string); - - /** UninterpretedOption doubleValue. */ - public doubleValue: number; - - /** UninterpretedOption stringValue. */ - public stringValue: (Uint8Array|string); - - /** UninterpretedOption aggregateValue. */ - public aggregateValue: string; - - /** - * Creates a new UninterpretedOption instance using the specified properties. - * @param [properties] Properties to set - * @returns UninterpretedOption instance - */ - public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; - - /** - * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @param message UninterpretedOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @param message UninterpretedOption message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UninterpretedOption message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UninterpretedOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; - - /** - * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UninterpretedOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; - - /** - * Verifies an UninterpretedOption message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UninterpretedOption - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; - - /** - * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. - * @param message UninterpretedOption - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UninterpretedOption to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UninterpretedOption - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace UninterpretedOption { - - /** Properties of a NamePart. */ - interface INamePart { - - /** NamePart namePart */ - namePart: string; - - /** NamePart isExtension */ - isExtension: boolean; - } - - /** Represents a NamePart. */ - class NamePart implements INamePart { - - /** - * Constructs a new NamePart. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.UninterpretedOption.INamePart); - - /** NamePart namePart. */ - public namePart: string; - - /** NamePart isExtension. */ - public isExtension: boolean; - - /** - * Creates a new NamePart instance using the specified properties. - * @param [properties] Properties to set - * @returns NamePart instance - */ - public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; - - /** - * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @param message NamePart message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @param message NamePart message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NamePart message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; - - /** - * Decodes a NamePart message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; - - /** - * Verifies a NamePart message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NamePart message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NamePart - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; - - /** - * Creates a plain object from a NamePart message. Also converts values to other types if specified. - * @param message NamePart - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NamePart to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for NamePart - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of a FeatureSet. */ - interface IFeatureSet { - - /** FeatureSet fieldPresence */ - fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null); - - /** FeatureSet enumType */ - enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null); - - /** FeatureSet repeatedFieldEncoding */ - repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null); - - /** FeatureSet utf8Validation */ - utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null); - - /** FeatureSet messageEncoding */ - messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null); - - /** FeatureSet jsonFormat */ - jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); - } - - /** Represents a FeatureSet. */ - class FeatureSet implements IFeatureSet { - - /** - * Constructs a new FeatureSet. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFeatureSet); - - /** FeatureSet fieldPresence. */ - public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence); - - /** FeatureSet enumType. */ - public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType); - - /** FeatureSet repeatedFieldEncoding. */ - public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding); - - /** FeatureSet utf8Validation. */ - public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation); - - /** FeatureSet messageEncoding. */ - public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding); - - /** FeatureSet jsonFormat. */ - public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); - - /** - * Creates a new FeatureSet instance using the specified properties. - * @param [properties] Properties to set - * @returns FeatureSet instance - */ - public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet; - - /** - * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. - * @param message FeatureSet message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. - * @param message FeatureSet message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FeatureSet message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FeatureSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet; - - /** - * Decodes a FeatureSet message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FeatureSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet; - - /** - * Verifies a FeatureSet message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FeatureSet - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet; - - /** - * Creates a plain object from a FeatureSet message. Also converts values to other types if specified. - * @param message FeatureSet - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FeatureSet to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FeatureSet - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace FeatureSet { - - /** FieldPresence enum. */ - enum FieldPresence { - FIELD_PRESENCE_UNKNOWN = 0, - EXPLICIT = 1, - IMPLICIT = 2, - LEGACY_REQUIRED = 3 - } - - /** EnumType enum. */ - enum EnumType { - ENUM_TYPE_UNKNOWN = 0, - OPEN = 1, - CLOSED = 2 - } - - /** RepeatedFieldEncoding enum. */ - enum RepeatedFieldEncoding { - REPEATED_FIELD_ENCODING_UNKNOWN = 0, - PACKED = 1, - EXPANDED = 2 - } - - /** Utf8Validation enum. */ - enum Utf8Validation { - UTF8_VALIDATION_UNKNOWN = 0, - VERIFY = 2, - NONE = 3 - } - - /** MessageEncoding enum. */ - enum MessageEncoding { - MESSAGE_ENCODING_UNKNOWN = 0, - LENGTH_PREFIXED = 1, - DELIMITED = 2 - } - - /** JsonFormat enum. */ - enum JsonFormat { - JSON_FORMAT_UNKNOWN = 0, - ALLOW = 1, - LEGACY_BEST_EFFORT = 2 - } - } - - /** Properties of a FeatureSetDefaults. */ - interface IFeatureSetDefaults { - - /** FeatureSetDefaults defaults */ - defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null); - - /** FeatureSetDefaults minimumEdition */ - minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - - /** FeatureSetDefaults maximumEdition */ - maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - } - - /** Represents a FeatureSetDefaults. */ - class FeatureSetDefaults implements IFeatureSetDefaults { - - /** - * Constructs a new FeatureSetDefaults. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFeatureSetDefaults); - - /** FeatureSetDefaults defaults. */ - public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]; - - /** FeatureSetDefaults minimumEdition. */ - public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - - /** FeatureSetDefaults maximumEdition. */ - public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - - /** - * Creates a new FeatureSetDefaults instance using the specified properties. - * @param [properties] Properties to set - * @returns FeatureSetDefaults instance - */ - public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults; - - /** - * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. - * @param message FeatureSetDefaults message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. - * @param message FeatureSetDefaults message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FeatureSetDefaults message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FeatureSetDefaults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults; - - /** - * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FeatureSetDefaults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults; - - /** - * Verifies a FeatureSetDefaults message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FeatureSetDefaults - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults; - - /** - * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified. - * @param message FeatureSetDefaults - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FeatureSetDefaults to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FeatureSetDefaults - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace FeatureSetDefaults { - - /** Properties of a FeatureSetEditionDefault. */ - interface IFeatureSetEditionDefault { - - /** FeatureSetEditionDefault edition */ - edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); - - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); - } - - /** Represents a FeatureSetEditionDefault. */ - class FeatureSetEditionDefault implements IFeatureSetEditionDefault { - - /** - * Constructs a new FeatureSetEditionDefault. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault); - - /** FeatureSetEditionDefault edition. */ - public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); - - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); - - /** - * Creates a new FeatureSetEditionDefault instance using the specified properties. - * @param [properties] Properties to set - * @returns FeatureSetEditionDefault instance - */ - public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; - - /** - * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. - * @param message FeatureSetEditionDefault message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. - * @param message FeatureSetEditionDefault message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FeatureSetEditionDefault message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FeatureSetEditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; - - /** - * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FeatureSetEditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; - - /** - * Verifies a FeatureSetEditionDefault message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FeatureSetEditionDefault - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; - - /** - * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified. - * @param message FeatureSetEditionDefault - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FeatureSetEditionDefault to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FeatureSetEditionDefault - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of a SourceCodeInfo. */ - interface ISourceCodeInfo { - - /** SourceCodeInfo location */ - location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); - } - - /** Represents a SourceCodeInfo. */ - class SourceCodeInfo implements ISourceCodeInfo { - - /** - * Constructs a new SourceCodeInfo. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.ISourceCodeInfo); - - /** SourceCodeInfo location. */ - public location: google.protobuf.SourceCodeInfo.ILocation[]; - - /** - * Creates a new SourceCodeInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns SourceCodeInfo instance - */ - public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; - - /** - * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @param message SourceCodeInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @param message SourceCodeInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a SourceCodeInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns SourceCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; - - /** - * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns SourceCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; - - /** - * Verifies a SourceCodeInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns SourceCodeInfo - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; - - /** - * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. - * @param message SourceCodeInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this SourceCodeInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for SourceCodeInfo - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace SourceCodeInfo { - - /** Properties of a Location. */ - interface ILocation { - - /** Location path */ - path?: (number[]|null); - - /** Location span */ - span?: (number[]|null); - - /** Location leadingComments */ - leadingComments?: (string|null); - - /** Location trailingComments */ - trailingComments?: (string|null); - - /** Location leadingDetachedComments */ - leadingDetachedComments?: (string[]|null); - } - - /** Represents a Location. */ - class Location implements ILocation { - - /** - * Constructs a new Location. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); - - /** Location path. */ - public path: number[]; - - /** Location span. */ - public span: number[]; - - /** Location leadingComments. */ - public leadingComments: string; - - /** Location trailingComments. */ - public trailingComments: string; - - /** Location leadingDetachedComments. */ - public leadingDetachedComments: string[]; - - /** - * Creates a new Location instance using the specified properties. - * @param [properties] Properties to set - * @returns Location instance - */ - public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; - - /** - * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @param message Location message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Location message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; - - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; - - /** - * Verifies a Location message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Location - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; - - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @param message Location - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Location to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Location - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Properties of a GeneratedCodeInfo. */ - interface IGeneratedCodeInfo { - - /** GeneratedCodeInfo annotation */ - annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); - } - - /** Represents a GeneratedCodeInfo. */ - class GeneratedCodeInfo implements IGeneratedCodeInfo { - - /** - * Constructs a new GeneratedCodeInfo. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IGeneratedCodeInfo); - - /** GeneratedCodeInfo annotation. */ - public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; - - /** - * Creates a new GeneratedCodeInfo instance using the specified properties. - * @param [properties] Properties to set - * @returns GeneratedCodeInfo instance - */ - public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; - - /** - * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @param message GeneratedCodeInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @param message GeneratedCodeInfo message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GeneratedCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; - - /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GeneratedCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; - - /** - * Verifies a GeneratedCodeInfo message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GeneratedCodeInfo - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; - - /** - * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. - * @param message GeneratedCodeInfo - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GeneratedCodeInfo to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for GeneratedCodeInfo - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace GeneratedCodeInfo { - - /** Properties of an Annotation. */ - interface IAnnotation { - - /** Annotation path */ - path?: (number[]|null); - - /** Annotation sourceFile */ - sourceFile?: (string|null); - - /** Annotation begin */ - begin?: (number|null); - - /** Annotation end */ - end?: (number|null); - - /** Annotation semantic */ - semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); - } - - /** Represents an Annotation. */ - class Annotation implements IAnnotation { - - /** - * Constructs a new Annotation. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); - - /** Annotation path. */ - public path: number[]; - - /** Annotation sourceFile. */ - public sourceFile: string; - - /** Annotation begin. */ - public begin: number; - - /** Annotation end. */ - public end: number; - - /** Annotation semantic. */ - public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic); - - /** - * Creates a new Annotation instance using the specified properties. - * @param [properties] Properties to set - * @returns Annotation instance - */ - public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; - - /** - * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @param message Annotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @param message Annotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Annotation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; - - /** - * Decodes an Annotation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; - - /** - * Verifies an Annotation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Annotation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Annotation - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; - - /** - * Creates a plain object from an Annotation message. Also converts values to other types if specified. - * @param message Annotation - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Annotation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Annotation - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace Annotation { - - /** Semantic enum. */ - enum Semantic { - NONE = 0, - SET = 1, - ALIAS = 2 - } - } - } - - /** Properties of a Duration. */ - interface IDuration { - - /** Duration seconds */ - seconds?: (number|Long|string|null); - - /** Duration nanos */ - nanos?: (number|null); - } - - /** Represents a Duration. */ - class Duration implements IDuration { - - /** - * Constructs a new Duration. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IDuration); - - /** Duration seconds. */ - public seconds: (number|Long|string); - - /** Duration nanos. */ - public nanos: number; - - /** - * Creates a new Duration instance using the specified properties. - * @param [properties] Properties to set - * @returns Duration instance - */ - public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; - - /** - * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @param message Duration message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @param message Duration message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Duration message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; - - /** - * Decodes a Duration message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; - - /** - * Verifies a Duration message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Duration message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Duration - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; - - /** - * Creates a plain object from a Duration message. Also converts values to other types if specified. - * @param message Duration - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Duration to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Duration - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an Empty. */ - interface IEmpty { - } - - /** Represents an Empty. */ - class Empty implements IEmpty { - - /** - * Constructs a new Empty. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IEmpty); - - /** - * Creates a new Empty instance using the specified properties. - * @param [properties] Properties to set - * @returns Empty instance - */ - public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty; - - /** - * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. - * @param message Empty message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. - * @param message Empty message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Empty message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Empty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty; - - /** - * Decodes an Empty message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Empty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty; - - /** - * Verifies an Empty message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Empty message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Empty - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Empty; - - /** - * Creates a plain object from an Empty message. Also converts values to other types if specified. - * @param message Empty - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Empty to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Empty - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a Timestamp. */ - interface ITimestamp { - - /** Timestamp seconds */ - seconds?: (number|Long|string|null); - - /** Timestamp nanos */ - nanos?: (number|null); - } - - /** Represents a Timestamp. */ - class Timestamp implements ITimestamp { - - /** - * Constructs a new Timestamp. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.ITimestamp); - - /** Timestamp seconds. */ - public seconds: (number|Long|string); - - /** Timestamp nanos. */ - public nanos: number; - - /** - * Creates a new Timestamp instance using the specified properties. - * @param [properties] Properties to set - * @returns Timestamp instance - */ - public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; - - /** - * Verifies a Timestamp message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Timestamp - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @param message Timestamp - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Timestamp to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Timestamp - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } - - /** Namespace type. */ - namespace type { - - /** Properties of an Interval. */ - interface IInterval { - - /** Interval startTime */ - startTime?: (google.protobuf.ITimestamp|null); - - /** Interval endTime */ - endTime?: (google.protobuf.ITimestamp|null); - } - - /** Represents an Interval. */ - class Interval implements IInterval { - - /** - * Constructs a new Interval. - * @param [properties] Properties to set - */ - constructor(properties?: google.type.IInterval); - - /** Interval startTime. */ - public startTime?: (google.protobuf.ITimestamp|null); - - /** Interval endTime. */ - public endTime?: (google.protobuf.ITimestamp|null); - - /** - * Creates a new Interval instance using the specified properties. - * @param [properties] Properties to set - * @returns Interval instance - */ - public static create(properties?: google.type.IInterval): google.type.Interval; - - /** - * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages. - * @param message Interval message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages. - * @param message Interval message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Interval message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Interval - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Interval; - - /** - * Decodes an Interval message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Interval - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Interval; - - /** - * Verifies an Interval message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates an Interval message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Interval - */ - public static fromObject(object: { [k: string]: any }): google.type.Interval; - - /** - * Creates a plain object from an Interval message. Also converts values to other types if specified. - * @param message Interval - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.type.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Interval to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Interval - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js deleted file mode 100644 index 9cfabe526f3..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.js +++ /dev/null @@ -1,32903 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ -(function(global, factory) { /* global define, require, module */ - - /* AMD */ if (typeof define === 'function' && define.amd) - define(["protobufjs/minimal"], factory); - - /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) - module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal); - -})(this, function($protobuf) { - "use strict"; - - // Common aliases - var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; - - // Exported root namespace - var $root = $protobuf.roots._google_shopping_products_protos || ($protobuf.roots._google_shopping_products_protos = {}); - - $root.google = (function() { - - /** - * Namespace google. - * @exports google - * @namespace - */ - var google = {}; - - google.shopping = (function() { - - /** - * Namespace shopping. - * @memberof google - * @namespace - */ - var shopping = {}; - - shopping.merchant = (function() { - - /** - * Namespace merchant. - * @memberof google.shopping - * @namespace - */ - var merchant = {}; - - merchant.products = (function() { - - /** - * Namespace products. - * @memberof google.shopping.merchant - * @namespace - */ - var products = {}; - - products.v1beta = (function() { - - /** - * Namespace v1beta. - * @memberof google.shopping.merchant.products - * @namespace - */ - var v1beta = {}; - - v1beta.ProductInputsService = (function() { - - /** - * Constructs a new ProductInputsService service. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductInputsService - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function ProductInputsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ProductInputsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductInputsService; - - /** - * Creates new ProductInputsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {ProductInputsService} RPC service. Useful where requests and/or responses are streamed. - */ - ProductInputsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|insertProductInput}. - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @typedef InsertProductInputCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.merchant.products.v1beta.ProductInput} [response] ProductInput - */ - - /** - * Calls InsertProductInput. - * @function insertProductInput - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} request InsertProductInputRequest message or plain object - * @param {google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInputCallback} callback Node-style callback called with the error, if any, and ProductInput - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductInputsService.prototype.insertProductInput = function insertProductInput(request, callback) { - return this.rpcCall(insertProductInput, $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest, $root.google.shopping.merchant.products.v1beta.ProductInput, request, callback); - }, "name", { value: "InsertProductInput" }); - - /** - * Calls InsertProductInput. - * @function insertProductInput - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} request InsertProductInputRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductInputsService|deleteProductInput}. - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @typedef DeleteProductInputCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty - */ - - /** - * Calls DeleteProductInput. - * @function deleteProductInput - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} request DeleteProductInputRequest message or plain object - * @param {google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInputCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductInputsService.prototype.deleteProductInput = function deleteProductInput(request, callback) { - return this.rpcCall(deleteProductInput, $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteProductInput" }); - - /** - * Calls DeleteProductInput. - * @function deleteProductInput - * @memberof google.shopping.merchant.products.v1beta.ProductInputsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} request DeleteProductInputRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ProductInputsService; - })(); - - v1beta.ProductInput = (function() { - - /** - * Properties of a ProductInput. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductInput - * @property {string|null} [name] ProductInput name - * @property {string|null} [product] ProductInput product - * @property {google.shopping.type.Channel.ChannelEnum|null} [channel] ProductInput channel - * @property {string|null} [offerId] ProductInput offerId - * @property {string|null} [contentLanguage] ProductInput contentLanguage - * @property {string|null} [feedLabel] ProductInput feedLabel - * @property {number|Long|null} [versionNumber] ProductInput versionNumber - * @property {google.shopping.merchant.products.v1beta.IAttributes|null} [attributes] ProductInput attributes - * @property {Array.|null} [customAttributes] ProductInput customAttributes - */ - - /** - * Constructs a new ProductInput. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductInput. - * @implements IProductInput - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductInput=} [properties] Properties to set - */ - function ProductInput(properties) { - this.customAttributes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductInput name. - * @member {string} name - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.name = ""; - - /** - * ProductInput product. - * @member {string} product - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.product = ""; - - /** - * ProductInput channel. - * @member {google.shopping.type.Channel.ChannelEnum} channel - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.channel = 0; - - /** - * ProductInput offerId. - * @member {string} offerId - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.offerId = ""; - - /** - * ProductInput contentLanguage. - * @member {string} contentLanguage - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.contentLanguage = ""; - - /** - * ProductInput feedLabel. - * @member {string} feedLabel - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.feedLabel = ""; - - /** - * ProductInput versionNumber. - * @member {number|Long|null|undefined} versionNumber - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.versionNumber = null; - - /** - * ProductInput attributes. - * @member {google.shopping.merchant.products.v1beta.IAttributes|null|undefined} attributes - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.attributes = null; - - /** - * ProductInput customAttributes. - * @member {Array.} customAttributes - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - ProductInput.prototype.customAttributes = $util.emptyArray; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ProductInput _versionNumber. - * @member {"versionNumber"|undefined} _versionNumber - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - */ - Object.defineProperty(ProductInput.prototype, "_versionNumber", { - get: $util.oneOfGetter($oneOfFields = ["versionNumber"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ProductInput instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {google.shopping.merchant.products.v1beta.IProductInput=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput instance - */ - ProductInput.create = function create(properties) { - return new ProductInput(properties); - }; - - /** - * Encodes the specified ProductInput message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {google.shopping.merchant.products.v1beta.IProductInput} message ProductInput message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductInput.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); - if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.channel); - if (message.offerId != null && Object.hasOwnProperty.call(message, "offerId")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.offerId); - if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.contentLanguage); - if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.feedLabel); - if (message.versionNumber != null && Object.hasOwnProperty.call(message, "versionNumber")) - writer.uint32(/* id 7, wireType 0 =*/56).int64(message.versionNumber); - if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) - $root.google.shopping.merchant.products.v1beta.Attributes.encode(message.attributes, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.customAttributes != null && message.customAttributes.length) - for (var i = 0; i < message.customAttributes.length; ++i) - $root.google.shopping.type.CustomAttribute.encode(message.customAttributes[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ProductInput message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductInput.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {google.shopping.merchant.products.v1beta.IProductInput} message ProductInput message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductInput.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductInput message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductInput.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductInput(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.product = reader.string(); - break; - } - case 3: { - message.channel = reader.int32(); - break; - } - case 4: { - message.offerId = reader.string(); - break; - } - case 5: { - message.contentLanguage = reader.string(); - break; - } - case 6: { - message.feedLabel = reader.string(); - break; - } - case 7: { - message.versionNumber = reader.int64(); - break; - } - case 8: { - message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.decode(reader, reader.uint32()); - break; - } - case 9: { - if (!(message.customAttributes && message.customAttributes.length)) - message.customAttributes = []; - message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductInput message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductInput.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductInput message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductInput.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.product != null && message.hasOwnProperty("product")) - if (!$util.isString(message.product)) - return "product: string expected"; - if (message.channel != null && message.hasOwnProperty("channel")) - switch (message.channel) { - default: - return "channel: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.offerId != null && message.hasOwnProperty("offerId")) - if (!$util.isString(message.offerId)) - return "offerId: string expected"; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - if (!$util.isString(message.contentLanguage)) - return "contentLanguage: string expected"; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - if (!$util.isString(message.feedLabel)) - return "feedLabel: string expected"; - if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { - properties._versionNumber = 1; - if (!$util.isInteger(message.versionNumber) && !(message.versionNumber && $util.isInteger(message.versionNumber.low) && $util.isInteger(message.versionNumber.high))) - return "versionNumber: integer|Long expected"; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) { - var error = $root.google.shopping.merchant.products.v1beta.Attributes.verify(message.attributes); - if (error) - return "attributes." + error; - } - if (message.customAttributes != null && message.hasOwnProperty("customAttributes")) { - if (!Array.isArray(message.customAttributes)) - return "customAttributes: array expected"; - for (var i = 0; i < message.customAttributes.length; ++i) { - var error = $root.google.shopping.type.CustomAttribute.verify(message.customAttributes[i]); - if (error) - return "customAttributes." + error; - } - } - return null; - }; - - /** - * Creates a ProductInput message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductInput} ProductInput - */ - ProductInput.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductInput) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductInput(); - if (object.name != null) - message.name = String(object.name); - if (object.product != null) - message.product = String(object.product); - switch (object.channel) { - default: - if (typeof object.channel === "number") { - message.channel = object.channel; - break; - } - break; - case "CHANNEL_ENUM_UNSPECIFIED": - case 0: - message.channel = 0; - break; - case "ONLINE": - case 1: - message.channel = 1; - break; - case "LOCAL": - case 2: - message.channel = 2; - break; - } - if (object.offerId != null) - message.offerId = String(object.offerId); - if (object.contentLanguage != null) - message.contentLanguage = String(object.contentLanguage); - if (object.feedLabel != null) - message.feedLabel = String(object.feedLabel); - if (object.versionNumber != null) - if ($util.Long) - (message.versionNumber = $util.Long.fromValue(object.versionNumber)).unsigned = false; - else if (typeof object.versionNumber === "string") - message.versionNumber = parseInt(object.versionNumber, 10); - else if (typeof object.versionNumber === "number") - message.versionNumber = object.versionNumber; - else if (typeof object.versionNumber === "object") - message.versionNumber = new $util.LongBits(object.versionNumber.low >>> 0, object.versionNumber.high >>> 0).toNumber(); - if (object.attributes != null) { - if (typeof object.attributes !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.attributes: object expected"); - message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.fromObject(object.attributes); - } - if (object.customAttributes) { - if (!Array.isArray(object.customAttributes)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.customAttributes: array expected"); - message.customAttributes = []; - for (var i = 0; i < object.customAttributes.length; ++i) { - if (typeof object.customAttributes[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductInput.customAttributes: object expected"); - message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ProductInput message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {google.shopping.merchant.products.v1beta.ProductInput} message ProductInput - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductInput.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.customAttributes = []; - if (options.defaults) { - object.name = ""; - object.product = ""; - object.channel = options.enums === String ? "CHANNEL_ENUM_UNSPECIFIED" : 0; - object.offerId = ""; - object.contentLanguage = ""; - object.feedLabel = ""; - object.attributes = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.product != null && message.hasOwnProperty("product")) - object.product = message.product; - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = options.enums === String ? $root.google.shopping.type.Channel.ChannelEnum[message.channel] === undefined ? message.channel : $root.google.shopping.type.Channel.ChannelEnum[message.channel] : message.channel; - if (message.offerId != null && message.hasOwnProperty("offerId")) - object.offerId = message.offerId; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - object.contentLanguage = message.contentLanguage; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - object.feedLabel = message.feedLabel; - if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { - if (typeof message.versionNumber === "number") - object.versionNumber = options.longs === String ? String(message.versionNumber) : message.versionNumber; - else - object.versionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.versionNumber) : options.longs === Number ? new $util.LongBits(message.versionNumber.low >>> 0, message.versionNumber.high >>> 0).toNumber() : message.versionNumber; - if (options.oneofs) - object._versionNumber = "versionNumber"; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) - object.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.toObject(message.attributes, options); - if (message.customAttributes && message.customAttributes.length) { - object.customAttributes = []; - for (var j = 0; j < message.customAttributes.length; ++j) - object.customAttributes[j] = $root.google.shopping.type.CustomAttribute.toObject(message.customAttributes[j], options); - } - return object; - }; - - /** - * Converts this ProductInput to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @instance - * @returns {Object.} JSON object - */ - ProductInput.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductInput - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductInput - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductInput.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductInput"; - }; - - return ProductInput; - })(); - - v1beta.InsertProductInputRequest = (function() { - - /** - * Properties of an InsertProductInputRequest. - * @memberof google.shopping.merchant.products.v1beta - * @interface IInsertProductInputRequest - * @property {string|null} [parent] InsertProductInputRequest parent - * @property {google.shopping.merchant.products.v1beta.IProductInput|null} [productInput] InsertProductInputRequest productInput - * @property {string|null} [dataSource] InsertProductInputRequest dataSource - */ - - /** - * Constructs a new InsertProductInputRequest. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents an InsertProductInputRequest. - * @implements IInsertProductInputRequest - * @constructor - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest=} [properties] Properties to set - */ - function InsertProductInputRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * InsertProductInputRequest parent. - * @member {string} parent - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @instance - */ - InsertProductInputRequest.prototype.parent = ""; - - /** - * InsertProductInputRequest productInput. - * @member {google.shopping.merchant.products.v1beta.IProductInput|null|undefined} productInput - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @instance - */ - InsertProductInputRequest.prototype.productInput = null; - - /** - * InsertProductInputRequest dataSource. - * @member {string} dataSource - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @instance - */ - InsertProductInputRequest.prototype.dataSource = ""; - - /** - * Creates a new InsertProductInputRequest instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest instance - */ - InsertProductInputRequest.create = function create(properties) { - return new InsertProductInputRequest(properties); - }; - - /** - * Encodes the specified InsertProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} message InsertProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InsertProductInputRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productInput != null && Object.hasOwnProperty.call(message, "productInput")) - $root.google.shopping.merchant.products.v1beta.ProductInput.encode(message.productInput, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.dataSource); - return writer; - }; - - /** - * Encodes the specified InsertProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.InsertProductInputRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IInsertProductInputRequest} message InsertProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InsertProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an InsertProductInputRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InsertProductInputRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.parent = reader.string(); - break; - } - case 2: { - message.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.decode(reader, reader.uint32()); - break; - } - case 3: { - message.dataSource = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an InsertProductInputRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InsertProductInputRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an InsertProductInputRequest message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - InsertProductInputRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.parent != null && message.hasOwnProperty("parent")) - if (!$util.isString(message.parent)) - return "parent: string expected"; - if (message.productInput != null && message.hasOwnProperty("productInput")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductInput.verify(message.productInput); - if (error) - return "productInput." + error; - } - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - if (!$util.isString(message.dataSource)) - return "dataSource: string expected"; - return null; - }; - - /** - * Creates an InsertProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.InsertProductInputRequest} InsertProductInputRequest - */ - InsertProductInputRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.InsertProductInputRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.productInput != null) { - if (typeof object.productInput !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.InsertProductInputRequest.productInput: object expected"); - message.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.fromObject(object.productInput); - } - if (object.dataSource != null) - message.dataSource = String(object.dataSource); - return message; - }; - - /** - * Creates a plain object from an InsertProductInputRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.InsertProductInputRequest} message InsertProductInputRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - InsertProductInputRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.parent = ""; - object.productInput = null; - object.dataSource = ""; - } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.productInput != null && message.hasOwnProperty("productInput")) - object.productInput = $root.google.shopping.merchant.products.v1beta.ProductInput.toObject(message.productInput, options); - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - object.dataSource = message.dataSource; - return object; - }; - - /** - * Converts this InsertProductInputRequest to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @instance - * @returns {Object.} JSON object - */ - InsertProductInputRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for InsertProductInputRequest - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.InsertProductInputRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - InsertProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.InsertProductInputRequest"; - }; - - return InsertProductInputRequest; - })(); - - v1beta.DeleteProductInputRequest = (function() { - - /** - * Properties of a DeleteProductInputRequest. - * @memberof google.shopping.merchant.products.v1beta - * @interface IDeleteProductInputRequest - * @property {string|null} [name] DeleteProductInputRequest name - * @property {string|null} [dataSource] DeleteProductInputRequest dataSource - */ - - /** - * Constructs a new DeleteProductInputRequest. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a DeleteProductInputRequest. - * @implements IDeleteProductInputRequest - * @constructor - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest=} [properties] Properties to set - */ - function DeleteProductInputRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DeleteProductInputRequest name. - * @member {string} name - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @instance - */ - DeleteProductInputRequest.prototype.name = ""; - - /** - * DeleteProductInputRequest dataSource. - * @member {string} dataSource - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @instance - */ - DeleteProductInputRequest.prototype.dataSource = ""; - - /** - * Creates a new DeleteProductInputRequest instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest instance - */ - DeleteProductInputRequest.create = function create(properties) { - return new DeleteProductInputRequest(properties); - }; - - /** - * Encodes the specified DeleteProductInputRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} message DeleteProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteProductInputRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.dataSource); - return writer; - }; - - /** - * Encodes the specified DeleteProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.DeleteProductInputRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IDeleteProductInputRequest} message DeleteProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DeleteProductInputRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteProductInputRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.dataSource = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DeleteProductInputRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteProductInputRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DeleteProductInputRequest message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DeleteProductInputRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - if (!$util.isString(message.dataSource)) - return "dataSource: string expected"; - return null; - }; - - /** - * Creates a DeleteProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} DeleteProductInputRequest - */ - DeleteProductInputRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.DeleteProductInputRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.dataSource != null) - message.dataSource = String(object.dataSource); - return message; - }; - - /** - * Creates a plain object from a DeleteProductInputRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {google.shopping.merchant.products.v1beta.DeleteProductInputRequest} message DeleteProductInputRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DeleteProductInputRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - object.dataSource = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - object.dataSource = message.dataSource; - return object; - }; - - /** - * Converts this DeleteProductInputRequest to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @instance - * @returns {Object.} JSON object - */ - DeleteProductInputRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DeleteProductInputRequest - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.DeleteProductInputRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DeleteProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.DeleteProductInputRequest"; - }; - - return DeleteProductInputRequest; - })(); - - /** - * SubscriptionPeriod enum. - * @name google.shopping.merchant.products.v1beta.SubscriptionPeriod - * @enum {number} - * @property {number} SUBSCRIPTION_PERIOD_UNSPECIFIED=0 SUBSCRIPTION_PERIOD_UNSPECIFIED value - * @property {number} MONTH=1 MONTH value - * @property {number} YEAR=2 YEAR value - */ - v1beta.SubscriptionPeriod = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "SUBSCRIPTION_PERIOD_UNSPECIFIED"] = 0; - values[valuesById[1] = "MONTH"] = 1; - values[valuesById[2] = "YEAR"] = 2; - return values; - })(); - - v1beta.Attributes = (function() { - - /** - * Properties of an Attributes. - * @memberof google.shopping.merchant.products.v1beta - * @interface IAttributes - * @property {boolean|null} [identifierExists] Attributes identifierExists - * @property {boolean|null} [isBundle] Attributes isBundle - * @property {string|null} [title] Attributes title - * @property {string|null} [description] Attributes description - * @property {string|null} [link] Attributes link - * @property {string|null} [mobileLink] Attributes mobileLink - * @property {string|null} [canonicalLink] Attributes canonicalLink - * @property {string|null} [imageLink] Attributes imageLink - * @property {Array.|null} [additionalImageLinks] Attributes additionalImageLinks - * @property {google.protobuf.ITimestamp|null} [expirationDate] Attributes expirationDate - * @property {google.protobuf.ITimestamp|null} [disclosureDate] Attributes disclosureDate - * @property {boolean|null} [adult] Attributes adult - * @property {string|null} [ageGroup] Attributes ageGroup - * @property {string|null} [availability] Attributes availability - * @property {google.protobuf.ITimestamp|null} [availabilityDate] Attributes availabilityDate - * @property {string|null} [brand] Attributes brand - * @property {string|null} [color] Attributes color - * @property {string|null} [condition] Attributes condition - * @property {string|null} [gender] Attributes gender - * @property {string|null} [googleProductCategory] Attributes googleProductCategory - * @property {Array.|null} [gtin] Attributes gtin - * @property {string|null} [itemGroupId] Attributes itemGroupId - * @property {string|null} [material] Attributes material - * @property {string|null} [mpn] Attributes mpn - * @property {string|null} [pattern] Attributes pattern - * @property {google.shopping.type.IPrice|null} [price] Attributes price - * @property {google.shopping.merchant.products.v1beta.IInstallment|null} [installment] Attributes installment - * @property {google.shopping.merchant.products.v1beta.ISubscriptionCost|null} [subscriptionCost] Attributes subscriptionCost - * @property {google.shopping.merchant.products.v1beta.ILoyaltyPoints|null} [loyaltyPoints] Attributes loyaltyPoints - * @property {Array.|null} [loyaltyPrograms] Attributes loyaltyPrograms - * @property {Array.|null} [productTypes] Attributes productTypes - * @property {google.shopping.type.IPrice|null} [salePrice] Attributes salePrice - * @property {google.type.IInterval|null} [salePriceEffectiveDate] Attributes salePriceEffectiveDate - * @property {number|Long|null} [sellOnGoogleQuantity] Attributes sellOnGoogleQuantity - * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productHeight] Attributes productHeight - * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productLength] Attributes productLength - * @property {google.shopping.merchant.products.v1beta.IProductDimension|null} [productWidth] Attributes productWidth - * @property {google.shopping.merchant.products.v1beta.IProductWeight|null} [productWeight] Attributes productWeight - * @property {Array.|null} [shipping] Attributes shipping - * @property {Array.|null} [freeShippingThreshold] Attributes freeShippingThreshold - * @property {google.shopping.merchant.products.v1beta.IShippingWeight|null} [shippingWeight] Attributes shippingWeight - * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingLength] Attributes shippingLength - * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingWidth] Attributes shippingWidth - * @property {google.shopping.merchant.products.v1beta.IShippingDimension|null} [shippingHeight] Attributes shippingHeight - * @property {number|Long|null} [maxHandlingTime] Attributes maxHandlingTime - * @property {number|Long|null} [minHandlingTime] Attributes minHandlingTime - * @property {string|null} [shippingLabel] Attributes shippingLabel - * @property {string|null} [transitTimeLabel] Attributes transitTimeLabel - * @property {string|null} [size] Attributes size - * @property {string|null} [sizeSystem] Attributes sizeSystem - * @property {Array.|null} [sizeTypes] Attributes sizeTypes - * @property {Array.|null} [taxes] Attributes taxes - * @property {string|null} [taxCategory] Attributes taxCategory - * @property {string|null} [energyEfficiencyClass] Attributes energyEfficiencyClass - * @property {string|null} [minEnergyEfficiencyClass] Attributes minEnergyEfficiencyClass - * @property {string|null} [maxEnergyEfficiencyClass] Attributes maxEnergyEfficiencyClass - * @property {google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null} [unitPricingMeasure] Attributes unitPricingMeasure - * @property {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null} [unitPricingBaseMeasure] Attributes unitPricingBaseMeasure - * @property {number|Long|null} [multipack] Attributes multipack - * @property {string|null} [adsGrouping] Attributes adsGrouping - * @property {Array.|null} [adsLabels] Attributes adsLabels - * @property {string|null} [adsRedirect] Attributes adsRedirect - * @property {google.shopping.type.IPrice|null} [costOfGoodsSold] Attributes costOfGoodsSold - * @property {Array.|null} [productDetails] Attributes productDetails - * @property {Array.|null} [productHighlights] Attributes productHighlights - * @property {string|null} [displayAdsId] Attributes displayAdsId - * @property {Array.|null} [displayAdsSimilarIds] Attributes displayAdsSimilarIds - * @property {string|null} [displayAdsTitle] Attributes displayAdsTitle - * @property {string|null} [displayAdsLink] Attributes displayAdsLink - * @property {number|null} [displayAdsValue] Attributes displayAdsValue - * @property {Array.|null} [promotionIds] Attributes promotionIds - * @property {string|null} [pickupMethod] Attributes pickupMethod - * @property {string|null} [pickupSla] Attributes pickupSla - * @property {string|null} [linkTemplate] Attributes linkTemplate - * @property {string|null} [mobileLinkTemplate] Attributes mobileLinkTemplate - * @property {string|null} [customLabel_0] Attributes customLabel_0 - * @property {string|null} [customLabel_1] Attributes customLabel_1 - * @property {string|null} [customLabel_2] Attributes customLabel_2 - * @property {string|null} [customLabel_3] Attributes customLabel_3 - * @property {string|null} [customLabel_4] Attributes customLabel_4 - * @property {Array.|null} [includedDestinations] Attributes includedDestinations - * @property {Array.|null} [excludedDestinations] Attributes excludedDestinations - * @property {Array.|null} [shoppingAdsExcludedCountries] Attributes shoppingAdsExcludedCountries - * @property {string|null} [externalSellerId] Attributes externalSellerId - * @property {string|null} [pause] Attributes pause - * @property {Array.|null} [lifestyleImageLinks] Attributes lifestyleImageLinks - * @property {Array.|null} [cloudExportAdditionalProperties] Attributes cloudExportAdditionalProperties - * @property {string|null} [virtualModelLink] Attributes virtualModelLink - * @property {Array.|null} [certifications] Attributes certifications - * @property {google.shopping.merchant.products.v1beta.IProductStructuredTitle|null} [structuredTitle] Attributes structuredTitle - * @property {google.shopping.merchant.products.v1beta.IProductStructuredDescription|null} [structuredDescription] Attributes structuredDescription - * @property {google.shopping.type.IPrice|null} [autoPricingMinPrice] Attributes autoPricingMinPrice - */ - - /** - * Constructs a new Attributes. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents an Attributes. - * @implements IAttributes - * @constructor - * @param {google.shopping.merchant.products.v1beta.IAttributes=} [properties] Properties to set - */ - function Attributes(properties) { - this.additionalImageLinks = []; - this.gtin = []; - this.loyaltyPrograms = []; - this.productTypes = []; - this.shipping = []; - this.freeShippingThreshold = []; - this.sizeTypes = []; - this.taxes = []; - this.adsLabels = []; - this.productDetails = []; - this.productHighlights = []; - this.displayAdsSimilarIds = []; - this.promotionIds = []; - this.includedDestinations = []; - this.excludedDestinations = []; - this.shoppingAdsExcludedCountries = []; - this.lifestyleImageLinks = []; - this.cloudExportAdditionalProperties = []; - this.certifications = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Attributes identifierExists. - * @member {boolean|null|undefined} identifierExists - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.identifierExists = null; - - /** - * Attributes isBundle. - * @member {boolean|null|undefined} isBundle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.isBundle = null; - - /** - * Attributes title. - * @member {string|null|undefined} title - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.title = null; - - /** - * Attributes description. - * @member {string|null|undefined} description - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.description = null; - - /** - * Attributes link. - * @member {string|null|undefined} link - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.link = null; - - /** - * Attributes mobileLink. - * @member {string|null|undefined} mobileLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.mobileLink = null; - - /** - * Attributes canonicalLink. - * @member {string|null|undefined} canonicalLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.canonicalLink = null; - - /** - * Attributes imageLink. - * @member {string|null|undefined} imageLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.imageLink = null; - - /** - * Attributes additionalImageLinks. - * @member {Array.} additionalImageLinks - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.additionalImageLinks = $util.emptyArray; - - /** - * Attributes expirationDate. - * @member {google.protobuf.ITimestamp|null|undefined} expirationDate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.expirationDate = null; - - /** - * Attributes disclosureDate. - * @member {google.protobuf.ITimestamp|null|undefined} disclosureDate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.disclosureDate = null; - - /** - * Attributes adult. - * @member {boolean|null|undefined} adult - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.adult = null; - - /** - * Attributes ageGroup. - * @member {string|null|undefined} ageGroup - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.ageGroup = null; - - /** - * Attributes availability. - * @member {string|null|undefined} availability - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.availability = null; - - /** - * Attributes availabilityDate. - * @member {google.protobuf.ITimestamp|null|undefined} availabilityDate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.availabilityDate = null; - - /** - * Attributes brand. - * @member {string|null|undefined} brand - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.brand = null; - - /** - * Attributes color. - * @member {string|null|undefined} color - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.color = null; - - /** - * Attributes condition. - * @member {string|null|undefined} condition - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.condition = null; - - /** - * Attributes gender. - * @member {string|null|undefined} gender - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.gender = null; - - /** - * Attributes googleProductCategory. - * @member {string|null|undefined} googleProductCategory - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.googleProductCategory = null; - - /** - * Attributes gtin. - * @member {Array.} gtin - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.gtin = $util.emptyArray; - - /** - * Attributes itemGroupId. - * @member {string|null|undefined} itemGroupId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.itemGroupId = null; - - /** - * Attributes material. - * @member {string|null|undefined} material - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.material = null; - - /** - * Attributes mpn. - * @member {string|null|undefined} mpn - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.mpn = null; - - /** - * Attributes pattern. - * @member {string|null|undefined} pattern - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.pattern = null; - - /** - * Attributes price. - * @member {google.shopping.type.IPrice|null|undefined} price - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.price = null; - - /** - * Attributes installment. - * @member {google.shopping.merchant.products.v1beta.IInstallment|null|undefined} installment - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.installment = null; - - /** - * Attributes subscriptionCost. - * @member {google.shopping.merchant.products.v1beta.ISubscriptionCost|null|undefined} subscriptionCost - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.subscriptionCost = null; - - /** - * Attributes loyaltyPoints. - * @member {google.shopping.merchant.products.v1beta.ILoyaltyPoints|null|undefined} loyaltyPoints - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.loyaltyPoints = null; - - /** - * Attributes loyaltyPrograms. - * @member {Array.} loyaltyPrograms - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.loyaltyPrograms = $util.emptyArray; - - /** - * Attributes productTypes. - * @member {Array.} productTypes - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productTypes = $util.emptyArray; - - /** - * Attributes salePrice. - * @member {google.shopping.type.IPrice|null|undefined} salePrice - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.salePrice = null; - - /** - * Attributes salePriceEffectiveDate. - * @member {google.type.IInterval|null|undefined} salePriceEffectiveDate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.salePriceEffectiveDate = null; - - /** - * Attributes sellOnGoogleQuantity. - * @member {number|Long|null|undefined} sellOnGoogleQuantity - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.sellOnGoogleQuantity = null; - - /** - * Attributes productHeight. - * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productHeight - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productHeight = null; - - /** - * Attributes productLength. - * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productLength - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productLength = null; - - /** - * Attributes productWidth. - * @member {google.shopping.merchant.products.v1beta.IProductDimension|null|undefined} productWidth - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productWidth = null; - - /** - * Attributes productWeight. - * @member {google.shopping.merchant.products.v1beta.IProductWeight|null|undefined} productWeight - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productWeight = null; - - /** - * Attributes shipping. - * @member {Array.} shipping - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shipping = $util.emptyArray; - - /** - * Attributes freeShippingThreshold. - * @member {Array.} freeShippingThreshold - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.freeShippingThreshold = $util.emptyArray; - - /** - * Attributes shippingWeight. - * @member {google.shopping.merchant.products.v1beta.IShippingWeight|null|undefined} shippingWeight - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shippingWeight = null; - - /** - * Attributes shippingLength. - * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingLength - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shippingLength = null; - - /** - * Attributes shippingWidth. - * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingWidth - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shippingWidth = null; - - /** - * Attributes shippingHeight. - * @member {google.shopping.merchant.products.v1beta.IShippingDimension|null|undefined} shippingHeight - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shippingHeight = null; - - /** - * Attributes maxHandlingTime. - * @member {number|Long|null|undefined} maxHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.maxHandlingTime = null; - - /** - * Attributes minHandlingTime. - * @member {number|Long|null|undefined} minHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.minHandlingTime = null; - - /** - * Attributes shippingLabel. - * @member {string|null|undefined} shippingLabel - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shippingLabel = null; - - /** - * Attributes transitTimeLabel. - * @member {string|null|undefined} transitTimeLabel - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.transitTimeLabel = null; - - /** - * Attributes size. - * @member {string|null|undefined} size - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.size = null; - - /** - * Attributes sizeSystem. - * @member {string|null|undefined} sizeSystem - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.sizeSystem = null; - - /** - * Attributes sizeTypes. - * @member {Array.} sizeTypes - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.sizeTypes = $util.emptyArray; - - /** - * Attributes taxes. - * @member {Array.} taxes - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.taxes = $util.emptyArray; - - /** - * Attributes taxCategory. - * @member {string|null|undefined} taxCategory - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.taxCategory = null; - - /** - * Attributes energyEfficiencyClass. - * @member {string|null|undefined} energyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.energyEfficiencyClass = null; - - /** - * Attributes minEnergyEfficiencyClass. - * @member {string|null|undefined} minEnergyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.minEnergyEfficiencyClass = null; - - /** - * Attributes maxEnergyEfficiencyClass. - * @member {string|null|undefined} maxEnergyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.maxEnergyEfficiencyClass = null; - - /** - * Attributes unitPricingMeasure. - * @member {google.shopping.merchant.products.v1beta.IUnitPricingMeasure|null|undefined} unitPricingMeasure - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.unitPricingMeasure = null; - - /** - * Attributes unitPricingBaseMeasure. - * @member {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure|null|undefined} unitPricingBaseMeasure - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.unitPricingBaseMeasure = null; - - /** - * Attributes multipack. - * @member {number|Long|null|undefined} multipack - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.multipack = null; - - /** - * Attributes adsGrouping. - * @member {string|null|undefined} adsGrouping - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.adsGrouping = null; - - /** - * Attributes adsLabels. - * @member {Array.} adsLabels - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.adsLabels = $util.emptyArray; - - /** - * Attributes adsRedirect. - * @member {string|null|undefined} adsRedirect - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.adsRedirect = null; - - /** - * Attributes costOfGoodsSold. - * @member {google.shopping.type.IPrice|null|undefined} costOfGoodsSold - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.costOfGoodsSold = null; - - /** - * Attributes productDetails. - * @member {Array.} productDetails - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productDetails = $util.emptyArray; - - /** - * Attributes productHighlights. - * @member {Array.} productHighlights - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.productHighlights = $util.emptyArray; - - /** - * Attributes displayAdsId. - * @member {string|null|undefined} displayAdsId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.displayAdsId = null; - - /** - * Attributes displayAdsSimilarIds. - * @member {Array.} displayAdsSimilarIds - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.displayAdsSimilarIds = $util.emptyArray; - - /** - * Attributes displayAdsTitle. - * @member {string|null|undefined} displayAdsTitle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.displayAdsTitle = null; - - /** - * Attributes displayAdsLink. - * @member {string|null|undefined} displayAdsLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.displayAdsLink = null; - - /** - * Attributes displayAdsValue. - * @member {number|null|undefined} displayAdsValue - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.displayAdsValue = null; - - /** - * Attributes promotionIds. - * @member {Array.} promotionIds - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.promotionIds = $util.emptyArray; - - /** - * Attributes pickupMethod. - * @member {string|null|undefined} pickupMethod - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.pickupMethod = null; - - /** - * Attributes pickupSla. - * @member {string|null|undefined} pickupSla - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.pickupSla = null; - - /** - * Attributes linkTemplate. - * @member {string|null|undefined} linkTemplate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.linkTemplate = null; - - /** - * Attributes mobileLinkTemplate. - * @member {string|null|undefined} mobileLinkTemplate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.mobileLinkTemplate = null; - - /** - * Attributes customLabel_0. - * @member {string|null|undefined} customLabel_0 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.customLabel_0 = null; - - /** - * Attributes customLabel_1. - * @member {string|null|undefined} customLabel_1 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.customLabel_1 = null; - - /** - * Attributes customLabel_2. - * @member {string|null|undefined} customLabel_2 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.customLabel_2 = null; - - /** - * Attributes customLabel_3. - * @member {string|null|undefined} customLabel_3 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.customLabel_3 = null; - - /** - * Attributes customLabel_4. - * @member {string|null|undefined} customLabel_4 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.customLabel_4 = null; - - /** - * Attributes includedDestinations. - * @member {Array.} includedDestinations - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.includedDestinations = $util.emptyArray; - - /** - * Attributes excludedDestinations. - * @member {Array.} excludedDestinations - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.excludedDestinations = $util.emptyArray; - - /** - * Attributes shoppingAdsExcludedCountries. - * @member {Array.} shoppingAdsExcludedCountries - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.shoppingAdsExcludedCountries = $util.emptyArray; - - /** - * Attributes externalSellerId. - * @member {string|null|undefined} externalSellerId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.externalSellerId = null; - - /** - * Attributes pause. - * @member {string|null|undefined} pause - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.pause = null; - - /** - * Attributes lifestyleImageLinks. - * @member {Array.} lifestyleImageLinks - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.lifestyleImageLinks = $util.emptyArray; - - /** - * Attributes cloudExportAdditionalProperties. - * @member {Array.} cloudExportAdditionalProperties - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.cloudExportAdditionalProperties = $util.emptyArray; - - /** - * Attributes virtualModelLink. - * @member {string|null|undefined} virtualModelLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.virtualModelLink = null; - - /** - * Attributes certifications. - * @member {Array.} certifications - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.certifications = $util.emptyArray; - - /** - * Attributes structuredTitle. - * @member {google.shopping.merchant.products.v1beta.IProductStructuredTitle|null|undefined} structuredTitle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.structuredTitle = null; - - /** - * Attributes structuredDescription. - * @member {google.shopping.merchant.products.v1beta.IProductStructuredDescription|null|undefined} structuredDescription - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.structuredDescription = null; - - /** - * Attributes autoPricingMinPrice. - * @member {google.shopping.type.IPrice|null|undefined} autoPricingMinPrice - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Attributes.prototype.autoPricingMinPrice = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Attributes _identifierExists. - * @member {"identifierExists"|undefined} _identifierExists - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_identifierExists", { - get: $util.oneOfGetter($oneOfFields = ["identifierExists"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _isBundle. - * @member {"isBundle"|undefined} _isBundle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_isBundle", { - get: $util.oneOfGetter($oneOfFields = ["isBundle"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _title. - * @member {"title"|undefined} _title - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_title", { - get: $util.oneOfGetter($oneOfFields = ["title"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _description. - * @member {"description"|undefined} _description - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_description", { - get: $util.oneOfGetter($oneOfFields = ["description"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _link. - * @member {"link"|undefined} _link - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_link", { - get: $util.oneOfGetter($oneOfFields = ["link"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _mobileLink. - * @member {"mobileLink"|undefined} _mobileLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_mobileLink", { - get: $util.oneOfGetter($oneOfFields = ["mobileLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _canonicalLink. - * @member {"canonicalLink"|undefined} _canonicalLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_canonicalLink", { - get: $util.oneOfGetter($oneOfFields = ["canonicalLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _imageLink. - * @member {"imageLink"|undefined} _imageLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_imageLink", { - get: $util.oneOfGetter($oneOfFields = ["imageLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _adult. - * @member {"adult"|undefined} _adult - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_adult", { - get: $util.oneOfGetter($oneOfFields = ["adult"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _ageGroup. - * @member {"ageGroup"|undefined} _ageGroup - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_ageGroup", { - get: $util.oneOfGetter($oneOfFields = ["ageGroup"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _availability. - * @member {"availability"|undefined} _availability - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_availability", { - get: $util.oneOfGetter($oneOfFields = ["availability"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _brand. - * @member {"brand"|undefined} _brand - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_brand", { - get: $util.oneOfGetter($oneOfFields = ["brand"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _color. - * @member {"color"|undefined} _color - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_color", { - get: $util.oneOfGetter($oneOfFields = ["color"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _condition. - * @member {"condition"|undefined} _condition - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_condition", { - get: $util.oneOfGetter($oneOfFields = ["condition"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _gender. - * @member {"gender"|undefined} _gender - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_gender", { - get: $util.oneOfGetter($oneOfFields = ["gender"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _googleProductCategory. - * @member {"googleProductCategory"|undefined} _googleProductCategory - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_googleProductCategory", { - get: $util.oneOfGetter($oneOfFields = ["googleProductCategory"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _itemGroupId. - * @member {"itemGroupId"|undefined} _itemGroupId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_itemGroupId", { - get: $util.oneOfGetter($oneOfFields = ["itemGroupId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _material. - * @member {"material"|undefined} _material - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_material", { - get: $util.oneOfGetter($oneOfFields = ["material"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _mpn. - * @member {"mpn"|undefined} _mpn - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_mpn", { - get: $util.oneOfGetter($oneOfFields = ["mpn"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pattern. - * @member {"pattern"|undefined} _pattern - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pattern", { - get: $util.oneOfGetter($oneOfFields = ["pattern"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _sellOnGoogleQuantity. - * @member {"sellOnGoogleQuantity"|undefined} _sellOnGoogleQuantity - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_sellOnGoogleQuantity", { - get: $util.oneOfGetter($oneOfFields = ["sellOnGoogleQuantity"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _maxHandlingTime. - * @member {"maxHandlingTime"|undefined} _maxHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_maxHandlingTime", { - get: $util.oneOfGetter($oneOfFields = ["maxHandlingTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _minHandlingTime. - * @member {"minHandlingTime"|undefined} _minHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_minHandlingTime", { - get: $util.oneOfGetter($oneOfFields = ["minHandlingTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _shippingLabel. - * @member {"shippingLabel"|undefined} _shippingLabel - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_shippingLabel", { - get: $util.oneOfGetter($oneOfFields = ["shippingLabel"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _transitTimeLabel. - * @member {"transitTimeLabel"|undefined} _transitTimeLabel - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_transitTimeLabel", { - get: $util.oneOfGetter($oneOfFields = ["transitTimeLabel"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _size. - * @member {"size"|undefined} _size - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_size", { - get: $util.oneOfGetter($oneOfFields = ["size"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _sizeSystem. - * @member {"sizeSystem"|undefined} _sizeSystem - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_sizeSystem", { - get: $util.oneOfGetter($oneOfFields = ["sizeSystem"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _taxCategory. - * @member {"taxCategory"|undefined} _taxCategory - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_taxCategory", { - get: $util.oneOfGetter($oneOfFields = ["taxCategory"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _energyEfficiencyClass. - * @member {"energyEfficiencyClass"|undefined} _energyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_energyEfficiencyClass", { - get: $util.oneOfGetter($oneOfFields = ["energyEfficiencyClass"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _minEnergyEfficiencyClass. - * @member {"minEnergyEfficiencyClass"|undefined} _minEnergyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_minEnergyEfficiencyClass", { - get: $util.oneOfGetter($oneOfFields = ["minEnergyEfficiencyClass"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _maxEnergyEfficiencyClass. - * @member {"maxEnergyEfficiencyClass"|undefined} _maxEnergyEfficiencyClass - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_maxEnergyEfficiencyClass", { - get: $util.oneOfGetter($oneOfFields = ["maxEnergyEfficiencyClass"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _multipack. - * @member {"multipack"|undefined} _multipack - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_multipack", { - get: $util.oneOfGetter($oneOfFields = ["multipack"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _adsGrouping. - * @member {"adsGrouping"|undefined} _adsGrouping - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_adsGrouping", { - get: $util.oneOfGetter($oneOfFields = ["adsGrouping"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _adsRedirect. - * @member {"adsRedirect"|undefined} _adsRedirect - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_adsRedirect", { - get: $util.oneOfGetter($oneOfFields = ["adsRedirect"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _displayAdsId. - * @member {"displayAdsId"|undefined} _displayAdsId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_displayAdsId", { - get: $util.oneOfGetter($oneOfFields = ["displayAdsId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _displayAdsTitle. - * @member {"displayAdsTitle"|undefined} _displayAdsTitle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_displayAdsTitle", { - get: $util.oneOfGetter($oneOfFields = ["displayAdsTitle"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _displayAdsLink. - * @member {"displayAdsLink"|undefined} _displayAdsLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_displayAdsLink", { - get: $util.oneOfGetter($oneOfFields = ["displayAdsLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _displayAdsValue. - * @member {"displayAdsValue"|undefined} _displayAdsValue - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_displayAdsValue", { - get: $util.oneOfGetter($oneOfFields = ["displayAdsValue"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pickupMethod. - * @member {"pickupMethod"|undefined} _pickupMethod - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pickupMethod", { - get: $util.oneOfGetter($oneOfFields = ["pickupMethod"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pickupSla. - * @member {"pickupSla"|undefined} _pickupSla - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pickupSla", { - get: $util.oneOfGetter($oneOfFields = ["pickupSla"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _linkTemplate. - * @member {"linkTemplate"|undefined} _linkTemplate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_linkTemplate", { - get: $util.oneOfGetter($oneOfFields = ["linkTemplate"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _mobileLinkTemplate. - * @member {"mobileLinkTemplate"|undefined} _mobileLinkTemplate - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_mobileLinkTemplate", { - get: $util.oneOfGetter($oneOfFields = ["mobileLinkTemplate"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_0. - * @member {"customLabel_0"|undefined} _customLabel_0 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_0", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_0"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_1. - * @member {"customLabel_1"|undefined} _customLabel_1 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_1", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_1"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_2. - * @member {"customLabel_2"|undefined} _customLabel_2 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_2", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_2"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_3. - * @member {"customLabel_3"|undefined} _customLabel_3 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_3", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_3"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_4. - * @member {"customLabel_4"|undefined} _customLabel_4 - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_4", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_4"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _externalSellerId. - * @member {"externalSellerId"|undefined} _externalSellerId - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_externalSellerId", { - get: $util.oneOfGetter($oneOfFields = ["externalSellerId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pause. - * @member {"pause"|undefined} _pause - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pause", { - get: $util.oneOfGetter($oneOfFields = ["pause"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _virtualModelLink. - * @member {"virtualModelLink"|undefined} _virtualModelLink - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_virtualModelLink", { - get: $util.oneOfGetter($oneOfFields = ["virtualModelLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _structuredTitle. - * @member {"structuredTitle"|undefined} _structuredTitle - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_structuredTitle", { - get: $util.oneOfGetter($oneOfFields = ["structuredTitle"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _structuredDescription. - * @member {"structuredDescription"|undefined} _structuredDescription - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_structuredDescription", { - get: $util.oneOfGetter($oneOfFields = ["structuredDescription"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Attributes instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {google.shopping.merchant.products.v1beta.IAttributes=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes instance - */ - Attributes.create = function create(properties) { - return new Attributes(properties); - }; - - /** - * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {google.shopping.merchant.products.v1beta.IAttributes} message Attributes message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Attributes.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.externalSellerId != null && Object.hasOwnProperty.call(message, "externalSellerId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.externalSellerId); - if (message.identifierExists != null && Object.hasOwnProperty.call(message, "identifierExists")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.identifierExists); - if (message.isBundle != null && Object.hasOwnProperty.call(message, "isBundle")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.isBundle); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.description); - if (message.link != null && Object.hasOwnProperty.call(message, "link")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.link); - if (message.mobileLink != null && Object.hasOwnProperty.call(message, "mobileLink")) - writer.uint32(/* id 9, wireType 2 =*/74).string(message.mobileLink); - if (message.canonicalLink != null && Object.hasOwnProperty.call(message, "canonicalLink")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.canonicalLink); - if (message.imageLink != null && Object.hasOwnProperty.call(message, "imageLink")) - writer.uint32(/* id 11, wireType 2 =*/90).string(message.imageLink); - if (message.additionalImageLinks != null && message.additionalImageLinks.length) - for (var i = 0; i < message.additionalImageLinks.length; ++i) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.additionalImageLinks[i]); - if (message.pause != null && Object.hasOwnProperty.call(message, "pause")) - writer.uint32(/* id 13, wireType 2 =*/106).string(message.pause); - if (message.lifestyleImageLinks != null && message.lifestyleImageLinks.length) - for (var i = 0; i < message.lifestyleImageLinks.length; ++i) - writer.uint32(/* id 14, wireType 2 =*/114).string(message.lifestyleImageLinks[i]); - if (message.expirationDate != null && Object.hasOwnProperty.call(message, "expirationDate")) - $root.google.protobuf.Timestamp.encode(message.expirationDate, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) - writer.uint32(/* id 17, wireType 0 =*/136).bool(message.adult); - if (message.ageGroup != null && Object.hasOwnProperty.call(message, "ageGroup")) - writer.uint32(/* id 18, wireType 2 =*/146).string(message.ageGroup); - if (message.availability != null && Object.hasOwnProperty.call(message, "availability")) - writer.uint32(/* id 19, wireType 2 =*/154).string(message.availability); - if (message.availabilityDate != null && Object.hasOwnProperty.call(message, "availabilityDate")) - $root.google.protobuf.Timestamp.encode(message.availabilityDate, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); - if (message.brand != null && Object.hasOwnProperty.call(message, "brand")) - writer.uint32(/* id 21, wireType 2 =*/170).string(message.brand); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) - writer.uint32(/* id 22, wireType 2 =*/178).string(message.color); - if (message.condition != null && Object.hasOwnProperty.call(message, "condition")) - writer.uint32(/* id 23, wireType 2 =*/186).string(message.condition); - if (message.gender != null && Object.hasOwnProperty.call(message, "gender")) - writer.uint32(/* id 24, wireType 2 =*/194).string(message.gender); - if (message.googleProductCategory != null && Object.hasOwnProperty.call(message, "googleProductCategory")) - writer.uint32(/* id 25, wireType 2 =*/202).string(message.googleProductCategory); - if (message.gtin != null && message.gtin.length) - for (var i = 0; i < message.gtin.length; ++i) - writer.uint32(/* id 26, wireType 2 =*/210).string(message.gtin[i]); - if (message.itemGroupId != null && Object.hasOwnProperty.call(message, "itemGroupId")) - writer.uint32(/* id 27, wireType 2 =*/218).string(message.itemGroupId); - if (message.material != null && Object.hasOwnProperty.call(message, "material")) - writer.uint32(/* id 28, wireType 2 =*/226).string(message.material); - if (message.mpn != null && Object.hasOwnProperty.call(message, "mpn")) - writer.uint32(/* id 29, wireType 2 =*/234).string(message.mpn); - if (message.pattern != null && Object.hasOwnProperty.call(message, "pattern")) - writer.uint32(/* id 30, wireType 2 =*/242).string(message.pattern); - if (message.price != null && Object.hasOwnProperty.call(message, "price")) - $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); - if (message.installment != null && Object.hasOwnProperty.call(message, "installment")) - $root.google.shopping.merchant.products.v1beta.Installment.encode(message.installment, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); - if (message.subscriptionCost != null && Object.hasOwnProperty.call(message, "subscriptionCost")) - $root.google.shopping.merchant.products.v1beta.SubscriptionCost.encode(message.subscriptionCost, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); - if (message.loyaltyPoints != null && Object.hasOwnProperty.call(message, "loyaltyPoints")) - $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.encode(message.loyaltyPoints, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); - if (message.productTypes != null && message.productTypes.length) - for (var i = 0; i < message.productTypes.length; ++i) - writer.uint32(/* id 35, wireType 2 =*/282).string(message.productTypes[i]); - if (message.salePrice != null && Object.hasOwnProperty.call(message, "salePrice")) - $root.google.shopping.type.Price.encode(message.salePrice, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); - if (message.salePriceEffectiveDate != null && Object.hasOwnProperty.call(message, "salePriceEffectiveDate")) - $root.google.type.Interval.encode(message.salePriceEffectiveDate, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); - if (message.sellOnGoogleQuantity != null && Object.hasOwnProperty.call(message, "sellOnGoogleQuantity")) - writer.uint32(/* id 38, wireType 0 =*/304).int64(message.sellOnGoogleQuantity); - if (message.shipping != null && message.shipping.length) - for (var i = 0; i < message.shipping.length; ++i) - $root.google.shopping.merchant.products.v1beta.Shipping.encode(message.shipping[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); - if (message.shippingWeight != null && Object.hasOwnProperty.call(message, "shippingWeight")) - $root.google.shopping.merchant.products.v1beta.ShippingWeight.encode(message.shippingWeight, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); - if (message.shippingLength != null && Object.hasOwnProperty.call(message, "shippingLength")) - $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingLength, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); - if (message.shippingWidth != null && Object.hasOwnProperty.call(message, "shippingWidth")) - $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingWidth, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); - if (message.shippingHeight != null && Object.hasOwnProperty.call(message, "shippingHeight")) - $root.google.shopping.merchant.products.v1beta.ShippingDimension.encode(message.shippingHeight, writer.uint32(/* id 43, wireType 2 =*/346).fork()).ldelim(); - if (message.maxHandlingTime != null && Object.hasOwnProperty.call(message, "maxHandlingTime")) - writer.uint32(/* id 44, wireType 0 =*/352).int64(message.maxHandlingTime); - if (message.minHandlingTime != null && Object.hasOwnProperty.call(message, "minHandlingTime")) - writer.uint32(/* id 45, wireType 0 =*/360).int64(message.minHandlingTime); - if (message.shippingLabel != null && Object.hasOwnProperty.call(message, "shippingLabel")) - writer.uint32(/* id 46, wireType 2 =*/370).string(message.shippingLabel); - if (message.transitTimeLabel != null && Object.hasOwnProperty.call(message, "transitTimeLabel")) - writer.uint32(/* id 47, wireType 2 =*/378).string(message.transitTimeLabel); - if (message.size != null && Object.hasOwnProperty.call(message, "size")) - writer.uint32(/* id 48, wireType 2 =*/386).string(message.size); - if (message.sizeSystem != null && Object.hasOwnProperty.call(message, "sizeSystem")) - writer.uint32(/* id 49, wireType 2 =*/394).string(message.sizeSystem); - if (message.sizeTypes != null && message.sizeTypes.length) - for (var i = 0; i < message.sizeTypes.length; ++i) - writer.uint32(/* id 50, wireType 2 =*/402).string(message.sizeTypes[i]); - if (message.taxes != null && message.taxes.length) - for (var i = 0; i < message.taxes.length; ++i) - $root.google.shopping.merchant.products.v1beta.Tax.encode(message.taxes[i], writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); - if (message.taxCategory != null && Object.hasOwnProperty.call(message, "taxCategory")) - writer.uint32(/* id 52, wireType 2 =*/418).string(message.taxCategory); - if (message.energyEfficiencyClass != null && Object.hasOwnProperty.call(message, "energyEfficiencyClass")) - writer.uint32(/* id 53, wireType 2 =*/426).string(message.energyEfficiencyClass); - if (message.minEnergyEfficiencyClass != null && Object.hasOwnProperty.call(message, "minEnergyEfficiencyClass")) - writer.uint32(/* id 54, wireType 2 =*/434).string(message.minEnergyEfficiencyClass); - if (message.maxEnergyEfficiencyClass != null && Object.hasOwnProperty.call(message, "maxEnergyEfficiencyClass")) - writer.uint32(/* id 55, wireType 2 =*/442).string(message.maxEnergyEfficiencyClass); - if (message.unitPricingMeasure != null && Object.hasOwnProperty.call(message, "unitPricingMeasure")) - $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.encode(message.unitPricingMeasure, writer.uint32(/* id 56, wireType 2 =*/450).fork()).ldelim(); - if (message.unitPricingBaseMeasure != null && Object.hasOwnProperty.call(message, "unitPricingBaseMeasure")) - $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.encode(message.unitPricingBaseMeasure, writer.uint32(/* id 57, wireType 2 =*/458).fork()).ldelim(); - if (message.multipack != null && Object.hasOwnProperty.call(message, "multipack")) - writer.uint32(/* id 58, wireType 0 =*/464).int64(message.multipack); - if (message.adsGrouping != null && Object.hasOwnProperty.call(message, "adsGrouping")) - writer.uint32(/* id 59, wireType 2 =*/474).string(message.adsGrouping); - if (message.adsLabels != null && message.adsLabels.length) - for (var i = 0; i < message.adsLabels.length; ++i) - writer.uint32(/* id 60, wireType 2 =*/482).string(message.adsLabels[i]); - if (message.adsRedirect != null && Object.hasOwnProperty.call(message, "adsRedirect")) - writer.uint32(/* id 61, wireType 2 =*/490).string(message.adsRedirect); - if (message.costOfGoodsSold != null && Object.hasOwnProperty.call(message, "costOfGoodsSold")) - $root.google.shopping.type.Price.encode(message.costOfGoodsSold, writer.uint32(/* id 62, wireType 2 =*/498).fork()).ldelim(); - if (message.productDetails != null && message.productDetails.length) - for (var i = 0; i < message.productDetails.length; ++i) - $root.google.shopping.merchant.products.v1beta.ProductDetail.encode(message.productDetails[i], writer.uint32(/* id 63, wireType 2 =*/506).fork()).ldelim(); - if (message.productHighlights != null && message.productHighlights.length) - for (var i = 0; i < message.productHighlights.length; ++i) - writer.uint32(/* id 64, wireType 2 =*/514).string(message.productHighlights[i]); - if (message.displayAdsId != null && Object.hasOwnProperty.call(message, "displayAdsId")) - writer.uint32(/* id 65, wireType 2 =*/522).string(message.displayAdsId); - if (message.displayAdsSimilarIds != null && message.displayAdsSimilarIds.length) - for (var i = 0; i < message.displayAdsSimilarIds.length; ++i) - writer.uint32(/* id 66, wireType 2 =*/530).string(message.displayAdsSimilarIds[i]); - if (message.displayAdsTitle != null && Object.hasOwnProperty.call(message, "displayAdsTitle")) - writer.uint32(/* id 67, wireType 2 =*/538).string(message.displayAdsTitle); - if (message.displayAdsLink != null && Object.hasOwnProperty.call(message, "displayAdsLink")) - writer.uint32(/* id 68, wireType 2 =*/546).string(message.displayAdsLink); - if (message.displayAdsValue != null && Object.hasOwnProperty.call(message, "displayAdsValue")) - writer.uint32(/* id 69, wireType 1 =*/553).double(message.displayAdsValue); - if (message.promotionIds != null && message.promotionIds.length) - for (var i = 0; i < message.promotionIds.length; ++i) - writer.uint32(/* id 70, wireType 2 =*/562).string(message.promotionIds[i]); - if (message.customLabel_0 != null && Object.hasOwnProperty.call(message, "customLabel_0")) - writer.uint32(/* id 71, wireType 2 =*/570).string(message.customLabel_0); - if (message.customLabel_1 != null && Object.hasOwnProperty.call(message, "customLabel_1")) - writer.uint32(/* id 72, wireType 2 =*/578).string(message.customLabel_1); - if (message.customLabel_2 != null && Object.hasOwnProperty.call(message, "customLabel_2")) - writer.uint32(/* id 73, wireType 2 =*/586).string(message.customLabel_2); - if (message.customLabel_3 != null && Object.hasOwnProperty.call(message, "customLabel_3")) - writer.uint32(/* id 74, wireType 2 =*/594).string(message.customLabel_3); - if (message.customLabel_4 != null && Object.hasOwnProperty.call(message, "customLabel_4")) - writer.uint32(/* id 75, wireType 2 =*/602).string(message.customLabel_4); - if (message.includedDestinations != null && message.includedDestinations.length) - for (var i = 0; i < message.includedDestinations.length; ++i) - writer.uint32(/* id 76, wireType 2 =*/610).string(message.includedDestinations[i]); - if (message.excludedDestinations != null && message.excludedDestinations.length) - for (var i = 0; i < message.excludedDestinations.length; ++i) - writer.uint32(/* id 77, wireType 2 =*/618).string(message.excludedDestinations[i]); - if (message.shoppingAdsExcludedCountries != null && message.shoppingAdsExcludedCountries.length) - for (var i = 0; i < message.shoppingAdsExcludedCountries.length; ++i) - writer.uint32(/* id 78, wireType 2 =*/626).string(message.shoppingAdsExcludedCountries[i]); - if (message.disclosureDate != null && Object.hasOwnProperty.call(message, "disclosureDate")) - $root.google.protobuf.Timestamp.encode(message.disclosureDate, writer.uint32(/* id 79, wireType 2 =*/634).fork()).ldelim(); - if (message.pickupMethod != null && Object.hasOwnProperty.call(message, "pickupMethod")) - writer.uint32(/* id 80, wireType 2 =*/642).string(message.pickupMethod); - if (message.pickupSla != null && Object.hasOwnProperty.call(message, "pickupSla")) - writer.uint32(/* id 81, wireType 2 =*/650).string(message.pickupSla); - if (message.linkTemplate != null && Object.hasOwnProperty.call(message, "linkTemplate")) - writer.uint32(/* id 82, wireType 2 =*/658).string(message.linkTemplate); - if (message.mobileLinkTemplate != null && Object.hasOwnProperty.call(message, "mobileLinkTemplate")) - writer.uint32(/* id 83, wireType 2 =*/666).string(message.mobileLinkTemplate); - if (message.cloudExportAdditionalProperties != null && message.cloudExportAdditionalProperties.length) - for (var i = 0; i < message.cloudExportAdditionalProperties.length; ++i) - $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.encode(message.cloudExportAdditionalProperties[i], writer.uint32(/* id 84, wireType 2 =*/674).fork()).ldelim(); - if (message.productHeight != null && Object.hasOwnProperty.call(message, "productHeight")) - $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productHeight, writer.uint32(/* id 119, wireType 2 =*/954).fork()).ldelim(); - if (message.productLength != null && Object.hasOwnProperty.call(message, "productLength")) - $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productLength, writer.uint32(/* id 120, wireType 2 =*/962).fork()).ldelim(); - if (message.productWidth != null && Object.hasOwnProperty.call(message, "productWidth")) - $root.google.shopping.merchant.products.v1beta.ProductDimension.encode(message.productWidth, writer.uint32(/* id 121, wireType 2 =*/970).fork()).ldelim(); - if (message.productWeight != null && Object.hasOwnProperty.call(message, "productWeight")) - $root.google.shopping.merchant.products.v1beta.ProductWeight.encode(message.productWeight, writer.uint32(/* id 122, wireType 2 =*/978).fork()).ldelim(); - if (message.certifications != null && message.certifications.length) - for (var i = 0; i < message.certifications.length; ++i) - $root.google.shopping.merchant.products.v1beta.Certification.encode(message.certifications[i], writer.uint32(/* id 123, wireType 2 =*/986).fork()).ldelim(); - if (message.autoPricingMinPrice != null && Object.hasOwnProperty.call(message, "autoPricingMinPrice")) - $root.google.shopping.type.Price.encode(message.autoPricingMinPrice, writer.uint32(/* id 124, wireType 2 =*/994).fork()).ldelim(); - if (message.virtualModelLink != null && Object.hasOwnProperty.call(message, "virtualModelLink")) - writer.uint32(/* id 130, wireType 2 =*/1042).string(message.virtualModelLink); - if (message.structuredTitle != null && Object.hasOwnProperty.call(message, "structuredTitle")) - $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.encode(message.structuredTitle, writer.uint32(/* id 132, wireType 2 =*/1058).fork()).ldelim(); - if (message.structuredDescription != null && Object.hasOwnProperty.call(message, "structuredDescription")) - $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.encode(message.structuredDescription, writer.uint32(/* id 133, wireType 2 =*/1066).fork()).ldelim(); - if (message.freeShippingThreshold != null && message.freeShippingThreshold.length) - for (var i = 0; i < message.freeShippingThreshold.length; ++i) - $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.encode(message.freeShippingThreshold[i], writer.uint32(/* id 135, wireType 2 =*/1082).fork()).ldelim(); - if (message.loyaltyPrograms != null && message.loyaltyPrograms.length) - for (var i = 0; i < message.loyaltyPrograms.length; ++i) - $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.encode(message.loyaltyPrograms[i], writer.uint32(/* id 136, wireType 2 =*/1090).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Attributes.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {google.shopping.merchant.products.v1beta.IAttributes} message Attributes message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Attributes.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Attributes message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Attributes.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Attributes(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 4: { - message.identifierExists = reader.bool(); - break; - } - case 5: { - message.isBundle = reader.bool(); - break; - } - case 6: { - message.title = reader.string(); - break; - } - case 7: { - message.description = reader.string(); - break; - } - case 8: { - message.link = reader.string(); - break; - } - case 9: { - message.mobileLink = reader.string(); - break; - } - case 10: { - message.canonicalLink = reader.string(); - break; - } - case 11: { - message.imageLink = reader.string(); - break; - } - case 12: { - if (!(message.additionalImageLinks && message.additionalImageLinks.length)) - message.additionalImageLinks = []; - message.additionalImageLinks.push(reader.string()); - break; - } - case 16: { - message.expirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 79: { - message.disclosureDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 17: { - message.adult = reader.bool(); - break; - } - case 18: { - message.ageGroup = reader.string(); - break; - } - case 19: { - message.availability = reader.string(); - break; - } - case 20: { - message.availabilityDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 21: { - message.brand = reader.string(); - break; - } - case 22: { - message.color = reader.string(); - break; - } - case 23: { - message.condition = reader.string(); - break; - } - case 24: { - message.gender = reader.string(); - break; - } - case 25: { - message.googleProductCategory = reader.string(); - break; - } - case 26: { - if (!(message.gtin && message.gtin.length)) - message.gtin = []; - message.gtin.push(reader.string()); - break; - } - case 27: { - message.itemGroupId = reader.string(); - break; - } - case 28: { - message.material = reader.string(); - break; - } - case 29: { - message.mpn = reader.string(); - break; - } - case 30: { - message.pattern = reader.string(); - break; - } - case 31: { - message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 32: { - message.installment = $root.google.shopping.merchant.products.v1beta.Installment.decode(reader, reader.uint32()); - break; - } - case 33: { - message.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.decode(reader, reader.uint32()); - break; - } - case 34: { - message.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.decode(reader, reader.uint32()); - break; - } - case 136: { - if (!(message.loyaltyPrograms && message.loyaltyPrograms.length)) - message.loyaltyPrograms = []; - message.loyaltyPrograms.push($root.google.shopping.merchant.products.v1beta.LoyaltyProgram.decode(reader, reader.uint32())); - break; - } - case 35: { - if (!(message.productTypes && message.productTypes.length)) - message.productTypes = []; - message.productTypes.push(reader.string()); - break; - } - case 36: { - message.salePrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 37: { - message.salePriceEffectiveDate = $root.google.type.Interval.decode(reader, reader.uint32()); - break; - } - case 38: { - message.sellOnGoogleQuantity = reader.int64(); - break; - } - case 119: { - message.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 120: { - message.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 121: { - message.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 122: { - message.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.decode(reader, reader.uint32()); - break; - } - case 39: { - if (!(message.shipping && message.shipping.length)) - message.shipping = []; - message.shipping.push($root.google.shopping.merchant.products.v1beta.Shipping.decode(reader, reader.uint32())); - break; - } - case 135: { - if (!(message.freeShippingThreshold && message.freeShippingThreshold.length)) - message.freeShippingThreshold = []; - message.freeShippingThreshold.push($root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.decode(reader, reader.uint32())); - break; - } - case 40: { - message.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.decode(reader, reader.uint32()); - break; - } - case 41: { - message.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); - break; - } - case 42: { - message.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); - break; - } - case 43: { - message.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.decode(reader, reader.uint32()); - break; - } - case 44: { - message.maxHandlingTime = reader.int64(); - break; - } - case 45: { - message.minHandlingTime = reader.int64(); - break; - } - case 46: { - message.shippingLabel = reader.string(); - break; - } - case 47: { - message.transitTimeLabel = reader.string(); - break; - } - case 48: { - message.size = reader.string(); - break; - } - case 49: { - message.sizeSystem = reader.string(); - break; - } - case 50: { - if (!(message.sizeTypes && message.sizeTypes.length)) - message.sizeTypes = []; - message.sizeTypes.push(reader.string()); - break; - } - case 51: { - if (!(message.taxes && message.taxes.length)) - message.taxes = []; - message.taxes.push($root.google.shopping.merchant.products.v1beta.Tax.decode(reader, reader.uint32())); - break; - } - case 52: { - message.taxCategory = reader.string(); - break; - } - case 53: { - message.energyEfficiencyClass = reader.string(); - break; - } - case 54: { - message.minEnergyEfficiencyClass = reader.string(); - break; - } - case 55: { - message.maxEnergyEfficiencyClass = reader.string(); - break; - } - case 56: { - message.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.decode(reader, reader.uint32()); - break; - } - case 57: { - message.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.decode(reader, reader.uint32()); - break; - } - case 58: { - message.multipack = reader.int64(); - break; - } - case 59: { - message.adsGrouping = reader.string(); - break; - } - case 60: { - if (!(message.adsLabels && message.adsLabels.length)) - message.adsLabels = []; - message.adsLabels.push(reader.string()); - break; - } - case 61: { - message.adsRedirect = reader.string(); - break; - } - case 62: { - message.costOfGoodsSold = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 63: { - if (!(message.productDetails && message.productDetails.length)) - message.productDetails = []; - message.productDetails.push($root.google.shopping.merchant.products.v1beta.ProductDetail.decode(reader, reader.uint32())); - break; - } - case 64: { - if (!(message.productHighlights && message.productHighlights.length)) - message.productHighlights = []; - message.productHighlights.push(reader.string()); - break; - } - case 65: { - message.displayAdsId = reader.string(); - break; - } - case 66: { - if (!(message.displayAdsSimilarIds && message.displayAdsSimilarIds.length)) - message.displayAdsSimilarIds = []; - message.displayAdsSimilarIds.push(reader.string()); - break; - } - case 67: { - message.displayAdsTitle = reader.string(); - break; - } - case 68: { - message.displayAdsLink = reader.string(); - break; - } - case 69: { - message.displayAdsValue = reader.double(); - break; - } - case 70: { - if (!(message.promotionIds && message.promotionIds.length)) - message.promotionIds = []; - message.promotionIds.push(reader.string()); - break; - } - case 80: { - message.pickupMethod = reader.string(); - break; - } - case 81: { - message.pickupSla = reader.string(); - break; - } - case 82: { - message.linkTemplate = reader.string(); - break; - } - case 83: { - message.mobileLinkTemplate = reader.string(); - break; - } - case 71: { - message.customLabel_0 = reader.string(); - break; - } - case 72: { - message.customLabel_1 = reader.string(); - break; - } - case 73: { - message.customLabel_2 = reader.string(); - break; - } - case 74: { - message.customLabel_3 = reader.string(); - break; - } - case 75: { - message.customLabel_4 = reader.string(); - break; - } - case 76: { - if (!(message.includedDestinations && message.includedDestinations.length)) - message.includedDestinations = []; - message.includedDestinations.push(reader.string()); - break; - } - case 77: { - if (!(message.excludedDestinations && message.excludedDestinations.length)) - message.excludedDestinations = []; - message.excludedDestinations.push(reader.string()); - break; - } - case 78: { - if (!(message.shoppingAdsExcludedCountries && message.shoppingAdsExcludedCountries.length)) - message.shoppingAdsExcludedCountries = []; - message.shoppingAdsExcludedCountries.push(reader.string()); - break; - } - case 1: { - message.externalSellerId = reader.string(); - break; - } - case 13: { - message.pause = reader.string(); - break; - } - case 14: { - if (!(message.lifestyleImageLinks && message.lifestyleImageLinks.length)) - message.lifestyleImageLinks = []; - message.lifestyleImageLinks.push(reader.string()); - break; - } - case 84: { - if (!(message.cloudExportAdditionalProperties && message.cloudExportAdditionalProperties.length)) - message.cloudExportAdditionalProperties = []; - message.cloudExportAdditionalProperties.push($root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.decode(reader, reader.uint32())); - break; - } - case 130: { - message.virtualModelLink = reader.string(); - break; - } - case 123: { - if (!(message.certifications && message.certifications.length)) - message.certifications = []; - message.certifications.push($root.google.shopping.merchant.products.v1beta.Certification.decode(reader, reader.uint32())); - break; - } - case 132: { - message.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.decode(reader, reader.uint32()); - break; - } - case 133: { - message.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.decode(reader, reader.uint32()); - break; - } - case 124: { - message.autoPricingMinPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Attributes message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Attributes.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Attributes message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Attributes.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.identifierExists != null && message.hasOwnProperty("identifierExists")) { - properties._identifierExists = 1; - if (typeof message.identifierExists !== "boolean") - return "identifierExists: boolean expected"; - } - if (message.isBundle != null && message.hasOwnProperty("isBundle")) { - properties._isBundle = 1; - if (typeof message.isBundle !== "boolean") - return "isBundle: boolean expected"; - } - if (message.title != null && message.hasOwnProperty("title")) { - properties._title = 1; - if (!$util.isString(message.title)) - return "title: string expected"; - } - if (message.description != null && message.hasOwnProperty("description")) { - properties._description = 1; - if (!$util.isString(message.description)) - return "description: string expected"; - } - if (message.link != null && message.hasOwnProperty("link")) { - properties._link = 1; - if (!$util.isString(message.link)) - return "link: string expected"; - } - if (message.mobileLink != null && message.hasOwnProperty("mobileLink")) { - properties._mobileLink = 1; - if (!$util.isString(message.mobileLink)) - return "mobileLink: string expected"; - } - if (message.canonicalLink != null && message.hasOwnProperty("canonicalLink")) { - properties._canonicalLink = 1; - if (!$util.isString(message.canonicalLink)) - return "canonicalLink: string expected"; - } - if (message.imageLink != null && message.hasOwnProperty("imageLink")) { - properties._imageLink = 1; - if (!$util.isString(message.imageLink)) - return "imageLink: string expected"; - } - if (message.additionalImageLinks != null && message.hasOwnProperty("additionalImageLinks")) { - if (!Array.isArray(message.additionalImageLinks)) - return "additionalImageLinks: array expected"; - for (var i = 0; i < message.additionalImageLinks.length; ++i) - if (!$util.isString(message.additionalImageLinks[i])) - return "additionalImageLinks: string[] expected"; - } - if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.expirationDate); - if (error) - return "expirationDate." + error; - } - if (message.disclosureDate != null && message.hasOwnProperty("disclosureDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.disclosureDate); - if (error) - return "disclosureDate." + error; - } - if (message.adult != null && message.hasOwnProperty("adult")) { - properties._adult = 1; - if (typeof message.adult !== "boolean") - return "adult: boolean expected"; - } - if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { - properties._ageGroup = 1; - if (!$util.isString(message.ageGroup)) - return "ageGroup: string expected"; - } - if (message.availability != null && message.hasOwnProperty("availability")) { - properties._availability = 1; - if (!$util.isString(message.availability)) - return "availability: string expected"; - } - if (message.availabilityDate != null && message.hasOwnProperty("availabilityDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.availabilityDate); - if (error) - return "availabilityDate." + error; - } - if (message.brand != null && message.hasOwnProperty("brand")) { - properties._brand = 1; - if (!$util.isString(message.brand)) - return "brand: string expected"; - } - if (message.color != null && message.hasOwnProperty("color")) { - properties._color = 1; - if (!$util.isString(message.color)) - return "color: string expected"; - } - if (message.condition != null && message.hasOwnProperty("condition")) { - properties._condition = 1; - if (!$util.isString(message.condition)) - return "condition: string expected"; - } - if (message.gender != null && message.hasOwnProperty("gender")) { - properties._gender = 1; - if (!$util.isString(message.gender)) - return "gender: string expected"; - } - if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { - properties._googleProductCategory = 1; - if (!$util.isString(message.googleProductCategory)) - return "googleProductCategory: string expected"; - } - if (message.gtin != null && message.hasOwnProperty("gtin")) { - if (!Array.isArray(message.gtin)) - return "gtin: array expected"; - for (var i = 0; i < message.gtin.length; ++i) - if (!$util.isString(message.gtin[i])) - return "gtin: string[] expected"; - } - if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { - properties._itemGroupId = 1; - if (!$util.isString(message.itemGroupId)) - return "itemGroupId: string expected"; - } - if (message.material != null && message.hasOwnProperty("material")) { - properties._material = 1; - if (!$util.isString(message.material)) - return "material: string expected"; - } - if (message.mpn != null && message.hasOwnProperty("mpn")) { - properties._mpn = 1; - if (!$util.isString(message.mpn)) - return "mpn: string expected"; - } - if (message.pattern != null && message.hasOwnProperty("pattern")) { - properties._pattern = 1; - if (!$util.isString(message.pattern)) - return "pattern: string expected"; - } - if (message.price != null && message.hasOwnProperty("price")) { - var error = $root.google.shopping.type.Price.verify(message.price); - if (error) - return "price." + error; - } - if (message.installment != null && message.hasOwnProperty("installment")) { - var error = $root.google.shopping.merchant.products.v1beta.Installment.verify(message.installment); - if (error) - return "installment." + error; - } - if (message.subscriptionCost != null && message.hasOwnProperty("subscriptionCost")) { - var error = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.verify(message.subscriptionCost); - if (error) - return "subscriptionCost." + error; - } - if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { - var error = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.verify(message.loyaltyPoints); - if (error) - return "loyaltyPoints." + error; - } - if (message.loyaltyPrograms != null && message.hasOwnProperty("loyaltyPrograms")) { - if (!Array.isArray(message.loyaltyPrograms)) - return "loyaltyPrograms: array expected"; - for (var i = 0; i < message.loyaltyPrograms.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.verify(message.loyaltyPrograms[i]); - if (error) - return "loyaltyPrograms." + error; - } - } - if (message.productTypes != null && message.hasOwnProperty("productTypes")) { - if (!Array.isArray(message.productTypes)) - return "productTypes: array expected"; - for (var i = 0; i < message.productTypes.length; ++i) - if (!$util.isString(message.productTypes[i])) - return "productTypes: string[] expected"; - } - if (message.salePrice != null && message.hasOwnProperty("salePrice")) { - var error = $root.google.shopping.type.Price.verify(message.salePrice); - if (error) - return "salePrice." + error; - } - if (message.salePriceEffectiveDate != null && message.hasOwnProperty("salePriceEffectiveDate")) { - var error = $root.google.type.Interval.verify(message.salePriceEffectiveDate); - if (error) - return "salePriceEffectiveDate." + error; - } - if (message.sellOnGoogleQuantity != null && message.hasOwnProperty("sellOnGoogleQuantity")) { - properties._sellOnGoogleQuantity = 1; - if (!$util.isInteger(message.sellOnGoogleQuantity) && !(message.sellOnGoogleQuantity && $util.isInteger(message.sellOnGoogleQuantity.low) && $util.isInteger(message.sellOnGoogleQuantity.high))) - return "sellOnGoogleQuantity: integer|Long expected"; - } - if (message.productHeight != null && message.hasOwnProperty("productHeight")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productHeight); - if (error) - return "productHeight." + error; - } - if (message.productLength != null && message.hasOwnProperty("productLength")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productLength); - if (error) - return "productLength." + error; - } - if (message.productWidth != null && message.hasOwnProperty("productWidth")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductDimension.verify(message.productWidth); - if (error) - return "productWidth." + error; - } - if (message.productWeight != null && message.hasOwnProperty("productWeight")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductWeight.verify(message.productWeight); - if (error) - return "productWeight." + error; - } - if (message.shipping != null && message.hasOwnProperty("shipping")) { - if (!Array.isArray(message.shipping)) - return "shipping: array expected"; - for (var i = 0; i < message.shipping.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.Shipping.verify(message.shipping[i]); - if (error) - return "shipping." + error; - } - } - if (message.freeShippingThreshold != null && message.hasOwnProperty("freeShippingThreshold")) { - if (!Array.isArray(message.freeShippingThreshold)) - return "freeShippingThreshold: array expected"; - for (var i = 0; i < message.freeShippingThreshold.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify(message.freeShippingThreshold[i]); - if (error) - return "freeShippingThreshold." + error; - } - } - if (message.shippingWeight != null && message.hasOwnProperty("shippingWeight")) { - var error = $root.google.shopping.merchant.products.v1beta.ShippingWeight.verify(message.shippingWeight); - if (error) - return "shippingWeight." + error; - } - if (message.shippingLength != null && message.hasOwnProperty("shippingLength")) { - var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingLength); - if (error) - return "shippingLength." + error; - } - if (message.shippingWidth != null && message.hasOwnProperty("shippingWidth")) { - var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingWidth); - if (error) - return "shippingWidth." + error; - } - if (message.shippingHeight != null && message.hasOwnProperty("shippingHeight")) { - var error = $root.google.shopping.merchant.products.v1beta.ShippingDimension.verify(message.shippingHeight); - if (error) - return "shippingHeight." + error; - } - if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { - properties._maxHandlingTime = 1; - if (!$util.isInteger(message.maxHandlingTime) && !(message.maxHandlingTime && $util.isInteger(message.maxHandlingTime.low) && $util.isInteger(message.maxHandlingTime.high))) - return "maxHandlingTime: integer|Long expected"; - } - if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { - properties._minHandlingTime = 1; - if (!$util.isInteger(message.minHandlingTime) && !(message.minHandlingTime && $util.isInteger(message.minHandlingTime.low) && $util.isInteger(message.minHandlingTime.high))) - return "minHandlingTime: integer|Long expected"; - } - if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { - properties._shippingLabel = 1; - if (!$util.isString(message.shippingLabel)) - return "shippingLabel: string expected"; - } - if (message.transitTimeLabel != null && message.hasOwnProperty("transitTimeLabel")) { - properties._transitTimeLabel = 1; - if (!$util.isString(message.transitTimeLabel)) - return "transitTimeLabel: string expected"; - } - if (message.size != null && message.hasOwnProperty("size")) { - properties._size = 1; - if (!$util.isString(message.size)) - return "size: string expected"; - } - if (message.sizeSystem != null && message.hasOwnProperty("sizeSystem")) { - properties._sizeSystem = 1; - if (!$util.isString(message.sizeSystem)) - return "sizeSystem: string expected"; - } - if (message.sizeTypes != null && message.hasOwnProperty("sizeTypes")) { - if (!Array.isArray(message.sizeTypes)) - return "sizeTypes: array expected"; - for (var i = 0; i < message.sizeTypes.length; ++i) - if (!$util.isString(message.sizeTypes[i])) - return "sizeTypes: string[] expected"; - } - if (message.taxes != null && message.hasOwnProperty("taxes")) { - if (!Array.isArray(message.taxes)) - return "taxes: array expected"; - for (var i = 0; i < message.taxes.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.Tax.verify(message.taxes[i]); - if (error) - return "taxes." + error; - } - } - if (message.taxCategory != null && message.hasOwnProperty("taxCategory")) { - properties._taxCategory = 1; - if (!$util.isString(message.taxCategory)) - return "taxCategory: string expected"; - } - if (message.energyEfficiencyClass != null && message.hasOwnProperty("energyEfficiencyClass")) { - properties._energyEfficiencyClass = 1; - if (!$util.isString(message.energyEfficiencyClass)) - return "energyEfficiencyClass: string expected"; - } - if (message.minEnergyEfficiencyClass != null && message.hasOwnProperty("minEnergyEfficiencyClass")) { - properties._minEnergyEfficiencyClass = 1; - if (!$util.isString(message.minEnergyEfficiencyClass)) - return "minEnergyEfficiencyClass: string expected"; - } - if (message.maxEnergyEfficiencyClass != null && message.hasOwnProperty("maxEnergyEfficiencyClass")) { - properties._maxEnergyEfficiencyClass = 1; - if (!$util.isString(message.maxEnergyEfficiencyClass)) - return "maxEnergyEfficiencyClass: string expected"; - } - if (message.unitPricingMeasure != null && message.hasOwnProperty("unitPricingMeasure")) { - var error = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify(message.unitPricingMeasure); - if (error) - return "unitPricingMeasure." + error; - } - if (message.unitPricingBaseMeasure != null && message.hasOwnProperty("unitPricingBaseMeasure")) { - var error = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify(message.unitPricingBaseMeasure); - if (error) - return "unitPricingBaseMeasure." + error; - } - if (message.multipack != null && message.hasOwnProperty("multipack")) { - properties._multipack = 1; - if (!$util.isInteger(message.multipack) && !(message.multipack && $util.isInteger(message.multipack.low) && $util.isInteger(message.multipack.high))) - return "multipack: integer|Long expected"; - } - if (message.adsGrouping != null && message.hasOwnProperty("adsGrouping")) { - properties._adsGrouping = 1; - if (!$util.isString(message.adsGrouping)) - return "adsGrouping: string expected"; - } - if (message.adsLabels != null && message.hasOwnProperty("adsLabels")) { - if (!Array.isArray(message.adsLabels)) - return "adsLabels: array expected"; - for (var i = 0; i < message.adsLabels.length; ++i) - if (!$util.isString(message.adsLabels[i])) - return "adsLabels: string[] expected"; - } - if (message.adsRedirect != null && message.hasOwnProperty("adsRedirect")) { - properties._adsRedirect = 1; - if (!$util.isString(message.adsRedirect)) - return "adsRedirect: string expected"; - } - if (message.costOfGoodsSold != null && message.hasOwnProperty("costOfGoodsSold")) { - var error = $root.google.shopping.type.Price.verify(message.costOfGoodsSold); - if (error) - return "costOfGoodsSold." + error; - } - if (message.productDetails != null && message.hasOwnProperty("productDetails")) { - if (!Array.isArray(message.productDetails)) - return "productDetails: array expected"; - for (var i = 0; i < message.productDetails.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.ProductDetail.verify(message.productDetails[i]); - if (error) - return "productDetails." + error; - } - } - if (message.productHighlights != null && message.hasOwnProperty("productHighlights")) { - if (!Array.isArray(message.productHighlights)) - return "productHighlights: array expected"; - for (var i = 0; i < message.productHighlights.length; ++i) - if (!$util.isString(message.productHighlights[i])) - return "productHighlights: string[] expected"; - } - if (message.displayAdsId != null && message.hasOwnProperty("displayAdsId")) { - properties._displayAdsId = 1; - if (!$util.isString(message.displayAdsId)) - return "displayAdsId: string expected"; - } - if (message.displayAdsSimilarIds != null && message.hasOwnProperty("displayAdsSimilarIds")) { - if (!Array.isArray(message.displayAdsSimilarIds)) - return "displayAdsSimilarIds: array expected"; - for (var i = 0; i < message.displayAdsSimilarIds.length; ++i) - if (!$util.isString(message.displayAdsSimilarIds[i])) - return "displayAdsSimilarIds: string[] expected"; - } - if (message.displayAdsTitle != null && message.hasOwnProperty("displayAdsTitle")) { - properties._displayAdsTitle = 1; - if (!$util.isString(message.displayAdsTitle)) - return "displayAdsTitle: string expected"; - } - if (message.displayAdsLink != null && message.hasOwnProperty("displayAdsLink")) { - properties._displayAdsLink = 1; - if (!$util.isString(message.displayAdsLink)) - return "displayAdsLink: string expected"; - } - if (message.displayAdsValue != null && message.hasOwnProperty("displayAdsValue")) { - properties._displayAdsValue = 1; - if (typeof message.displayAdsValue !== "number") - return "displayAdsValue: number expected"; - } - if (message.promotionIds != null && message.hasOwnProperty("promotionIds")) { - if (!Array.isArray(message.promotionIds)) - return "promotionIds: array expected"; - for (var i = 0; i < message.promotionIds.length; ++i) - if (!$util.isString(message.promotionIds[i])) - return "promotionIds: string[] expected"; - } - if (message.pickupMethod != null && message.hasOwnProperty("pickupMethod")) { - properties._pickupMethod = 1; - if (!$util.isString(message.pickupMethod)) - return "pickupMethod: string expected"; - } - if (message.pickupSla != null && message.hasOwnProperty("pickupSla")) { - properties._pickupSla = 1; - if (!$util.isString(message.pickupSla)) - return "pickupSla: string expected"; - } - if (message.linkTemplate != null && message.hasOwnProperty("linkTemplate")) { - properties._linkTemplate = 1; - if (!$util.isString(message.linkTemplate)) - return "linkTemplate: string expected"; - } - if (message.mobileLinkTemplate != null && message.hasOwnProperty("mobileLinkTemplate")) { - properties._mobileLinkTemplate = 1; - if (!$util.isString(message.mobileLinkTemplate)) - return "mobileLinkTemplate: string expected"; - } - if (message.customLabel_0 != null && message.hasOwnProperty("customLabel_0")) { - properties._customLabel_0 = 1; - if (!$util.isString(message.customLabel_0)) - return "customLabel_0: string expected"; - } - if (message.customLabel_1 != null && message.hasOwnProperty("customLabel_1")) { - properties._customLabel_1 = 1; - if (!$util.isString(message.customLabel_1)) - return "customLabel_1: string expected"; - } - if (message.customLabel_2 != null && message.hasOwnProperty("customLabel_2")) { - properties._customLabel_2 = 1; - if (!$util.isString(message.customLabel_2)) - return "customLabel_2: string expected"; - } - if (message.customLabel_3 != null && message.hasOwnProperty("customLabel_3")) { - properties._customLabel_3 = 1; - if (!$util.isString(message.customLabel_3)) - return "customLabel_3: string expected"; - } - if (message.customLabel_4 != null && message.hasOwnProperty("customLabel_4")) { - properties._customLabel_4 = 1; - if (!$util.isString(message.customLabel_4)) - return "customLabel_4: string expected"; - } - if (message.includedDestinations != null && message.hasOwnProperty("includedDestinations")) { - if (!Array.isArray(message.includedDestinations)) - return "includedDestinations: array expected"; - for (var i = 0; i < message.includedDestinations.length; ++i) - if (!$util.isString(message.includedDestinations[i])) - return "includedDestinations: string[] expected"; - } - if (message.excludedDestinations != null && message.hasOwnProperty("excludedDestinations")) { - if (!Array.isArray(message.excludedDestinations)) - return "excludedDestinations: array expected"; - for (var i = 0; i < message.excludedDestinations.length; ++i) - if (!$util.isString(message.excludedDestinations[i])) - return "excludedDestinations: string[] expected"; - } - if (message.shoppingAdsExcludedCountries != null && message.hasOwnProperty("shoppingAdsExcludedCountries")) { - if (!Array.isArray(message.shoppingAdsExcludedCountries)) - return "shoppingAdsExcludedCountries: array expected"; - for (var i = 0; i < message.shoppingAdsExcludedCountries.length; ++i) - if (!$util.isString(message.shoppingAdsExcludedCountries[i])) - return "shoppingAdsExcludedCountries: string[] expected"; - } - if (message.externalSellerId != null && message.hasOwnProperty("externalSellerId")) { - properties._externalSellerId = 1; - if (!$util.isString(message.externalSellerId)) - return "externalSellerId: string expected"; - } - if (message.pause != null && message.hasOwnProperty("pause")) { - properties._pause = 1; - if (!$util.isString(message.pause)) - return "pause: string expected"; - } - if (message.lifestyleImageLinks != null && message.hasOwnProperty("lifestyleImageLinks")) { - if (!Array.isArray(message.lifestyleImageLinks)) - return "lifestyleImageLinks: array expected"; - for (var i = 0; i < message.lifestyleImageLinks.length; ++i) - if (!$util.isString(message.lifestyleImageLinks[i])) - return "lifestyleImageLinks: string[] expected"; - } - if (message.cloudExportAdditionalProperties != null && message.hasOwnProperty("cloudExportAdditionalProperties")) { - if (!Array.isArray(message.cloudExportAdditionalProperties)) - return "cloudExportAdditionalProperties: array expected"; - for (var i = 0; i < message.cloudExportAdditionalProperties.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify(message.cloudExportAdditionalProperties[i]); - if (error) - return "cloudExportAdditionalProperties." + error; - } - } - if (message.virtualModelLink != null && message.hasOwnProperty("virtualModelLink")) { - properties._virtualModelLink = 1; - if (!$util.isString(message.virtualModelLink)) - return "virtualModelLink: string expected"; - } - if (message.certifications != null && message.hasOwnProperty("certifications")) { - if (!Array.isArray(message.certifications)) - return "certifications: array expected"; - for (var i = 0; i < message.certifications.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.Certification.verify(message.certifications[i]); - if (error) - return "certifications." + error; - } - } - if (message.structuredTitle != null && message.hasOwnProperty("structuredTitle")) { - properties._structuredTitle = 1; - { - var error = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify(message.structuredTitle); - if (error) - return "structuredTitle." + error; - } - } - if (message.structuredDescription != null && message.hasOwnProperty("structuredDescription")) { - properties._structuredDescription = 1; - { - var error = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify(message.structuredDescription); - if (error) - return "structuredDescription." + error; - } - } - if (message.autoPricingMinPrice != null && message.hasOwnProperty("autoPricingMinPrice")) { - var error = $root.google.shopping.type.Price.verify(message.autoPricingMinPrice); - if (error) - return "autoPricingMinPrice." + error; - } - return null; - }; - - /** - * Creates an Attributes message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Attributes} Attributes - */ - Attributes.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Attributes) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Attributes(); - if (object.identifierExists != null) - message.identifierExists = Boolean(object.identifierExists); - if (object.isBundle != null) - message.isBundle = Boolean(object.isBundle); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.link != null) - message.link = String(object.link); - if (object.mobileLink != null) - message.mobileLink = String(object.mobileLink); - if (object.canonicalLink != null) - message.canonicalLink = String(object.canonicalLink); - if (object.imageLink != null) - message.imageLink = String(object.imageLink); - if (object.additionalImageLinks) { - if (!Array.isArray(object.additionalImageLinks)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.additionalImageLinks: array expected"); - message.additionalImageLinks = []; - for (var i = 0; i < object.additionalImageLinks.length; ++i) - message.additionalImageLinks[i] = String(object.additionalImageLinks[i]); - } - if (object.expirationDate != null) { - if (typeof object.expirationDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.expirationDate: object expected"); - message.expirationDate = $root.google.protobuf.Timestamp.fromObject(object.expirationDate); - } - if (object.disclosureDate != null) { - if (typeof object.disclosureDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.disclosureDate: object expected"); - message.disclosureDate = $root.google.protobuf.Timestamp.fromObject(object.disclosureDate); - } - if (object.adult != null) - message.adult = Boolean(object.adult); - if (object.ageGroup != null) - message.ageGroup = String(object.ageGroup); - if (object.availability != null) - message.availability = String(object.availability); - if (object.availabilityDate != null) { - if (typeof object.availabilityDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.availabilityDate: object expected"); - message.availabilityDate = $root.google.protobuf.Timestamp.fromObject(object.availabilityDate); - } - if (object.brand != null) - message.brand = String(object.brand); - if (object.color != null) - message.color = String(object.color); - if (object.condition != null) - message.condition = String(object.condition); - if (object.gender != null) - message.gender = String(object.gender); - if (object.googleProductCategory != null) - message.googleProductCategory = String(object.googleProductCategory); - if (object.gtin) { - if (!Array.isArray(object.gtin)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.gtin: array expected"); - message.gtin = []; - for (var i = 0; i < object.gtin.length; ++i) - message.gtin[i] = String(object.gtin[i]); - } - if (object.itemGroupId != null) - message.itemGroupId = String(object.itemGroupId); - if (object.material != null) - message.material = String(object.material); - if (object.mpn != null) - message.mpn = String(object.mpn); - if (object.pattern != null) - message.pattern = String(object.pattern); - if (object.price != null) { - if (typeof object.price !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.price: object expected"); - message.price = $root.google.shopping.type.Price.fromObject(object.price); - } - if (object.installment != null) { - if (typeof object.installment !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.installment: object expected"); - message.installment = $root.google.shopping.merchant.products.v1beta.Installment.fromObject(object.installment); - } - if (object.subscriptionCost != null) { - if (typeof object.subscriptionCost !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.subscriptionCost: object expected"); - message.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.fromObject(object.subscriptionCost); - } - if (object.loyaltyPoints != null) { - if (typeof object.loyaltyPoints !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPoints: object expected"); - message.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.fromObject(object.loyaltyPoints); - } - if (object.loyaltyPrograms) { - if (!Array.isArray(object.loyaltyPrograms)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPrograms: array expected"); - message.loyaltyPrograms = []; - for (var i = 0; i < object.loyaltyPrograms.length; ++i) { - if (typeof object.loyaltyPrograms[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.loyaltyPrograms: object expected"); - message.loyaltyPrograms[i] = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.fromObject(object.loyaltyPrograms[i]); - } - } - if (object.productTypes) { - if (!Array.isArray(object.productTypes)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productTypes: array expected"); - message.productTypes = []; - for (var i = 0; i < object.productTypes.length; ++i) - message.productTypes[i] = String(object.productTypes[i]); - } - if (object.salePrice != null) { - if (typeof object.salePrice !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.salePrice: object expected"); - message.salePrice = $root.google.shopping.type.Price.fromObject(object.salePrice); - } - if (object.salePriceEffectiveDate != null) { - if (typeof object.salePriceEffectiveDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.salePriceEffectiveDate: object expected"); - message.salePriceEffectiveDate = $root.google.type.Interval.fromObject(object.salePriceEffectiveDate); - } - if (object.sellOnGoogleQuantity != null) - if ($util.Long) - (message.sellOnGoogleQuantity = $util.Long.fromValue(object.sellOnGoogleQuantity)).unsigned = false; - else if (typeof object.sellOnGoogleQuantity === "string") - message.sellOnGoogleQuantity = parseInt(object.sellOnGoogleQuantity, 10); - else if (typeof object.sellOnGoogleQuantity === "number") - message.sellOnGoogleQuantity = object.sellOnGoogleQuantity; - else if (typeof object.sellOnGoogleQuantity === "object") - message.sellOnGoogleQuantity = new $util.LongBits(object.sellOnGoogleQuantity.low >>> 0, object.sellOnGoogleQuantity.high >>> 0).toNumber(); - if (object.productHeight != null) { - if (typeof object.productHeight !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productHeight: object expected"); - message.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productHeight); - } - if (object.productLength != null) { - if (typeof object.productLength !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productLength: object expected"); - message.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productLength); - } - if (object.productWidth != null) { - if (typeof object.productWidth !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productWidth: object expected"); - message.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.fromObject(object.productWidth); - } - if (object.productWeight != null) { - if (typeof object.productWeight !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productWeight: object expected"); - message.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.fromObject(object.productWeight); - } - if (object.shipping) { - if (!Array.isArray(object.shipping)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shipping: array expected"); - message.shipping = []; - for (var i = 0; i < object.shipping.length; ++i) { - if (typeof object.shipping[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shipping: object expected"); - message.shipping[i] = $root.google.shopping.merchant.products.v1beta.Shipping.fromObject(object.shipping[i]); - } - } - if (object.freeShippingThreshold) { - if (!Array.isArray(object.freeShippingThreshold)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.freeShippingThreshold: array expected"); - message.freeShippingThreshold = []; - for (var i = 0; i < object.freeShippingThreshold.length; ++i) { - if (typeof object.freeShippingThreshold[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.freeShippingThreshold: object expected"); - message.freeShippingThreshold[i] = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.fromObject(object.freeShippingThreshold[i]); - } - } - if (object.shippingWeight != null) { - if (typeof object.shippingWeight !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingWeight: object expected"); - message.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.fromObject(object.shippingWeight); - } - if (object.shippingLength != null) { - if (typeof object.shippingLength !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingLength: object expected"); - message.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingLength); - } - if (object.shippingWidth != null) { - if (typeof object.shippingWidth !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingWidth: object expected"); - message.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingWidth); - } - if (object.shippingHeight != null) { - if (typeof object.shippingHeight !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shippingHeight: object expected"); - message.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.fromObject(object.shippingHeight); - } - if (object.maxHandlingTime != null) - if ($util.Long) - (message.maxHandlingTime = $util.Long.fromValue(object.maxHandlingTime)).unsigned = false; - else if (typeof object.maxHandlingTime === "string") - message.maxHandlingTime = parseInt(object.maxHandlingTime, 10); - else if (typeof object.maxHandlingTime === "number") - message.maxHandlingTime = object.maxHandlingTime; - else if (typeof object.maxHandlingTime === "object") - message.maxHandlingTime = new $util.LongBits(object.maxHandlingTime.low >>> 0, object.maxHandlingTime.high >>> 0).toNumber(); - if (object.minHandlingTime != null) - if ($util.Long) - (message.minHandlingTime = $util.Long.fromValue(object.minHandlingTime)).unsigned = false; - else if (typeof object.minHandlingTime === "string") - message.minHandlingTime = parseInt(object.minHandlingTime, 10); - else if (typeof object.minHandlingTime === "number") - message.minHandlingTime = object.minHandlingTime; - else if (typeof object.minHandlingTime === "object") - message.minHandlingTime = new $util.LongBits(object.minHandlingTime.low >>> 0, object.minHandlingTime.high >>> 0).toNumber(); - if (object.shippingLabel != null) - message.shippingLabel = String(object.shippingLabel); - if (object.transitTimeLabel != null) - message.transitTimeLabel = String(object.transitTimeLabel); - if (object.size != null) - message.size = String(object.size); - if (object.sizeSystem != null) - message.sizeSystem = String(object.sizeSystem); - if (object.sizeTypes) { - if (!Array.isArray(object.sizeTypes)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.sizeTypes: array expected"); - message.sizeTypes = []; - for (var i = 0; i < object.sizeTypes.length; ++i) - message.sizeTypes[i] = String(object.sizeTypes[i]); - } - if (object.taxes) { - if (!Array.isArray(object.taxes)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.taxes: array expected"); - message.taxes = []; - for (var i = 0; i < object.taxes.length; ++i) { - if (typeof object.taxes[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.taxes: object expected"); - message.taxes[i] = $root.google.shopping.merchant.products.v1beta.Tax.fromObject(object.taxes[i]); - } - } - if (object.taxCategory != null) - message.taxCategory = String(object.taxCategory); - if (object.energyEfficiencyClass != null) - message.energyEfficiencyClass = String(object.energyEfficiencyClass); - if (object.minEnergyEfficiencyClass != null) - message.minEnergyEfficiencyClass = String(object.minEnergyEfficiencyClass); - if (object.maxEnergyEfficiencyClass != null) - message.maxEnergyEfficiencyClass = String(object.maxEnergyEfficiencyClass); - if (object.unitPricingMeasure != null) { - if (typeof object.unitPricingMeasure !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.unitPricingMeasure: object expected"); - message.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.fromObject(object.unitPricingMeasure); - } - if (object.unitPricingBaseMeasure != null) { - if (typeof object.unitPricingBaseMeasure !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.unitPricingBaseMeasure: object expected"); - message.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.fromObject(object.unitPricingBaseMeasure); - } - if (object.multipack != null) - if ($util.Long) - (message.multipack = $util.Long.fromValue(object.multipack)).unsigned = false; - else if (typeof object.multipack === "string") - message.multipack = parseInt(object.multipack, 10); - else if (typeof object.multipack === "number") - message.multipack = object.multipack; - else if (typeof object.multipack === "object") - message.multipack = new $util.LongBits(object.multipack.low >>> 0, object.multipack.high >>> 0).toNumber(); - if (object.adsGrouping != null) - message.adsGrouping = String(object.adsGrouping); - if (object.adsLabels) { - if (!Array.isArray(object.adsLabels)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.adsLabels: array expected"); - message.adsLabels = []; - for (var i = 0; i < object.adsLabels.length; ++i) - message.adsLabels[i] = String(object.adsLabels[i]); - } - if (object.adsRedirect != null) - message.adsRedirect = String(object.adsRedirect); - if (object.costOfGoodsSold != null) { - if (typeof object.costOfGoodsSold !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.costOfGoodsSold: object expected"); - message.costOfGoodsSold = $root.google.shopping.type.Price.fromObject(object.costOfGoodsSold); - } - if (object.productDetails) { - if (!Array.isArray(object.productDetails)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productDetails: array expected"); - message.productDetails = []; - for (var i = 0; i < object.productDetails.length; ++i) { - if (typeof object.productDetails[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productDetails: object expected"); - message.productDetails[i] = $root.google.shopping.merchant.products.v1beta.ProductDetail.fromObject(object.productDetails[i]); - } - } - if (object.productHighlights) { - if (!Array.isArray(object.productHighlights)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.productHighlights: array expected"); - message.productHighlights = []; - for (var i = 0; i < object.productHighlights.length; ++i) - message.productHighlights[i] = String(object.productHighlights[i]); - } - if (object.displayAdsId != null) - message.displayAdsId = String(object.displayAdsId); - if (object.displayAdsSimilarIds) { - if (!Array.isArray(object.displayAdsSimilarIds)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.displayAdsSimilarIds: array expected"); - message.displayAdsSimilarIds = []; - for (var i = 0; i < object.displayAdsSimilarIds.length; ++i) - message.displayAdsSimilarIds[i] = String(object.displayAdsSimilarIds[i]); - } - if (object.displayAdsTitle != null) - message.displayAdsTitle = String(object.displayAdsTitle); - if (object.displayAdsLink != null) - message.displayAdsLink = String(object.displayAdsLink); - if (object.displayAdsValue != null) - message.displayAdsValue = Number(object.displayAdsValue); - if (object.promotionIds) { - if (!Array.isArray(object.promotionIds)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.promotionIds: array expected"); - message.promotionIds = []; - for (var i = 0; i < object.promotionIds.length; ++i) - message.promotionIds[i] = String(object.promotionIds[i]); - } - if (object.pickupMethod != null) - message.pickupMethod = String(object.pickupMethod); - if (object.pickupSla != null) - message.pickupSla = String(object.pickupSla); - if (object.linkTemplate != null) - message.linkTemplate = String(object.linkTemplate); - if (object.mobileLinkTemplate != null) - message.mobileLinkTemplate = String(object.mobileLinkTemplate); - if (object.customLabel_0 != null) - message.customLabel_0 = String(object.customLabel_0); - if (object.customLabel_1 != null) - message.customLabel_1 = String(object.customLabel_1); - if (object.customLabel_2 != null) - message.customLabel_2 = String(object.customLabel_2); - if (object.customLabel_3 != null) - message.customLabel_3 = String(object.customLabel_3); - if (object.customLabel_4 != null) - message.customLabel_4 = String(object.customLabel_4); - if (object.includedDestinations) { - if (!Array.isArray(object.includedDestinations)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.includedDestinations: array expected"); - message.includedDestinations = []; - for (var i = 0; i < object.includedDestinations.length; ++i) - message.includedDestinations[i] = String(object.includedDestinations[i]); - } - if (object.excludedDestinations) { - if (!Array.isArray(object.excludedDestinations)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.excludedDestinations: array expected"); - message.excludedDestinations = []; - for (var i = 0; i < object.excludedDestinations.length; ++i) - message.excludedDestinations[i] = String(object.excludedDestinations[i]); - } - if (object.shoppingAdsExcludedCountries) { - if (!Array.isArray(object.shoppingAdsExcludedCountries)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.shoppingAdsExcludedCountries: array expected"); - message.shoppingAdsExcludedCountries = []; - for (var i = 0; i < object.shoppingAdsExcludedCountries.length; ++i) - message.shoppingAdsExcludedCountries[i] = String(object.shoppingAdsExcludedCountries[i]); - } - if (object.externalSellerId != null) - message.externalSellerId = String(object.externalSellerId); - if (object.pause != null) - message.pause = String(object.pause); - if (object.lifestyleImageLinks) { - if (!Array.isArray(object.lifestyleImageLinks)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.lifestyleImageLinks: array expected"); - message.lifestyleImageLinks = []; - for (var i = 0; i < object.lifestyleImageLinks.length; ++i) - message.lifestyleImageLinks[i] = String(object.lifestyleImageLinks[i]); - } - if (object.cloudExportAdditionalProperties) { - if (!Array.isArray(object.cloudExportAdditionalProperties)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.cloudExportAdditionalProperties: array expected"); - message.cloudExportAdditionalProperties = []; - for (var i = 0; i < object.cloudExportAdditionalProperties.length; ++i) { - if (typeof object.cloudExportAdditionalProperties[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.cloudExportAdditionalProperties: object expected"); - message.cloudExportAdditionalProperties[i] = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.fromObject(object.cloudExportAdditionalProperties[i]); - } - } - if (object.virtualModelLink != null) - message.virtualModelLink = String(object.virtualModelLink); - if (object.certifications) { - if (!Array.isArray(object.certifications)) - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.certifications: array expected"); - message.certifications = []; - for (var i = 0; i < object.certifications.length; ++i) { - if (typeof object.certifications[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.certifications: object expected"); - message.certifications[i] = $root.google.shopping.merchant.products.v1beta.Certification.fromObject(object.certifications[i]); - } - } - if (object.structuredTitle != null) { - if (typeof object.structuredTitle !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.structuredTitle: object expected"); - message.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.fromObject(object.structuredTitle); - } - if (object.structuredDescription != null) { - if (typeof object.structuredDescription !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.structuredDescription: object expected"); - message.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.fromObject(object.structuredDescription); - } - if (object.autoPricingMinPrice != null) { - if (typeof object.autoPricingMinPrice !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.autoPricingMinPrice: object expected"); - message.autoPricingMinPrice = $root.google.shopping.type.Price.fromObject(object.autoPricingMinPrice); - } - return message; - }; - - /** - * Creates a plain object from an Attributes message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {google.shopping.merchant.products.v1beta.Attributes} message Attributes - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Attributes.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.additionalImageLinks = []; - object.lifestyleImageLinks = []; - object.gtin = []; - object.productTypes = []; - object.shipping = []; - object.sizeTypes = []; - object.taxes = []; - object.adsLabels = []; - object.productDetails = []; - object.productHighlights = []; - object.displayAdsSimilarIds = []; - object.promotionIds = []; - object.includedDestinations = []; - object.excludedDestinations = []; - object.shoppingAdsExcludedCountries = []; - object.cloudExportAdditionalProperties = []; - object.certifications = []; - object.freeShippingThreshold = []; - object.loyaltyPrograms = []; - } - if (options.defaults) { - object.expirationDate = null; - object.availabilityDate = null; - object.price = null; - object.installment = null; - object.subscriptionCost = null; - object.loyaltyPoints = null; - object.salePrice = null; - object.salePriceEffectiveDate = null; - object.shippingWeight = null; - object.shippingLength = null; - object.shippingWidth = null; - object.shippingHeight = null; - object.unitPricingMeasure = null; - object.unitPricingBaseMeasure = null; - object.costOfGoodsSold = null; - object.disclosureDate = null; - object.productHeight = null; - object.productLength = null; - object.productWidth = null; - object.productWeight = null; - object.autoPricingMinPrice = null; - } - if (message.externalSellerId != null && message.hasOwnProperty("externalSellerId")) { - object.externalSellerId = message.externalSellerId; - if (options.oneofs) - object._externalSellerId = "externalSellerId"; - } - if (message.identifierExists != null && message.hasOwnProperty("identifierExists")) { - object.identifierExists = message.identifierExists; - if (options.oneofs) - object._identifierExists = "identifierExists"; - } - if (message.isBundle != null && message.hasOwnProperty("isBundle")) { - object.isBundle = message.isBundle; - if (options.oneofs) - object._isBundle = "isBundle"; - } - if (message.title != null && message.hasOwnProperty("title")) { - object.title = message.title; - if (options.oneofs) - object._title = "title"; - } - if (message.description != null && message.hasOwnProperty("description")) { - object.description = message.description; - if (options.oneofs) - object._description = "description"; - } - if (message.link != null && message.hasOwnProperty("link")) { - object.link = message.link; - if (options.oneofs) - object._link = "link"; - } - if (message.mobileLink != null && message.hasOwnProperty("mobileLink")) { - object.mobileLink = message.mobileLink; - if (options.oneofs) - object._mobileLink = "mobileLink"; - } - if (message.canonicalLink != null && message.hasOwnProperty("canonicalLink")) { - object.canonicalLink = message.canonicalLink; - if (options.oneofs) - object._canonicalLink = "canonicalLink"; - } - if (message.imageLink != null && message.hasOwnProperty("imageLink")) { - object.imageLink = message.imageLink; - if (options.oneofs) - object._imageLink = "imageLink"; - } - if (message.additionalImageLinks && message.additionalImageLinks.length) { - object.additionalImageLinks = []; - for (var j = 0; j < message.additionalImageLinks.length; ++j) - object.additionalImageLinks[j] = message.additionalImageLinks[j]; - } - if (message.pause != null && message.hasOwnProperty("pause")) { - object.pause = message.pause; - if (options.oneofs) - object._pause = "pause"; - } - if (message.lifestyleImageLinks && message.lifestyleImageLinks.length) { - object.lifestyleImageLinks = []; - for (var j = 0; j < message.lifestyleImageLinks.length; ++j) - object.lifestyleImageLinks[j] = message.lifestyleImageLinks[j]; - } - if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) - object.expirationDate = $root.google.protobuf.Timestamp.toObject(message.expirationDate, options); - if (message.adult != null && message.hasOwnProperty("adult")) { - object.adult = message.adult; - if (options.oneofs) - object._adult = "adult"; - } - if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { - object.ageGroup = message.ageGroup; - if (options.oneofs) - object._ageGroup = "ageGroup"; - } - if (message.availability != null && message.hasOwnProperty("availability")) { - object.availability = message.availability; - if (options.oneofs) - object._availability = "availability"; - } - if (message.availabilityDate != null && message.hasOwnProperty("availabilityDate")) - object.availabilityDate = $root.google.protobuf.Timestamp.toObject(message.availabilityDate, options); - if (message.brand != null && message.hasOwnProperty("brand")) { - object.brand = message.brand; - if (options.oneofs) - object._brand = "brand"; - } - if (message.color != null && message.hasOwnProperty("color")) { - object.color = message.color; - if (options.oneofs) - object._color = "color"; - } - if (message.condition != null && message.hasOwnProperty("condition")) { - object.condition = message.condition; - if (options.oneofs) - object._condition = "condition"; - } - if (message.gender != null && message.hasOwnProperty("gender")) { - object.gender = message.gender; - if (options.oneofs) - object._gender = "gender"; - } - if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { - object.googleProductCategory = message.googleProductCategory; - if (options.oneofs) - object._googleProductCategory = "googleProductCategory"; - } - if (message.gtin && message.gtin.length) { - object.gtin = []; - for (var j = 0; j < message.gtin.length; ++j) - object.gtin[j] = message.gtin[j]; - } - if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { - object.itemGroupId = message.itemGroupId; - if (options.oneofs) - object._itemGroupId = "itemGroupId"; - } - if (message.material != null && message.hasOwnProperty("material")) { - object.material = message.material; - if (options.oneofs) - object._material = "material"; - } - if (message.mpn != null && message.hasOwnProperty("mpn")) { - object.mpn = message.mpn; - if (options.oneofs) - object._mpn = "mpn"; - } - if (message.pattern != null && message.hasOwnProperty("pattern")) { - object.pattern = message.pattern; - if (options.oneofs) - object._pattern = "pattern"; - } - if (message.price != null && message.hasOwnProperty("price")) - object.price = $root.google.shopping.type.Price.toObject(message.price, options); - if (message.installment != null && message.hasOwnProperty("installment")) - object.installment = $root.google.shopping.merchant.products.v1beta.Installment.toObject(message.installment, options); - if (message.subscriptionCost != null && message.hasOwnProperty("subscriptionCost")) - object.subscriptionCost = $root.google.shopping.merchant.products.v1beta.SubscriptionCost.toObject(message.subscriptionCost, options); - if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) - object.loyaltyPoints = $root.google.shopping.merchant.products.v1beta.LoyaltyPoints.toObject(message.loyaltyPoints, options); - if (message.productTypes && message.productTypes.length) { - object.productTypes = []; - for (var j = 0; j < message.productTypes.length; ++j) - object.productTypes[j] = message.productTypes[j]; - } - if (message.salePrice != null && message.hasOwnProperty("salePrice")) - object.salePrice = $root.google.shopping.type.Price.toObject(message.salePrice, options); - if (message.salePriceEffectiveDate != null && message.hasOwnProperty("salePriceEffectiveDate")) - object.salePriceEffectiveDate = $root.google.type.Interval.toObject(message.salePriceEffectiveDate, options); - if (message.sellOnGoogleQuantity != null && message.hasOwnProperty("sellOnGoogleQuantity")) { - if (typeof message.sellOnGoogleQuantity === "number") - object.sellOnGoogleQuantity = options.longs === String ? String(message.sellOnGoogleQuantity) : message.sellOnGoogleQuantity; - else - object.sellOnGoogleQuantity = options.longs === String ? $util.Long.prototype.toString.call(message.sellOnGoogleQuantity) : options.longs === Number ? new $util.LongBits(message.sellOnGoogleQuantity.low >>> 0, message.sellOnGoogleQuantity.high >>> 0).toNumber() : message.sellOnGoogleQuantity; - if (options.oneofs) - object._sellOnGoogleQuantity = "sellOnGoogleQuantity"; - } - if (message.shipping && message.shipping.length) { - object.shipping = []; - for (var j = 0; j < message.shipping.length; ++j) - object.shipping[j] = $root.google.shopping.merchant.products.v1beta.Shipping.toObject(message.shipping[j], options); - } - if (message.shippingWeight != null && message.hasOwnProperty("shippingWeight")) - object.shippingWeight = $root.google.shopping.merchant.products.v1beta.ShippingWeight.toObject(message.shippingWeight, options); - if (message.shippingLength != null && message.hasOwnProperty("shippingLength")) - object.shippingLength = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingLength, options); - if (message.shippingWidth != null && message.hasOwnProperty("shippingWidth")) - object.shippingWidth = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingWidth, options); - if (message.shippingHeight != null && message.hasOwnProperty("shippingHeight")) - object.shippingHeight = $root.google.shopping.merchant.products.v1beta.ShippingDimension.toObject(message.shippingHeight, options); - if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { - if (typeof message.maxHandlingTime === "number") - object.maxHandlingTime = options.longs === String ? String(message.maxHandlingTime) : message.maxHandlingTime; - else - object.maxHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxHandlingTime) : options.longs === Number ? new $util.LongBits(message.maxHandlingTime.low >>> 0, message.maxHandlingTime.high >>> 0).toNumber() : message.maxHandlingTime; - if (options.oneofs) - object._maxHandlingTime = "maxHandlingTime"; - } - if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { - if (typeof message.minHandlingTime === "number") - object.minHandlingTime = options.longs === String ? String(message.minHandlingTime) : message.minHandlingTime; - else - object.minHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.minHandlingTime) : options.longs === Number ? new $util.LongBits(message.minHandlingTime.low >>> 0, message.minHandlingTime.high >>> 0).toNumber() : message.minHandlingTime; - if (options.oneofs) - object._minHandlingTime = "minHandlingTime"; - } - if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { - object.shippingLabel = message.shippingLabel; - if (options.oneofs) - object._shippingLabel = "shippingLabel"; - } - if (message.transitTimeLabel != null && message.hasOwnProperty("transitTimeLabel")) { - object.transitTimeLabel = message.transitTimeLabel; - if (options.oneofs) - object._transitTimeLabel = "transitTimeLabel"; - } - if (message.size != null && message.hasOwnProperty("size")) { - object.size = message.size; - if (options.oneofs) - object._size = "size"; - } - if (message.sizeSystem != null && message.hasOwnProperty("sizeSystem")) { - object.sizeSystem = message.sizeSystem; - if (options.oneofs) - object._sizeSystem = "sizeSystem"; - } - if (message.sizeTypes && message.sizeTypes.length) { - object.sizeTypes = []; - for (var j = 0; j < message.sizeTypes.length; ++j) - object.sizeTypes[j] = message.sizeTypes[j]; - } - if (message.taxes && message.taxes.length) { - object.taxes = []; - for (var j = 0; j < message.taxes.length; ++j) - object.taxes[j] = $root.google.shopping.merchant.products.v1beta.Tax.toObject(message.taxes[j], options); - } - if (message.taxCategory != null && message.hasOwnProperty("taxCategory")) { - object.taxCategory = message.taxCategory; - if (options.oneofs) - object._taxCategory = "taxCategory"; - } - if (message.energyEfficiencyClass != null && message.hasOwnProperty("energyEfficiencyClass")) { - object.energyEfficiencyClass = message.energyEfficiencyClass; - if (options.oneofs) - object._energyEfficiencyClass = "energyEfficiencyClass"; - } - if (message.minEnergyEfficiencyClass != null && message.hasOwnProperty("minEnergyEfficiencyClass")) { - object.minEnergyEfficiencyClass = message.minEnergyEfficiencyClass; - if (options.oneofs) - object._minEnergyEfficiencyClass = "minEnergyEfficiencyClass"; - } - if (message.maxEnergyEfficiencyClass != null && message.hasOwnProperty("maxEnergyEfficiencyClass")) { - object.maxEnergyEfficiencyClass = message.maxEnergyEfficiencyClass; - if (options.oneofs) - object._maxEnergyEfficiencyClass = "maxEnergyEfficiencyClass"; - } - if (message.unitPricingMeasure != null && message.hasOwnProperty("unitPricingMeasure")) - object.unitPricingMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure.toObject(message.unitPricingMeasure, options); - if (message.unitPricingBaseMeasure != null && message.hasOwnProperty("unitPricingBaseMeasure")) - object.unitPricingBaseMeasure = $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.toObject(message.unitPricingBaseMeasure, options); - if (message.multipack != null && message.hasOwnProperty("multipack")) { - if (typeof message.multipack === "number") - object.multipack = options.longs === String ? String(message.multipack) : message.multipack; - else - object.multipack = options.longs === String ? $util.Long.prototype.toString.call(message.multipack) : options.longs === Number ? new $util.LongBits(message.multipack.low >>> 0, message.multipack.high >>> 0).toNumber() : message.multipack; - if (options.oneofs) - object._multipack = "multipack"; - } - if (message.adsGrouping != null && message.hasOwnProperty("adsGrouping")) { - object.adsGrouping = message.adsGrouping; - if (options.oneofs) - object._adsGrouping = "adsGrouping"; - } - if (message.adsLabels && message.adsLabels.length) { - object.adsLabels = []; - for (var j = 0; j < message.adsLabels.length; ++j) - object.adsLabels[j] = message.adsLabels[j]; - } - if (message.adsRedirect != null && message.hasOwnProperty("adsRedirect")) { - object.adsRedirect = message.adsRedirect; - if (options.oneofs) - object._adsRedirect = "adsRedirect"; - } - if (message.costOfGoodsSold != null && message.hasOwnProperty("costOfGoodsSold")) - object.costOfGoodsSold = $root.google.shopping.type.Price.toObject(message.costOfGoodsSold, options); - if (message.productDetails && message.productDetails.length) { - object.productDetails = []; - for (var j = 0; j < message.productDetails.length; ++j) - object.productDetails[j] = $root.google.shopping.merchant.products.v1beta.ProductDetail.toObject(message.productDetails[j], options); - } - if (message.productHighlights && message.productHighlights.length) { - object.productHighlights = []; - for (var j = 0; j < message.productHighlights.length; ++j) - object.productHighlights[j] = message.productHighlights[j]; - } - if (message.displayAdsId != null && message.hasOwnProperty("displayAdsId")) { - object.displayAdsId = message.displayAdsId; - if (options.oneofs) - object._displayAdsId = "displayAdsId"; - } - if (message.displayAdsSimilarIds && message.displayAdsSimilarIds.length) { - object.displayAdsSimilarIds = []; - for (var j = 0; j < message.displayAdsSimilarIds.length; ++j) - object.displayAdsSimilarIds[j] = message.displayAdsSimilarIds[j]; - } - if (message.displayAdsTitle != null && message.hasOwnProperty("displayAdsTitle")) { - object.displayAdsTitle = message.displayAdsTitle; - if (options.oneofs) - object._displayAdsTitle = "displayAdsTitle"; - } - if (message.displayAdsLink != null && message.hasOwnProperty("displayAdsLink")) { - object.displayAdsLink = message.displayAdsLink; - if (options.oneofs) - object._displayAdsLink = "displayAdsLink"; - } - if (message.displayAdsValue != null && message.hasOwnProperty("displayAdsValue")) { - object.displayAdsValue = options.json && !isFinite(message.displayAdsValue) ? String(message.displayAdsValue) : message.displayAdsValue; - if (options.oneofs) - object._displayAdsValue = "displayAdsValue"; - } - if (message.promotionIds && message.promotionIds.length) { - object.promotionIds = []; - for (var j = 0; j < message.promotionIds.length; ++j) - object.promotionIds[j] = message.promotionIds[j]; - } - if (message.customLabel_0 != null && message.hasOwnProperty("customLabel_0")) { - object.customLabel_0 = message.customLabel_0; - if (options.oneofs) - object._customLabel_0 = "customLabel_0"; - } - if (message.customLabel_1 != null && message.hasOwnProperty("customLabel_1")) { - object.customLabel_1 = message.customLabel_1; - if (options.oneofs) - object._customLabel_1 = "customLabel_1"; - } - if (message.customLabel_2 != null && message.hasOwnProperty("customLabel_2")) { - object.customLabel_2 = message.customLabel_2; - if (options.oneofs) - object._customLabel_2 = "customLabel_2"; - } - if (message.customLabel_3 != null && message.hasOwnProperty("customLabel_3")) { - object.customLabel_3 = message.customLabel_3; - if (options.oneofs) - object._customLabel_3 = "customLabel_3"; - } - if (message.customLabel_4 != null && message.hasOwnProperty("customLabel_4")) { - object.customLabel_4 = message.customLabel_4; - if (options.oneofs) - object._customLabel_4 = "customLabel_4"; - } - if (message.includedDestinations && message.includedDestinations.length) { - object.includedDestinations = []; - for (var j = 0; j < message.includedDestinations.length; ++j) - object.includedDestinations[j] = message.includedDestinations[j]; - } - if (message.excludedDestinations && message.excludedDestinations.length) { - object.excludedDestinations = []; - for (var j = 0; j < message.excludedDestinations.length; ++j) - object.excludedDestinations[j] = message.excludedDestinations[j]; - } - if (message.shoppingAdsExcludedCountries && message.shoppingAdsExcludedCountries.length) { - object.shoppingAdsExcludedCountries = []; - for (var j = 0; j < message.shoppingAdsExcludedCountries.length; ++j) - object.shoppingAdsExcludedCountries[j] = message.shoppingAdsExcludedCountries[j]; - } - if (message.disclosureDate != null && message.hasOwnProperty("disclosureDate")) - object.disclosureDate = $root.google.protobuf.Timestamp.toObject(message.disclosureDate, options); - if (message.pickupMethod != null && message.hasOwnProperty("pickupMethod")) { - object.pickupMethod = message.pickupMethod; - if (options.oneofs) - object._pickupMethod = "pickupMethod"; - } - if (message.pickupSla != null && message.hasOwnProperty("pickupSla")) { - object.pickupSla = message.pickupSla; - if (options.oneofs) - object._pickupSla = "pickupSla"; - } - if (message.linkTemplate != null && message.hasOwnProperty("linkTemplate")) { - object.linkTemplate = message.linkTemplate; - if (options.oneofs) - object._linkTemplate = "linkTemplate"; - } - if (message.mobileLinkTemplate != null && message.hasOwnProperty("mobileLinkTemplate")) { - object.mobileLinkTemplate = message.mobileLinkTemplate; - if (options.oneofs) - object._mobileLinkTemplate = "mobileLinkTemplate"; - } - if (message.cloudExportAdditionalProperties && message.cloudExportAdditionalProperties.length) { - object.cloudExportAdditionalProperties = []; - for (var j = 0; j < message.cloudExportAdditionalProperties.length; ++j) - object.cloudExportAdditionalProperties[j] = $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.toObject(message.cloudExportAdditionalProperties[j], options); - } - if (message.productHeight != null && message.hasOwnProperty("productHeight")) - object.productHeight = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productHeight, options); - if (message.productLength != null && message.hasOwnProperty("productLength")) - object.productLength = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productLength, options); - if (message.productWidth != null && message.hasOwnProperty("productWidth")) - object.productWidth = $root.google.shopping.merchant.products.v1beta.ProductDimension.toObject(message.productWidth, options); - if (message.productWeight != null && message.hasOwnProperty("productWeight")) - object.productWeight = $root.google.shopping.merchant.products.v1beta.ProductWeight.toObject(message.productWeight, options); - if (message.certifications && message.certifications.length) { - object.certifications = []; - for (var j = 0; j < message.certifications.length; ++j) - object.certifications[j] = $root.google.shopping.merchant.products.v1beta.Certification.toObject(message.certifications[j], options); - } - if (message.autoPricingMinPrice != null && message.hasOwnProperty("autoPricingMinPrice")) - object.autoPricingMinPrice = $root.google.shopping.type.Price.toObject(message.autoPricingMinPrice, options); - if (message.virtualModelLink != null && message.hasOwnProperty("virtualModelLink")) { - object.virtualModelLink = message.virtualModelLink; - if (options.oneofs) - object._virtualModelLink = "virtualModelLink"; - } - if (message.structuredTitle != null && message.hasOwnProperty("structuredTitle")) { - object.structuredTitle = $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle.toObject(message.structuredTitle, options); - if (options.oneofs) - object._structuredTitle = "structuredTitle"; - } - if (message.structuredDescription != null && message.hasOwnProperty("structuredDescription")) { - object.structuredDescription = $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription.toObject(message.structuredDescription, options); - if (options.oneofs) - object._structuredDescription = "structuredDescription"; - } - if (message.freeShippingThreshold && message.freeShippingThreshold.length) { - object.freeShippingThreshold = []; - for (var j = 0; j < message.freeShippingThreshold.length; ++j) - object.freeShippingThreshold[j] = $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold.toObject(message.freeShippingThreshold[j], options); - } - if (message.loyaltyPrograms && message.loyaltyPrograms.length) { - object.loyaltyPrograms = []; - for (var j = 0; j < message.loyaltyPrograms.length; ++j) - object.loyaltyPrograms[j] = $root.google.shopping.merchant.products.v1beta.LoyaltyProgram.toObject(message.loyaltyPrograms[j], options); - } - return object; - }; - - /** - * Converts this Attributes to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - * @returns {Object.} JSON object - */ - Attributes.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Attributes - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Attributes.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Attributes"; - }; - - return Attributes; - })(); - - v1beta.Tax = (function() { - - /** - * Properties of a Tax. - * @memberof google.shopping.merchant.products.v1beta - * @interface ITax - * @property {number|null} [rate] Tax rate - * @property {string|null} [country] Tax country - * @property {string|null} [region] Tax region - * @property {boolean|null} [taxShip] Tax taxShip - * @property {number|Long|null} [locationId] Tax locationId - * @property {string|null} [postalCode] Tax postalCode - */ - - /** - * Constructs a new Tax. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a Tax. - * @implements ITax - * @constructor - * @param {google.shopping.merchant.products.v1beta.ITax=} [properties] Properties to set - */ - function Tax(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Tax rate. - * @member {number} rate - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.rate = 0; - - /** - * Tax country. - * @member {string} country - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.country = ""; - - /** - * Tax region. - * @member {string} region - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.region = ""; - - /** - * Tax taxShip. - * @member {boolean} taxShip - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.taxShip = false; - - /** - * Tax locationId. - * @member {number|Long} locationId - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.locationId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Tax postalCode. - * @member {string} postalCode - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - */ - Tax.prototype.postalCode = ""; - - /** - * Creates a new Tax instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {google.shopping.merchant.products.v1beta.ITax=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Tax} Tax instance - */ - Tax.create = function create(properties) { - return new Tax(properties); - }; - - /** - * Encodes the specified Tax message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {google.shopping.merchant.products.v1beta.ITax} message Tax message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tax.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rate != null && Object.hasOwnProperty.call(message, "rate")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.rate); - if (message.country != null && Object.hasOwnProperty.call(message, "country")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.country); - if (message.region != null && Object.hasOwnProperty.call(message, "region")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); - if (message.taxShip != null && Object.hasOwnProperty.call(message, "taxShip")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.taxShip); - if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.locationId); - if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.postalCode); - return writer; - }; - - /** - * Encodes the specified Tax message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Tax.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {google.shopping.merchant.products.v1beta.ITax} message Tax message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tax.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Tax message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Tax} Tax - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tax.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Tax(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.rate = reader.double(); - break; - } - case 2: { - message.country = reader.string(); - break; - } - case 3: { - message.region = reader.string(); - break; - } - case 4: { - message.taxShip = reader.bool(); - break; - } - case 5: { - message.locationId = reader.int64(); - break; - } - case 6: { - message.postalCode = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Tax message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Tax} Tax - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tax.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Tax message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Tax.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rate != null && message.hasOwnProperty("rate")) - if (typeof message.rate !== "number") - return "rate: number expected"; - if (message.country != null && message.hasOwnProperty("country")) - if (!$util.isString(message.country)) - return "country: string expected"; - if (message.region != null && message.hasOwnProperty("region")) - if (!$util.isString(message.region)) - return "region: string expected"; - if (message.taxShip != null && message.hasOwnProperty("taxShip")) - if (typeof message.taxShip !== "boolean") - return "taxShip: boolean expected"; - if (message.locationId != null && message.hasOwnProperty("locationId")) - if (!$util.isInteger(message.locationId) && !(message.locationId && $util.isInteger(message.locationId.low) && $util.isInteger(message.locationId.high))) - return "locationId: integer|Long expected"; - if (message.postalCode != null && message.hasOwnProperty("postalCode")) - if (!$util.isString(message.postalCode)) - return "postalCode: string expected"; - return null; - }; - - /** - * Creates a Tax message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Tax} Tax - */ - Tax.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Tax) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Tax(); - if (object.rate != null) - message.rate = Number(object.rate); - if (object.country != null) - message.country = String(object.country); - if (object.region != null) - message.region = String(object.region); - if (object.taxShip != null) - message.taxShip = Boolean(object.taxShip); - if (object.locationId != null) - if ($util.Long) - (message.locationId = $util.Long.fromValue(object.locationId)).unsigned = false; - else if (typeof object.locationId === "string") - message.locationId = parseInt(object.locationId, 10); - else if (typeof object.locationId === "number") - message.locationId = object.locationId; - else if (typeof object.locationId === "object") - message.locationId = new $util.LongBits(object.locationId.low >>> 0, object.locationId.high >>> 0).toNumber(); - if (object.postalCode != null) - message.postalCode = String(object.postalCode); - return message; - }; - - /** - * Creates a plain object from a Tax message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {google.shopping.merchant.products.v1beta.Tax} message Tax - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Tax.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.rate = 0; - object.country = ""; - object.region = ""; - object.taxShip = false; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.locationId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.locationId = options.longs === String ? "0" : 0; - object.postalCode = ""; - } - if (message.rate != null && message.hasOwnProperty("rate")) - object.rate = options.json && !isFinite(message.rate) ? String(message.rate) : message.rate; - if (message.country != null && message.hasOwnProperty("country")) - object.country = message.country; - if (message.region != null && message.hasOwnProperty("region")) - object.region = message.region; - if (message.taxShip != null && message.hasOwnProperty("taxShip")) - object.taxShip = message.taxShip; - if (message.locationId != null && message.hasOwnProperty("locationId")) - if (typeof message.locationId === "number") - object.locationId = options.longs === String ? String(message.locationId) : message.locationId; - else - object.locationId = options.longs === String ? $util.Long.prototype.toString.call(message.locationId) : options.longs === Number ? new $util.LongBits(message.locationId.low >>> 0, message.locationId.high >>> 0).toNumber() : message.locationId; - if (message.postalCode != null && message.hasOwnProperty("postalCode")) - object.postalCode = message.postalCode; - return object; - }; - - /** - * Converts this Tax to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Tax - * @instance - * @returns {Object.} JSON object - */ - Tax.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Tax - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Tax - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Tax.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Tax"; - }; - - return Tax; - })(); - - v1beta.ShippingWeight = (function() { - - /** - * Properties of a ShippingWeight. - * @memberof google.shopping.merchant.products.v1beta - * @interface IShippingWeight - * @property {number|null} [value] ShippingWeight value - * @property {string|null} [unit] ShippingWeight unit - */ - - /** - * Constructs a new ShippingWeight. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ShippingWeight. - * @implements IShippingWeight - * @constructor - * @param {google.shopping.merchant.products.v1beta.IShippingWeight=} [properties] Properties to set - */ - function ShippingWeight(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ShippingWeight value. - * @member {number} value - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @instance - */ - ShippingWeight.prototype.value = 0; - - /** - * ShippingWeight unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @instance - */ - ShippingWeight.prototype.unit = ""; - - /** - * Creates a new ShippingWeight instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingWeight=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight instance - */ - ShippingWeight.create = function create(properties) { - return new ShippingWeight(properties); - }; - - /** - * Encodes the specified ShippingWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingWeight} message ShippingWeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShippingWeight.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified ShippingWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingWeight.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingWeight} message ShippingWeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShippingWeight.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ShippingWeight message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShippingWeight.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ShippingWeight(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.double(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ShippingWeight message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShippingWeight.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ShippingWeight message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ShippingWeight.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "number") - return "value: number expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates a ShippingWeight message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ShippingWeight} ShippingWeight - */ - ShippingWeight.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ShippingWeight) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ShippingWeight(); - if (object.value != null) - message.value = Number(object.value); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from a ShippingWeight message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {google.shopping.merchant.products.v1beta.ShippingWeight} message ShippingWeight - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ShippingWeight.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this ShippingWeight to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @instance - * @returns {Object.} JSON object - */ - ShippingWeight.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ShippingWeight - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ShippingWeight - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ShippingWeight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ShippingWeight"; - }; - - return ShippingWeight; - })(); - - v1beta.ShippingDimension = (function() { - - /** - * Properties of a ShippingDimension. - * @memberof google.shopping.merchant.products.v1beta - * @interface IShippingDimension - * @property {number|null} [value] ShippingDimension value - * @property {string|null} [unit] ShippingDimension unit - */ - - /** - * Constructs a new ShippingDimension. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ShippingDimension. - * @implements IShippingDimension - * @constructor - * @param {google.shopping.merchant.products.v1beta.IShippingDimension=} [properties] Properties to set - */ - function ShippingDimension(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ShippingDimension value. - * @member {number} value - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @instance - */ - ShippingDimension.prototype.value = 0; - - /** - * ShippingDimension unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @instance - */ - ShippingDimension.prototype.unit = ""; - - /** - * Creates a new ShippingDimension instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingDimension=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension instance - */ - ShippingDimension.create = function create(properties) { - return new ShippingDimension(properties); - }; - - /** - * Encodes the specified ShippingDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingDimension} message ShippingDimension message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShippingDimension.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified ShippingDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ShippingDimension.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IShippingDimension} message ShippingDimension message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ShippingDimension.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ShippingDimension message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShippingDimension.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ShippingDimension(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.double(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ShippingDimension message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ShippingDimension.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ShippingDimension message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ShippingDimension.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "number") - return "value: number expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates a ShippingDimension message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ShippingDimension} ShippingDimension - */ - ShippingDimension.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ShippingDimension) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ShippingDimension(); - if (object.value != null) - message.value = Number(object.value); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from a ShippingDimension message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {google.shopping.merchant.products.v1beta.ShippingDimension} message ShippingDimension - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ShippingDimension.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this ShippingDimension to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @instance - * @returns {Object.} JSON object - */ - ShippingDimension.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ShippingDimension - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ShippingDimension - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ShippingDimension.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ShippingDimension"; - }; - - return ShippingDimension; - })(); - - v1beta.UnitPricingBaseMeasure = (function() { - - /** - * Properties of an UnitPricingBaseMeasure. - * @memberof google.shopping.merchant.products.v1beta - * @interface IUnitPricingBaseMeasure - * @property {number|Long|null} [value] UnitPricingBaseMeasure value - * @property {string|null} [unit] UnitPricingBaseMeasure unit - */ - - /** - * Constructs a new UnitPricingBaseMeasure. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents an UnitPricingBaseMeasure. - * @implements IUnitPricingBaseMeasure - * @constructor - * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure=} [properties] Properties to set - */ - function UnitPricingBaseMeasure(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UnitPricingBaseMeasure value. - * @member {number|Long} value - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @instance - */ - UnitPricingBaseMeasure.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * UnitPricingBaseMeasure unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @instance - */ - UnitPricingBaseMeasure.prototype.unit = ""; - - /** - * Creates a new UnitPricingBaseMeasure instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure instance - */ - UnitPricingBaseMeasure.create = function create(properties) { - return new UnitPricingBaseMeasure(properties); - }; - - /** - * Encodes the specified UnitPricingBaseMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure} message UnitPricingBaseMeasure message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnitPricingBaseMeasure.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified UnitPricingBaseMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingBaseMeasure} message UnitPricingBaseMeasure message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnitPricingBaseMeasure.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnitPricingBaseMeasure.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.int64(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UnitPricingBaseMeasure message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnitPricingBaseMeasure.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UnitPricingBaseMeasure message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UnitPricingBaseMeasure.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) - return "value: integer|Long expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates an UnitPricingBaseMeasure message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} UnitPricingBaseMeasure - */ - UnitPricingBaseMeasure.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure(); - if (object.value != null) - if ($util.Long) - (message.value = $util.Long.fromValue(object.value)).unsigned = false; - else if (typeof object.value === "string") - message.value = parseInt(object.value, 10); - else if (typeof object.value === "number") - message.value = object.value; - else if (typeof object.value === "object") - message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from an UnitPricingBaseMeasure message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure} message UnitPricingBaseMeasure - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UnitPricingBaseMeasure.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.value = options.longs === String ? "0" : 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value === "number") - object.value = options.longs === String ? String(message.value) : message.value; - else - object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this UnitPricingBaseMeasure to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @instance - * @returns {Object.} JSON object - */ - UnitPricingBaseMeasure.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UnitPricingBaseMeasure - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UnitPricingBaseMeasure.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure"; - }; - - return UnitPricingBaseMeasure; - })(); - - v1beta.UnitPricingMeasure = (function() { - - /** - * Properties of an UnitPricingMeasure. - * @memberof google.shopping.merchant.products.v1beta - * @interface IUnitPricingMeasure - * @property {number|null} [value] UnitPricingMeasure value - * @property {string|null} [unit] UnitPricingMeasure unit - */ - - /** - * Constructs a new UnitPricingMeasure. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents an UnitPricingMeasure. - * @implements IUnitPricingMeasure - * @constructor - * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure=} [properties] Properties to set - */ - function UnitPricingMeasure(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UnitPricingMeasure value. - * @member {number} value - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @instance - */ - UnitPricingMeasure.prototype.value = 0; - - /** - * UnitPricingMeasure unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @instance - */ - UnitPricingMeasure.prototype.unit = ""; - - /** - * Creates a new UnitPricingMeasure instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure instance - */ - UnitPricingMeasure.create = function create(properties) { - return new UnitPricingMeasure(properties); - }; - - /** - * Encodes the specified UnitPricingMeasure message. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure} message UnitPricingMeasure message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnitPricingMeasure.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified UnitPricingMeasure message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.UnitPricingMeasure.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.IUnitPricingMeasure} message UnitPricingMeasure message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnitPricingMeasure.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UnitPricingMeasure message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnitPricingMeasure.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.double(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UnitPricingMeasure message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnitPricingMeasure.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UnitPricingMeasure message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UnitPricingMeasure.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "number") - return "value: number expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates an UnitPricingMeasure message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.UnitPricingMeasure} UnitPricingMeasure - */ - UnitPricingMeasure.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.UnitPricingMeasure(); - if (object.value != null) - message.value = Number(object.value); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from an UnitPricingMeasure message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {google.shopping.merchant.products.v1beta.UnitPricingMeasure} message UnitPricingMeasure - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UnitPricingMeasure.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this UnitPricingMeasure to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @instance - * @returns {Object.} JSON object - */ - UnitPricingMeasure.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UnitPricingMeasure - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.UnitPricingMeasure - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UnitPricingMeasure.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.UnitPricingMeasure"; - }; - - return UnitPricingMeasure; - })(); - - v1beta.SubscriptionCost = (function() { - - /** - * Properties of a SubscriptionCost. - * @memberof google.shopping.merchant.products.v1beta - * @interface ISubscriptionCost - * @property {google.shopping.merchant.products.v1beta.SubscriptionPeriod|null} [period] SubscriptionCost period - * @property {number|Long|null} [periodLength] SubscriptionCost periodLength - * @property {google.shopping.type.IPrice|null} [amount] SubscriptionCost amount - */ - - /** - * Constructs a new SubscriptionCost. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a SubscriptionCost. - * @implements ISubscriptionCost - * @constructor - * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost=} [properties] Properties to set - */ - function SubscriptionCost(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SubscriptionCost period. - * @member {google.shopping.merchant.products.v1beta.SubscriptionPeriod} period - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @instance - */ - SubscriptionCost.prototype.period = 0; - - /** - * SubscriptionCost periodLength. - * @member {number|Long} periodLength - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @instance - */ - SubscriptionCost.prototype.periodLength = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * SubscriptionCost amount. - * @member {google.shopping.type.IPrice|null|undefined} amount - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @instance - */ - SubscriptionCost.prototype.amount = null; - - /** - * Creates a new SubscriptionCost instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost instance - */ - SubscriptionCost.create = function create(properties) { - return new SubscriptionCost(properties); - }; - - /** - * Encodes the specified SubscriptionCost message. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost} message SubscriptionCost message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SubscriptionCost.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.period != null && Object.hasOwnProperty.call(message, "period")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.period); - if (message.periodLength != null && Object.hasOwnProperty.call(message, "periodLength")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.periodLength); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.google.shopping.type.Price.encode(message.amount, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.SubscriptionCost.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {google.shopping.merchant.products.v1beta.ISubscriptionCost} message SubscriptionCost message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SubscriptionCost.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SubscriptionCost message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SubscriptionCost.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.SubscriptionCost(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.period = reader.int32(); - break; - } - case 2: { - message.periodLength = reader.int64(); - break; - } - case 3: { - message.amount = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SubscriptionCost message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SubscriptionCost.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SubscriptionCost message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SubscriptionCost.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.period != null && message.hasOwnProperty("period")) - switch (message.period) { - default: - return "period: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.periodLength != null && message.hasOwnProperty("periodLength")) - if (!$util.isInteger(message.periodLength) && !(message.periodLength && $util.isInteger(message.periodLength.low) && $util.isInteger(message.periodLength.high))) - return "periodLength: integer|Long expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - var error = $root.google.shopping.type.Price.verify(message.amount); - if (error) - return "amount." + error; - } - return null; - }; - - /** - * Creates a SubscriptionCost message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.SubscriptionCost} SubscriptionCost - */ - SubscriptionCost.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.SubscriptionCost) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.SubscriptionCost(); - switch (object.period) { - default: - if (typeof object.period === "number") { - message.period = object.period; - break; - } - break; - case "SUBSCRIPTION_PERIOD_UNSPECIFIED": - case 0: - message.period = 0; - break; - case "MONTH": - case 1: - message.period = 1; - break; - case "YEAR": - case 2: - message.period = 2; - break; - } - if (object.periodLength != null) - if ($util.Long) - (message.periodLength = $util.Long.fromValue(object.periodLength)).unsigned = false; - else if (typeof object.periodLength === "string") - message.periodLength = parseInt(object.periodLength, 10); - else if (typeof object.periodLength === "number") - message.periodLength = object.periodLength; - else if (typeof object.periodLength === "object") - message.periodLength = new $util.LongBits(object.periodLength.low >>> 0, object.periodLength.high >>> 0).toNumber(); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.SubscriptionCost.amount: object expected"); - message.amount = $root.google.shopping.type.Price.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a SubscriptionCost message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {google.shopping.merchant.products.v1beta.SubscriptionCost} message SubscriptionCost - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SubscriptionCost.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.period = options.enums === String ? "SUBSCRIPTION_PERIOD_UNSPECIFIED" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.periodLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.periodLength = options.longs === String ? "0" : 0; - object.amount = null; - } - if (message.period != null && message.hasOwnProperty("period")) - object.period = options.enums === String ? $root.google.shopping.merchant.products.v1beta.SubscriptionPeriod[message.period] === undefined ? message.period : $root.google.shopping.merchant.products.v1beta.SubscriptionPeriod[message.period] : message.period; - if (message.periodLength != null && message.hasOwnProperty("periodLength")) - if (typeof message.periodLength === "number") - object.periodLength = options.longs === String ? String(message.periodLength) : message.periodLength; - else - object.periodLength = options.longs === String ? $util.Long.prototype.toString.call(message.periodLength) : options.longs === Number ? new $util.LongBits(message.periodLength.low >>> 0, message.periodLength.high >>> 0).toNumber() : message.periodLength; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.google.shopping.type.Price.toObject(message.amount, options); - return object; - }; - - /** - * Converts this SubscriptionCost to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @instance - * @returns {Object.} JSON object - */ - SubscriptionCost.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for SubscriptionCost - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.SubscriptionCost - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - SubscriptionCost.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.SubscriptionCost"; - }; - - return SubscriptionCost; - })(); - - v1beta.Installment = (function() { - - /** - * Properties of an Installment. - * @memberof google.shopping.merchant.products.v1beta - * @interface IInstallment - * @property {number|Long|null} [months] Installment months - * @property {google.shopping.type.IPrice|null} [amount] Installment amount - * @property {google.shopping.type.IPrice|null} [downpayment] Installment downpayment - * @property {string|null} [creditType] Installment creditType - */ - - /** - * Constructs a new Installment. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents an Installment. - * @implements IInstallment - * @constructor - * @param {google.shopping.merchant.products.v1beta.IInstallment=} [properties] Properties to set - */ - function Installment(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Installment months. - * @member {number|Long} months - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Installment.prototype.months = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Installment amount. - * @member {google.shopping.type.IPrice|null|undefined} amount - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Installment.prototype.amount = null; - - /** - * Installment downpayment. - * @member {google.shopping.type.IPrice|null|undefined} downpayment - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Installment.prototype.downpayment = null; - - /** - * Installment creditType. - * @member {string|null|undefined} creditType - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Installment.prototype.creditType = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Installment _downpayment. - * @member {"downpayment"|undefined} _downpayment - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Object.defineProperty(Installment.prototype, "_downpayment", { - get: $util.oneOfGetter($oneOfFields = ["downpayment"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Installment _creditType. - * @member {"creditType"|undefined} _creditType - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - */ - Object.defineProperty(Installment.prototype, "_creditType", { - get: $util.oneOfGetter($oneOfFields = ["creditType"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Installment instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {google.shopping.merchant.products.v1beta.IInstallment=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Installment} Installment instance - */ - Installment.create = function create(properties) { - return new Installment(properties); - }; - - /** - * Encodes the specified Installment message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {google.shopping.merchant.products.v1beta.IInstallment} message Installment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Installment.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.months != null && Object.hasOwnProperty.call(message, "months")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.months); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.google.shopping.type.Price.encode(message.amount, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.downpayment != null && Object.hasOwnProperty.call(message, "downpayment")) - $root.google.shopping.type.Price.encode(message.downpayment, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.creditType != null && Object.hasOwnProperty.call(message, "creditType")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.creditType); - return writer; - }; - - /** - * Encodes the specified Installment message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Installment.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {google.shopping.merchant.products.v1beta.IInstallment} message Installment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Installment.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Installment message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Installment} Installment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Installment.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Installment(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.months = reader.int64(); - break; - } - case 2: { - message.amount = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 3: { - message.downpayment = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 4: { - message.creditType = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Installment message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Installment} Installment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Installment.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Installment message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Installment.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.months != null && message.hasOwnProperty("months")) - if (!$util.isInteger(message.months) && !(message.months && $util.isInteger(message.months.low) && $util.isInteger(message.months.high))) - return "months: integer|Long expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - var error = $root.google.shopping.type.Price.verify(message.amount); - if (error) - return "amount." + error; - } - if (message.downpayment != null && message.hasOwnProperty("downpayment")) { - properties._downpayment = 1; - { - var error = $root.google.shopping.type.Price.verify(message.downpayment); - if (error) - return "downpayment." + error; - } - } - if (message.creditType != null && message.hasOwnProperty("creditType")) { - properties._creditType = 1; - if (!$util.isString(message.creditType)) - return "creditType: string expected"; - } - return null; - }; - - /** - * Creates an Installment message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Installment} Installment - */ - Installment.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Installment) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Installment(); - if (object.months != null) - if ($util.Long) - (message.months = $util.Long.fromValue(object.months)).unsigned = false; - else if (typeof object.months === "string") - message.months = parseInt(object.months, 10); - else if (typeof object.months === "number") - message.months = object.months; - else if (typeof object.months === "object") - message.months = new $util.LongBits(object.months.low >>> 0, object.months.high >>> 0).toNumber(); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Installment.amount: object expected"); - message.amount = $root.google.shopping.type.Price.fromObject(object.amount); - } - if (object.downpayment != null) { - if (typeof object.downpayment !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Installment.downpayment: object expected"); - message.downpayment = $root.google.shopping.type.Price.fromObject(object.downpayment); - } - if (object.creditType != null) - message.creditType = String(object.creditType); - return message; - }; - - /** - * Creates a plain object from an Installment message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {google.shopping.merchant.products.v1beta.Installment} message Installment - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Installment.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.months = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.months = options.longs === String ? "0" : 0; - object.amount = null; - } - if (message.months != null && message.hasOwnProperty("months")) - if (typeof message.months === "number") - object.months = options.longs === String ? String(message.months) : message.months; - else - object.months = options.longs === String ? $util.Long.prototype.toString.call(message.months) : options.longs === Number ? new $util.LongBits(message.months.low >>> 0, message.months.high >>> 0).toNumber() : message.months; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.google.shopping.type.Price.toObject(message.amount, options); - if (message.downpayment != null && message.hasOwnProperty("downpayment")) { - object.downpayment = $root.google.shopping.type.Price.toObject(message.downpayment, options); - if (options.oneofs) - object._downpayment = "downpayment"; - } - if (message.creditType != null && message.hasOwnProperty("creditType")) { - object.creditType = message.creditType; - if (options.oneofs) - object._creditType = "creditType"; - } - return object; - }; - - /** - * Converts this Installment to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Installment - * @instance - * @returns {Object.} JSON object - */ - Installment.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Installment - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Installment - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Installment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Installment"; - }; - - return Installment; - })(); - - v1beta.LoyaltyPoints = (function() { - - /** - * Properties of a LoyaltyPoints. - * @memberof google.shopping.merchant.products.v1beta - * @interface ILoyaltyPoints - * @property {string|null} [name] LoyaltyPoints name - * @property {number|Long|null} [pointsValue] LoyaltyPoints pointsValue - * @property {number|null} [ratio] LoyaltyPoints ratio - */ - - /** - * Constructs a new LoyaltyPoints. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a LoyaltyPoints. - * @implements ILoyaltyPoints - * @constructor - * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints=} [properties] Properties to set - */ - function LoyaltyPoints(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LoyaltyPoints name. - * @member {string} name - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @instance - */ - LoyaltyPoints.prototype.name = ""; - - /** - * LoyaltyPoints pointsValue. - * @member {number|Long} pointsValue - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @instance - */ - LoyaltyPoints.prototype.pointsValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * LoyaltyPoints ratio. - * @member {number} ratio - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @instance - */ - LoyaltyPoints.prototype.ratio = 0; - - /** - * Creates a new LoyaltyPoints instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints instance - */ - LoyaltyPoints.create = function create(properties) { - return new LoyaltyPoints(properties); - }; - - /** - * Encodes the specified LoyaltyPoints message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints} message LoyaltyPoints message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LoyaltyPoints.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pointsValue != null && Object.hasOwnProperty.call(message, "pointsValue")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.pointsValue); - if (message.ratio != null && Object.hasOwnProperty.call(message, "ratio")) - writer.uint32(/* id 3, wireType 1 =*/25).double(message.ratio); - return writer; - }; - - /** - * Encodes the specified LoyaltyPoints message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyPoints.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyPoints} message LoyaltyPoints message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LoyaltyPoints.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LoyaltyPoints message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LoyaltyPoints.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.LoyaltyPoints(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.pointsValue = reader.int64(); - break; - } - case 3: { - message.ratio = reader.double(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LoyaltyPoints message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LoyaltyPoints.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LoyaltyPoints message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LoyaltyPoints.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.pointsValue != null && message.hasOwnProperty("pointsValue")) - if (!$util.isInteger(message.pointsValue) && !(message.pointsValue && $util.isInteger(message.pointsValue.low) && $util.isInteger(message.pointsValue.high))) - return "pointsValue: integer|Long expected"; - if (message.ratio != null && message.hasOwnProperty("ratio")) - if (typeof message.ratio !== "number") - return "ratio: number expected"; - return null; - }; - - /** - * Creates a LoyaltyPoints message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.LoyaltyPoints} LoyaltyPoints - */ - LoyaltyPoints.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.LoyaltyPoints) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.LoyaltyPoints(); - if (object.name != null) - message.name = String(object.name); - if (object.pointsValue != null) - if ($util.Long) - (message.pointsValue = $util.Long.fromValue(object.pointsValue)).unsigned = false; - else if (typeof object.pointsValue === "string") - message.pointsValue = parseInt(object.pointsValue, 10); - else if (typeof object.pointsValue === "number") - message.pointsValue = object.pointsValue; - else if (typeof object.pointsValue === "object") - message.pointsValue = new $util.LongBits(object.pointsValue.low >>> 0, object.pointsValue.high >>> 0).toNumber(); - if (object.ratio != null) - message.ratio = Number(object.ratio); - return message; - }; - - /** - * Creates a plain object from a LoyaltyPoints message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {google.shopping.merchant.products.v1beta.LoyaltyPoints} message LoyaltyPoints - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LoyaltyPoints.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.pointsValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.pointsValue = options.longs === String ? "0" : 0; - object.ratio = 0; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.pointsValue != null && message.hasOwnProperty("pointsValue")) - if (typeof message.pointsValue === "number") - object.pointsValue = options.longs === String ? String(message.pointsValue) : message.pointsValue; - else - object.pointsValue = options.longs === String ? $util.Long.prototype.toString.call(message.pointsValue) : options.longs === Number ? new $util.LongBits(message.pointsValue.low >>> 0, message.pointsValue.high >>> 0).toNumber() : message.pointsValue; - if (message.ratio != null && message.hasOwnProperty("ratio")) - object.ratio = options.json && !isFinite(message.ratio) ? String(message.ratio) : message.ratio; - return object; - }; - - /** - * Converts this LoyaltyPoints to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @instance - * @returns {Object.} JSON object - */ - LoyaltyPoints.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for LoyaltyPoints - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.LoyaltyPoints - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - LoyaltyPoints.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.LoyaltyPoints"; - }; - - return LoyaltyPoints; - })(); - - v1beta.LoyaltyProgram = (function() { - - /** - * Properties of a LoyaltyProgram. - * @memberof google.shopping.merchant.products.v1beta - * @interface ILoyaltyProgram - * @property {string|null} [programLabel] LoyaltyProgram programLabel - * @property {string|null} [tierLabel] LoyaltyProgram tierLabel - * @property {google.shopping.type.IPrice|null} [price] LoyaltyProgram price - * @property {google.shopping.type.IPrice|null} [cashbackForFutureUse] LoyaltyProgram cashbackForFutureUse - * @property {number|Long|null} [loyaltyPoints] LoyaltyProgram loyaltyPoints - * @property {google.type.IInterval|null} [memberPriceEffectiveDate] LoyaltyProgram memberPriceEffectiveDate - * @property {string|null} [shippingLabel] LoyaltyProgram shippingLabel - */ - - /** - * Constructs a new LoyaltyProgram. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a LoyaltyProgram. - * @implements ILoyaltyProgram - * @constructor - * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram=} [properties] Properties to set - */ - function LoyaltyProgram(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LoyaltyProgram programLabel. - * @member {string|null|undefined} programLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.programLabel = null; - - /** - * LoyaltyProgram tierLabel. - * @member {string|null|undefined} tierLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.tierLabel = null; - - /** - * LoyaltyProgram price. - * @member {google.shopping.type.IPrice|null|undefined} price - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.price = null; - - /** - * LoyaltyProgram cashbackForFutureUse. - * @member {google.shopping.type.IPrice|null|undefined} cashbackForFutureUse - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.cashbackForFutureUse = null; - - /** - * LoyaltyProgram loyaltyPoints. - * @member {number|Long|null|undefined} loyaltyPoints - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.loyaltyPoints = null; - - /** - * LoyaltyProgram memberPriceEffectiveDate. - * @member {google.type.IInterval|null|undefined} memberPriceEffectiveDate - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.memberPriceEffectiveDate = null; - - /** - * LoyaltyProgram shippingLabel. - * @member {string|null|undefined} shippingLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - LoyaltyProgram.prototype.shippingLabel = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * LoyaltyProgram _programLabel. - * @member {"programLabel"|undefined} _programLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_programLabel", { - get: $util.oneOfGetter($oneOfFields = ["programLabel"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _tierLabel. - * @member {"tierLabel"|undefined} _tierLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_tierLabel", { - get: $util.oneOfGetter($oneOfFields = ["tierLabel"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _price. - * @member {"price"|undefined} _price - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_price", { - get: $util.oneOfGetter($oneOfFields = ["price"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _cashbackForFutureUse. - * @member {"cashbackForFutureUse"|undefined} _cashbackForFutureUse - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_cashbackForFutureUse", { - get: $util.oneOfGetter($oneOfFields = ["cashbackForFutureUse"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _loyaltyPoints. - * @member {"loyaltyPoints"|undefined} _loyaltyPoints - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_loyaltyPoints", { - get: $util.oneOfGetter($oneOfFields = ["loyaltyPoints"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _memberPriceEffectiveDate. - * @member {"memberPriceEffectiveDate"|undefined} _memberPriceEffectiveDate - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_memberPriceEffectiveDate", { - get: $util.oneOfGetter($oneOfFields = ["memberPriceEffectiveDate"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * LoyaltyProgram _shippingLabel. - * @member {"shippingLabel"|undefined} _shippingLabel - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - */ - Object.defineProperty(LoyaltyProgram.prototype, "_shippingLabel", { - get: $util.oneOfGetter($oneOfFields = ["shippingLabel"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new LoyaltyProgram instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram instance - */ - LoyaltyProgram.create = function create(properties) { - return new LoyaltyProgram(properties); - }; - - /** - * Encodes the specified LoyaltyProgram message. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram} message LoyaltyProgram message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LoyaltyProgram.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.programLabel != null && Object.hasOwnProperty.call(message, "programLabel")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.programLabel); - if (message.tierLabel != null && Object.hasOwnProperty.call(message, "tierLabel")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.tierLabel); - if (message.price != null && Object.hasOwnProperty.call(message, "price")) - $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.cashbackForFutureUse != null && Object.hasOwnProperty.call(message, "cashbackForFutureUse")) - $root.google.shopping.type.Price.encode(message.cashbackForFutureUse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.loyaltyPoints != null && Object.hasOwnProperty.call(message, "loyaltyPoints")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.loyaltyPoints); - if (message.memberPriceEffectiveDate != null && Object.hasOwnProperty.call(message, "memberPriceEffectiveDate")) - $root.google.type.Interval.encode(message.memberPriceEffectiveDate, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.shippingLabel != null && Object.hasOwnProperty.call(message, "shippingLabel")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.shippingLabel); - return writer; - }; - - /** - * Encodes the specified LoyaltyProgram message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.LoyaltyProgram.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {google.shopping.merchant.products.v1beta.ILoyaltyProgram} message LoyaltyProgram message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LoyaltyProgram.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LoyaltyProgram message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LoyaltyProgram.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.LoyaltyProgram(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.programLabel = reader.string(); - break; - } - case 2: { - message.tierLabel = reader.string(); - break; - } - case 3: { - message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 4: { - message.cashbackForFutureUse = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 5: { - message.loyaltyPoints = reader.int64(); - break; - } - case 6: { - message.memberPriceEffectiveDate = $root.google.type.Interval.decode(reader, reader.uint32()); - break; - } - case 7: { - message.shippingLabel = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LoyaltyProgram message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LoyaltyProgram.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LoyaltyProgram message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LoyaltyProgram.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.programLabel != null && message.hasOwnProperty("programLabel")) { - properties._programLabel = 1; - if (!$util.isString(message.programLabel)) - return "programLabel: string expected"; - } - if (message.tierLabel != null && message.hasOwnProperty("tierLabel")) { - properties._tierLabel = 1; - if (!$util.isString(message.tierLabel)) - return "tierLabel: string expected"; - } - if (message.price != null && message.hasOwnProperty("price")) { - properties._price = 1; - { - var error = $root.google.shopping.type.Price.verify(message.price); - if (error) - return "price." + error; - } - } - if (message.cashbackForFutureUse != null && message.hasOwnProperty("cashbackForFutureUse")) { - properties._cashbackForFutureUse = 1; - { - var error = $root.google.shopping.type.Price.verify(message.cashbackForFutureUse); - if (error) - return "cashbackForFutureUse." + error; - } - } - if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { - properties._loyaltyPoints = 1; - if (!$util.isInteger(message.loyaltyPoints) && !(message.loyaltyPoints && $util.isInteger(message.loyaltyPoints.low) && $util.isInteger(message.loyaltyPoints.high))) - return "loyaltyPoints: integer|Long expected"; - } - if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { - properties._memberPriceEffectiveDate = 1; - { - var error = $root.google.type.Interval.verify(message.memberPriceEffectiveDate); - if (error) - return "memberPriceEffectiveDate." + error; - } - } - if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { - properties._shippingLabel = 1; - if (!$util.isString(message.shippingLabel)) - return "shippingLabel: string expected"; - } - return null; - }; - - /** - * Creates a LoyaltyProgram message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.LoyaltyProgram} LoyaltyProgram - */ - LoyaltyProgram.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.LoyaltyProgram) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.LoyaltyProgram(); - if (object.programLabel != null) - message.programLabel = String(object.programLabel); - if (object.tierLabel != null) - message.tierLabel = String(object.tierLabel); - if (object.price != null) { - if (typeof object.price !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.price: object expected"); - message.price = $root.google.shopping.type.Price.fromObject(object.price); - } - if (object.cashbackForFutureUse != null) { - if (typeof object.cashbackForFutureUse !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.cashbackForFutureUse: object expected"); - message.cashbackForFutureUse = $root.google.shopping.type.Price.fromObject(object.cashbackForFutureUse); - } - if (object.loyaltyPoints != null) - if ($util.Long) - (message.loyaltyPoints = $util.Long.fromValue(object.loyaltyPoints)).unsigned = false; - else if (typeof object.loyaltyPoints === "string") - message.loyaltyPoints = parseInt(object.loyaltyPoints, 10); - else if (typeof object.loyaltyPoints === "number") - message.loyaltyPoints = object.loyaltyPoints; - else if (typeof object.loyaltyPoints === "object") - message.loyaltyPoints = new $util.LongBits(object.loyaltyPoints.low >>> 0, object.loyaltyPoints.high >>> 0).toNumber(); - if (object.memberPriceEffectiveDate != null) { - if (typeof object.memberPriceEffectiveDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.memberPriceEffectiveDate: object expected"); - message.memberPriceEffectiveDate = $root.google.type.Interval.fromObject(object.memberPriceEffectiveDate); - } - if (object.shippingLabel != null) - message.shippingLabel = String(object.shippingLabel); - return message; - }; - - /** - * Creates a plain object from a LoyaltyProgram message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {google.shopping.merchant.products.v1beta.LoyaltyProgram} message LoyaltyProgram - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LoyaltyProgram.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.programLabel != null && message.hasOwnProperty("programLabel")) { - object.programLabel = message.programLabel; - if (options.oneofs) - object._programLabel = "programLabel"; - } - if (message.tierLabel != null && message.hasOwnProperty("tierLabel")) { - object.tierLabel = message.tierLabel; - if (options.oneofs) - object._tierLabel = "tierLabel"; - } - if (message.price != null && message.hasOwnProperty("price")) { - object.price = $root.google.shopping.type.Price.toObject(message.price, options); - if (options.oneofs) - object._price = "price"; - } - if (message.cashbackForFutureUse != null && message.hasOwnProperty("cashbackForFutureUse")) { - object.cashbackForFutureUse = $root.google.shopping.type.Price.toObject(message.cashbackForFutureUse, options); - if (options.oneofs) - object._cashbackForFutureUse = "cashbackForFutureUse"; - } - if (message.loyaltyPoints != null && message.hasOwnProperty("loyaltyPoints")) { - if (typeof message.loyaltyPoints === "number") - object.loyaltyPoints = options.longs === String ? String(message.loyaltyPoints) : message.loyaltyPoints; - else - object.loyaltyPoints = options.longs === String ? $util.Long.prototype.toString.call(message.loyaltyPoints) : options.longs === Number ? new $util.LongBits(message.loyaltyPoints.low >>> 0, message.loyaltyPoints.high >>> 0).toNumber() : message.loyaltyPoints; - if (options.oneofs) - object._loyaltyPoints = "loyaltyPoints"; - } - if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { - object.memberPriceEffectiveDate = $root.google.type.Interval.toObject(message.memberPriceEffectiveDate, options); - if (options.oneofs) - object._memberPriceEffectiveDate = "memberPriceEffectiveDate"; - } - if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { - object.shippingLabel = message.shippingLabel; - if (options.oneofs) - object._shippingLabel = "shippingLabel"; - } - return object; - }; - - /** - * Converts this LoyaltyProgram to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @instance - * @returns {Object.} JSON object - */ - LoyaltyProgram.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for LoyaltyProgram - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - LoyaltyProgram.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.LoyaltyProgram"; - }; - - return LoyaltyProgram; - })(); - - v1beta.Shipping = (function() { - - /** - * Properties of a Shipping. - * @memberof google.shopping.merchant.products.v1beta - * @interface IShipping - * @property {google.shopping.type.IPrice|null} [price] Shipping price - * @property {string|null} [country] Shipping country - * @property {string|null} [region] Shipping region - * @property {string|null} [service] Shipping service - * @property {number|Long|null} [locationId] Shipping locationId - * @property {string|null} [locationGroupName] Shipping locationGroupName - * @property {string|null} [postalCode] Shipping postalCode - * @property {number|Long|null} [minHandlingTime] Shipping minHandlingTime - * @property {number|Long|null} [maxHandlingTime] Shipping maxHandlingTime - * @property {number|Long|null} [minTransitTime] Shipping minTransitTime - * @property {number|Long|null} [maxTransitTime] Shipping maxTransitTime - */ - - /** - * Constructs a new Shipping. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a Shipping. - * @implements IShipping - * @constructor - * @param {google.shopping.merchant.products.v1beta.IShipping=} [properties] Properties to set - */ - function Shipping(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Shipping price. - * @member {google.shopping.type.IPrice|null|undefined} price - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.price = null; - - /** - * Shipping country. - * @member {string} country - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.country = ""; - - /** - * Shipping region. - * @member {string} region - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.region = ""; - - /** - * Shipping service. - * @member {string} service - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.service = ""; - - /** - * Shipping locationId. - * @member {number|Long} locationId - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.locationId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Shipping locationGroupName. - * @member {string} locationGroupName - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.locationGroupName = ""; - - /** - * Shipping postalCode. - * @member {string} postalCode - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.postalCode = ""; - - /** - * Shipping minHandlingTime. - * @member {number|Long|null|undefined} minHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.minHandlingTime = null; - - /** - * Shipping maxHandlingTime. - * @member {number|Long|null|undefined} maxHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.maxHandlingTime = null; - - /** - * Shipping minTransitTime. - * @member {number|Long|null|undefined} minTransitTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.minTransitTime = null; - - /** - * Shipping maxTransitTime. - * @member {number|Long|null|undefined} maxTransitTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Shipping.prototype.maxTransitTime = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Shipping _minHandlingTime. - * @member {"minHandlingTime"|undefined} _minHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Object.defineProperty(Shipping.prototype, "_minHandlingTime", { - get: $util.oneOfGetter($oneOfFields = ["minHandlingTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Shipping _maxHandlingTime. - * @member {"maxHandlingTime"|undefined} _maxHandlingTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Object.defineProperty(Shipping.prototype, "_maxHandlingTime", { - get: $util.oneOfGetter($oneOfFields = ["maxHandlingTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Shipping _minTransitTime. - * @member {"minTransitTime"|undefined} _minTransitTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Object.defineProperty(Shipping.prototype, "_minTransitTime", { - get: $util.oneOfGetter($oneOfFields = ["minTransitTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Shipping _maxTransitTime. - * @member {"maxTransitTime"|undefined} _maxTransitTime - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - */ - Object.defineProperty(Shipping.prototype, "_maxTransitTime", { - get: $util.oneOfGetter($oneOfFields = ["maxTransitTime"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Shipping instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {google.shopping.merchant.products.v1beta.IShipping=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping instance - */ - Shipping.create = function create(properties) { - return new Shipping(properties); - }; - - /** - * Encodes the specified Shipping message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {google.shopping.merchant.products.v1beta.IShipping} message Shipping message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Shipping.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.price != null && Object.hasOwnProperty.call(message, "price")) - $root.google.shopping.type.Price.encode(message.price, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.country != null && Object.hasOwnProperty.call(message, "country")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.country); - if (message.region != null && Object.hasOwnProperty.call(message, "region")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.region); - if (message.service != null && Object.hasOwnProperty.call(message, "service")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.service); - if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.locationId); - if (message.locationGroupName != null && Object.hasOwnProperty.call(message, "locationGroupName")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.locationGroupName); - if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.postalCode); - if (message.minHandlingTime != null && Object.hasOwnProperty.call(message, "minHandlingTime")) - writer.uint32(/* id 8, wireType 0 =*/64).int64(message.minHandlingTime); - if (message.maxHandlingTime != null && Object.hasOwnProperty.call(message, "maxHandlingTime")) - writer.uint32(/* id 9, wireType 0 =*/72).int64(message.maxHandlingTime); - if (message.minTransitTime != null && Object.hasOwnProperty.call(message, "minTransitTime")) - writer.uint32(/* id 10, wireType 0 =*/80).int64(message.minTransitTime); - if (message.maxTransitTime != null && Object.hasOwnProperty.call(message, "maxTransitTime")) - writer.uint32(/* id 11, wireType 0 =*/88).int64(message.maxTransitTime); - return writer; - }; - - /** - * Encodes the specified Shipping message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Shipping.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {google.shopping.merchant.products.v1beta.IShipping} message Shipping message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Shipping.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Shipping message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Shipping.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Shipping(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.price = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 2: { - message.country = reader.string(); - break; - } - case 3: { - message.region = reader.string(); - break; - } - case 4: { - message.service = reader.string(); - break; - } - case 5: { - message.locationId = reader.int64(); - break; - } - case 6: { - message.locationGroupName = reader.string(); - break; - } - case 7: { - message.postalCode = reader.string(); - break; - } - case 8: { - message.minHandlingTime = reader.int64(); - break; - } - case 9: { - message.maxHandlingTime = reader.int64(); - break; - } - case 10: { - message.minTransitTime = reader.int64(); - break; - } - case 11: { - message.maxTransitTime = reader.int64(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Shipping message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Shipping.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Shipping message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Shipping.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.price != null && message.hasOwnProperty("price")) { - var error = $root.google.shopping.type.Price.verify(message.price); - if (error) - return "price." + error; - } - if (message.country != null && message.hasOwnProperty("country")) - if (!$util.isString(message.country)) - return "country: string expected"; - if (message.region != null && message.hasOwnProperty("region")) - if (!$util.isString(message.region)) - return "region: string expected"; - if (message.service != null && message.hasOwnProperty("service")) - if (!$util.isString(message.service)) - return "service: string expected"; - if (message.locationId != null && message.hasOwnProperty("locationId")) - if (!$util.isInteger(message.locationId) && !(message.locationId && $util.isInteger(message.locationId.low) && $util.isInteger(message.locationId.high))) - return "locationId: integer|Long expected"; - if (message.locationGroupName != null && message.hasOwnProperty("locationGroupName")) - if (!$util.isString(message.locationGroupName)) - return "locationGroupName: string expected"; - if (message.postalCode != null && message.hasOwnProperty("postalCode")) - if (!$util.isString(message.postalCode)) - return "postalCode: string expected"; - if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { - properties._minHandlingTime = 1; - if (!$util.isInteger(message.minHandlingTime) && !(message.minHandlingTime && $util.isInteger(message.minHandlingTime.low) && $util.isInteger(message.minHandlingTime.high))) - return "minHandlingTime: integer|Long expected"; - } - if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { - properties._maxHandlingTime = 1; - if (!$util.isInteger(message.maxHandlingTime) && !(message.maxHandlingTime && $util.isInteger(message.maxHandlingTime.low) && $util.isInteger(message.maxHandlingTime.high))) - return "maxHandlingTime: integer|Long expected"; - } - if (message.minTransitTime != null && message.hasOwnProperty("minTransitTime")) { - properties._minTransitTime = 1; - if (!$util.isInteger(message.minTransitTime) && !(message.minTransitTime && $util.isInteger(message.minTransitTime.low) && $util.isInteger(message.minTransitTime.high))) - return "minTransitTime: integer|Long expected"; - } - if (message.maxTransitTime != null && message.hasOwnProperty("maxTransitTime")) { - properties._maxTransitTime = 1; - if (!$util.isInteger(message.maxTransitTime) && !(message.maxTransitTime && $util.isInteger(message.maxTransitTime.low) && $util.isInteger(message.maxTransitTime.high))) - return "maxTransitTime: integer|Long expected"; - } - return null; - }; - - /** - * Creates a Shipping message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Shipping} Shipping - */ - Shipping.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Shipping) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Shipping(); - if (object.price != null) { - if (typeof object.price !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Shipping.price: object expected"); - message.price = $root.google.shopping.type.Price.fromObject(object.price); - } - if (object.country != null) - message.country = String(object.country); - if (object.region != null) - message.region = String(object.region); - if (object.service != null) - message.service = String(object.service); - if (object.locationId != null) - if ($util.Long) - (message.locationId = $util.Long.fromValue(object.locationId)).unsigned = false; - else if (typeof object.locationId === "string") - message.locationId = parseInt(object.locationId, 10); - else if (typeof object.locationId === "number") - message.locationId = object.locationId; - else if (typeof object.locationId === "object") - message.locationId = new $util.LongBits(object.locationId.low >>> 0, object.locationId.high >>> 0).toNumber(); - if (object.locationGroupName != null) - message.locationGroupName = String(object.locationGroupName); - if (object.postalCode != null) - message.postalCode = String(object.postalCode); - if (object.minHandlingTime != null) - if ($util.Long) - (message.minHandlingTime = $util.Long.fromValue(object.minHandlingTime)).unsigned = false; - else if (typeof object.minHandlingTime === "string") - message.minHandlingTime = parseInt(object.minHandlingTime, 10); - else if (typeof object.minHandlingTime === "number") - message.minHandlingTime = object.minHandlingTime; - else if (typeof object.minHandlingTime === "object") - message.minHandlingTime = new $util.LongBits(object.minHandlingTime.low >>> 0, object.minHandlingTime.high >>> 0).toNumber(); - if (object.maxHandlingTime != null) - if ($util.Long) - (message.maxHandlingTime = $util.Long.fromValue(object.maxHandlingTime)).unsigned = false; - else if (typeof object.maxHandlingTime === "string") - message.maxHandlingTime = parseInt(object.maxHandlingTime, 10); - else if (typeof object.maxHandlingTime === "number") - message.maxHandlingTime = object.maxHandlingTime; - else if (typeof object.maxHandlingTime === "object") - message.maxHandlingTime = new $util.LongBits(object.maxHandlingTime.low >>> 0, object.maxHandlingTime.high >>> 0).toNumber(); - if (object.minTransitTime != null) - if ($util.Long) - (message.minTransitTime = $util.Long.fromValue(object.minTransitTime)).unsigned = false; - else if (typeof object.minTransitTime === "string") - message.minTransitTime = parseInt(object.minTransitTime, 10); - else if (typeof object.minTransitTime === "number") - message.minTransitTime = object.minTransitTime; - else if (typeof object.minTransitTime === "object") - message.minTransitTime = new $util.LongBits(object.minTransitTime.low >>> 0, object.minTransitTime.high >>> 0).toNumber(); - if (object.maxTransitTime != null) - if ($util.Long) - (message.maxTransitTime = $util.Long.fromValue(object.maxTransitTime)).unsigned = false; - else if (typeof object.maxTransitTime === "string") - message.maxTransitTime = parseInt(object.maxTransitTime, 10); - else if (typeof object.maxTransitTime === "number") - message.maxTransitTime = object.maxTransitTime; - else if (typeof object.maxTransitTime === "object") - message.maxTransitTime = new $util.LongBits(object.maxTransitTime.low >>> 0, object.maxTransitTime.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a Shipping message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {google.shopping.merchant.products.v1beta.Shipping} message Shipping - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Shipping.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.price = null; - object.country = ""; - object.region = ""; - object.service = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.locationId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.locationId = options.longs === String ? "0" : 0; - object.locationGroupName = ""; - object.postalCode = ""; - } - if (message.price != null && message.hasOwnProperty("price")) - object.price = $root.google.shopping.type.Price.toObject(message.price, options); - if (message.country != null && message.hasOwnProperty("country")) - object.country = message.country; - if (message.region != null && message.hasOwnProperty("region")) - object.region = message.region; - if (message.service != null && message.hasOwnProperty("service")) - object.service = message.service; - if (message.locationId != null && message.hasOwnProperty("locationId")) - if (typeof message.locationId === "number") - object.locationId = options.longs === String ? String(message.locationId) : message.locationId; - else - object.locationId = options.longs === String ? $util.Long.prototype.toString.call(message.locationId) : options.longs === Number ? new $util.LongBits(message.locationId.low >>> 0, message.locationId.high >>> 0).toNumber() : message.locationId; - if (message.locationGroupName != null && message.hasOwnProperty("locationGroupName")) - object.locationGroupName = message.locationGroupName; - if (message.postalCode != null && message.hasOwnProperty("postalCode")) - object.postalCode = message.postalCode; - if (message.minHandlingTime != null && message.hasOwnProperty("minHandlingTime")) { - if (typeof message.minHandlingTime === "number") - object.minHandlingTime = options.longs === String ? String(message.minHandlingTime) : message.minHandlingTime; - else - object.minHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.minHandlingTime) : options.longs === Number ? new $util.LongBits(message.minHandlingTime.low >>> 0, message.minHandlingTime.high >>> 0).toNumber() : message.minHandlingTime; - if (options.oneofs) - object._minHandlingTime = "minHandlingTime"; - } - if (message.maxHandlingTime != null && message.hasOwnProperty("maxHandlingTime")) { - if (typeof message.maxHandlingTime === "number") - object.maxHandlingTime = options.longs === String ? String(message.maxHandlingTime) : message.maxHandlingTime; - else - object.maxHandlingTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxHandlingTime) : options.longs === Number ? new $util.LongBits(message.maxHandlingTime.low >>> 0, message.maxHandlingTime.high >>> 0).toNumber() : message.maxHandlingTime; - if (options.oneofs) - object._maxHandlingTime = "maxHandlingTime"; - } - if (message.minTransitTime != null && message.hasOwnProperty("minTransitTime")) { - if (typeof message.minTransitTime === "number") - object.minTransitTime = options.longs === String ? String(message.minTransitTime) : message.minTransitTime; - else - object.minTransitTime = options.longs === String ? $util.Long.prototype.toString.call(message.minTransitTime) : options.longs === Number ? new $util.LongBits(message.minTransitTime.low >>> 0, message.minTransitTime.high >>> 0).toNumber() : message.minTransitTime; - if (options.oneofs) - object._minTransitTime = "minTransitTime"; - } - if (message.maxTransitTime != null && message.hasOwnProperty("maxTransitTime")) { - if (typeof message.maxTransitTime === "number") - object.maxTransitTime = options.longs === String ? String(message.maxTransitTime) : message.maxTransitTime; - else - object.maxTransitTime = options.longs === String ? $util.Long.prototype.toString.call(message.maxTransitTime) : options.longs === Number ? new $util.LongBits(message.maxTransitTime.low >>> 0, message.maxTransitTime.high >>> 0).toNumber() : message.maxTransitTime; - if (options.oneofs) - object._maxTransitTime = "maxTransitTime"; - } - return object; - }; - - /** - * Converts this Shipping to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @instance - * @returns {Object.} JSON object - */ - Shipping.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Shipping - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Shipping - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Shipping.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Shipping"; - }; - - return Shipping; - })(); - - v1beta.FreeShippingThreshold = (function() { - - /** - * Properties of a FreeShippingThreshold. - * @memberof google.shopping.merchant.products.v1beta - * @interface IFreeShippingThreshold - * @property {string|null} [country] FreeShippingThreshold country - * @property {google.shopping.type.IPrice|null} [priceThreshold] FreeShippingThreshold priceThreshold - */ - - /** - * Constructs a new FreeShippingThreshold. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a FreeShippingThreshold. - * @implements IFreeShippingThreshold - * @constructor - * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold=} [properties] Properties to set - */ - function FreeShippingThreshold(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FreeShippingThreshold country. - * @member {string|null|undefined} country - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @instance - */ - FreeShippingThreshold.prototype.country = null; - - /** - * FreeShippingThreshold priceThreshold. - * @member {google.shopping.type.IPrice|null|undefined} priceThreshold - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @instance - */ - FreeShippingThreshold.prototype.priceThreshold = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * FreeShippingThreshold _country. - * @member {"country"|undefined} _country - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @instance - */ - Object.defineProperty(FreeShippingThreshold.prototype, "_country", { - get: $util.oneOfGetter($oneOfFields = ["country"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * FreeShippingThreshold _priceThreshold. - * @member {"priceThreshold"|undefined} _priceThreshold - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @instance - */ - Object.defineProperty(FreeShippingThreshold.prototype, "_priceThreshold", { - get: $util.oneOfGetter($oneOfFields = ["priceThreshold"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new FreeShippingThreshold instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold instance - */ - FreeShippingThreshold.create = function create(properties) { - return new FreeShippingThreshold(properties); - }; - - /** - * Encodes the specified FreeShippingThreshold message. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold} message FreeShippingThreshold message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FreeShippingThreshold.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.country != null && Object.hasOwnProperty.call(message, "country")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.country); - if (message.priceThreshold != null && Object.hasOwnProperty.call(message, "priceThreshold")) - $root.google.shopping.type.Price.encode(message.priceThreshold, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FreeShippingThreshold message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.FreeShippingThreshold.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {google.shopping.merchant.products.v1beta.IFreeShippingThreshold} message FreeShippingThreshold message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FreeShippingThreshold.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FreeShippingThreshold message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FreeShippingThreshold.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.country = reader.string(); - break; - } - case 2: { - message.priceThreshold = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FreeShippingThreshold message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FreeShippingThreshold.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FreeShippingThreshold message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FreeShippingThreshold.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.country != null && message.hasOwnProperty("country")) { - properties._country = 1; - if (!$util.isString(message.country)) - return "country: string expected"; - } - if (message.priceThreshold != null && message.hasOwnProperty("priceThreshold")) { - properties._priceThreshold = 1; - { - var error = $root.google.shopping.type.Price.verify(message.priceThreshold); - if (error) - return "priceThreshold." + error; - } - } - return null; - }; - - /** - * Creates a FreeShippingThreshold message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.FreeShippingThreshold} FreeShippingThreshold - */ - FreeShippingThreshold.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.FreeShippingThreshold(); - if (object.country != null) - message.country = String(object.country); - if (object.priceThreshold != null) { - if (typeof object.priceThreshold !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.FreeShippingThreshold.priceThreshold: object expected"); - message.priceThreshold = $root.google.shopping.type.Price.fromObject(object.priceThreshold); - } - return message; - }; - - /** - * Creates a plain object from a FreeShippingThreshold message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {google.shopping.merchant.products.v1beta.FreeShippingThreshold} message FreeShippingThreshold - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FreeShippingThreshold.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.country != null && message.hasOwnProperty("country")) { - object.country = message.country; - if (options.oneofs) - object._country = "country"; - } - if (message.priceThreshold != null && message.hasOwnProperty("priceThreshold")) { - object.priceThreshold = $root.google.shopping.type.Price.toObject(message.priceThreshold, options); - if (options.oneofs) - object._priceThreshold = "priceThreshold"; - } - return object; - }; - - /** - * Converts this FreeShippingThreshold to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @instance - * @returns {Object.} JSON object - */ - FreeShippingThreshold.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FreeShippingThreshold - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.FreeShippingThreshold - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FreeShippingThreshold.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.FreeShippingThreshold"; - }; - - return FreeShippingThreshold; - })(); - - v1beta.ProductDetail = (function() { - - /** - * Properties of a ProductDetail. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductDetail - * @property {string|null} [sectionName] ProductDetail sectionName - * @property {string|null} [attributeName] ProductDetail attributeName - * @property {string|null} [attributeValue] ProductDetail attributeValue - */ - - /** - * Constructs a new ProductDetail. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductDetail. - * @implements IProductDetail - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductDetail=} [properties] Properties to set - */ - function ProductDetail(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductDetail sectionName. - * @member {string} sectionName - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @instance - */ - ProductDetail.prototype.sectionName = ""; - - /** - * ProductDetail attributeName. - * @member {string} attributeName - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @instance - */ - ProductDetail.prototype.attributeName = ""; - - /** - * ProductDetail attributeValue. - * @member {string} attributeValue - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @instance - */ - ProductDetail.prototype.attributeValue = ""; - - /** - * Creates a new ProductDetail instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDetail=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail instance - */ - ProductDetail.create = function create(properties) { - return new ProductDetail(properties); - }; - - /** - * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDetail} message ProductDetail message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductDetail.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sectionName != null && Object.hasOwnProperty.call(message, "sectionName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.sectionName); - if (message.attributeName != null && Object.hasOwnProperty.call(message, "attributeName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.attributeName); - if (message.attributeValue != null && Object.hasOwnProperty.call(message, "attributeValue")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.attributeValue); - return writer; - }; - - /** - * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDetail.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDetail} message ProductDetail message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductDetail.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductDetail message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductDetail.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductDetail(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.sectionName = reader.string(); - break; - } - case 2: { - message.attributeName = reader.string(); - break; - } - case 3: { - message.attributeValue = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductDetail message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductDetail.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductDetail message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductDetail.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sectionName != null && message.hasOwnProperty("sectionName")) - if (!$util.isString(message.sectionName)) - return "sectionName: string expected"; - if (message.attributeName != null && message.hasOwnProperty("attributeName")) - if (!$util.isString(message.attributeName)) - return "attributeName: string expected"; - if (message.attributeValue != null && message.hasOwnProperty("attributeValue")) - if (!$util.isString(message.attributeValue)) - return "attributeValue: string expected"; - return null; - }; - - /** - * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductDetail} ProductDetail - */ - ProductDetail.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductDetail) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductDetail(); - if (object.sectionName != null) - message.sectionName = String(object.sectionName); - if (object.attributeName != null) - message.attributeName = String(object.attributeName); - if (object.attributeValue != null) - message.attributeValue = String(object.attributeValue); - return message; - }; - - /** - * Creates a plain object from a ProductDetail message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {google.shopping.merchant.products.v1beta.ProductDetail} message ProductDetail - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductDetail.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.sectionName = ""; - object.attributeName = ""; - object.attributeValue = ""; - } - if (message.sectionName != null && message.hasOwnProperty("sectionName")) - object.sectionName = message.sectionName; - if (message.attributeName != null && message.hasOwnProperty("attributeName")) - object.attributeName = message.attributeName; - if (message.attributeValue != null && message.hasOwnProperty("attributeValue")) - object.attributeValue = message.attributeValue; - return object; - }; - - /** - * Converts this ProductDetail to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @instance - * @returns {Object.} JSON object - */ - ProductDetail.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductDetail - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductDetail - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductDetail.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductDetail"; - }; - - return ProductDetail; - })(); - - v1beta.Certification = (function() { - - /** - * Properties of a Certification. - * @memberof google.shopping.merchant.products.v1beta - * @interface ICertification - * @property {string|null} [certificationAuthority] Certification certificationAuthority - * @property {string|null} [certificationName] Certification certificationName - * @property {string|null} [certificationCode] Certification certificationCode - * @property {string|null} [certificationValue] Certification certificationValue - */ - - /** - * Constructs a new Certification. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a Certification. - * @implements ICertification - * @constructor - * @param {google.shopping.merchant.products.v1beta.ICertification=} [properties] Properties to set - */ - function Certification(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Certification certificationAuthority. - * @member {string|null|undefined} certificationAuthority - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Certification.prototype.certificationAuthority = null; - - /** - * Certification certificationName. - * @member {string|null|undefined} certificationName - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Certification.prototype.certificationName = null; - - /** - * Certification certificationCode. - * @member {string|null|undefined} certificationCode - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Certification.prototype.certificationCode = null; - - /** - * Certification certificationValue. - * @member {string|null|undefined} certificationValue - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Certification.prototype.certificationValue = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Certification _certificationAuthority. - * @member {"certificationAuthority"|undefined} _certificationAuthority - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Object.defineProperty(Certification.prototype, "_certificationAuthority", { - get: $util.oneOfGetter($oneOfFields = ["certificationAuthority"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Certification _certificationName. - * @member {"certificationName"|undefined} _certificationName - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Object.defineProperty(Certification.prototype, "_certificationName", { - get: $util.oneOfGetter($oneOfFields = ["certificationName"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Certification _certificationCode. - * @member {"certificationCode"|undefined} _certificationCode - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Object.defineProperty(Certification.prototype, "_certificationCode", { - get: $util.oneOfGetter($oneOfFields = ["certificationCode"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Certification _certificationValue. - * @member {"certificationValue"|undefined} _certificationValue - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - */ - Object.defineProperty(Certification.prototype, "_certificationValue", { - get: $util.oneOfGetter($oneOfFields = ["certificationValue"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Certification instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {google.shopping.merchant.products.v1beta.ICertification=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Certification} Certification instance - */ - Certification.create = function create(properties) { - return new Certification(properties); - }; - - /** - * Encodes the specified Certification message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {google.shopping.merchant.products.v1beta.ICertification} message Certification message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Certification.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.certificationAuthority != null && Object.hasOwnProperty.call(message, "certificationAuthority")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.certificationAuthority); - if (message.certificationName != null && Object.hasOwnProperty.call(message, "certificationName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.certificationName); - if (message.certificationCode != null && Object.hasOwnProperty.call(message, "certificationCode")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.certificationCode); - if (message.certificationValue != null && Object.hasOwnProperty.call(message, "certificationValue")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.certificationValue); - return writer; - }; - - /** - * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Certification.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {google.shopping.merchant.products.v1beta.ICertification} message Certification message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Certification.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Certification message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Certification} Certification - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Certification.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Certification(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.certificationAuthority = reader.string(); - break; - } - case 2: { - message.certificationName = reader.string(); - break; - } - case 3: { - message.certificationCode = reader.string(); - break; - } - case 4: { - message.certificationValue = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Certification message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Certification} Certification - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Certification.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Certification message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Certification.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.certificationAuthority != null && message.hasOwnProperty("certificationAuthority")) { - properties._certificationAuthority = 1; - if (!$util.isString(message.certificationAuthority)) - return "certificationAuthority: string expected"; - } - if (message.certificationName != null && message.hasOwnProperty("certificationName")) { - properties._certificationName = 1; - if (!$util.isString(message.certificationName)) - return "certificationName: string expected"; - } - if (message.certificationCode != null && message.hasOwnProperty("certificationCode")) { - properties._certificationCode = 1; - if (!$util.isString(message.certificationCode)) - return "certificationCode: string expected"; - } - if (message.certificationValue != null && message.hasOwnProperty("certificationValue")) { - properties._certificationValue = 1; - if (!$util.isString(message.certificationValue)) - return "certificationValue: string expected"; - } - return null; - }; - - /** - * Creates a Certification message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Certification} Certification - */ - Certification.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Certification) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Certification(); - if (object.certificationAuthority != null) - message.certificationAuthority = String(object.certificationAuthority); - if (object.certificationName != null) - message.certificationName = String(object.certificationName); - if (object.certificationCode != null) - message.certificationCode = String(object.certificationCode); - if (object.certificationValue != null) - message.certificationValue = String(object.certificationValue); - return message; - }; - - /** - * Creates a plain object from a Certification message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {google.shopping.merchant.products.v1beta.Certification} message Certification - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Certification.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.certificationAuthority != null && message.hasOwnProperty("certificationAuthority")) { - object.certificationAuthority = message.certificationAuthority; - if (options.oneofs) - object._certificationAuthority = "certificationAuthority"; - } - if (message.certificationName != null && message.hasOwnProperty("certificationName")) { - object.certificationName = message.certificationName; - if (options.oneofs) - object._certificationName = "certificationName"; - } - if (message.certificationCode != null && message.hasOwnProperty("certificationCode")) { - object.certificationCode = message.certificationCode; - if (options.oneofs) - object._certificationCode = "certificationCode"; - } - if (message.certificationValue != null && message.hasOwnProperty("certificationValue")) { - object.certificationValue = message.certificationValue; - if (options.oneofs) - object._certificationValue = "certificationValue"; - } - return object; - }; - - /** - * Converts this Certification to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Certification - * @instance - * @returns {Object.} JSON object - */ - Certification.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Certification - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Certification - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Certification.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Certification"; - }; - - return Certification; - })(); - - v1beta.ProductStructuredTitle = (function() { - - /** - * Properties of a ProductStructuredTitle. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductStructuredTitle - * @property {string|null} [digitalSourceType] ProductStructuredTitle digitalSourceType - * @property {string|null} [content] ProductStructuredTitle content - */ - - /** - * Constructs a new ProductStructuredTitle. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductStructuredTitle. - * @implements IProductStructuredTitle - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle=} [properties] Properties to set - */ - function ProductStructuredTitle(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductStructuredTitle digitalSourceType. - * @member {string|null|undefined} digitalSourceType - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @instance - */ - ProductStructuredTitle.prototype.digitalSourceType = null; - - /** - * ProductStructuredTitle content. - * @member {string|null|undefined} content - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @instance - */ - ProductStructuredTitle.prototype.content = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ProductStructuredTitle _digitalSourceType. - * @member {"digitalSourceType"|undefined} _digitalSourceType - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @instance - */ - Object.defineProperty(ProductStructuredTitle.prototype, "_digitalSourceType", { - get: $util.oneOfGetter($oneOfFields = ["digitalSourceType"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * ProductStructuredTitle _content. - * @member {"content"|undefined} _content - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @instance - */ - Object.defineProperty(ProductStructuredTitle.prototype, "_content", { - get: $util.oneOfGetter($oneOfFields = ["content"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ProductStructuredTitle instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle instance - */ - ProductStructuredTitle.create = function create(properties) { - return new ProductStructuredTitle(properties); - }; - - /** - * Encodes the specified ProductStructuredTitle message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle} message ProductStructuredTitle message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStructuredTitle.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.digitalSourceType != null && Object.hasOwnProperty.call(message, "digitalSourceType")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.digitalSourceType); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.content); - return writer; - }; - - /** - * Encodes the specified ProductStructuredTitle message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredTitle.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredTitle} message ProductStructuredTitle message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStructuredTitle.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductStructuredTitle message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStructuredTitle.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.digitalSourceType = reader.string(); - break; - } - case 2: { - message.content = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductStructuredTitle message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStructuredTitle.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductStructuredTitle message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductStructuredTitle.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { - properties._digitalSourceType = 1; - if (!$util.isString(message.digitalSourceType)) - return "digitalSourceType: string expected"; - } - if (message.content != null && message.hasOwnProperty("content")) { - properties._content = 1; - if (!$util.isString(message.content)) - return "content: string expected"; - } - return null; - }; - - /** - * Creates a ProductStructuredTitle message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredTitle} ProductStructuredTitle - */ - ProductStructuredTitle.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredTitle(); - if (object.digitalSourceType != null) - message.digitalSourceType = String(object.digitalSourceType); - if (object.content != null) - message.content = String(object.content); - return message; - }; - - /** - * Creates a plain object from a ProductStructuredTitle message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStructuredTitle} message ProductStructuredTitle - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductStructuredTitle.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { - object.digitalSourceType = message.digitalSourceType; - if (options.oneofs) - object._digitalSourceType = "digitalSourceType"; - } - if (message.content != null && message.hasOwnProperty("content")) { - object.content = message.content; - if (options.oneofs) - object._content = "content"; - } - return object; - }; - - /** - * Converts this ProductStructuredTitle to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @instance - * @returns {Object.} JSON object - */ - ProductStructuredTitle.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductStructuredTitle - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredTitle - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductStructuredTitle.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStructuredTitle"; - }; - - return ProductStructuredTitle; - })(); - - v1beta.ProductStructuredDescription = (function() { - - /** - * Properties of a ProductStructuredDescription. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductStructuredDescription - * @property {string|null} [digitalSourceType] ProductStructuredDescription digitalSourceType - * @property {string|null} [content] ProductStructuredDescription content - */ - - /** - * Constructs a new ProductStructuredDescription. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductStructuredDescription. - * @implements IProductStructuredDescription - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription=} [properties] Properties to set - */ - function ProductStructuredDescription(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductStructuredDescription digitalSourceType. - * @member {string|null|undefined} digitalSourceType - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @instance - */ - ProductStructuredDescription.prototype.digitalSourceType = null; - - /** - * ProductStructuredDescription content. - * @member {string|null|undefined} content - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @instance - */ - ProductStructuredDescription.prototype.content = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ProductStructuredDescription _digitalSourceType. - * @member {"digitalSourceType"|undefined} _digitalSourceType - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @instance - */ - Object.defineProperty(ProductStructuredDescription.prototype, "_digitalSourceType", { - get: $util.oneOfGetter($oneOfFields = ["digitalSourceType"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * ProductStructuredDescription _content. - * @member {"content"|undefined} _content - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @instance - */ - Object.defineProperty(ProductStructuredDescription.prototype, "_content", { - get: $util.oneOfGetter($oneOfFields = ["content"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ProductStructuredDescription instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription instance - */ - ProductStructuredDescription.create = function create(properties) { - return new ProductStructuredDescription(properties); - }; - - /** - * Encodes the specified ProductStructuredDescription message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription} message ProductStructuredDescription message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStructuredDescription.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.digitalSourceType != null && Object.hasOwnProperty.call(message, "digitalSourceType")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.digitalSourceType); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.content); - return writer; - }; - - /** - * Encodes the specified ProductStructuredDescription message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStructuredDescription.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStructuredDescription} message ProductStructuredDescription message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStructuredDescription.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductStructuredDescription message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStructuredDescription.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.digitalSourceType = reader.string(); - break; - } - case 2: { - message.content = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductStructuredDescription message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStructuredDescription.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductStructuredDescription message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductStructuredDescription.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { - properties._digitalSourceType = 1; - if (!$util.isString(message.digitalSourceType)) - return "digitalSourceType: string expected"; - } - if (message.content != null && message.hasOwnProperty("content")) { - properties._content = 1; - if (!$util.isString(message.content)) - return "content: string expected"; - } - return null; - }; - - /** - * Creates a ProductStructuredDescription message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductStructuredDescription} ProductStructuredDescription - */ - ProductStructuredDescription.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductStructuredDescription(); - if (object.digitalSourceType != null) - message.digitalSourceType = String(object.digitalSourceType); - if (object.content != null) - message.content = String(object.content); - return message; - }; - - /** - * Creates a plain object from a ProductStructuredDescription message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStructuredDescription} message ProductStructuredDescription - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductStructuredDescription.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.digitalSourceType != null && message.hasOwnProperty("digitalSourceType")) { - object.digitalSourceType = message.digitalSourceType; - if (options.oneofs) - object._digitalSourceType = "digitalSourceType"; - } - if (message.content != null && message.hasOwnProperty("content")) { - object.content = message.content; - if (options.oneofs) - object._content = "content"; - } - return object; - }; - - /** - * Converts this ProductStructuredDescription to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @instance - * @returns {Object.} JSON object - */ - ProductStructuredDescription.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductStructuredDescription - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductStructuredDescription - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductStructuredDescription.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStructuredDescription"; - }; - - return ProductStructuredDescription; - })(); - - v1beta.ProductDimension = (function() { - - /** - * Properties of a ProductDimension. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductDimension - * @property {number|null} [value] ProductDimension value - * @property {string|null} [unit] ProductDimension unit - */ - - /** - * Constructs a new ProductDimension. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductDimension. - * @implements IProductDimension - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductDimension=} [properties] Properties to set - */ - function ProductDimension(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductDimension value. - * @member {number} value - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @instance - */ - ProductDimension.prototype.value = 0; - - /** - * ProductDimension unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @instance - */ - ProductDimension.prototype.unit = ""; - - /** - * Creates a new ProductDimension instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDimension=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension instance - */ - ProductDimension.create = function create(properties) { - return new ProductDimension(properties); - }; - - /** - * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDimension} message ProductDimension message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductDimension.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductDimension.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {google.shopping.merchant.products.v1beta.IProductDimension} message ProductDimension message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductDimension.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductDimension message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductDimension.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductDimension(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.double(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductDimension message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductDimension.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductDimension message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductDimension.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "number") - return "value: number expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates a ProductDimension message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductDimension} ProductDimension - */ - ProductDimension.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductDimension) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductDimension(); - if (object.value != null) - message.value = Number(object.value); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from a ProductDimension message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {google.shopping.merchant.products.v1beta.ProductDimension} message ProductDimension - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductDimension.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this ProductDimension to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @instance - * @returns {Object.} JSON object - */ - ProductDimension.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductDimension - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductDimension - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductDimension.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductDimension"; - }; - - return ProductDimension; - })(); - - v1beta.ProductWeight = (function() { - - /** - * Properties of a ProductWeight. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductWeight - * @property {number|null} [value] ProductWeight value - * @property {string|null} [unit] ProductWeight unit - */ - - /** - * Constructs a new ProductWeight. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductWeight. - * @implements IProductWeight - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductWeight=} [properties] Properties to set - */ - function ProductWeight(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductWeight value. - * @member {number} value - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @instance - */ - ProductWeight.prototype.value = 0; - - /** - * ProductWeight unit. - * @member {string} unit - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @instance - */ - ProductWeight.prototype.unit = ""; - - /** - * Creates a new ProductWeight instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IProductWeight=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight instance - */ - ProductWeight.create = function create(properties) { - return new ProductWeight(properties); - }; - - /** - * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IProductWeight} message ProductWeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductWeight.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); - return writer; - }; - - /** - * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductWeight.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {google.shopping.merchant.products.v1beta.IProductWeight} message ProductWeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductWeight.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductWeight message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductWeight.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductWeight(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.value = reader.double(); - break; - } - case 2: { - message.unit = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductWeight message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductWeight.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductWeight message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductWeight.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (typeof message.value !== "number") - return "value: number expected"; - if (message.unit != null && message.hasOwnProperty("unit")) - if (!$util.isString(message.unit)) - return "unit: string expected"; - return null; - }; - - /** - * Creates a ProductWeight message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductWeight} ProductWeight - */ - ProductWeight.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductWeight) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductWeight(); - if (object.value != null) - message.value = Number(object.value); - if (object.unit != null) - message.unit = String(object.unit); - return message; - }; - - /** - * Creates a plain object from a ProductWeight message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {google.shopping.merchant.products.v1beta.ProductWeight} message ProductWeight - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductWeight.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = 0; - object.unit = ""; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = message.unit; - return object; - }; - - /** - * Converts this ProductWeight to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @instance - * @returns {Object.} JSON object - */ - ProductWeight.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductWeight - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductWeight - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductWeight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductWeight"; - }; - - return ProductWeight; - })(); - - v1beta.ProductStatus = (function() { - - /** - * Properties of a ProductStatus. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProductStatus - * @property {Array.|null} [destinationStatuses] ProductStatus destinationStatuses - * @property {Array.|null} [itemLevelIssues] ProductStatus itemLevelIssues - * @property {google.protobuf.ITimestamp|null} [creationDate] ProductStatus creationDate - * @property {google.protobuf.ITimestamp|null} [lastUpdateDate] ProductStatus lastUpdateDate - * @property {google.protobuf.ITimestamp|null} [googleExpirationDate] ProductStatus googleExpirationDate - */ - - /** - * Constructs a new ProductStatus. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductStatus. - * @implements IProductStatus - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProductStatus=} [properties] Properties to set - */ - function ProductStatus(properties) { - this.destinationStatuses = []; - this.itemLevelIssues = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProductStatus destinationStatuses. - * @member {Array.} destinationStatuses - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - */ - ProductStatus.prototype.destinationStatuses = $util.emptyArray; - - /** - * ProductStatus itemLevelIssues. - * @member {Array.} itemLevelIssues - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - */ - ProductStatus.prototype.itemLevelIssues = $util.emptyArray; - - /** - * ProductStatus creationDate. - * @member {google.protobuf.ITimestamp|null|undefined} creationDate - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - */ - ProductStatus.prototype.creationDate = null; - - /** - * ProductStatus lastUpdateDate. - * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateDate - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - */ - ProductStatus.prototype.lastUpdateDate = null; - - /** - * ProductStatus googleExpirationDate. - * @member {google.protobuf.ITimestamp|null|undefined} googleExpirationDate - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - */ - ProductStatus.prototype.googleExpirationDate = null; - - /** - * Creates a new ProductStatus instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStatus=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus instance - */ - ProductStatus.create = function create(properties) { - return new ProductStatus(properties); - }; - - /** - * Encodes the specified ProductStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStatus} message ProductStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStatus.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.destinationStatuses != null && message.destinationStatuses.length) - for (var i = 0; i < message.destinationStatuses.length; ++i) - $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.encode(message.destinationStatuses[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.itemLevelIssues != null && message.itemLevelIssues.length) - for (var i = 0; i < message.itemLevelIssues.length; ++i) - $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.encode(message.itemLevelIssues[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.creationDate != null && Object.hasOwnProperty.call(message, "creationDate")) - $root.google.protobuf.Timestamp.encode(message.creationDate, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.lastUpdateDate != null && Object.hasOwnProperty.call(message, "lastUpdateDate")) - $root.google.protobuf.Timestamp.encode(message.lastUpdateDate, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.googleExpirationDate != null && Object.hasOwnProperty.call(message, "googleExpirationDate")) - $root.google.protobuf.Timestamp.encode(message.googleExpirationDate, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ProductStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {google.shopping.merchant.products.v1beta.IProductStatus} message ProductStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductStatus.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductStatus message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStatus.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: { - if (!(message.destinationStatuses && message.destinationStatuses.length)) - message.destinationStatuses = []; - message.destinationStatuses.push($root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.decode(reader, reader.uint32())); - break; - } - case 4: { - if (!(message.itemLevelIssues && message.itemLevelIssues.length)) - message.itemLevelIssues = []; - message.itemLevelIssues.push($root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.decode(reader, reader.uint32())); - break; - } - case 5: { - message.creationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 6: { - message.lastUpdateDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 7: { - message.googleExpirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductStatus message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductStatus.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductStatus message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductStatus.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.destinationStatuses != null && message.hasOwnProperty("destinationStatuses")) { - if (!Array.isArray(message.destinationStatuses)) - return "destinationStatuses: array expected"; - for (var i = 0; i < message.destinationStatuses.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify(message.destinationStatuses[i]); - if (error) - return "destinationStatuses." + error; - } - } - if (message.itemLevelIssues != null && message.hasOwnProperty("itemLevelIssues")) { - if (!Array.isArray(message.itemLevelIssues)) - return "itemLevelIssues: array expected"; - for (var i = 0; i < message.itemLevelIssues.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify(message.itemLevelIssues[i]); - if (error) - return "itemLevelIssues." + error; - } - } - if (message.creationDate != null && message.hasOwnProperty("creationDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.creationDate); - if (error) - return "creationDate." + error; - } - if (message.lastUpdateDate != null && message.hasOwnProperty("lastUpdateDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.lastUpdateDate); - if (error) - return "lastUpdateDate." + error; - } - if (message.googleExpirationDate != null && message.hasOwnProperty("googleExpirationDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.googleExpirationDate); - if (error) - return "googleExpirationDate." + error; - } - return null; - }; - - /** - * Creates a ProductStatus message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductStatus} ProductStatus - */ - ProductStatus.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus(); - if (object.destinationStatuses) { - if (!Array.isArray(object.destinationStatuses)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.destinationStatuses: array expected"); - message.destinationStatuses = []; - for (var i = 0; i < object.destinationStatuses.length; ++i) { - if (typeof object.destinationStatuses[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.destinationStatuses: object expected"); - message.destinationStatuses[i] = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.fromObject(object.destinationStatuses[i]); - } - } - if (object.itemLevelIssues) { - if (!Array.isArray(object.itemLevelIssues)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.itemLevelIssues: array expected"); - message.itemLevelIssues = []; - for (var i = 0; i < object.itemLevelIssues.length; ++i) { - if (typeof object.itemLevelIssues[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.itemLevelIssues: object expected"); - message.itemLevelIssues[i] = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.fromObject(object.itemLevelIssues[i]); - } - } - if (object.creationDate != null) { - if (typeof object.creationDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.creationDate: object expected"); - message.creationDate = $root.google.protobuf.Timestamp.fromObject(object.creationDate); - } - if (object.lastUpdateDate != null) { - if (typeof object.lastUpdateDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.lastUpdateDate: object expected"); - message.lastUpdateDate = $root.google.protobuf.Timestamp.fromObject(object.lastUpdateDate); - } - if (object.googleExpirationDate != null) { - if (typeof object.googleExpirationDate !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.googleExpirationDate: object expected"); - message.googleExpirationDate = $root.google.protobuf.Timestamp.fromObject(object.googleExpirationDate); - } - return message; - }; - - /** - * Creates a plain object from a ProductStatus message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus} message ProductStatus - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductStatus.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.destinationStatuses = []; - object.itemLevelIssues = []; - } - if (options.defaults) { - object.creationDate = null; - object.lastUpdateDate = null; - object.googleExpirationDate = null; - } - if (message.destinationStatuses && message.destinationStatuses.length) { - object.destinationStatuses = []; - for (var j = 0; j < message.destinationStatuses.length; ++j) - object.destinationStatuses[j] = $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.toObject(message.destinationStatuses[j], options); - } - if (message.itemLevelIssues && message.itemLevelIssues.length) { - object.itemLevelIssues = []; - for (var j = 0; j < message.itemLevelIssues.length; ++j) - object.itemLevelIssues[j] = $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.toObject(message.itemLevelIssues[j], options); - } - if (message.creationDate != null && message.hasOwnProperty("creationDate")) - object.creationDate = $root.google.protobuf.Timestamp.toObject(message.creationDate, options); - if (message.lastUpdateDate != null && message.hasOwnProperty("lastUpdateDate")) - object.lastUpdateDate = $root.google.protobuf.Timestamp.toObject(message.lastUpdateDate, options); - if (message.googleExpirationDate != null && message.hasOwnProperty("googleExpirationDate")) - object.googleExpirationDate = $root.google.protobuf.Timestamp.toObject(message.googleExpirationDate, options); - return object; - }; - - /** - * Converts this ProductStatus to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @instance - * @returns {Object.} JSON object - */ - ProductStatus.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ProductStatus - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ProductStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus"; - }; - - ProductStatus.DestinationStatus = (function() { - - /** - * Properties of a DestinationStatus. - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @interface IDestinationStatus - * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] DestinationStatus reportingContext - * @property {Array.|null} [approvedCountries] DestinationStatus approvedCountries - * @property {Array.|null} [pendingCountries] DestinationStatus pendingCountries - * @property {Array.|null} [disapprovedCountries] DestinationStatus disapprovedCountries - */ - - /** - * Constructs a new DestinationStatus. - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @classdesc Represents a DestinationStatus. - * @implements IDestinationStatus - * @constructor - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus=} [properties] Properties to set - */ - function DestinationStatus(properties) { - this.approvedCountries = []; - this.pendingCountries = []; - this.disapprovedCountries = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DestinationStatus reportingContext. - * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.reportingContext = 0; - - /** - * DestinationStatus approvedCountries. - * @member {Array.} approvedCountries - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.approvedCountries = $util.emptyArray; - - /** - * DestinationStatus pendingCountries. - * @member {Array.} pendingCountries - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.pendingCountries = $util.emptyArray; - - /** - * DestinationStatus disapprovedCountries. - * @member {Array.} disapprovedCountries - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.disapprovedCountries = $util.emptyArray; - - /** - * Creates a new DestinationStatus instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus instance - */ - DestinationStatus.create = function create(properties) { - return new DestinationStatus(properties); - }; - - /** - * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus} message DestinationStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DestinationStatus.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reportingContext); - if (message.approvedCountries != null && message.approvedCountries.length) - for (var i = 0; i < message.approvedCountries.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.approvedCountries[i]); - if (message.pendingCountries != null && message.pendingCountries.length) - for (var i = 0; i < message.pendingCountries.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pendingCountries[i]); - if (message.disapprovedCountries != null && message.disapprovedCountries.length) - for (var i = 0; i < message.disapprovedCountries.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.disapprovedCountries[i]); - return writer; - }; - - /** - * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IDestinationStatus} message DestinationStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DestinationStatus.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DestinationStatus message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DestinationStatus.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.reportingContext = reader.int32(); - break; - } - case 2: { - if (!(message.approvedCountries && message.approvedCountries.length)) - message.approvedCountries = []; - message.approvedCountries.push(reader.string()); - break; - } - case 3: { - if (!(message.pendingCountries && message.pendingCountries.length)) - message.pendingCountries = []; - message.pendingCountries.push(reader.string()); - break; - } - case 4: { - if (!(message.disapprovedCountries && message.disapprovedCountries.length)) - message.disapprovedCountries = []; - message.disapprovedCountries.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DestinationStatus message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DestinationStatus.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DestinationStatus message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DestinationStatus.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) - switch (message.reportingContext) { - default: - return "reportingContext: enum value expected"; - case 0: - case 1: - case 2: - case 13: - case 14: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - break; - } - if (message.approvedCountries != null && message.hasOwnProperty("approvedCountries")) { - if (!Array.isArray(message.approvedCountries)) - return "approvedCountries: array expected"; - for (var i = 0; i < message.approvedCountries.length; ++i) - if (!$util.isString(message.approvedCountries[i])) - return "approvedCountries: string[] expected"; - } - if (message.pendingCountries != null && message.hasOwnProperty("pendingCountries")) { - if (!Array.isArray(message.pendingCountries)) - return "pendingCountries: array expected"; - for (var i = 0; i < message.pendingCountries.length; ++i) - if (!$util.isString(message.pendingCountries[i])) - return "pendingCountries: string[] expected"; - } - if (message.disapprovedCountries != null && message.hasOwnProperty("disapprovedCountries")) { - if (!Array.isArray(message.disapprovedCountries)) - return "disapprovedCountries: array expected"; - for (var i = 0; i < message.disapprovedCountries.length; ++i) - if (!$util.isString(message.disapprovedCountries[i])) - return "disapprovedCountries: string[] expected"; - } - return null; - }; - - /** - * Creates a DestinationStatus message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} DestinationStatus - */ - DestinationStatus.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus(); - switch (object.reportingContext) { - default: - if (typeof object.reportingContext === "number") { - message.reportingContext = object.reportingContext; - break; - } - break; - case "REPORTING_CONTEXT_ENUM_UNSPECIFIED": - case 0: - message.reportingContext = 0; - break; - case "SHOPPING_ADS": - case 1: - message.reportingContext = 1; - break; - case "DISCOVERY_ADS": - case 2: - message.reportingContext = 2; - break; - case "DEMAND_GEN_ADS": - case 13: - message.reportingContext = 13; - break; - case "DEMAND_GEN_ADS_DISCOVER_SURFACE": - case 14: - message.reportingContext = 14; - break; - case "VIDEO_ADS": - case 3: - message.reportingContext = 3; - break; - case "DISPLAY_ADS": - case 4: - message.reportingContext = 4; - break; - case "LOCAL_INVENTORY_ADS": - case 5: - message.reportingContext = 5; - break; - case "VEHICLE_INVENTORY_ADS": - case 6: - message.reportingContext = 6; - break; - case "FREE_LISTINGS": - case 7: - message.reportingContext = 7; - break; - case "FREE_LOCAL_LISTINGS": - case 8: - message.reportingContext = 8; - break; - case "FREE_LOCAL_VEHICLE_LISTINGS": - case 9: - message.reportingContext = 9; - break; - case "YOUTUBE_SHOPPING": - case 10: - message.reportingContext = 10; - break; - case "CLOUD_RETAIL": - case 11: - message.reportingContext = 11; - break; - case "LOCAL_CLOUD_RETAIL": - case 12: - message.reportingContext = 12; - break; - } - if (object.approvedCountries) { - if (!Array.isArray(object.approvedCountries)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.approvedCountries: array expected"); - message.approvedCountries = []; - for (var i = 0; i < object.approvedCountries.length; ++i) - message.approvedCountries[i] = String(object.approvedCountries[i]); - } - if (object.pendingCountries) { - if (!Array.isArray(object.pendingCountries)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.pendingCountries: array expected"); - message.pendingCountries = []; - for (var i = 0; i < object.pendingCountries.length; ++i) - message.pendingCountries[i] = String(object.pendingCountries[i]); - } - if (object.disapprovedCountries) { - if (!Array.isArray(object.disapprovedCountries)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus.disapprovedCountries: array expected"); - message.disapprovedCountries = []; - for (var i = 0; i < object.disapprovedCountries.length; ++i) - message.disapprovedCountries[i] = String(object.disapprovedCountries[i]); - } - return message; - }; - - /** - * Creates a plain object from a DestinationStatus message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus} message DestinationStatus - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DestinationStatus.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.approvedCountries = []; - object.pendingCountries = []; - object.disapprovedCountries = []; - } - if (options.defaults) - object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0; - if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) - object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext; - if (message.approvedCountries && message.approvedCountries.length) { - object.approvedCountries = []; - for (var j = 0; j < message.approvedCountries.length; ++j) - object.approvedCountries[j] = message.approvedCountries[j]; - } - if (message.pendingCountries && message.pendingCountries.length) { - object.pendingCountries = []; - for (var j = 0; j < message.pendingCountries.length; ++j) - object.pendingCountries[j] = message.pendingCountries[j]; - } - if (message.disapprovedCountries && message.disapprovedCountries.length) { - object.disapprovedCountries = []; - for (var j = 0; j < message.disapprovedCountries.length; ++j) - object.disapprovedCountries[j] = message.disapprovedCountries[j]; - } - return object; - }; - - /** - * Converts this DestinationStatus to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @instance - * @returns {Object.} JSON object - */ - DestinationStatus.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DestinationStatus - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DestinationStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus"; - }; - - return DestinationStatus; - })(); - - ProductStatus.ItemLevelIssue = (function() { - - /** - * Properties of an ItemLevelIssue. - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @interface IItemLevelIssue - * @property {string|null} [code] ItemLevelIssue code - * @property {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity|null} [severity] ItemLevelIssue severity - * @property {string|null} [resolution] ItemLevelIssue resolution - * @property {string|null} [attribute] ItemLevelIssue attribute - * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] ItemLevelIssue reportingContext - * @property {string|null} [description] ItemLevelIssue description - * @property {string|null} [detail] ItemLevelIssue detail - * @property {string|null} [documentation] ItemLevelIssue documentation - * @property {Array.|null} [applicableCountries] ItemLevelIssue applicableCountries - */ - - /** - * Constructs a new ItemLevelIssue. - * @memberof google.shopping.merchant.products.v1beta.ProductStatus - * @classdesc Represents an ItemLevelIssue. - * @implements IItemLevelIssue - * @constructor - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue=} [properties] Properties to set - */ - function ItemLevelIssue(properties) { - this.applicableCountries = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ItemLevelIssue code. - * @member {string} code - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.code = ""; - - /** - * ItemLevelIssue severity. - * @member {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity} severity - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.severity = 0; - - /** - * ItemLevelIssue resolution. - * @member {string} resolution - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.resolution = ""; - - /** - * ItemLevelIssue attribute. - * @member {string} attribute - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.attribute = ""; - - /** - * ItemLevelIssue reportingContext. - * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.reportingContext = 0; - - /** - * ItemLevelIssue description. - * @member {string} description - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.description = ""; - - /** - * ItemLevelIssue detail. - * @member {string} detail - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.detail = ""; - - /** - * ItemLevelIssue documentation. - * @member {string} documentation - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.documentation = ""; - - /** - * ItemLevelIssue applicableCountries. - * @member {Array.} applicableCountries - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.applicableCountries = $util.emptyArray; - - /** - * Creates a new ItemLevelIssue instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue instance - */ - ItemLevelIssue.create = function create(properties) { - return new ItemLevelIssue(properties); - }; - - /** - * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue} message ItemLevelIssue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ItemLevelIssue.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.code); - if (message.severity != null && Object.hasOwnProperty.call(message, "severity")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.severity); - if (message.resolution != null && Object.hasOwnProperty.call(message, "resolution")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.resolution); - if (message.attribute != null && Object.hasOwnProperty.call(message, "attribute")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.attribute); - if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.reportingContext); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.description); - if (message.detail != null && Object.hasOwnProperty.call(message, "detail")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.detail); - if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.documentation); - if (message.applicableCountries != null && message.applicableCountries.length) - for (var i = 0; i < message.applicableCountries.length; ++i) - writer.uint32(/* id 9, wireType 2 =*/74).string(message.applicableCountries[i]); - return writer; - }; - - /** - * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.IItemLevelIssue} message ItemLevelIssue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ItemLevelIssue.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ItemLevelIssue message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ItemLevelIssue.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.code = reader.string(); - break; - } - case 2: { - message.severity = reader.int32(); - break; - } - case 3: { - message.resolution = reader.string(); - break; - } - case 4: { - message.attribute = reader.string(); - break; - } - case 5: { - message.reportingContext = reader.int32(); - break; - } - case 6: { - message.description = reader.string(); - break; - } - case 7: { - message.detail = reader.string(); - break; - } - case 8: { - message.documentation = reader.string(); - break; - } - case 9: { - if (!(message.applicableCountries && message.applicableCountries.length)) - message.applicableCountries = []; - message.applicableCountries.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ItemLevelIssue message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ItemLevelIssue.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ItemLevelIssue message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ItemLevelIssue.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isString(message.code)) - return "code: string expected"; - if (message.severity != null && message.hasOwnProperty("severity")) - switch (message.severity) { - default: - return "severity: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.resolution != null && message.hasOwnProperty("resolution")) - if (!$util.isString(message.resolution)) - return "resolution: string expected"; - if (message.attribute != null && message.hasOwnProperty("attribute")) - if (!$util.isString(message.attribute)) - return "attribute: string expected"; - if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) - switch (message.reportingContext) { - default: - return "reportingContext: enum value expected"; - case 0: - case 1: - case 2: - case 13: - case 14: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - break; - } - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.detail != null && message.hasOwnProperty("detail")) - if (!$util.isString(message.detail)) - return "detail: string expected"; - if (message.documentation != null && message.hasOwnProperty("documentation")) - if (!$util.isString(message.documentation)) - return "documentation: string expected"; - if (message.applicableCountries != null && message.hasOwnProperty("applicableCountries")) { - if (!Array.isArray(message.applicableCountries)) - return "applicableCountries: array expected"; - for (var i = 0; i < message.applicableCountries.length; ++i) - if (!$util.isString(message.applicableCountries[i])) - return "applicableCountries: string[] expected"; - } - return null; - }; - - /** - * Creates an ItemLevelIssue message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} ItemLevelIssue - */ - ItemLevelIssue.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue(); - if (object.code != null) - message.code = String(object.code); - switch (object.severity) { - default: - if (typeof object.severity === "number") { - message.severity = object.severity; - break; - } - break; - case "SEVERITY_UNSPECIFIED": - case 0: - message.severity = 0; - break; - case "NOT_IMPACTED": - case 1: - message.severity = 1; - break; - case "DEMOTED": - case 2: - message.severity = 2; - break; - case "DISAPPROVED": - case 3: - message.severity = 3; - break; - } - if (object.resolution != null) - message.resolution = String(object.resolution); - if (object.attribute != null) - message.attribute = String(object.attribute); - switch (object.reportingContext) { - default: - if (typeof object.reportingContext === "number") { - message.reportingContext = object.reportingContext; - break; - } - break; - case "REPORTING_CONTEXT_ENUM_UNSPECIFIED": - case 0: - message.reportingContext = 0; - break; - case "SHOPPING_ADS": - case 1: - message.reportingContext = 1; - break; - case "DISCOVERY_ADS": - case 2: - message.reportingContext = 2; - break; - case "DEMAND_GEN_ADS": - case 13: - message.reportingContext = 13; - break; - case "DEMAND_GEN_ADS_DISCOVER_SURFACE": - case 14: - message.reportingContext = 14; - break; - case "VIDEO_ADS": - case 3: - message.reportingContext = 3; - break; - case "DISPLAY_ADS": - case 4: - message.reportingContext = 4; - break; - case "LOCAL_INVENTORY_ADS": - case 5: - message.reportingContext = 5; - break; - case "VEHICLE_INVENTORY_ADS": - case 6: - message.reportingContext = 6; - break; - case "FREE_LISTINGS": - case 7: - message.reportingContext = 7; - break; - case "FREE_LOCAL_LISTINGS": - case 8: - message.reportingContext = 8; - break; - case "FREE_LOCAL_VEHICLE_LISTINGS": - case 9: - message.reportingContext = 9; - break; - case "YOUTUBE_SHOPPING": - case 10: - message.reportingContext = 10; - break; - case "CLOUD_RETAIL": - case 11: - message.reportingContext = 11; - break; - case "LOCAL_CLOUD_RETAIL": - case 12: - message.reportingContext = 12; - break; - } - if (object.description != null) - message.description = String(object.description); - if (object.detail != null) - message.detail = String(object.detail); - if (object.documentation != null) - message.documentation = String(object.documentation); - if (object.applicableCountries) { - if (!Array.isArray(object.applicableCountries)) - throw TypeError(".google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.applicableCountries: array expected"); - message.applicableCountries = []; - for (var i = 0; i < object.applicableCountries.length; ++i) - message.applicableCountries[i] = String(object.applicableCountries[i]); - } - return message; - }; - - /** - * Creates a plain object from an ItemLevelIssue message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue} message ItemLevelIssue - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ItemLevelIssue.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.applicableCountries = []; - if (options.defaults) { - object.code = ""; - object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0; - object.resolution = ""; - object.attribute = ""; - object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0; - object.description = ""; - object.detail = ""; - object.documentation = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.severity != null && message.hasOwnProperty("severity")) - object.severity = options.enums === String ? $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity[message.severity] === undefined ? message.severity : $root.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity[message.severity] : message.severity; - if (message.resolution != null && message.hasOwnProperty("resolution")) - object.resolution = message.resolution; - if (message.attribute != null && message.hasOwnProperty("attribute")) - object.attribute = message.attribute; - if (message.reportingContext != null && message.hasOwnProperty("reportingContext")) - object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.detail != null && message.hasOwnProperty("detail")) - object.detail = message.detail; - if (message.documentation != null && message.hasOwnProperty("documentation")) - object.documentation = message.documentation; - if (message.applicableCountries && message.applicableCountries.length) { - object.applicableCountries = []; - for (var j = 0; j < message.applicableCountries.length; ++j) - object.applicableCountries[j] = message.applicableCountries[j]; - } - return object; - }; - - /** - * Converts this ItemLevelIssue to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @instance - * @returns {Object.} JSON object - */ - ItemLevelIssue.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ItemLevelIssue - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ItemLevelIssue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue"; - }; - - /** - * Severity enum. - * @name google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity - * @enum {number} - * @property {number} SEVERITY_UNSPECIFIED=0 SEVERITY_UNSPECIFIED value - * @property {number} NOT_IMPACTED=1 NOT_IMPACTED value - * @property {number} DEMOTED=2 DEMOTED value - * @property {number} DISAPPROVED=3 DISAPPROVED value - */ - ItemLevelIssue.Severity = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "SEVERITY_UNSPECIFIED"] = 0; - values[valuesById[1] = "NOT_IMPACTED"] = 1; - values[valuesById[2] = "DEMOTED"] = 2; - values[valuesById[3] = "DISAPPROVED"] = 3; - return values; - })(); - - return ItemLevelIssue; - })(); - - return ProductStatus; - })(); - - v1beta.CloudExportAdditionalProperties = (function() { - - /** - * Properties of a CloudExportAdditionalProperties. - * @memberof google.shopping.merchant.products.v1beta - * @interface ICloudExportAdditionalProperties - * @property {string|null} [propertyName] CloudExportAdditionalProperties propertyName - * @property {Array.|null} [textValue] CloudExportAdditionalProperties textValue - * @property {boolean|null} [boolValue] CloudExportAdditionalProperties boolValue - * @property {Array.|null} [intValue] CloudExportAdditionalProperties intValue - * @property {Array.|null} [floatValue] CloudExportAdditionalProperties floatValue - * @property {number|null} [minValue] CloudExportAdditionalProperties minValue - * @property {number|null} [maxValue] CloudExportAdditionalProperties maxValue - * @property {string|null} [unitCode] CloudExportAdditionalProperties unitCode - */ - - /** - * Constructs a new CloudExportAdditionalProperties. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a CloudExportAdditionalProperties. - * @implements ICloudExportAdditionalProperties - * @constructor - * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties=} [properties] Properties to set - */ - function CloudExportAdditionalProperties(properties) { - this.textValue = []; - this.intValue = []; - this.floatValue = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CloudExportAdditionalProperties propertyName. - * @member {string|null|undefined} propertyName - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.propertyName = null; - - /** - * CloudExportAdditionalProperties textValue. - * @member {Array.} textValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.textValue = $util.emptyArray; - - /** - * CloudExportAdditionalProperties boolValue. - * @member {boolean|null|undefined} boolValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.boolValue = null; - - /** - * CloudExportAdditionalProperties intValue. - * @member {Array.} intValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.intValue = $util.emptyArray; - - /** - * CloudExportAdditionalProperties floatValue. - * @member {Array.} floatValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.floatValue = $util.emptyArray; - - /** - * CloudExportAdditionalProperties minValue. - * @member {number|null|undefined} minValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.minValue = null; - - /** - * CloudExportAdditionalProperties maxValue. - * @member {number|null|undefined} maxValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.maxValue = null; - - /** - * CloudExportAdditionalProperties unitCode. - * @member {string|null|undefined} unitCode - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - CloudExportAdditionalProperties.prototype.unitCode = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * CloudExportAdditionalProperties _propertyName. - * @member {"propertyName"|undefined} _propertyName - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - Object.defineProperty(CloudExportAdditionalProperties.prototype, "_propertyName", { - get: $util.oneOfGetter($oneOfFields = ["propertyName"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * CloudExportAdditionalProperties _boolValue. - * @member {"boolValue"|undefined} _boolValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - Object.defineProperty(CloudExportAdditionalProperties.prototype, "_boolValue", { - get: $util.oneOfGetter($oneOfFields = ["boolValue"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * CloudExportAdditionalProperties _minValue. - * @member {"minValue"|undefined} _minValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - Object.defineProperty(CloudExportAdditionalProperties.prototype, "_minValue", { - get: $util.oneOfGetter($oneOfFields = ["minValue"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * CloudExportAdditionalProperties _maxValue. - * @member {"maxValue"|undefined} _maxValue - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - Object.defineProperty(CloudExportAdditionalProperties.prototype, "_maxValue", { - get: $util.oneOfGetter($oneOfFields = ["maxValue"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * CloudExportAdditionalProperties _unitCode. - * @member {"unitCode"|undefined} _unitCode - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - */ - Object.defineProperty(CloudExportAdditionalProperties.prototype, "_unitCode", { - get: $util.oneOfGetter($oneOfFields = ["unitCode"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new CloudExportAdditionalProperties instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties instance - */ - CloudExportAdditionalProperties.create = function create(properties) { - return new CloudExportAdditionalProperties(properties); - }; - - /** - * Encodes the specified CloudExportAdditionalProperties message. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties} message CloudExportAdditionalProperties message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CloudExportAdditionalProperties.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.propertyName != null && Object.hasOwnProperty.call(message, "propertyName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.propertyName); - if (message.textValue != null && message.textValue.length) - for (var i = 0; i < message.textValue.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.textValue[i]); - if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.boolValue); - if (message.intValue != null && message.intValue.length) { - writer.uint32(/* id 4, wireType 2 =*/34).fork(); - for (var i = 0; i < message.intValue.length; ++i) - writer.int64(message.intValue[i]); - writer.ldelim(); - } - if (message.floatValue != null && message.floatValue.length) { - writer.uint32(/* id 5, wireType 2 =*/42).fork(); - for (var i = 0; i < message.floatValue.length; ++i) - writer.float(message.floatValue[i]); - writer.ldelim(); - } - if (message.minValue != null && Object.hasOwnProperty.call(message, "minValue")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.minValue); - if (message.maxValue != null && Object.hasOwnProperty.call(message, "maxValue")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.maxValue); - if (message.unitCode != null && Object.hasOwnProperty.call(message, "unitCode")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.unitCode); - return writer; - }; - - /** - * Encodes the specified CloudExportAdditionalProperties message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {google.shopping.merchant.products.v1beta.ICloudExportAdditionalProperties} message CloudExportAdditionalProperties message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CloudExportAdditionalProperties.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CloudExportAdditionalProperties.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.propertyName = reader.string(); - break; - } - case 2: { - if (!(message.textValue && message.textValue.length)) - message.textValue = []; - message.textValue.push(reader.string()); - break; - } - case 3: { - message.boolValue = reader.bool(); - break; - } - case 4: { - if (!(message.intValue && message.intValue.length)) - message.intValue = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.intValue.push(reader.int64()); - } else - message.intValue.push(reader.int64()); - break; - } - case 5: { - if (!(message.floatValue && message.floatValue.length)) - message.floatValue = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.floatValue.push(reader.float()); - } else - message.floatValue.push(reader.float()); - break; - } - case 6: { - message.minValue = reader.float(); - break; - } - case 7: { - message.maxValue = reader.float(); - break; - } - case 8: { - message.unitCode = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CloudExportAdditionalProperties message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CloudExportAdditionalProperties.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CloudExportAdditionalProperties message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CloudExportAdditionalProperties.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.propertyName != null && message.hasOwnProperty("propertyName")) { - properties._propertyName = 1; - if (!$util.isString(message.propertyName)) - return "propertyName: string expected"; - } - if (message.textValue != null && message.hasOwnProperty("textValue")) { - if (!Array.isArray(message.textValue)) - return "textValue: array expected"; - for (var i = 0; i < message.textValue.length; ++i) - if (!$util.isString(message.textValue[i])) - return "textValue: string[] expected"; - } - if (message.boolValue != null && message.hasOwnProperty("boolValue")) { - properties._boolValue = 1; - if (typeof message.boolValue !== "boolean") - return "boolValue: boolean expected"; - } - if (message.intValue != null && message.hasOwnProperty("intValue")) { - if (!Array.isArray(message.intValue)) - return "intValue: array expected"; - for (var i = 0; i < message.intValue.length; ++i) - if (!$util.isInteger(message.intValue[i]) && !(message.intValue[i] && $util.isInteger(message.intValue[i].low) && $util.isInteger(message.intValue[i].high))) - return "intValue: integer|Long[] expected"; - } - if (message.floatValue != null && message.hasOwnProperty("floatValue")) { - if (!Array.isArray(message.floatValue)) - return "floatValue: array expected"; - for (var i = 0; i < message.floatValue.length; ++i) - if (typeof message.floatValue[i] !== "number") - return "floatValue: number[] expected"; - } - if (message.minValue != null && message.hasOwnProperty("minValue")) { - properties._minValue = 1; - if (typeof message.minValue !== "number") - return "minValue: number expected"; - } - if (message.maxValue != null && message.hasOwnProperty("maxValue")) { - properties._maxValue = 1; - if (typeof message.maxValue !== "number") - return "maxValue: number expected"; - } - if (message.unitCode != null && message.hasOwnProperty("unitCode")) { - properties._unitCode = 1; - if (!$util.isString(message.unitCode)) - return "unitCode: string expected"; - } - return null; - }; - - /** - * Creates a CloudExportAdditionalProperties message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} CloudExportAdditionalProperties - */ - CloudExportAdditionalProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties(); - if (object.propertyName != null) - message.propertyName = String(object.propertyName); - if (object.textValue) { - if (!Array.isArray(object.textValue)) - throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.textValue: array expected"); - message.textValue = []; - for (var i = 0; i < object.textValue.length; ++i) - message.textValue[i] = String(object.textValue[i]); - } - if (object.boolValue != null) - message.boolValue = Boolean(object.boolValue); - if (object.intValue) { - if (!Array.isArray(object.intValue)) - throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.intValue: array expected"); - message.intValue = []; - for (var i = 0; i < object.intValue.length; ++i) - if ($util.Long) - (message.intValue[i] = $util.Long.fromValue(object.intValue[i])).unsigned = false; - else if (typeof object.intValue[i] === "string") - message.intValue[i] = parseInt(object.intValue[i], 10); - else if (typeof object.intValue[i] === "number") - message.intValue[i] = object.intValue[i]; - else if (typeof object.intValue[i] === "object") - message.intValue[i] = new $util.LongBits(object.intValue[i].low >>> 0, object.intValue[i].high >>> 0).toNumber(); - } - if (object.floatValue) { - if (!Array.isArray(object.floatValue)) - throw TypeError(".google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties.floatValue: array expected"); - message.floatValue = []; - for (var i = 0; i < object.floatValue.length; ++i) - message.floatValue[i] = Number(object.floatValue[i]); - } - if (object.minValue != null) - message.minValue = Number(object.minValue); - if (object.maxValue != null) - message.maxValue = Number(object.maxValue); - if (object.unitCode != null) - message.unitCode = String(object.unitCode); - return message; - }; - - /** - * Creates a plain object from a CloudExportAdditionalProperties message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties} message CloudExportAdditionalProperties - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CloudExportAdditionalProperties.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.textValue = []; - object.intValue = []; - object.floatValue = []; - } - if (message.propertyName != null && message.hasOwnProperty("propertyName")) { - object.propertyName = message.propertyName; - if (options.oneofs) - object._propertyName = "propertyName"; - } - if (message.textValue && message.textValue.length) { - object.textValue = []; - for (var j = 0; j < message.textValue.length; ++j) - object.textValue[j] = message.textValue[j]; - } - if (message.boolValue != null && message.hasOwnProperty("boolValue")) { - object.boolValue = message.boolValue; - if (options.oneofs) - object._boolValue = "boolValue"; - } - if (message.intValue && message.intValue.length) { - object.intValue = []; - for (var j = 0; j < message.intValue.length; ++j) - if (typeof message.intValue[j] === "number") - object.intValue[j] = options.longs === String ? String(message.intValue[j]) : message.intValue[j]; - else - object.intValue[j] = options.longs === String ? $util.Long.prototype.toString.call(message.intValue[j]) : options.longs === Number ? new $util.LongBits(message.intValue[j].low >>> 0, message.intValue[j].high >>> 0).toNumber() : message.intValue[j]; - } - if (message.floatValue && message.floatValue.length) { - object.floatValue = []; - for (var j = 0; j < message.floatValue.length; ++j) - object.floatValue[j] = options.json && !isFinite(message.floatValue[j]) ? String(message.floatValue[j]) : message.floatValue[j]; - } - if (message.minValue != null && message.hasOwnProperty("minValue")) { - object.minValue = options.json && !isFinite(message.minValue) ? String(message.minValue) : message.minValue; - if (options.oneofs) - object._minValue = "minValue"; - } - if (message.maxValue != null && message.hasOwnProperty("maxValue")) { - object.maxValue = options.json && !isFinite(message.maxValue) ? String(message.maxValue) : message.maxValue; - if (options.oneofs) - object._maxValue = "maxValue"; - } - if (message.unitCode != null && message.hasOwnProperty("unitCode")) { - object.unitCode = message.unitCode; - if (options.oneofs) - object._unitCode = "unitCode"; - } - return object; - }; - - /** - * Converts this CloudExportAdditionalProperties to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @instance - * @returns {Object.} JSON object - */ - CloudExportAdditionalProperties.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CloudExportAdditionalProperties - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CloudExportAdditionalProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties"; - }; - - return CloudExportAdditionalProperties; - })(); - - v1beta.ProductsService = (function() { - - /** - * Constructs a new ProductsService service. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ProductsService - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function ProductsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ProductsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductsService; - - /** - * Creates new ProductsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {ProductsService} RPC service. Useful where requests and/or responses are streamed. - */ - ProductsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|getProduct}. - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @typedef GetProductCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.merchant.products.v1beta.Product} [response] Product - */ - - /** - * Calls GetProduct. - * @function getProduct - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} request GetProductRequest message or plain object - * @param {google.shopping.merchant.products.v1beta.ProductsService.GetProductCallback} callback Node-style callback called with the error, if any, and Product - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductsService.prototype.getProduct = function getProduct(request, callback) { - return this.rpcCall(getProduct, $root.google.shopping.merchant.products.v1beta.GetProductRequest, $root.google.shopping.merchant.products.v1beta.Product, request, callback); - }, "name", { value: "GetProduct" }); - - /** - * Calls GetProduct. - * @function getProduct - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} request GetProductRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.merchant.products.v1beta.ProductsService|listProducts}. - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @typedef ListProductsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.merchant.products.v1beta.ListProductsResponse} [response] ListProductsResponse - */ - - /** - * Calls ListProducts. - * @function listProducts - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} request ListProductsRequest message or plain object - * @param {google.shopping.merchant.products.v1beta.ProductsService.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductsService.prototype.listProducts = function listProducts(request, callback) { - return this.rpcCall(listProducts, $root.google.shopping.merchant.products.v1beta.ListProductsRequest, $root.google.shopping.merchant.products.v1beta.ListProductsResponse, request, callback); - }, "name", { value: "ListProducts" }); - - /** - * Calls ListProducts. - * @function listProducts - * @memberof google.shopping.merchant.products.v1beta.ProductsService - * @instance - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} request ListProductsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ProductsService; - })(); - - v1beta.Product = (function() { - - /** - * Properties of a Product. - * @memberof google.shopping.merchant.products.v1beta - * @interface IProduct - * @property {string|null} [name] Product name - * @property {google.shopping.type.Channel.ChannelEnum|null} [channel] Product channel - * @property {string|null} [offerId] Product offerId - * @property {string|null} [contentLanguage] Product contentLanguage - * @property {string|null} [feedLabel] Product feedLabel - * @property {string|null} [dataSource] Product dataSource - * @property {number|Long|null} [versionNumber] Product versionNumber - * @property {google.shopping.merchant.products.v1beta.IAttributes|null} [attributes] Product attributes - * @property {Array.|null} [customAttributes] Product customAttributes - * @property {google.shopping.merchant.products.v1beta.IProductStatus|null} [productStatus] Product productStatus - */ - - /** - * Constructs a new Product. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a Product. - * @implements IProduct - * @constructor - * @param {google.shopping.merchant.products.v1beta.IProduct=} [properties] Properties to set - */ - function Product(properties) { - this.customAttributes = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Product name. - * @member {string} name - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.name = ""; - - /** - * Product channel. - * @member {google.shopping.type.Channel.ChannelEnum} channel - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.channel = 0; - - /** - * Product offerId. - * @member {string} offerId - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.offerId = ""; - - /** - * Product contentLanguage. - * @member {string} contentLanguage - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.contentLanguage = ""; - - /** - * Product feedLabel. - * @member {string} feedLabel - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.feedLabel = ""; - - /** - * Product dataSource. - * @member {string} dataSource - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.dataSource = ""; - - /** - * Product versionNumber. - * @member {number|Long|null|undefined} versionNumber - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.versionNumber = null; - - /** - * Product attributes. - * @member {google.shopping.merchant.products.v1beta.IAttributes|null|undefined} attributes - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.attributes = null; - - /** - * Product customAttributes. - * @member {Array.} customAttributes - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.customAttributes = $util.emptyArray; - - /** - * Product productStatus. - * @member {google.shopping.merchant.products.v1beta.IProductStatus|null|undefined} productStatus - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Product.prototype.productStatus = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Product _versionNumber. - * @member {"versionNumber"|undefined} _versionNumber - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - */ - Object.defineProperty(Product.prototype, "_versionNumber", { - get: $util.oneOfGetter($oneOfFields = ["versionNumber"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Product instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {google.shopping.merchant.products.v1beta.IProduct=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.Product} Product instance - */ - Product.create = function create(properties) { - return new Product(properties); - }; - - /** - * Encodes the specified Product message. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {google.shopping.merchant.products.v1beta.IProduct} message Product message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Product.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.channel); - if (message.offerId != null && Object.hasOwnProperty.call(message, "offerId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.offerId); - if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.contentLanguage); - if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.feedLabel); - if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.dataSource); - if (message.versionNumber != null && Object.hasOwnProperty.call(message, "versionNumber")) - writer.uint32(/* id 7, wireType 0 =*/56).int64(message.versionNumber); - if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) - $root.google.shopping.merchant.products.v1beta.Attributes.encode(message.attributes, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.customAttributes != null && message.customAttributes.length) - for (var i = 0; i < message.customAttributes.length; ++i) - $root.google.shopping.type.CustomAttribute.encode(message.customAttributes[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.productStatus != null && Object.hasOwnProperty.call(message, "productStatus")) - $root.google.shopping.merchant.products.v1beta.ProductStatus.encode(message.productStatus, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Product message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.Product.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {google.shopping.merchant.products.v1beta.IProduct} message Product message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Product.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Product message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.Product} Product - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Product.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.Product(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.channel = reader.int32(); - break; - } - case 3: { - message.offerId = reader.string(); - break; - } - case 4: { - message.contentLanguage = reader.string(); - break; - } - case 5: { - message.feedLabel = reader.string(); - break; - } - case 6: { - message.dataSource = reader.string(); - break; - } - case 7: { - message.versionNumber = reader.int64(); - break; - } - case 8: { - message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.decode(reader, reader.uint32()); - break; - } - case 9: { - if (!(message.customAttributes && message.customAttributes.length)) - message.customAttributes = []; - message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); - break; - } - case 10: { - message.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Product message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.Product} Product - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Product.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Product message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Product.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.channel != null && message.hasOwnProperty("channel")) - switch (message.channel) { - default: - return "channel: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.offerId != null && message.hasOwnProperty("offerId")) - if (!$util.isString(message.offerId)) - return "offerId: string expected"; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - if (!$util.isString(message.contentLanguage)) - return "contentLanguage: string expected"; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - if (!$util.isString(message.feedLabel)) - return "feedLabel: string expected"; - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - if (!$util.isString(message.dataSource)) - return "dataSource: string expected"; - if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { - properties._versionNumber = 1; - if (!$util.isInteger(message.versionNumber) && !(message.versionNumber && $util.isInteger(message.versionNumber.low) && $util.isInteger(message.versionNumber.high))) - return "versionNumber: integer|Long expected"; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) { - var error = $root.google.shopping.merchant.products.v1beta.Attributes.verify(message.attributes); - if (error) - return "attributes." + error; - } - if (message.customAttributes != null && message.hasOwnProperty("customAttributes")) { - if (!Array.isArray(message.customAttributes)) - return "customAttributes: array expected"; - for (var i = 0; i < message.customAttributes.length; ++i) { - var error = $root.google.shopping.type.CustomAttribute.verify(message.customAttributes[i]); - if (error) - return "customAttributes." + error; - } - } - if (message.productStatus != null && message.hasOwnProperty("productStatus")) { - var error = $root.google.shopping.merchant.products.v1beta.ProductStatus.verify(message.productStatus); - if (error) - return "productStatus." + error; - } - return null; - }; - - /** - * Creates a Product message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.Product} Product - */ - Product.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.Product) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.Product(); - if (object.name != null) - message.name = String(object.name); - switch (object.channel) { - default: - if (typeof object.channel === "number") { - message.channel = object.channel; - break; - } - break; - case "CHANNEL_ENUM_UNSPECIFIED": - case 0: - message.channel = 0; - break; - case "ONLINE": - case 1: - message.channel = 1; - break; - case "LOCAL": - case 2: - message.channel = 2; - break; - } - if (object.offerId != null) - message.offerId = String(object.offerId); - if (object.contentLanguage != null) - message.contentLanguage = String(object.contentLanguage); - if (object.feedLabel != null) - message.feedLabel = String(object.feedLabel); - if (object.dataSource != null) - message.dataSource = String(object.dataSource); - if (object.versionNumber != null) - if ($util.Long) - (message.versionNumber = $util.Long.fromValue(object.versionNumber)).unsigned = false; - else if (typeof object.versionNumber === "string") - message.versionNumber = parseInt(object.versionNumber, 10); - else if (typeof object.versionNumber === "number") - message.versionNumber = object.versionNumber; - else if (typeof object.versionNumber === "object") - message.versionNumber = new $util.LongBits(object.versionNumber.low >>> 0, object.versionNumber.high >>> 0).toNumber(); - if (object.attributes != null) { - if (typeof object.attributes !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Product.attributes: object expected"); - message.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.fromObject(object.attributes); - } - if (object.customAttributes) { - if (!Array.isArray(object.customAttributes)) - throw TypeError(".google.shopping.merchant.products.v1beta.Product.customAttributes: array expected"); - message.customAttributes = []; - for (var i = 0; i < object.customAttributes.length; ++i) { - if (typeof object.customAttributes[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Product.customAttributes: object expected"); - message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); - } - } - if (object.productStatus != null) { - if (typeof object.productStatus !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.Product.productStatus: object expected"); - message.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.fromObject(object.productStatus); - } - return message; - }; - - /** - * Creates a plain object from a Product message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {google.shopping.merchant.products.v1beta.Product} message Product - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Product.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.customAttributes = []; - if (options.defaults) { - object.name = ""; - object.channel = options.enums === String ? "CHANNEL_ENUM_UNSPECIFIED" : 0; - object.offerId = ""; - object.contentLanguage = ""; - object.feedLabel = ""; - object.dataSource = ""; - object.attributes = null; - object.productStatus = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = options.enums === String ? $root.google.shopping.type.Channel.ChannelEnum[message.channel] === undefined ? message.channel : $root.google.shopping.type.Channel.ChannelEnum[message.channel] : message.channel; - if (message.offerId != null && message.hasOwnProperty("offerId")) - object.offerId = message.offerId; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - object.contentLanguage = message.contentLanguage; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - object.feedLabel = message.feedLabel; - if (message.dataSource != null && message.hasOwnProperty("dataSource")) - object.dataSource = message.dataSource; - if (message.versionNumber != null && message.hasOwnProperty("versionNumber")) { - if (typeof message.versionNumber === "number") - object.versionNumber = options.longs === String ? String(message.versionNumber) : message.versionNumber; - else - object.versionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.versionNumber) : options.longs === Number ? new $util.LongBits(message.versionNumber.low >>> 0, message.versionNumber.high >>> 0).toNumber() : message.versionNumber; - if (options.oneofs) - object._versionNumber = "versionNumber"; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) - object.attributes = $root.google.shopping.merchant.products.v1beta.Attributes.toObject(message.attributes, options); - if (message.customAttributes && message.customAttributes.length) { - object.customAttributes = []; - for (var j = 0; j < message.customAttributes.length; ++j) - object.customAttributes[j] = $root.google.shopping.type.CustomAttribute.toObject(message.customAttributes[j], options); - } - if (message.productStatus != null && message.hasOwnProperty("productStatus")) - object.productStatus = $root.google.shopping.merchant.products.v1beta.ProductStatus.toObject(message.productStatus, options); - return object; - }; - - /** - * Converts this Product to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.Product - * @instance - * @returns {Object.} JSON object - */ - Product.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Product - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.Product - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.Product"; - }; - - return Product; - })(); - - v1beta.GetProductRequest = (function() { - - /** - * Properties of a GetProductRequest. - * @memberof google.shopping.merchant.products.v1beta - * @interface IGetProductRequest - * @property {string|null} [name] GetProductRequest name - */ - - /** - * Constructs a new GetProductRequest. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a GetProductRequest. - * @implements IGetProductRequest - * @constructor - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest=} [properties] Properties to set - */ - function GetProductRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetProductRequest name. - * @member {string} name - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @instance - */ - GetProductRequest.prototype.name = ""; - - /** - * Creates a new GetProductRequest instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest instance - */ - GetProductRequest.create = function create(properties) { - return new GetProductRequest(properties); - }; - - /** - * Encodes the specified GetProductRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} message GetProductRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetProductRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - return writer; - }; - - /** - * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.GetProductRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IGetProductRequest} message GetProductRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetProductRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetProductRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.GetProductRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetProductRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetProductRequest message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetProductRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - return null; - }; - - /** - * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.GetProductRequest} GetProductRequest - */ - GetProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.GetProductRequest) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.GetProductRequest(); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {google.shopping.merchant.products.v1beta.GetProductRequest} message GetProductRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetProductRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - return object; - }; - - /** - * Converts this GetProductRequest to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @instance - * @returns {Object.} JSON object - */ - GetProductRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for GetProductRequest - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.GetProductRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - GetProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.GetProductRequest"; - }; - - return GetProductRequest; - })(); - - v1beta.ListProductsRequest = (function() { - - /** - * Properties of a ListProductsRequest. - * @memberof google.shopping.merchant.products.v1beta - * @interface IListProductsRequest - * @property {string|null} [parent] ListProductsRequest parent - * @property {number|null} [pageSize] ListProductsRequest pageSize - * @property {string|null} [pageToken] ListProductsRequest pageToken - */ - - /** - * Constructs a new ListProductsRequest. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ListProductsRequest. - * @implements IListProductsRequest - * @constructor - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest=} [properties] Properties to set - */ - function ListProductsRequest(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListProductsRequest parent. - * @member {string} parent - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @instance - */ - ListProductsRequest.prototype.parent = ""; - - /** - * ListProductsRequest pageSize. - * @member {number} pageSize - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @instance - */ - ListProductsRequest.prototype.pageSize = 0; - - /** - * ListProductsRequest pageToken. - * @member {string} pageToken - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @instance - */ - ListProductsRequest.prototype.pageToken = ""; - - /** - * Creates a new ListProductsRequest instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest instance - */ - ListProductsRequest.create = function create(properties) { - return new ListProductsRequest(properties); - }; - - /** - * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} message ListProductsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListProductsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); - return writer; - }; - - /** - * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsRequest} message ListProductsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListProductsRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListProductsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ListProductsRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.parent = reader.string(); - break; - } - case 2: { - message.pageSize = reader.int32(); - break; - } - case 3: { - message.pageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListProductsRequest message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListProductsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.parent != null && message.hasOwnProperty("parent")) - if (!$util.isString(message.parent)) - return "parent: string expected"; - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - if (!$util.isInteger(message.pageSize)) - return "pageSize: integer expected"; - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - if (!$util.isString(message.pageToken)) - return "pageToken: string expected"; - return null; - }; - - /** - * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ListProductsRequest} ListProductsRequest - */ - ListProductsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ListProductsRequest) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ListProductsRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.pageSize != null) - message.pageSize = object.pageSize | 0; - if (object.pageToken != null) - message.pageToken = String(object.pageToken); - return message; - }; - - /** - * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {google.shopping.merchant.products.v1beta.ListProductsRequest} message ListProductsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListProductsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.parent = ""; - object.pageSize = 0; - object.pageToken = ""; - } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - object.pageSize = message.pageSize; - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - object.pageToken = message.pageToken; - return object; - }; - - /** - * Converts this ListProductsRequest to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @instance - * @returns {Object.} JSON object - */ - ListProductsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListProductsRequest - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ListProductsRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ListProductsRequest"; - }; - - return ListProductsRequest; - })(); - - v1beta.ListProductsResponse = (function() { - - /** - * Properties of a ListProductsResponse. - * @memberof google.shopping.merchant.products.v1beta - * @interface IListProductsResponse - * @property {Array.|null} [products] ListProductsResponse products - * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken - */ - - /** - * Constructs a new ListProductsResponse. - * @memberof google.shopping.merchant.products.v1beta - * @classdesc Represents a ListProductsResponse. - * @implements IListProductsResponse - * @constructor - * @param {google.shopping.merchant.products.v1beta.IListProductsResponse=} [properties] Properties to set - */ - function ListProductsResponse(properties) { - this.products = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListProductsResponse products. - * @member {Array.} products - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @instance - */ - ListProductsResponse.prototype.products = $util.emptyArray; - - /** - * ListProductsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @instance - */ - ListProductsResponse.prototype.nextPageToken = ""; - - /** - * Creates a new ListProductsResponse instance using the specified properties. - * @function create - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsResponse=} [properties] Properties to set - * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse instance - */ - ListProductsResponse.create = function create(properties) { - return new ListProductsResponse(properties); - }; - - /** - * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. - * @function encode - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsResponse} message ListProductsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListProductsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.products != null && message.products.length) - for (var i = 0; i < message.products.length; ++i) - $root.google.shopping.merchant.products.v1beta.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); - return writer; - }; - - /** - * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.products.v1beta.ListProductsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {google.shopping.merchant.products.v1beta.IListProductsResponse} message ListProductsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListProductsResponse message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListProductsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.products.v1beta.ListProductsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.shopping.merchant.products.v1beta.Product.decode(reader, reader.uint32())); - break; - } - case 2: { - message.nextPageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListProductsResponse message. - * @function verify - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListProductsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.products != null && message.hasOwnProperty("products")) { - if (!Array.isArray(message.products)) - return "products: array expected"; - for (var i = 0; i < message.products.length; ++i) { - var error = $root.google.shopping.merchant.products.v1beta.Product.verify(message.products[i]); - if (error) - return "products." + error; - } - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; - return null; - }; - - /** - * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.merchant.products.v1beta.ListProductsResponse} ListProductsResponse - */ - ListProductsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.merchant.products.v1beta.ListProductsResponse) - return object; - var message = new $root.google.shopping.merchant.products.v1beta.ListProductsResponse(); - if (object.products) { - if (!Array.isArray(object.products)) - throw TypeError(".google.shopping.merchant.products.v1beta.ListProductsResponse.products: array expected"); - message.products = []; - for (var i = 0; i < object.products.length; ++i) { - if (typeof object.products[i] !== "object") - throw TypeError(".google.shopping.merchant.products.v1beta.ListProductsResponse.products: object expected"); - message.products[i] = $root.google.shopping.merchant.products.v1beta.Product.fromObject(object.products[i]); - } - } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); - return message; - }; - - /** - * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {google.shopping.merchant.products.v1beta.ListProductsResponse} message ListProductsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListProductsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.products = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.products && message.products.length) { - object.products = []; - for (var j = 0; j < message.products.length; ++j) - object.products[j] = $root.google.shopping.merchant.products.v1beta.Product.toObject(message.products[j], options); - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; - return object; - }; - - /** - * Converts this ListProductsResponse to JSON. - * @function toJSON - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @instance - * @returns {Object.} JSON object - */ - ListProductsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListProductsResponse - * @function getTypeUrl - * @memberof google.shopping.merchant.products.v1beta.ListProductsResponse - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.merchant.products.v1beta.ListProductsResponse"; - }; - - return ListProductsResponse; - })(); - - return v1beta; - })(); - - return products; - })(); - - return merchant; - })(); - - shopping.type = (function() { - - /** - * Namespace type. - * @memberof google.shopping - * @namespace - */ - var type = {}; - - type.Weight = (function() { - - /** - * Properties of a Weight. - * @memberof google.shopping.type - * @interface IWeight - * @property {number|Long|null} [amountMicros] Weight amountMicros - * @property {google.shopping.type.Weight.WeightUnit|null} [unit] Weight unit - */ - - /** - * Constructs a new Weight. - * @memberof google.shopping.type - * @classdesc Represents a Weight. - * @implements IWeight - * @constructor - * @param {google.shopping.type.IWeight=} [properties] Properties to set - */ - function Weight(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Weight amountMicros. - * @member {number|Long|null|undefined} amountMicros - * @memberof google.shopping.type.Weight - * @instance - */ - Weight.prototype.amountMicros = null; - - /** - * Weight unit. - * @member {google.shopping.type.Weight.WeightUnit} unit - * @memberof google.shopping.type.Weight - * @instance - */ - Weight.prototype.unit = 0; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Weight _amountMicros. - * @member {"amountMicros"|undefined} _amountMicros - * @memberof google.shopping.type.Weight - * @instance - */ - Object.defineProperty(Weight.prototype, "_amountMicros", { - get: $util.oneOfGetter($oneOfFields = ["amountMicros"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Weight instance using the specified properties. - * @function create - * @memberof google.shopping.type.Weight - * @static - * @param {google.shopping.type.IWeight=} [properties] Properties to set - * @returns {google.shopping.type.Weight} Weight instance - */ - Weight.create = function create(properties) { - return new Weight(properties); - }; - - /** - * Encodes the specified Weight message. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.Weight - * @static - * @param {google.shopping.type.IWeight} message Weight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Weight.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros); - if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.unit); - return writer; - }; - - /** - * Encodes the specified Weight message, length delimited. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.Weight - * @static - * @param {google.shopping.type.IWeight} message Weight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Weight.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Weight message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.Weight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.Weight} Weight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Weight.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Weight(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.amountMicros = reader.int64(); - break; - } - case 2: { - message.unit = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Weight message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.Weight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.Weight} Weight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Weight.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Weight message. - * @function verify - * @memberof google.shopping.type.Weight - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Weight.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { - properties._amountMicros = 1; - if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high))) - return "amountMicros: integer|Long expected"; - } - if (message.unit != null && message.hasOwnProperty("unit")) - switch (message.unit) { - default: - return "unit: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; - - /** - * Creates a Weight message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.Weight - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.Weight} Weight - */ - Weight.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.Weight) - return object; - var message = new $root.google.shopping.type.Weight(); - if (object.amountMicros != null) - if ($util.Long) - (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false; - else if (typeof object.amountMicros === "string") - message.amountMicros = parseInt(object.amountMicros, 10); - else if (typeof object.amountMicros === "number") - message.amountMicros = object.amountMicros; - else if (typeof object.amountMicros === "object") - message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber(); - switch (object.unit) { - default: - if (typeof object.unit === "number") { - message.unit = object.unit; - break; - } - break; - case "WEIGHT_UNIT_UNSPECIFIED": - case 0: - message.unit = 0; - break; - case "POUND": - case 1: - message.unit = 1; - break; - case "KILOGRAM": - case 2: - message.unit = 2; - break; - } - return message; - }; - - /** - * Creates a plain object from a Weight message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.Weight - * @static - * @param {google.shopping.type.Weight} message Weight - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Weight.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.unit = options.enums === String ? "WEIGHT_UNIT_UNSPECIFIED" : 0; - if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { - if (typeof message.amountMicros === "number") - object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros; - else - object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros; - if (options.oneofs) - object._amountMicros = "amountMicros"; - } - if (message.unit != null && message.hasOwnProperty("unit")) - object.unit = options.enums === String ? $root.google.shopping.type.Weight.WeightUnit[message.unit] === undefined ? message.unit : $root.google.shopping.type.Weight.WeightUnit[message.unit] : message.unit; - return object; - }; - - /** - * Converts this Weight to JSON. - * @function toJSON - * @memberof google.shopping.type.Weight - * @instance - * @returns {Object.} JSON object - */ - Weight.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Weight - * @function getTypeUrl - * @memberof google.shopping.type.Weight - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Weight.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.Weight"; - }; - - /** - * WeightUnit enum. - * @name google.shopping.type.Weight.WeightUnit - * @enum {number} - * @property {number} WEIGHT_UNIT_UNSPECIFIED=0 WEIGHT_UNIT_UNSPECIFIED value - * @property {number} POUND=1 POUND value - * @property {number} KILOGRAM=2 KILOGRAM value - */ - Weight.WeightUnit = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "WEIGHT_UNIT_UNSPECIFIED"] = 0; - values[valuesById[1] = "POUND"] = 1; - values[valuesById[2] = "KILOGRAM"] = 2; - return values; - })(); - - return Weight; - })(); - - type.Price = (function() { - - /** - * Properties of a Price. - * @memberof google.shopping.type - * @interface IPrice - * @property {number|Long|null} [amountMicros] Price amountMicros - * @property {string|null} [currencyCode] Price currencyCode - */ - - /** - * Constructs a new Price. - * @memberof google.shopping.type - * @classdesc Represents a Price. - * @implements IPrice - * @constructor - * @param {google.shopping.type.IPrice=} [properties] Properties to set - */ - function Price(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Price amountMicros. - * @member {number|Long|null|undefined} amountMicros - * @memberof google.shopping.type.Price - * @instance - */ - Price.prototype.amountMicros = null; - - /** - * Price currencyCode. - * @member {string|null|undefined} currencyCode - * @memberof google.shopping.type.Price - * @instance - */ - Price.prototype.currencyCode = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Price _amountMicros. - * @member {"amountMicros"|undefined} _amountMicros - * @memberof google.shopping.type.Price - * @instance - */ - Object.defineProperty(Price.prototype, "_amountMicros", { - get: $util.oneOfGetter($oneOfFields = ["amountMicros"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Price _currencyCode. - * @member {"currencyCode"|undefined} _currencyCode - * @memberof google.shopping.type.Price - * @instance - */ - Object.defineProperty(Price.prototype, "_currencyCode", { - get: $util.oneOfGetter($oneOfFields = ["currencyCode"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Price instance using the specified properties. - * @function create - * @memberof google.shopping.type.Price - * @static - * @param {google.shopping.type.IPrice=} [properties] Properties to set - * @returns {google.shopping.type.Price} Price instance - */ - Price.create = function create(properties) { - return new Price(properties); - }; - - /** - * Encodes the specified Price message. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.Price - * @static - * @param {google.shopping.type.IPrice} message Price message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Price.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros); - if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.currencyCode); - return writer; - }; - - /** - * Encodes the specified Price message, length delimited. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.Price - * @static - * @param {google.shopping.type.IPrice} message Price message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Price.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Price message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.Price - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.Price} Price - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Price.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Price(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.amountMicros = reader.int64(); - break; - } - case 2: { - message.currencyCode = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Price message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.Price - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.Price} Price - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Price.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Price message. - * @function verify - * @memberof google.shopping.type.Price - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Price.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { - properties._amountMicros = 1; - if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high))) - return "amountMicros: integer|Long expected"; - } - if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) { - properties._currencyCode = 1; - if (!$util.isString(message.currencyCode)) - return "currencyCode: string expected"; - } - return null; - }; - - /** - * Creates a Price message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.Price - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.Price} Price - */ - Price.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.Price) - return object; - var message = new $root.google.shopping.type.Price(); - if (object.amountMicros != null) - if ($util.Long) - (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false; - else if (typeof object.amountMicros === "string") - message.amountMicros = parseInt(object.amountMicros, 10); - else if (typeof object.amountMicros === "number") - message.amountMicros = object.amountMicros; - else if (typeof object.amountMicros === "object") - message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber(); - if (object.currencyCode != null) - message.currencyCode = String(object.currencyCode); - return message; - }; - - /** - * Creates a plain object from a Price message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.Price - * @static - * @param {google.shopping.type.Price} message Price - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Price.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) { - if (typeof message.amountMicros === "number") - object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros; - else - object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros; - if (options.oneofs) - object._amountMicros = "amountMicros"; - } - if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) { - object.currencyCode = message.currencyCode; - if (options.oneofs) - object._currencyCode = "currencyCode"; - } - return object; - }; - - /** - * Converts this Price to JSON. - * @function toJSON - * @memberof google.shopping.type.Price - * @instance - * @returns {Object.} JSON object - */ - Price.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Price - * @function getTypeUrl - * @memberof google.shopping.type.Price - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Price.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.Price"; - }; - - return Price; - })(); - - type.CustomAttribute = (function() { - - /** - * Properties of a CustomAttribute. - * @memberof google.shopping.type - * @interface ICustomAttribute - * @property {string|null} [name] CustomAttribute name - * @property {string|null} [value] CustomAttribute value - * @property {Array.|null} [groupValues] CustomAttribute groupValues - */ - - /** - * Constructs a new CustomAttribute. - * @memberof google.shopping.type - * @classdesc Represents a CustomAttribute. - * @implements ICustomAttribute - * @constructor - * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set - */ - function CustomAttribute(properties) { - this.groupValues = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CustomAttribute name. - * @member {string|null|undefined} name - * @memberof google.shopping.type.CustomAttribute - * @instance - */ - CustomAttribute.prototype.name = null; - - /** - * CustomAttribute value. - * @member {string|null|undefined} value - * @memberof google.shopping.type.CustomAttribute - * @instance - */ - CustomAttribute.prototype.value = null; - - /** - * CustomAttribute groupValues. - * @member {Array.} groupValues - * @memberof google.shopping.type.CustomAttribute - * @instance - */ - CustomAttribute.prototype.groupValues = $util.emptyArray; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * CustomAttribute _name. - * @member {"name"|undefined} _name - * @memberof google.shopping.type.CustomAttribute - * @instance - */ - Object.defineProperty(CustomAttribute.prototype, "_name", { - get: $util.oneOfGetter($oneOfFields = ["name"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * CustomAttribute _value. - * @member {"value"|undefined} _value - * @memberof google.shopping.type.CustomAttribute - * @instance - */ - Object.defineProperty(CustomAttribute.prototype, "_value", { - get: $util.oneOfGetter($oneOfFields = ["value"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new CustomAttribute instance using the specified properties. - * @function create - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set - * @returns {google.shopping.type.CustomAttribute} CustomAttribute instance - */ - CustomAttribute.create = function create(properties) { - return new CustomAttribute(properties); - }; - - /** - * Encodes the specified CustomAttribute message. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CustomAttribute.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.groupValues != null && message.groupValues.length) - for (var i = 0; i < message.groupValues.length; ++i) - $root.google.shopping.type.CustomAttribute.encode(message.groupValues[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CustomAttribute.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CustomAttribute message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.CustomAttribute} CustomAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CustomAttribute.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.CustomAttribute(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.value = reader.string(); - break; - } - case 3: { - if (!(message.groupValues && message.groupValues.length)) - message.groupValues = []; - message.groupValues.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CustomAttribute message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.CustomAttribute} CustomAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CustomAttribute.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CustomAttribute message. - * @function verify - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CustomAttribute.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.name != null && message.hasOwnProperty("name")) { - properties._name = 1; - if (!$util.isString(message.name)) - return "name: string expected"; - } - if (message.value != null && message.hasOwnProperty("value")) { - properties._value = 1; - if (!$util.isString(message.value)) - return "value: string expected"; - } - if (message.groupValues != null && message.hasOwnProperty("groupValues")) { - if (!Array.isArray(message.groupValues)) - return "groupValues: array expected"; - for (var i = 0; i < message.groupValues.length; ++i) { - var error = $root.google.shopping.type.CustomAttribute.verify(message.groupValues[i]); - if (error) - return "groupValues." + error; - } - } - return null; - }; - - /** - * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.CustomAttribute} CustomAttribute - */ - CustomAttribute.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.CustomAttribute) - return object; - var message = new $root.google.shopping.type.CustomAttribute(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.groupValues) { - if (!Array.isArray(object.groupValues)) - throw TypeError(".google.shopping.type.CustomAttribute.groupValues: array expected"); - message.groupValues = []; - for (var i = 0; i < object.groupValues.length; ++i) { - if (typeof object.groupValues[i] !== "object") - throw TypeError(".google.shopping.type.CustomAttribute.groupValues: object expected"); - message.groupValues[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.groupValues[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {google.shopping.type.CustomAttribute} message CustomAttribute - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CustomAttribute.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.groupValues = []; - if (message.name != null && message.hasOwnProperty("name")) { - object.name = message.name; - if (options.oneofs) - object._name = "name"; - } - if (message.value != null && message.hasOwnProperty("value")) { - object.value = message.value; - if (options.oneofs) - object._value = "value"; - } - if (message.groupValues && message.groupValues.length) { - object.groupValues = []; - for (var j = 0; j < message.groupValues.length; ++j) - object.groupValues[j] = $root.google.shopping.type.CustomAttribute.toObject(message.groupValues[j], options); - } - return object; - }; - - /** - * Converts this CustomAttribute to JSON. - * @function toJSON - * @memberof google.shopping.type.CustomAttribute - * @instance - * @returns {Object.} JSON object - */ - CustomAttribute.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CustomAttribute - * @function getTypeUrl - * @memberof google.shopping.type.CustomAttribute - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CustomAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.CustomAttribute"; - }; - - return CustomAttribute; - })(); - - type.Destination = (function() { - - /** - * Properties of a Destination. - * @memberof google.shopping.type - * @interface IDestination - */ - - /** - * Constructs a new Destination. - * @memberof google.shopping.type - * @classdesc Represents a Destination. - * @implements IDestination - * @constructor - * @param {google.shopping.type.IDestination=} [properties] Properties to set - */ - function Destination(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new Destination instance using the specified properties. - * @function create - * @memberof google.shopping.type.Destination - * @static - * @param {google.shopping.type.IDestination=} [properties] Properties to set - * @returns {google.shopping.type.Destination} Destination instance - */ - Destination.create = function create(properties) { - return new Destination(properties); - }; - - /** - * Encodes the specified Destination message. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.Destination - * @static - * @param {google.shopping.type.IDestination} message Destination message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Destination.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.Destination - * @static - * @param {google.shopping.type.IDestination} message Destination message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Destination.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Destination message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.Destination - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.Destination} Destination - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Destination.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Destination(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Destination message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.Destination - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.Destination} Destination - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Destination.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Destination message. - * @function verify - * @memberof google.shopping.type.Destination - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Destination.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a Destination message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.Destination - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.Destination} Destination - */ - Destination.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.Destination) - return object; - return new $root.google.shopping.type.Destination(); - }; - - /** - * Creates a plain object from a Destination message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.Destination - * @static - * @param {google.shopping.type.Destination} message Destination - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Destination.toObject = function toObject() { - return {}; - }; - - /** - * Converts this Destination to JSON. - * @function toJSON - * @memberof google.shopping.type.Destination - * @instance - * @returns {Object.} JSON object - */ - Destination.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Destination - * @function getTypeUrl - * @memberof google.shopping.type.Destination - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Destination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.Destination"; - }; - - /** - * DestinationEnum enum. - * @name google.shopping.type.Destination.DestinationEnum - * @enum {number} - * @property {number} DESTINATION_ENUM_UNSPECIFIED=0 DESTINATION_ENUM_UNSPECIFIED value - * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value - * @property {number} DISPLAY_ADS=2 DISPLAY_ADS value - * @property {number} LOCAL_INVENTORY_ADS=3 LOCAL_INVENTORY_ADS value - * @property {number} FREE_LISTINGS=4 FREE_LISTINGS value - * @property {number} FREE_LOCAL_LISTINGS=5 FREE_LOCAL_LISTINGS value - * @property {number} YOUTUBE_SHOPPING=6 YOUTUBE_SHOPPING value - */ - Destination.DestinationEnum = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "DESTINATION_ENUM_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOPPING_ADS"] = 1; - values[valuesById[2] = "DISPLAY_ADS"] = 2; - values[valuesById[3] = "LOCAL_INVENTORY_ADS"] = 3; - values[valuesById[4] = "FREE_LISTINGS"] = 4; - values[valuesById[5] = "FREE_LOCAL_LISTINGS"] = 5; - values[valuesById[6] = "YOUTUBE_SHOPPING"] = 6; - return values; - })(); - - return Destination; - })(); - - type.ReportingContext = (function() { - - /** - * Properties of a ReportingContext. - * @memberof google.shopping.type - * @interface IReportingContext - */ - - /** - * Constructs a new ReportingContext. - * @memberof google.shopping.type - * @classdesc Represents a ReportingContext. - * @implements IReportingContext - * @constructor - * @param {google.shopping.type.IReportingContext=} [properties] Properties to set - */ - function ReportingContext(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new ReportingContext instance using the specified properties. - * @function create - * @memberof google.shopping.type.ReportingContext - * @static - * @param {google.shopping.type.IReportingContext=} [properties] Properties to set - * @returns {google.shopping.type.ReportingContext} ReportingContext instance - */ - ReportingContext.create = function create(properties) { - return new ReportingContext(properties); - }; - - /** - * Encodes the specified ReportingContext message. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.ReportingContext - * @static - * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReportingContext.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified ReportingContext message, length delimited. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.ReportingContext - * @static - * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReportingContext.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ReportingContext message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.ReportingContext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.ReportingContext} ReportingContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReportingContext.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.ReportingContext(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ReportingContext message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.ReportingContext - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.ReportingContext} ReportingContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReportingContext.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ReportingContext message. - * @function verify - * @memberof google.shopping.type.ReportingContext - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ReportingContext.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a ReportingContext message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.ReportingContext - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.ReportingContext} ReportingContext - */ - ReportingContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.ReportingContext) - return object; - return new $root.google.shopping.type.ReportingContext(); - }; - - /** - * Creates a plain object from a ReportingContext message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.ReportingContext - * @static - * @param {google.shopping.type.ReportingContext} message ReportingContext - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ReportingContext.toObject = function toObject() { - return {}; - }; - - /** - * Converts this ReportingContext to JSON. - * @function toJSON - * @memberof google.shopping.type.ReportingContext - * @instance - * @returns {Object.} JSON object - */ - ReportingContext.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ReportingContext - * @function getTypeUrl - * @memberof google.shopping.type.ReportingContext - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ReportingContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.ReportingContext"; - }; - - /** - * ReportingContextEnum enum. - * @name google.shopping.type.ReportingContext.ReportingContextEnum - * @enum {number} - * @property {number} REPORTING_CONTEXT_ENUM_UNSPECIFIED=0 REPORTING_CONTEXT_ENUM_UNSPECIFIED value - * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value - * @property {number} DISCOVERY_ADS=2 DISCOVERY_ADS value - * @property {number} DEMAND_GEN_ADS=13 DEMAND_GEN_ADS value - * @property {number} DEMAND_GEN_ADS_DISCOVER_SURFACE=14 DEMAND_GEN_ADS_DISCOVER_SURFACE value - * @property {number} VIDEO_ADS=3 VIDEO_ADS value - * @property {number} DISPLAY_ADS=4 DISPLAY_ADS value - * @property {number} LOCAL_INVENTORY_ADS=5 LOCAL_INVENTORY_ADS value - * @property {number} VEHICLE_INVENTORY_ADS=6 VEHICLE_INVENTORY_ADS value - * @property {number} FREE_LISTINGS=7 FREE_LISTINGS value - * @property {number} FREE_LOCAL_LISTINGS=8 FREE_LOCAL_LISTINGS value - * @property {number} FREE_LOCAL_VEHICLE_LISTINGS=9 FREE_LOCAL_VEHICLE_LISTINGS value - * @property {number} YOUTUBE_SHOPPING=10 YOUTUBE_SHOPPING value - * @property {number} CLOUD_RETAIL=11 CLOUD_RETAIL value - * @property {number} LOCAL_CLOUD_RETAIL=12 LOCAL_CLOUD_RETAIL value - */ - ReportingContext.ReportingContextEnum = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "REPORTING_CONTEXT_ENUM_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOPPING_ADS"] = 1; - values[valuesById[2] = "DISCOVERY_ADS"] = 2; - values[valuesById[13] = "DEMAND_GEN_ADS"] = 13; - values[valuesById[14] = "DEMAND_GEN_ADS_DISCOVER_SURFACE"] = 14; - values[valuesById[3] = "VIDEO_ADS"] = 3; - values[valuesById[4] = "DISPLAY_ADS"] = 4; - values[valuesById[5] = "LOCAL_INVENTORY_ADS"] = 5; - values[valuesById[6] = "VEHICLE_INVENTORY_ADS"] = 6; - values[valuesById[7] = "FREE_LISTINGS"] = 7; - values[valuesById[8] = "FREE_LOCAL_LISTINGS"] = 8; - values[valuesById[9] = "FREE_LOCAL_VEHICLE_LISTINGS"] = 9; - values[valuesById[10] = "YOUTUBE_SHOPPING"] = 10; - values[valuesById[11] = "CLOUD_RETAIL"] = 11; - values[valuesById[12] = "LOCAL_CLOUD_RETAIL"] = 12; - return values; - })(); - - return ReportingContext; - })(); - - type.Channel = (function() { - - /** - * Properties of a Channel. - * @memberof google.shopping.type - * @interface IChannel - */ - - /** - * Constructs a new Channel. - * @memberof google.shopping.type - * @classdesc Represents a Channel. - * @implements IChannel - * @constructor - * @param {google.shopping.type.IChannel=} [properties] Properties to set - */ - function Channel(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new Channel instance using the specified properties. - * @function create - * @memberof google.shopping.type.Channel - * @static - * @param {google.shopping.type.IChannel=} [properties] Properties to set - * @returns {google.shopping.type.Channel} Channel instance - */ - Channel.create = function create(properties) { - return new Channel(properties); - }; - - /** - * Encodes the specified Channel message. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. - * @function encode - * @memberof google.shopping.type.Channel - * @static - * @param {google.shopping.type.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.type.Channel - * @static - * @param {google.shopping.type.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Channel message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.type.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.type.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Channel(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Channel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.type.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.type.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Channel message. - * @function verify - * @memberof google.shopping.type.Channel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Channel.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a Channel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.type.Channel - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.type.Channel} Channel - */ - Channel.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.type.Channel) - return object; - return new $root.google.shopping.type.Channel(); - }; - - /** - * Creates a plain object from a Channel message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.type.Channel - * @static - * @param {google.shopping.type.Channel} message Channel - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Channel.toObject = function toObject() { - return {}; - }; - - /** - * Converts this Channel to JSON. - * @function toJSON - * @memberof google.shopping.type.Channel - * @instance - * @returns {Object.} JSON object - */ - Channel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Channel - * @function getTypeUrl - * @memberof google.shopping.type.Channel - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Channel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.type.Channel"; - }; - - /** - * ChannelEnum enum. - * @name google.shopping.type.Channel.ChannelEnum - * @enum {number} - * @property {number} CHANNEL_ENUM_UNSPECIFIED=0 CHANNEL_ENUM_UNSPECIFIED value - * @property {number} ONLINE=1 ONLINE value - * @property {number} LOCAL=2 LOCAL value - */ - Channel.ChannelEnum = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "CHANNEL_ENUM_UNSPECIFIED"] = 0; - values[valuesById[1] = "ONLINE"] = 1; - values[valuesById[2] = "LOCAL"] = 2; - return values; - })(); - - return Channel; - })(); - - return type; - })(); - - return shopping; - })(); - - google.api = (function() { - - /** - * Namespace api. - * @memberof google - * @namespace - */ - var api = {}; - - api.Http = (function() { - - /** - * Properties of a Http. - * @memberof google.api - * @interface IHttp - * @property {Array.|null} [rules] Http rules - * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion - */ - - /** - * Constructs a new Http. - * @memberof google.api - * @classdesc Represents a Http. - * @implements IHttp - * @constructor - * @param {google.api.IHttp=} [properties] Properties to set - */ - function Http(properties) { - this.rules = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Http rules. - * @member {Array.} rules - * @memberof google.api.Http - * @instance - */ - Http.prototype.rules = $util.emptyArray; - - /** - * Http fullyDecodeReservedExpansion. - * @member {boolean} fullyDecodeReservedExpansion - * @memberof google.api.Http - * @instance - */ - Http.prototype.fullyDecodeReservedExpansion = false; - - /** - * Creates a new Http instance using the specified properties. - * @function create - * @memberof google.api.Http - * @static - * @param {google.api.IHttp=} [properties] Properties to set - * @returns {google.api.Http} Http instance - */ - Http.create = function create(properties) { - return new Http(properties); - }; - - /** - * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. - * @function encode - * @memberof google.api.Http - * @static - * @param {google.api.IHttp} message Http message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Http.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rules != null && message.rules.length) - for (var i = 0; i < message.rules.length; ++i) - $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); - return writer; - }; - - /** - * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.Http - * @static - * @param {google.api.IHttp} message Http message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Http.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Http message from the specified reader or buffer. - * @function decode - * @memberof google.api.Http - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.Http} Http - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Http.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.rules && message.rules.length)) - message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); - break; - } - case 2: { - message.fullyDecodeReservedExpansion = reader.bool(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Http message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.Http - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.Http} Http - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Http.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Http message. - * @function verify - * @memberof google.api.Http - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Http.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rules != null && message.hasOwnProperty("rules")) { - if (!Array.isArray(message.rules)) - return "rules: array expected"; - for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); - if (error) - return "rules." + error; - } - } - if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) - if (typeof message.fullyDecodeReservedExpansion !== "boolean") - return "fullyDecodeReservedExpansion: boolean expected"; - return null; - }; - - /** - * Creates a Http message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.Http - * @static - * @param {Object.} object Plain object - * @returns {google.api.Http} Http - */ - Http.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.Http) - return object; - var message = new $root.google.api.Http(); - if (object.rules) { - if (!Array.isArray(object.rules)) - throw TypeError(".google.api.Http.rules: array expected"); - message.rules = []; - for (var i = 0; i < object.rules.length; ++i) { - if (typeof object.rules[i] !== "object") - throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); - } - } - if (object.fullyDecodeReservedExpansion != null) - message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion); - return message; - }; - - /** - * Creates a plain object from a Http message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.Http - * @static - * @param {google.api.Http} message Http - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Http.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.rules = []; - if (options.defaults) - object.fullyDecodeReservedExpansion = false; - if (message.rules && message.rules.length) { - object.rules = []; - for (var j = 0; j < message.rules.length; ++j) - object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options); - } - if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) - object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion; - return object; - }; - - /** - * Converts this Http to JSON. - * @function toJSON - * @memberof google.api.Http - * @instance - * @returns {Object.} JSON object - */ - Http.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Http - * @function getTypeUrl - * @memberof google.api.Http - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.Http"; - }; - - return Http; - })(); - - api.HttpRule = (function() { - - /** - * Properties of a HttpRule. - * @memberof google.api - * @interface IHttpRule - * @property {string|null} [selector] HttpRule selector - * @property {string|null} [get] HttpRule get - * @property {string|null} [put] HttpRule put - * @property {string|null} [post] HttpRule post - * @property {string|null} ["delete"] HttpRule delete - * @property {string|null} [patch] HttpRule patch - * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom - * @property {string|null} [body] HttpRule body - * @property {string|null} [responseBody] HttpRule responseBody - * @property {Array.|null} [additionalBindings] HttpRule additionalBindings - */ - - /** - * Constructs a new HttpRule. - * @memberof google.api - * @classdesc Represents a HttpRule. - * @implements IHttpRule - * @constructor - * @param {google.api.IHttpRule=} [properties] Properties to set - */ - function HttpRule(properties) { - this.additionalBindings = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * HttpRule selector. - * @member {string} selector - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.selector = ""; - - /** - * HttpRule get. - * @member {string|null|undefined} get - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.get = null; - - /** - * HttpRule put. - * @member {string|null|undefined} put - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.put = null; - - /** - * HttpRule post. - * @member {string|null|undefined} post - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.post = null; - - /** - * HttpRule delete. - * @member {string|null|undefined} delete - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype["delete"] = null; - - /** - * HttpRule patch. - * @member {string|null|undefined} patch - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.patch = null; - - /** - * HttpRule custom. - * @member {google.api.ICustomHttpPattern|null|undefined} custom - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.custom = null; - - /** - * HttpRule body. - * @member {string} body - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.body = ""; - - /** - * HttpRule responseBody. - * @member {string} responseBody - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.responseBody = ""; - - /** - * HttpRule additionalBindings. - * @member {Array.} additionalBindings - * @memberof google.api.HttpRule - * @instance - */ - HttpRule.prototype.additionalBindings = $util.emptyArray; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * HttpRule pattern. - * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern - * @memberof google.api.HttpRule - * @instance - */ - Object.defineProperty(HttpRule.prototype, "pattern", { - get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new HttpRule instance using the specified properties. - * @function create - * @memberof google.api.HttpRule - * @static - * @param {google.api.IHttpRule=} [properties] Properties to set - * @returns {google.api.HttpRule} HttpRule instance - */ - HttpRule.create = function create(properties) { - return new HttpRule(properties); - }; - - /** - * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. - * @function encode - * @memberof google.api.HttpRule - * @static - * @param {google.api.IHttpRule} message HttpRule message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HttpRule.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); - if (message.get != null && Object.hasOwnProperty.call(message, "get")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); - if (message.put != null && Object.hasOwnProperty.call(message, "put")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); - if (message.post != null && Object.hasOwnProperty.call(message, "post")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); - if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); - if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); - if (message.body != null && Object.hasOwnProperty.call(message, "body")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); - if (message.custom != null && Object.hasOwnProperty.call(message, "custom")) - $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.additionalBindings != null && message.additionalBindings.length) - for (var i = 0; i < message.additionalBindings.length; ++i) - $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); - return writer; - }; - - /** - * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.HttpRule - * @static - * @param {google.api.IHttpRule} message HttpRule message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HttpRule.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a HttpRule message from the specified reader or buffer. - * @function decode - * @memberof google.api.HttpRule - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.HttpRule} HttpRule - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HttpRule.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.selector = reader.string(); - break; - } - case 2: { - message.get = reader.string(); - break; - } - case 3: { - message.put = reader.string(); - break; - } - case 4: { - message.post = reader.string(); - break; - } - case 5: { - message["delete"] = reader.string(); - break; - } - case 6: { - message.patch = reader.string(); - break; - } - case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); - break; - } - case 7: { - message.body = reader.string(); - break; - } - case 12: { - message.responseBody = reader.string(); - break; - } - case 11: { - if (!(message.additionalBindings && message.additionalBindings.length)) - message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a HttpRule message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.HttpRule - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.HttpRule} HttpRule - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HttpRule.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a HttpRule message. - * @function verify - * @memberof google.api.HttpRule - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - HttpRule.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.selector != null && message.hasOwnProperty("selector")) - if (!$util.isString(message.selector)) - return "selector: string expected"; - if (message.get != null && message.hasOwnProperty("get")) { - properties.pattern = 1; - if (!$util.isString(message.get)) - return "get: string expected"; - } - if (message.put != null && message.hasOwnProperty("put")) { - if (properties.pattern === 1) - return "pattern: multiple values"; - properties.pattern = 1; - if (!$util.isString(message.put)) - return "put: string expected"; - } - if (message.post != null && message.hasOwnProperty("post")) { - if (properties.pattern === 1) - return "pattern: multiple values"; - properties.pattern = 1; - if (!$util.isString(message.post)) - return "post: string expected"; - } - if (message["delete"] != null && message.hasOwnProperty("delete")) { - if (properties.pattern === 1) - return "pattern: multiple values"; - properties.pattern = 1; - if (!$util.isString(message["delete"])) - return "delete: string expected"; - } - if (message.patch != null && message.hasOwnProperty("patch")) { - if (properties.pattern === 1) - return "pattern: multiple values"; - properties.pattern = 1; - if (!$util.isString(message.patch)) - return "patch: string expected"; - } - if (message.custom != null && message.hasOwnProperty("custom")) { - if (properties.pattern === 1) - return "pattern: multiple values"; - properties.pattern = 1; - { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); - if (error) - return "custom." + error; - } - } - if (message.body != null && message.hasOwnProperty("body")) - if (!$util.isString(message.body)) - return "body: string expected"; - if (message.responseBody != null && message.hasOwnProperty("responseBody")) - if (!$util.isString(message.responseBody)) - return "responseBody: string expected"; - if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) { - if (!Array.isArray(message.additionalBindings)) - return "additionalBindings: array expected"; - for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); - if (error) - return "additionalBindings." + error; - } - } - return null; - }; - - /** - * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.HttpRule - * @static - * @param {Object.} object Plain object - * @returns {google.api.HttpRule} HttpRule - */ - HttpRule.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.HttpRule) - return object; - var message = new $root.google.api.HttpRule(); - if (object.selector != null) - message.selector = String(object.selector); - if (object.get != null) - message.get = String(object.get); - if (object.put != null) - message.put = String(object.put); - if (object.post != null) - message.post = String(object.post); - if (object["delete"] != null) - message["delete"] = String(object["delete"]); - if (object.patch != null) - message.patch = String(object.patch); - if (object.custom != null) { - if (typeof object.custom !== "object") - throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); - } - if (object.body != null) - message.body = String(object.body); - if (object.responseBody != null) - message.responseBody = String(object.responseBody); - if (object.additionalBindings) { - if (!Array.isArray(object.additionalBindings)) - throw TypeError(".google.api.HttpRule.additionalBindings: array expected"); - message.additionalBindings = []; - for (var i = 0; i < object.additionalBindings.length; ++i) { - if (typeof object.additionalBindings[i] !== "object") - throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a HttpRule message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.HttpRule - * @static - * @param {google.api.HttpRule} message HttpRule - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - HttpRule.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.additionalBindings = []; - if (options.defaults) { - object.selector = ""; - object.body = ""; - object.responseBody = ""; - } - if (message.selector != null && message.hasOwnProperty("selector")) - object.selector = message.selector; - if (message.get != null && message.hasOwnProperty("get")) { - object.get = message.get; - if (options.oneofs) - object.pattern = "get"; - } - if (message.put != null && message.hasOwnProperty("put")) { - object.put = message.put; - if (options.oneofs) - object.pattern = "put"; - } - if (message.post != null && message.hasOwnProperty("post")) { - object.post = message.post; - if (options.oneofs) - object.pattern = "post"; - } - if (message["delete"] != null && message.hasOwnProperty("delete")) { - object["delete"] = message["delete"]; - if (options.oneofs) - object.pattern = "delete"; - } - if (message.patch != null && message.hasOwnProperty("patch")) { - object.patch = message.patch; - if (options.oneofs) - object.pattern = "patch"; - } - if (message.body != null && message.hasOwnProperty("body")) - object.body = message.body; - if (message.custom != null && message.hasOwnProperty("custom")) { - object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options); - if (options.oneofs) - object.pattern = "custom"; - } - if (message.additionalBindings && message.additionalBindings.length) { - object.additionalBindings = []; - for (var j = 0; j < message.additionalBindings.length; ++j) - object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options); - } - if (message.responseBody != null && message.hasOwnProperty("responseBody")) - object.responseBody = message.responseBody; - return object; - }; - - /** - * Converts this HttpRule to JSON. - * @function toJSON - * @memberof google.api.HttpRule - * @instance - * @returns {Object.} JSON object - */ - HttpRule.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for HttpRule - * @function getTypeUrl - * @memberof google.api.HttpRule - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.HttpRule"; - }; - - return HttpRule; - })(); - - api.CustomHttpPattern = (function() { - - /** - * Properties of a CustomHttpPattern. - * @memberof google.api - * @interface ICustomHttpPattern - * @property {string|null} [kind] CustomHttpPattern kind - * @property {string|null} [path] CustomHttpPattern path - */ - - /** - * Constructs a new CustomHttpPattern. - * @memberof google.api - * @classdesc Represents a CustomHttpPattern. - * @implements ICustomHttpPattern - * @constructor - * @param {google.api.ICustomHttpPattern=} [properties] Properties to set - */ - function CustomHttpPattern(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CustomHttpPattern kind. - * @member {string} kind - * @memberof google.api.CustomHttpPattern - * @instance - */ - CustomHttpPattern.prototype.kind = ""; - - /** - * CustomHttpPattern path. - * @member {string} path - * @memberof google.api.CustomHttpPattern - * @instance - */ - CustomHttpPattern.prototype.path = ""; - - /** - * Creates a new CustomHttpPattern instance using the specified properties. - * @function create - * @memberof google.api.CustomHttpPattern - * @static - * @param {google.api.ICustomHttpPattern=} [properties] Properties to set - * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance - */ - CustomHttpPattern.create = function create(properties) { - return new CustomHttpPattern(properties); - }; - - /** - * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. - * @function encode - * @memberof google.api.CustomHttpPattern - * @static - * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CustomHttpPattern.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); - if (message.path != null && Object.hasOwnProperty.call(message, "path")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); - return writer; - }; - - /** - * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.CustomHttpPattern - * @static - * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CustomHttpPattern message from the specified reader or buffer. - * @function decode - * @memberof google.api.CustomHttpPattern - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.CustomHttpPattern} CustomHttpPattern - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CustomHttpPattern.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.kind = reader.string(); - break; - } - case 2: { - message.path = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.CustomHttpPattern - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.CustomHttpPattern} CustomHttpPattern - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CustomHttpPattern message. - * @function verify - * @memberof google.api.CustomHttpPattern - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CustomHttpPattern.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.kind != null && message.hasOwnProperty("kind")) - if (!$util.isString(message.kind)) - return "kind: string expected"; - if (message.path != null && message.hasOwnProperty("path")) - if (!$util.isString(message.path)) - return "path: string expected"; - return null; - }; - - /** - * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.CustomHttpPattern - * @static - * @param {Object.} object Plain object - * @returns {google.api.CustomHttpPattern} CustomHttpPattern - */ - CustomHttpPattern.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.CustomHttpPattern) - return object; - var message = new $root.google.api.CustomHttpPattern(); - if (object.kind != null) - message.kind = String(object.kind); - if (object.path != null) - message.path = String(object.path); - return message; - }; - - /** - * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.CustomHttpPattern - * @static - * @param {google.api.CustomHttpPattern} message CustomHttpPattern - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CustomHttpPattern.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.kind = ""; - object.path = ""; - } - if (message.kind != null && message.hasOwnProperty("kind")) - object.kind = message.kind; - if (message.path != null && message.hasOwnProperty("path")) - object.path = message.path; - return object; - }; - - /** - * Converts this CustomHttpPattern to JSON. - * @function toJSON - * @memberof google.api.CustomHttpPattern - * @instance - * @returns {Object.} JSON object - */ - CustomHttpPattern.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CustomHttpPattern - * @function getTypeUrl - * @memberof google.api.CustomHttpPattern - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.CustomHttpPattern"; - }; - - return CustomHttpPattern; - })(); - - api.CommonLanguageSettings = (function() { - - /** - * Properties of a CommonLanguageSettings. - * @memberof google.api - * @interface ICommonLanguageSettings - * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri - * @property {Array.|null} [destinations] CommonLanguageSettings destinations - */ - - /** - * Constructs a new CommonLanguageSettings. - * @memberof google.api - * @classdesc Represents a CommonLanguageSettings. - * @implements ICommonLanguageSettings - * @constructor - * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set - */ - function CommonLanguageSettings(properties) { - this.destinations = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommonLanguageSettings referenceDocsUri. - * @member {string} referenceDocsUri - * @memberof google.api.CommonLanguageSettings - * @instance - */ - CommonLanguageSettings.prototype.referenceDocsUri = ""; - - /** - * CommonLanguageSettings destinations. - * @member {Array.} destinations - * @memberof google.api.CommonLanguageSettings - * @instance - */ - CommonLanguageSettings.prototype.destinations = $util.emptyArray; - - /** - * Creates a new CommonLanguageSettings instance using the specified properties. - * @function create - * @memberof google.api.CommonLanguageSettings - * @static - * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set - * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings instance - */ - CommonLanguageSettings.create = function create(properties) { - return new CommonLanguageSettings(properties); - }; - - /** - * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. - * @function encode - * @memberof google.api.CommonLanguageSettings - * @static - * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommonLanguageSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.referenceDocsUri != null && Object.hasOwnProperty.call(message, "referenceDocsUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.referenceDocsUri); - if (message.destinations != null && message.destinations.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.destinations.length; ++i) - writer.int32(message.destinations[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.CommonLanguageSettings - * @static - * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommonLanguageSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommonLanguageSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.CommonLanguageSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommonLanguageSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.referenceDocsUri = reader.string(); - break; - } - case 2: { - if (!(message.destinations && message.destinations.length)) - message.destinations = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.destinations.push(reader.int32()); - } else - message.destinations.push(reader.int32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.CommonLanguageSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommonLanguageSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommonLanguageSettings message. - * @function verify - * @memberof google.api.CommonLanguageSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommonLanguageSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) - if (!$util.isString(message.referenceDocsUri)) - return "referenceDocsUri: string expected"; - if (message.destinations != null && message.hasOwnProperty("destinations")) { - if (!Array.isArray(message.destinations)) - return "destinations: array expected"; - for (var i = 0; i < message.destinations.length; ++i) - switch (message.destinations[i]) { - default: - return "destinations: enum value[] expected"; - case 0: - case 10: - case 20: - break; - } - } - return null; - }; - - /** - * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.CommonLanguageSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings - */ - CommonLanguageSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.CommonLanguageSettings) - return object; - var message = new $root.google.api.CommonLanguageSettings(); - if (object.referenceDocsUri != null) - message.referenceDocsUri = String(object.referenceDocsUri); - if (object.destinations) { - if (!Array.isArray(object.destinations)) - throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected"); - message.destinations = []; - for (var i = 0; i < object.destinations.length; ++i) - switch (object.destinations[i]) { - default: - if (typeof object.destinations[i] === "number") { - message.destinations[i] = object.destinations[i]; - break; - } - case "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": - case 0: - message.destinations[i] = 0; - break; - case "GITHUB": - case 10: - message.destinations[i] = 10; - break; - case "PACKAGE_MANAGER": - case 20: - message.destinations[i] = 20; - break; - } - } - return message; - }; - - /** - * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.CommonLanguageSettings - * @static - * @param {google.api.CommonLanguageSettings} message CommonLanguageSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommonLanguageSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.destinations = []; - if (options.defaults) - object.referenceDocsUri = ""; - if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) - object.referenceDocsUri = message.referenceDocsUri; - if (message.destinations && message.destinations.length) { - object.destinations = []; - for (var j = 0; j < message.destinations.length; ++j) - object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j]; - } - return object; - }; - - /** - * Converts this CommonLanguageSettings to JSON. - * @function toJSON - * @memberof google.api.CommonLanguageSettings - * @instance - * @returns {Object.} JSON object - */ - CommonLanguageSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CommonLanguageSettings - * @function getTypeUrl - * @memberof google.api.CommonLanguageSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CommonLanguageSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.CommonLanguageSettings"; - }; - - return CommonLanguageSettings; - })(); - - api.ClientLibrarySettings = (function() { - - /** - * Properties of a ClientLibrarySettings. - * @memberof google.api - * @interface IClientLibrarySettings - * @property {string|null} [version] ClientLibrarySettings version - * @property {google.api.LaunchStage|null} [launchStage] ClientLibrarySettings launchStage - * @property {boolean|null} [restNumericEnums] ClientLibrarySettings restNumericEnums - * @property {google.api.IJavaSettings|null} [javaSettings] ClientLibrarySettings javaSettings - * @property {google.api.ICppSettings|null} [cppSettings] ClientLibrarySettings cppSettings - * @property {google.api.IPhpSettings|null} [phpSettings] ClientLibrarySettings phpSettings - * @property {google.api.IPythonSettings|null} [pythonSettings] ClientLibrarySettings pythonSettings - * @property {google.api.INodeSettings|null} [nodeSettings] ClientLibrarySettings nodeSettings - * @property {google.api.IDotnetSettings|null} [dotnetSettings] ClientLibrarySettings dotnetSettings - * @property {google.api.IRubySettings|null} [rubySettings] ClientLibrarySettings rubySettings - * @property {google.api.IGoSettings|null} [goSettings] ClientLibrarySettings goSettings - */ - - /** - * Constructs a new ClientLibrarySettings. - * @memberof google.api - * @classdesc Represents a ClientLibrarySettings. - * @implements IClientLibrarySettings - * @constructor - * @param {google.api.IClientLibrarySettings=} [properties] Properties to set - */ - function ClientLibrarySettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ClientLibrarySettings version. - * @member {string} version - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.version = ""; - - /** - * ClientLibrarySettings launchStage. - * @member {google.api.LaunchStage} launchStage - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.launchStage = 0; - - /** - * ClientLibrarySettings restNumericEnums. - * @member {boolean} restNumericEnums - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.restNumericEnums = false; - - /** - * ClientLibrarySettings javaSettings. - * @member {google.api.IJavaSettings|null|undefined} javaSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.javaSettings = null; - - /** - * ClientLibrarySettings cppSettings. - * @member {google.api.ICppSettings|null|undefined} cppSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.cppSettings = null; - - /** - * ClientLibrarySettings phpSettings. - * @member {google.api.IPhpSettings|null|undefined} phpSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.phpSettings = null; - - /** - * ClientLibrarySettings pythonSettings. - * @member {google.api.IPythonSettings|null|undefined} pythonSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.pythonSettings = null; - - /** - * ClientLibrarySettings nodeSettings. - * @member {google.api.INodeSettings|null|undefined} nodeSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.nodeSettings = null; - - /** - * ClientLibrarySettings dotnetSettings. - * @member {google.api.IDotnetSettings|null|undefined} dotnetSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.dotnetSettings = null; - - /** - * ClientLibrarySettings rubySettings. - * @member {google.api.IRubySettings|null|undefined} rubySettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.rubySettings = null; - - /** - * ClientLibrarySettings goSettings. - * @member {google.api.IGoSettings|null|undefined} goSettings - * @memberof google.api.ClientLibrarySettings - * @instance - */ - ClientLibrarySettings.prototype.goSettings = null; - - /** - * Creates a new ClientLibrarySettings instance using the specified properties. - * @function create - * @memberof google.api.ClientLibrarySettings - * @static - * @param {google.api.IClientLibrarySettings=} [properties] Properties to set - * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings instance - */ - ClientLibrarySettings.create = function create(properties) { - return new ClientLibrarySettings(properties); - }; - - /** - * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. - * @function encode - * @memberof google.api.ClientLibrarySettings - * @static - * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientLibrarySettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); - if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.launchStage); - if (message.restNumericEnums != null && Object.hasOwnProperty.call(message, "restNumericEnums")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.restNumericEnums); - if (message.javaSettings != null && Object.hasOwnProperty.call(message, "javaSettings")) - $root.google.api.JavaSettings.encode(message.javaSettings, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.cppSettings != null && Object.hasOwnProperty.call(message, "cppSettings")) - $root.google.api.CppSettings.encode(message.cppSettings, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); - if (message.phpSettings != null && Object.hasOwnProperty.call(message, "phpSettings")) - $root.google.api.PhpSettings.encode(message.phpSettings, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); - if (message.pythonSettings != null && Object.hasOwnProperty.call(message, "pythonSettings")) - $root.google.api.PythonSettings.encode(message.pythonSettings, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); - if (message.nodeSettings != null && Object.hasOwnProperty.call(message, "nodeSettings")) - $root.google.api.NodeSettings.encode(message.nodeSettings, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); - if (message.dotnetSettings != null && Object.hasOwnProperty.call(message, "dotnetSettings")) - $root.google.api.DotnetSettings.encode(message.dotnetSettings, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); - if (message.rubySettings != null && Object.hasOwnProperty.call(message, "rubySettings")) - $root.google.api.RubySettings.encode(message.rubySettings, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); - if (message.goSettings != null && Object.hasOwnProperty.call(message, "goSettings")) - $root.google.api.GoSettings.encode(message.goSettings, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.ClientLibrarySettings - * @static - * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientLibrarySettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ClientLibrarySettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.ClientLibrarySettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientLibrarySettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.version = reader.string(); - break; - } - case 2: { - message.launchStage = reader.int32(); - break; - } - case 3: { - message.restNumericEnums = reader.bool(); - break; - } - case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); - break; - } - case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); - break; - } - case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); - break; - } - case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); - break; - } - case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); - break; - } - case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); - break; - } - case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); - break; - } - case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.ClientLibrarySettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientLibrarySettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ClientLibrarySettings message. - * @function verify - * @memberof google.api.ClientLibrarySettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ClientLibrarySettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.launchStage != null && message.hasOwnProperty("launchStage")) - switch (message.launchStage) { - default: - return "launchStage: enum value expected"; - case 0: - case 6: - case 7: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums")) - if (typeof message.restNumericEnums !== "boolean") - return "restNumericEnums: boolean expected"; - if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); - if (error) - return "javaSettings." + error; - } - if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); - if (error) - return "cppSettings." + error; - } - if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); - if (error) - return "phpSettings." + error; - } - if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); - if (error) - return "pythonSettings." + error; - } - if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); - if (error) - return "nodeSettings." + error; - } - if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); - if (error) - return "dotnetSettings." + error; - } - if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); - if (error) - return "rubySettings." + error; - } - if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); - if (error) - return "goSettings." + error; - } - return null; - }; - - /** - * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.ClientLibrarySettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings - */ - ClientLibrarySettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.ClientLibrarySettings) - return object; - var message = new $root.google.api.ClientLibrarySettings(); - if (object.version != null) - message.version = String(object.version); - switch (object.launchStage) { - default: - if (typeof object.launchStage === "number") { - message.launchStage = object.launchStage; - break; - } - break; - case "LAUNCH_STAGE_UNSPECIFIED": - case 0: - message.launchStage = 0; - break; - case "UNIMPLEMENTED": - case 6: - message.launchStage = 6; - break; - case "PRELAUNCH": - case 7: - message.launchStage = 7; - break; - case "EARLY_ACCESS": - case 1: - message.launchStage = 1; - break; - case "ALPHA": - case 2: - message.launchStage = 2; - break; - case "BETA": - case 3: - message.launchStage = 3; - break; - case "GA": - case 4: - message.launchStage = 4; - break; - case "DEPRECATED": - case 5: - message.launchStage = 5; - break; - } - if (object.restNumericEnums != null) - message.restNumericEnums = Boolean(object.restNumericEnums); - if (object.javaSettings != null) { - if (typeof object.javaSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); - } - if (object.cppSettings != null) { - if (typeof object.cppSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); - } - if (object.phpSettings != null) { - if (typeof object.phpSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); - } - if (object.pythonSettings != null) { - if (typeof object.pythonSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); - } - if (object.nodeSettings != null) { - if (typeof object.nodeSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); - } - if (object.dotnetSettings != null) { - if (typeof object.dotnetSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); - } - if (object.rubySettings != null) { - if (typeof object.rubySettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); - } - if (object.goSettings != null) { - if (typeof object.goSettings !== "object") - throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); - } - return message; - }; - - /** - * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.ClientLibrarySettings - * @static - * @param {google.api.ClientLibrarySettings} message ClientLibrarySettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ClientLibrarySettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.version = ""; - object.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0; - object.restNumericEnums = false; - object.javaSettings = null; - object.cppSettings = null; - object.phpSettings = null; - object.pythonSettings = null; - object.nodeSettings = null; - object.dotnetSettings = null; - object.rubySettings = null; - object.goSettings = null; - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.launchStage != null && message.hasOwnProperty("launchStage")) - object.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === undefined ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage; - if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums")) - object.restNumericEnums = message.restNumericEnums; - if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) - object.javaSettings = $root.google.api.JavaSettings.toObject(message.javaSettings, options); - if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) - object.cppSettings = $root.google.api.CppSettings.toObject(message.cppSettings, options); - if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) - object.phpSettings = $root.google.api.PhpSettings.toObject(message.phpSettings, options); - if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) - object.pythonSettings = $root.google.api.PythonSettings.toObject(message.pythonSettings, options); - if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) - object.nodeSettings = $root.google.api.NodeSettings.toObject(message.nodeSettings, options); - if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) - object.dotnetSettings = $root.google.api.DotnetSettings.toObject(message.dotnetSettings, options); - if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) - object.rubySettings = $root.google.api.RubySettings.toObject(message.rubySettings, options); - if (message.goSettings != null && message.hasOwnProperty("goSettings")) - object.goSettings = $root.google.api.GoSettings.toObject(message.goSettings, options); - return object; - }; - - /** - * Converts this ClientLibrarySettings to JSON. - * @function toJSON - * @memberof google.api.ClientLibrarySettings - * @instance - * @returns {Object.} JSON object - */ - ClientLibrarySettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ClientLibrarySettings - * @function getTypeUrl - * @memberof google.api.ClientLibrarySettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ClientLibrarySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.ClientLibrarySettings"; - }; - - return ClientLibrarySettings; - })(); - - api.Publishing = (function() { - - /** - * Properties of a Publishing. - * @memberof google.api - * @interface IPublishing - * @property {Array.|null} [methodSettings] Publishing methodSettings - * @property {string|null} [newIssueUri] Publishing newIssueUri - * @property {string|null} [documentationUri] Publishing documentationUri - * @property {string|null} [apiShortName] Publishing apiShortName - * @property {string|null} [githubLabel] Publishing githubLabel - * @property {Array.|null} [codeownerGithubTeams] Publishing codeownerGithubTeams - * @property {string|null} [docTagPrefix] Publishing docTagPrefix - * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization - * @property {Array.|null} [librarySettings] Publishing librarySettings - * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri - * @property {string|null} [restReferenceDocumentationUri] Publishing restReferenceDocumentationUri - */ - - /** - * Constructs a new Publishing. - * @memberof google.api - * @classdesc Represents a Publishing. - * @implements IPublishing - * @constructor - * @param {google.api.IPublishing=} [properties] Properties to set - */ - function Publishing(properties) { - this.methodSettings = []; - this.codeownerGithubTeams = []; - this.librarySettings = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Publishing methodSettings. - * @member {Array.} methodSettings - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.methodSettings = $util.emptyArray; - - /** - * Publishing newIssueUri. - * @member {string} newIssueUri - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.newIssueUri = ""; - - /** - * Publishing documentationUri. - * @member {string} documentationUri - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.documentationUri = ""; - - /** - * Publishing apiShortName. - * @member {string} apiShortName - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.apiShortName = ""; - - /** - * Publishing githubLabel. - * @member {string} githubLabel - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.githubLabel = ""; - - /** - * Publishing codeownerGithubTeams. - * @member {Array.} codeownerGithubTeams - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.codeownerGithubTeams = $util.emptyArray; - - /** - * Publishing docTagPrefix. - * @member {string} docTagPrefix - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.docTagPrefix = ""; - - /** - * Publishing organization. - * @member {google.api.ClientLibraryOrganization} organization - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.organization = 0; - - /** - * Publishing librarySettings. - * @member {Array.} librarySettings - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.librarySettings = $util.emptyArray; - - /** - * Publishing protoReferenceDocumentationUri. - * @member {string} protoReferenceDocumentationUri - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.protoReferenceDocumentationUri = ""; - - /** - * Publishing restReferenceDocumentationUri. - * @member {string} restReferenceDocumentationUri - * @memberof google.api.Publishing - * @instance - */ - Publishing.prototype.restReferenceDocumentationUri = ""; - - /** - * Creates a new Publishing instance using the specified properties. - * @function create - * @memberof google.api.Publishing - * @static - * @param {google.api.IPublishing=} [properties] Properties to set - * @returns {google.api.Publishing} Publishing instance - */ - Publishing.create = function create(properties) { - return new Publishing(properties); - }; - - /** - * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages. - * @function encode - * @memberof google.api.Publishing - * @static - * @param {google.api.IPublishing} message Publishing message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Publishing.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.methodSettings != null && message.methodSettings.length) - for (var i = 0; i < message.methodSettings.length; ++i) - $root.google.api.MethodSettings.encode(message.methodSettings[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.newIssueUri != null && Object.hasOwnProperty.call(message, "newIssueUri")) - writer.uint32(/* id 101, wireType 2 =*/810).string(message.newIssueUri); - if (message.documentationUri != null && Object.hasOwnProperty.call(message, "documentationUri")) - writer.uint32(/* id 102, wireType 2 =*/818).string(message.documentationUri); - if (message.apiShortName != null && Object.hasOwnProperty.call(message, "apiShortName")) - writer.uint32(/* id 103, wireType 2 =*/826).string(message.apiShortName); - if (message.githubLabel != null && Object.hasOwnProperty.call(message, "githubLabel")) - writer.uint32(/* id 104, wireType 2 =*/834).string(message.githubLabel); - if (message.codeownerGithubTeams != null && message.codeownerGithubTeams.length) - for (var i = 0; i < message.codeownerGithubTeams.length; ++i) - writer.uint32(/* id 105, wireType 2 =*/842).string(message.codeownerGithubTeams[i]); - if (message.docTagPrefix != null && Object.hasOwnProperty.call(message, "docTagPrefix")) - writer.uint32(/* id 106, wireType 2 =*/850).string(message.docTagPrefix); - if (message.organization != null && Object.hasOwnProperty.call(message, "organization")) - writer.uint32(/* id 107, wireType 0 =*/856).int32(message.organization); - if (message.librarySettings != null && message.librarySettings.length) - for (var i = 0; i < message.librarySettings.length; ++i) - $root.google.api.ClientLibrarySettings.encode(message.librarySettings[i], writer.uint32(/* id 109, wireType 2 =*/874).fork()).ldelim(); - if (message.protoReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "protoReferenceDocumentationUri")) - writer.uint32(/* id 110, wireType 2 =*/882).string(message.protoReferenceDocumentationUri); - if (message.restReferenceDocumentationUri != null && Object.hasOwnProperty.call(message, "restReferenceDocumentationUri")) - writer.uint32(/* id 111, wireType 2 =*/890).string(message.restReferenceDocumentationUri); - return writer; - }; - - /** - * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.Publishing - * @static - * @param {google.api.IPublishing} message Publishing message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Publishing.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Publishing message from the specified reader or buffer. - * @function decode - * @memberof google.api.Publishing - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.Publishing} Publishing - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Publishing.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: { - if (!(message.methodSettings && message.methodSettings.length)) - message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); - break; - } - case 101: { - message.newIssueUri = reader.string(); - break; - } - case 102: { - message.documentationUri = reader.string(); - break; - } - case 103: { - message.apiShortName = reader.string(); - break; - } - case 104: { - message.githubLabel = reader.string(); - break; - } - case 105: { - if (!(message.codeownerGithubTeams && message.codeownerGithubTeams.length)) - message.codeownerGithubTeams = []; - message.codeownerGithubTeams.push(reader.string()); - break; - } - case 106: { - message.docTagPrefix = reader.string(); - break; - } - case 107: { - message.organization = reader.int32(); - break; - } - case 109: { - if (!(message.librarySettings && message.librarySettings.length)) - message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); - break; - } - case 110: { - message.protoReferenceDocumentationUri = reader.string(); - break; - } - case 111: { - message.restReferenceDocumentationUri = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Publishing message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.Publishing - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.Publishing} Publishing - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Publishing.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Publishing message. - * @function verify - * @memberof google.api.Publishing - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Publishing.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { - if (!Array.isArray(message.methodSettings)) - return "methodSettings: array expected"; - for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); - if (error) - return "methodSettings." + error; - } - } - if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri")) - if (!$util.isString(message.newIssueUri)) - return "newIssueUri: string expected"; - if (message.documentationUri != null && message.hasOwnProperty("documentationUri")) - if (!$util.isString(message.documentationUri)) - return "documentationUri: string expected"; - if (message.apiShortName != null && message.hasOwnProperty("apiShortName")) - if (!$util.isString(message.apiShortName)) - return "apiShortName: string expected"; - if (message.githubLabel != null && message.hasOwnProperty("githubLabel")) - if (!$util.isString(message.githubLabel)) - return "githubLabel: string expected"; - if (message.codeownerGithubTeams != null && message.hasOwnProperty("codeownerGithubTeams")) { - if (!Array.isArray(message.codeownerGithubTeams)) - return "codeownerGithubTeams: array expected"; - for (var i = 0; i < message.codeownerGithubTeams.length; ++i) - if (!$util.isString(message.codeownerGithubTeams[i])) - return "codeownerGithubTeams: string[] expected"; - } - if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix")) - if (!$util.isString(message.docTagPrefix)) - return "docTagPrefix: string expected"; - if (message.organization != null && message.hasOwnProperty("organization")) - switch (message.organization) { - default: - return "organization: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - break; - } - if (message.librarySettings != null && message.hasOwnProperty("librarySettings")) { - if (!Array.isArray(message.librarySettings)) - return "librarySettings: array expected"; - for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); - if (error) - return "librarySettings." + error; - } - } - if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri")) - if (!$util.isString(message.protoReferenceDocumentationUri)) - return "protoReferenceDocumentationUri: string expected"; - if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri")) - if (!$util.isString(message.restReferenceDocumentationUri)) - return "restReferenceDocumentationUri: string expected"; - return null; - }; - - /** - * Creates a Publishing message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.Publishing - * @static - * @param {Object.} object Plain object - * @returns {google.api.Publishing} Publishing - */ - Publishing.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.Publishing) - return object; - var message = new $root.google.api.Publishing(); - if (object.methodSettings) { - if (!Array.isArray(object.methodSettings)) - throw TypeError(".google.api.Publishing.methodSettings: array expected"); - message.methodSettings = []; - for (var i = 0; i < object.methodSettings.length; ++i) { - if (typeof object.methodSettings[i] !== "object") - throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); - } - } - if (object.newIssueUri != null) - message.newIssueUri = String(object.newIssueUri); - if (object.documentationUri != null) - message.documentationUri = String(object.documentationUri); - if (object.apiShortName != null) - message.apiShortName = String(object.apiShortName); - if (object.githubLabel != null) - message.githubLabel = String(object.githubLabel); - if (object.codeownerGithubTeams) { - if (!Array.isArray(object.codeownerGithubTeams)) - throw TypeError(".google.api.Publishing.codeownerGithubTeams: array expected"); - message.codeownerGithubTeams = []; - for (var i = 0; i < object.codeownerGithubTeams.length; ++i) - message.codeownerGithubTeams[i] = String(object.codeownerGithubTeams[i]); - } - if (object.docTagPrefix != null) - message.docTagPrefix = String(object.docTagPrefix); - switch (object.organization) { - default: - if (typeof object.organization === "number") { - message.organization = object.organization; - break; - } - break; - case "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": - case 0: - message.organization = 0; - break; - case "CLOUD": - case 1: - message.organization = 1; - break; - case "ADS": - case 2: - message.organization = 2; - break; - case "PHOTOS": - case 3: - message.organization = 3; - break; - case "STREET_VIEW": - case 4: - message.organization = 4; - break; - case "SHOPPING": - case 5: - message.organization = 5; - break; - case "GEO": - case 6: - message.organization = 6; - break; - case "GENERATIVE_AI": - case 7: - message.organization = 7; - break; - } - if (object.librarySettings) { - if (!Array.isArray(object.librarySettings)) - throw TypeError(".google.api.Publishing.librarySettings: array expected"); - message.librarySettings = []; - for (var i = 0; i < object.librarySettings.length; ++i) { - if (typeof object.librarySettings[i] !== "object") - throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); - } - } - if (object.protoReferenceDocumentationUri != null) - message.protoReferenceDocumentationUri = String(object.protoReferenceDocumentationUri); - if (object.restReferenceDocumentationUri != null) - message.restReferenceDocumentationUri = String(object.restReferenceDocumentationUri); - return message; - }; - - /** - * Creates a plain object from a Publishing message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.Publishing - * @static - * @param {google.api.Publishing} message Publishing - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Publishing.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.methodSettings = []; - object.codeownerGithubTeams = []; - object.librarySettings = []; - } - if (options.defaults) { - object.newIssueUri = ""; - object.documentationUri = ""; - object.apiShortName = ""; - object.githubLabel = ""; - object.docTagPrefix = ""; - object.organization = options.enums === String ? "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" : 0; - object.protoReferenceDocumentationUri = ""; - object.restReferenceDocumentationUri = ""; - } - if (message.methodSettings && message.methodSettings.length) { - object.methodSettings = []; - for (var j = 0; j < message.methodSettings.length; ++j) - object.methodSettings[j] = $root.google.api.MethodSettings.toObject(message.methodSettings[j], options); - } - if (message.newIssueUri != null && message.hasOwnProperty("newIssueUri")) - object.newIssueUri = message.newIssueUri; - if (message.documentationUri != null && message.hasOwnProperty("documentationUri")) - object.documentationUri = message.documentationUri; - if (message.apiShortName != null && message.hasOwnProperty("apiShortName")) - object.apiShortName = message.apiShortName; - if (message.githubLabel != null && message.hasOwnProperty("githubLabel")) - object.githubLabel = message.githubLabel; - if (message.codeownerGithubTeams && message.codeownerGithubTeams.length) { - object.codeownerGithubTeams = []; - for (var j = 0; j < message.codeownerGithubTeams.length; ++j) - object.codeownerGithubTeams[j] = message.codeownerGithubTeams[j]; - } - if (message.docTagPrefix != null && message.hasOwnProperty("docTagPrefix")) - object.docTagPrefix = message.docTagPrefix; - if (message.organization != null && message.hasOwnProperty("organization")) - object.organization = options.enums === String ? $root.google.api.ClientLibraryOrganization[message.organization] === undefined ? message.organization : $root.google.api.ClientLibraryOrganization[message.organization] : message.organization; - if (message.librarySettings && message.librarySettings.length) { - object.librarySettings = []; - for (var j = 0; j < message.librarySettings.length; ++j) - object.librarySettings[j] = $root.google.api.ClientLibrarySettings.toObject(message.librarySettings[j], options); - } - if (message.protoReferenceDocumentationUri != null && message.hasOwnProperty("protoReferenceDocumentationUri")) - object.protoReferenceDocumentationUri = message.protoReferenceDocumentationUri; - if (message.restReferenceDocumentationUri != null && message.hasOwnProperty("restReferenceDocumentationUri")) - object.restReferenceDocumentationUri = message.restReferenceDocumentationUri; - return object; - }; - - /** - * Converts this Publishing to JSON. - * @function toJSON - * @memberof google.api.Publishing - * @instance - * @returns {Object.} JSON object - */ - Publishing.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Publishing - * @function getTypeUrl - * @memberof google.api.Publishing - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Publishing.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.Publishing"; - }; - - return Publishing; - })(); - - api.JavaSettings = (function() { - - /** - * Properties of a JavaSettings. - * @memberof google.api - * @interface IJavaSettings - * @property {string|null} [libraryPackage] JavaSettings libraryPackage - * @property {Object.|null} [serviceClassNames] JavaSettings serviceClassNames - * @property {google.api.ICommonLanguageSettings|null} [common] JavaSettings common - */ - - /** - * Constructs a new JavaSettings. - * @memberof google.api - * @classdesc Represents a JavaSettings. - * @implements IJavaSettings - * @constructor - * @param {google.api.IJavaSettings=} [properties] Properties to set - */ - function JavaSettings(properties) { - this.serviceClassNames = {}; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * JavaSettings libraryPackage. - * @member {string} libraryPackage - * @memberof google.api.JavaSettings - * @instance - */ - JavaSettings.prototype.libraryPackage = ""; - - /** - * JavaSettings serviceClassNames. - * @member {Object.} serviceClassNames - * @memberof google.api.JavaSettings - * @instance - */ - JavaSettings.prototype.serviceClassNames = $util.emptyObject; - - /** - * JavaSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.JavaSettings - * @instance - */ - JavaSettings.prototype.common = null; - - /** - * Creates a new JavaSettings instance using the specified properties. - * @function create - * @memberof google.api.JavaSettings - * @static - * @param {google.api.IJavaSettings=} [properties] Properties to set - * @returns {google.api.JavaSettings} JavaSettings instance - */ - JavaSettings.create = function create(properties) { - return new JavaSettings(properties); - }; - - /** - * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. - * @function encode - * @memberof google.api.JavaSettings - * @static - * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - JavaSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.libraryPackage != null && Object.hasOwnProperty.call(message, "libraryPackage")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.libraryPackage); - if (message.serviceClassNames != null && Object.hasOwnProperty.call(message, "serviceClassNames")) - for (var keys = Object.keys(message.serviceClassNames), i = 0; i < keys.length; ++i) - 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.serviceClassNames[keys[i]]).ldelim(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.JavaSettings - * @static - * @param {google.api.IJavaSettings} message JavaSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - JavaSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a JavaSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.JavaSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.JavaSettings} JavaSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - JavaSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.libraryPackage = reader.string(); - break; - } - case 2: { - if (message.serviceClassNames === $util.emptyObject) - message.serviceClassNames = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = ""; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.string(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.serviceClassNames[key] = value; - break; - } - case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a JavaSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.JavaSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.JavaSettings} JavaSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - JavaSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a JavaSettings message. - * @function verify - * @memberof google.api.JavaSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - JavaSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) - if (!$util.isString(message.libraryPackage)) - return "libraryPackage: string expected"; - if (message.serviceClassNames != null && message.hasOwnProperty("serviceClassNames")) { - if (!$util.isObject(message.serviceClassNames)) - return "serviceClassNames: object expected"; - var key = Object.keys(message.serviceClassNames); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.serviceClassNames[key[i]])) - return "serviceClassNames: string{k:string} expected"; - } - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.JavaSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.JavaSettings} JavaSettings - */ - JavaSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.JavaSettings) - return object; - var message = new $root.google.api.JavaSettings(); - if (object.libraryPackage != null) - message.libraryPackage = String(object.libraryPackage); - if (object.serviceClassNames) { - if (typeof object.serviceClassNames !== "object") - throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); - message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) - message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); - } - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a JavaSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.JavaSettings - * @static - * @param {google.api.JavaSettings} message JavaSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - JavaSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.objects || options.defaults) - object.serviceClassNames = {}; - if (options.defaults) { - object.libraryPackage = ""; - object.common = null; - } - if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) - object.libraryPackage = message.libraryPackage; - var keys2; - if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { - object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) - object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; - } - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this JavaSettings to JSON. - * @function toJSON - * @memberof google.api.JavaSettings - * @instance - * @returns {Object.} JSON object - */ - JavaSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for JavaSettings - * @function getTypeUrl - * @memberof google.api.JavaSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - JavaSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.JavaSettings"; - }; - - return JavaSettings; - })(); - - api.CppSettings = (function() { - - /** - * Properties of a CppSettings. - * @memberof google.api - * @interface ICppSettings - * @property {google.api.ICommonLanguageSettings|null} [common] CppSettings common - */ - - /** - * Constructs a new CppSettings. - * @memberof google.api - * @classdesc Represents a CppSettings. - * @implements ICppSettings - * @constructor - * @param {google.api.ICppSettings=} [properties] Properties to set - */ - function CppSettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CppSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.CppSettings - * @instance - */ - CppSettings.prototype.common = null; - - /** - * Creates a new CppSettings instance using the specified properties. - * @function create - * @memberof google.api.CppSettings - * @static - * @param {google.api.ICppSettings=} [properties] Properties to set - * @returns {google.api.CppSettings} CppSettings instance - */ - CppSettings.create = function create(properties) { - return new CppSettings(properties); - }; - - /** - * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. - * @function encode - * @memberof google.api.CppSettings - * @static - * @param {google.api.ICppSettings} message CppSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CppSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.CppSettings - * @static - * @param {google.api.ICppSettings} message CppSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CppSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CppSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.CppSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.CppSettings} CppSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CppSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CppSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.CppSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.CppSettings} CppSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CppSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CppSettings message. - * @function verify - * @memberof google.api.CppSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CppSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a CppSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.CppSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.CppSettings} CppSettings - */ - CppSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.CppSettings) - return object; - var message = new $root.google.api.CppSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a CppSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.CppSettings - * @static - * @param {google.api.CppSettings} message CppSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CppSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this CppSettings to JSON. - * @function toJSON - * @memberof google.api.CppSettings - * @instance - * @returns {Object.} JSON object - */ - CppSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CppSettings - * @function getTypeUrl - * @memberof google.api.CppSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CppSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.CppSettings"; - }; - - return CppSettings; - })(); - - api.PhpSettings = (function() { - - /** - * Properties of a PhpSettings. - * @memberof google.api - * @interface IPhpSettings - * @property {google.api.ICommonLanguageSettings|null} [common] PhpSettings common - */ - - /** - * Constructs a new PhpSettings. - * @memberof google.api - * @classdesc Represents a PhpSettings. - * @implements IPhpSettings - * @constructor - * @param {google.api.IPhpSettings=} [properties] Properties to set - */ - function PhpSettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PhpSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.PhpSettings - * @instance - */ - PhpSettings.prototype.common = null; - - /** - * Creates a new PhpSettings instance using the specified properties. - * @function create - * @memberof google.api.PhpSettings - * @static - * @param {google.api.IPhpSettings=} [properties] Properties to set - * @returns {google.api.PhpSettings} PhpSettings instance - */ - PhpSettings.create = function create(properties) { - return new PhpSettings(properties); - }; - - /** - * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. - * @function encode - * @memberof google.api.PhpSettings - * @static - * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PhpSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.PhpSettings - * @static - * @param {google.api.IPhpSettings} message PhpSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PhpSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PhpSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.PhpSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.PhpSettings} PhpSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PhpSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PhpSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.PhpSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.PhpSettings} PhpSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PhpSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PhpSettings message. - * @function verify - * @memberof google.api.PhpSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PhpSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.PhpSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.PhpSettings} PhpSettings - */ - PhpSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.PhpSettings) - return object; - var message = new $root.google.api.PhpSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a PhpSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.PhpSettings - * @static - * @param {google.api.PhpSettings} message PhpSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PhpSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this PhpSettings to JSON. - * @function toJSON - * @memberof google.api.PhpSettings - * @instance - * @returns {Object.} JSON object - */ - PhpSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for PhpSettings - * @function getTypeUrl - * @memberof google.api.PhpSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - PhpSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.PhpSettings"; - }; - - return PhpSettings; - })(); - - api.PythonSettings = (function() { - - /** - * Properties of a PythonSettings. - * @memberof google.api - * @interface IPythonSettings - * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common - */ - - /** - * Constructs a new PythonSettings. - * @memberof google.api - * @classdesc Represents a PythonSettings. - * @implements IPythonSettings - * @constructor - * @param {google.api.IPythonSettings=} [properties] Properties to set - */ - function PythonSettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PythonSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.PythonSettings - * @instance - */ - PythonSettings.prototype.common = null; - - /** - * Creates a new PythonSettings instance using the specified properties. - * @function create - * @memberof google.api.PythonSettings - * @static - * @param {google.api.IPythonSettings=} [properties] Properties to set - * @returns {google.api.PythonSettings} PythonSettings instance - */ - PythonSettings.create = function create(properties) { - return new PythonSettings(properties); - }; - - /** - * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. - * @function encode - * @memberof google.api.PythonSettings - * @static - * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PythonSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.PythonSettings - * @static - * @param {google.api.IPythonSettings} message PythonSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PythonSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PythonSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.PythonSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.PythonSettings} PythonSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PythonSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PythonSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.PythonSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.PythonSettings} PythonSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PythonSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PythonSettings message. - * @function verify - * @memberof google.api.PythonSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PythonSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.PythonSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.PythonSettings} PythonSettings - */ - PythonSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.PythonSettings) - return object; - var message = new $root.google.api.PythonSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a PythonSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.PythonSettings - * @static - * @param {google.api.PythonSettings} message PythonSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PythonSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this PythonSettings to JSON. - * @function toJSON - * @memberof google.api.PythonSettings - * @instance - * @returns {Object.} JSON object - */ - PythonSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for PythonSettings - * @function getTypeUrl - * @memberof google.api.PythonSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - PythonSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.PythonSettings"; - }; - - return PythonSettings; - })(); - - api.NodeSettings = (function() { - - /** - * Properties of a NodeSettings. - * @memberof google.api - * @interface INodeSettings - * @property {google.api.ICommonLanguageSettings|null} [common] NodeSettings common - */ - - /** - * Constructs a new NodeSettings. - * @memberof google.api - * @classdesc Represents a NodeSettings. - * @implements INodeSettings - * @constructor - * @param {google.api.INodeSettings=} [properties] Properties to set - */ - function NodeSettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NodeSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.NodeSettings - * @instance - */ - NodeSettings.prototype.common = null; - - /** - * Creates a new NodeSettings instance using the specified properties. - * @function create - * @memberof google.api.NodeSettings - * @static - * @param {google.api.INodeSettings=} [properties] Properties to set - * @returns {google.api.NodeSettings} NodeSettings instance - */ - NodeSettings.create = function create(properties) { - return new NodeSettings(properties); - }; - - /** - * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. - * @function encode - * @memberof google.api.NodeSettings - * @static - * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NodeSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.NodeSettings - * @static - * @param {google.api.INodeSettings} message NodeSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NodeSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NodeSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.NodeSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.NodeSettings} NodeSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NodeSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a NodeSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.NodeSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.NodeSettings} NodeSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NodeSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NodeSettings message. - * @function verify - * @memberof google.api.NodeSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NodeSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.NodeSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.NodeSettings} NodeSettings - */ - NodeSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.NodeSettings) - return object; - var message = new $root.google.api.NodeSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a NodeSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.NodeSettings - * @static - * @param {google.api.NodeSettings} message NodeSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NodeSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this NodeSettings to JSON. - * @function toJSON - * @memberof google.api.NodeSettings - * @instance - * @returns {Object.} JSON object - */ - NodeSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for NodeSettings - * @function getTypeUrl - * @memberof google.api.NodeSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - NodeSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.NodeSettings"; - }; - - return NodeSettings; - })(); - - api.DotnetSettings = (function() { - - /** - * Properties of a DotnetSettings. - * @memberof google.api - * @interface IDotnetSettings - * @property {google.api.ICommonLanguageSettings|null} [common] DotnetSettings common - * @property {Object.|null} [renamedServices] DotnetSettings renamedServices - * @property {Object.|null} [renamedResources] DotnetSettings renamedResources - * @property {Array.|null} [ignoredResources] DotnetSettings ignoredResources - * @property {Array.|null} [forcedNamespaceAliases] DotnetSettings forcedNamespaceAliases - * @property {Array.|null} [handwrittenSignatures] DotnetSettings handwrittenSignatures - */ - - /** - * Constructs a new DotnetSettings. - * @memberof google.api - * @classdesc Represents a DotnetSettings. - * @implements IDotnetSettings - * @constructor - * @param {google.api.IDotnetSettings=} [properties] Properties to set - */ - function DotnetSettings(properties) { - this.renamedServices = {}; - this.renamedResources = {}; - this.ignoredResources = []; - this.forcedNamespaceAliases = []; - this.handwrittenSignatures = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DotnetSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.common = null; - - /** - * DotnetSettings renamedServices. - * @member {Object.} renamedServices - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.renamedServices = $util.emptyObject; - - /** - * DotnetSettings renamedResources. - * @member {Object.} renamedResources - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.renamedResources = $util.emptyObject; - - /** - * DotnetSettings ignoredResources. - * @member {Array.} ignoredResources - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.ignoredResources = $util.emptyArray; - - /** - * DotnetSettings forcedNamespaceAliases. - * @member {Array.} forcedNamespaceAliases - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.forcedNamespaceAliases = $util.emptyArray; - - /** - * DotnetSettings handwrittenSignatures. - * @member {Array.} handwrittenSignatures - * @memberof google.api.DotnetSettings - * @instance - */ - DotnetSettings.prototype.handwrittenSignatures = $util.emptyArray; - - /** - * Creates a new DotnetSettings instance using the specified properties. - * @function create - * @memberof google.api.DotnetSettings - * @static - * @param {google.api.IDotnetSettings=} [properties] Properties to set - * @returns {google.api.DotnetSettings} DotnetSettings instance - */ - DotnetSettings.create = function create(properties) { - return new DotnetSettings(properties); - }; - - /** - * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. - * @function encode - * @memberof google.api.DotnetSettings - * @static - * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DotnetSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices")) - for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i) - 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(); - if (message.renamedResources != null && Object.hasOwnProperty.call(message, "renamedResources")) - for (var keys = Object.keys(message.renamedResources), i = 0; i < keys.length; ++i) - 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(); - if (message.ignoredResources != null && message.ignoredResources.length) - for (var i = 0; i < message.ignoredResources.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.ignoredResources[i]); - if (message.forcedNamespaceAliases != null && message.forcedNamespaceAliases.length) - for (var i = 0; i < message.forcedNamespaceAliases.length; ++i) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.forcedNamespaceAliases[i]); - if (message.handwrittenSignatures != null && message.handwrittenSignatures.length) - for (var i = 0; i < message.handwrittenSignatures.length; ++i) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.handwrittenSignatures[i]); - return writer; - }; - - /** - * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.DotnetSettings - * @static - * @param {google.api.IDotnetSettings} message DotnetSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DotnetSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DotnetSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.DotnetSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.DotnetSettings} DotnetSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DotnetSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - case 2: { - if (message.renamedServices === $util.emptyObject) - message.renamedServices = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = ""; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.string(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.renamedServices[key] = value; - break; - } - case 3: { - if (message.renamedResources === $util.emptyObject) - message.renamedResources = {}; - var end2 = reader.uint32() + reader.pos; - key = ""; - value = ""; - while (reader.pos < end2) { - var tag2 = reader.uint32(); - switch (tag2 >>> 3) { - case 1: - key = reader.string(); - break; - case 2: - value = reader.string(); - break; - default: - reader.skipType(tag2 & 7); - break; - } - } - message.renamedResources[key] = value; - break; - } - case 4: { - if (!(message.ignoredResources && message.ignoredResources.length)) - message.ignoredResources = []; - message.ignoredResources.push(reader.string()); - break; - } - case 5: { - if (!(message.forcedNamespaceAliases && message.forcedNamespaceAliases.length)) - message.forcedNamespaceAliases = []; - message.forcedNamespaceAliases.push(reader.string()); - break; - } - case 6: { - if (!(message.handwrittenSignatures && message.handwrittenSignatures.length)) - message.handwrittenSignatures = []; - message.handwrittenSignatures.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DotnetSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.DotnetSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.DotnetSettings} DotnetSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DotnetSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DotnetSettings message. - * @function verify - * @memberof google.api.DotnetSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DotnetSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) { - if (!$util.isObject(message.renamedServices)) - return "renamedServices: object expected"; - var key = Object.keys(message.renamedServices); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.renamedServices[key[i]])) - return "renamedServices: string{k:string} expected"; - } - if (message.renamedResources != null && message.hasOwnProperty("renamedResources")) { - if (!$util.isObject(message.renamedResources)) - return "renamedResources: object expected"; - var key = Object.keys(message.renamedResources); - for (var i = 0; i < key.length; ++i) - if (!$util.isString(message.renamedResources[key[i]])) - return "renamedResources: string{k:string} expected"; - } - if (message.ignoredResources != null && message.hasOwnProperty("ignoredResources")) { - if (!Array.isArray(message.ignoredResources)) - return "ignoredResources: array expected"; - for (var i = 0; i < message.ignoredResources.length; ++i) - if (!$util.isString(message.ignoredResources[i])) - return "ignoredResources: string[] expected"; - } - if (message.forcedNamespaceAliases != null && message.hasOwnProperty("forcedNamespaceAliases")) { - if (!Array.isArray(message.forcedNamespaceAliases)) - return "forcedNamespaceAliases: array expected"; - for (var i = 0; i < message.forcedNamespaceAliases.length; ++i) - if (!$util.isString(message.forcedNamespaceAliases[i])) - return "forcedNamespaceAliases: string[] expected"; - } - if (message.handwrittenSignatures != null && message.hasOwnProperty("handwrittenSignatures")) { - if (!Array.isArray(message.handwrittenSignatures)) - return "handwrittenSignatures: array expected"; - for (var i = 0; i < message.handwrittenSignatures.length; ++i) - if (!$util.isString(message.handwrittenSignatures[i])) - return "handwrittenSignatures: string[] expected"; - } - return null; - }; - - /** - * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.DotnetSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.DotnetSettings} DotnetSettings - */ - DotnetSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.DotnetSettings) - return object; - var message = new $root.google.api.DotnetSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - if (object.renamedServices) { - if (typeof object.renamedServices !== "object") - throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); - message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) - message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); - } - if (object.renamedResources) { - if (typeof object.renamedResources !== "object") - throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); - message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) - message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); - } - if (object.ignoredResources) { - if (!Array.isArray(object.ignoredResources)) - throw TypeError(".google.api.DotnetSettings.ignoredResources: array expected"); - message.ignoredResources = []; - for (var i = 0; i < object.ignoredResources.length; ++i) - message.ignoredResources[i] = String(object.ignoredResources[i]); - } - if (object.forcedNamespaceAliases) { - if (!Array.isArray(object.forcedNamespaceAliases)) - throw TypeError(".google.api.DotnetSettings.forcedNamespaceAliases: array expected"); - message.forcedNamespaceAliases = []; - for (var i = 0; i < object.forcedNamespaceAliases.length; ++i) - message.forcedNamespaceAliases[i] = String(object.forcedNamespaceAliases[i]); - } - if (object.handwrittenSignatures) { - if (!Array.isArray(object.handwrittenSignatures)) - throw TypeError(".google.api.DotnetSettings.handwrittenSignatures: array expected"); - message.handwrittenSignatures = []; - for (var i = 0; i < object.handwrittenSignatures.length; ++i) - message.handwrittenSignatures[i] = String(object.handwrittenSignatures[i]); - } - return message; - }; - - /** - * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.DotnetSettings - * @static - * @param {google.api.DotnetSettings} message DotnetSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DotnetSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.ignoredResources = []; - object.forcedNamespaceAliases = []; - object.handwrittenSignatures = []; - } - if (options.objects || options.defaults) { - object.renamedServices = {}; - object.renamedResources = {}; - } - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - var keys2; - if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { - object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) - object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; - } - if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { - object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) - object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; - } - if (message.ignoredResources && message.ignoredResources.length) { - object.ignoredResources = []; - for (var j = 0; j < message.ignoredResources.length; ++j) - object.ignoredResources[j] = message.ignoredResources[j]; - } - if (message.forcedNamespaceAliases && message.forcedNamespaceAliases.length) { - object.forcedNamespaceAliases = []; - for (var j = 0; j < message.forcedNamespaceAliases.length; ++j) - object.forcedNamespaceAliases[j] = message.forcedNamespaceAliases[j]; - } - if (message.handwrittenSignatures && message.handwrittenSignatures.length) { - object.handwrittenSignatures = []; - for (var j = 0; j < message.handwrittenSignatures.length; ++j) - object.handwrittenSignatures[j] = message.handwrittenSignatures[j]; - } - return object; - }; - - /** - * Converts this DotnetSettings to JSON. - * @function toJSON - * @memberof google.api.DotnetSettings - * @instance - * @returns {Object.} JSON object - */ - DotnetSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DotnetSettings - * @function getTypeUrl - * @memberof google.api.DotnetSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DotnetSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.DotnetSettings"; - }; - - return DotnetSettings; - })(); - - api.RubySettings = (function() { - - /** - * Properties of a RubySettings. - * @memberof google.api - * @interface IRubySettings - * @property {google.api.ICommonLanguageSettings|null} [common] RubySettings common - */ - - /** - * Constructs a new RubySettings. - * @memberof google.api - * @classdesc Represents a RubySettings. - * @implements IRubySettings - * @constructor - * @param {google.api.IRubySettings=} [properties] Properties to set - */ - function RubySettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RubySettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.RubySettings - * @instance - */ - RubySettings.prototype.common = null; - - /** - * Creates a new RubySettings instance using the specified properties. - * @function create - * @memberof google.api.RubySettings - * @static - * @param {google.api.IRubySettings=} [properties] Properties to set - * @returns {google.api.RubySettings} RubySettings instance - */ - RubySettings.create = function create(properties) { - return new RubySettings(properties); - }; - - /** - * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. - * @function encode - * @memberof google.api.RubySettings - * @static - * @param {google.api.IRubySettings} message RubySettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RubySettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.RubySettings - * @static - * @param {google.api.IRubySettings} message RubySettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RubySettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RubySettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.RubySettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.RubySettings} RubySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RubySettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RubySettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.RubySettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.RubySettings} RubySettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RubySettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RubySettings message. - * @function verify - * @memberof google.api.RubySettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RubySettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a RubySettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.RubySettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.RubySettings} RubySettings - */ - RubySettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.RubySettings) - return object; - var message = new $root.google.api.RubySettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a RubySettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.RubySettings - * @static - * @param {google.api.RubySettings} message RubySettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RubySettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this RubySettings to JSON. - * @function toJSON - * @memberof google.api.RubySettings - * @instance - * @returns {Object.} JSON object - */ - RubySettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for RubySettings - * @function getTypeUrl - * @memberof google.api.RubySettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - RubySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.RubySettings"; - }; - - return RubySettings; - })(); - - api.GoSettings = (function() { - - /** - * Properties of a GoSettings. - * @memberof google.api - * @interface IGoSettings - * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common - */ - - /** - * Constructs a new GoSettings. - * @memberof google.api - * @classdesc Represents a GoSettings. - * @implements IGoSettings - * @constructor - * @param {google.api.IGoSettings=} [properties] Properties to set - */ - function GoSettings(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GoSettings common. - * @member {google.api.ICommonLanguageSettings|null|undefined} common - * @memberof google.api.GoSettings - * @instance - */ - GoSettings.prototype.common = null; - - /** - * Creates a new GoSettings instance using the specified properties. - * @function create - * @memberof google.api.GoSettings - * @static - * @param {google.api.IGoSettings=} [properties] Properties to set - * @returns {google.api.GoSettings} GoSettings instance - */ - GoSettings.create = function create(properties) { - return new GoSettings(properties); - }; - - /** - * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. - * @function encode - * @memberof google.api.GoSettings - * @static - * @param {google.api.IGoSettings} message GoSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GoSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.common != null && Object.hasOwnProperty.call(message, "common")) - $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.GoSettings - * @static - * @param {google.api.IGoSettings} message GoSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GoSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GoSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.GoSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.GoSettings} GoSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GoSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GoSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.GoSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.GoSettings} GoSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GoSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GoSettings message. - * @function verify - * @memberof google.api.GoSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GoSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); - if (error) - return "common." + error; - } - return null; - }; - - /** - * Creates a GoSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.GoSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.GoSettings} GoSettings - */ - GoSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.GoSettings) - return object; - var message = new $root.google.api.GoSettings(); - if (object.common != null) { - if (typeof object.common !== "object") - throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); - } - return message; - }; - - /** - * Creates a plain object from a GoSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.GoSettings - * @static - * @param {google.api.GoSettings} message GoSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GoSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.common = null; - if (message.common != null && message.hasOwnProperty("common")) - object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); - return object; - }; - - /** - * Converts this GoSettings to JSON. - * @function toJSON - * @memberof google.api.GoSettings - * @instance - * @returns {Object.} JSON object - */ - GoSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for GoSettings - * @function getTypeUrl - * @memberof google.api.GoSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - GoSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.GoSettings"; - }; - - return GoSettings; - })(); - - api.MethodSettings = (function() { - - /** - * Properties of a MethodSettings. - * @memberof google.api - * @interface IMethodSettings - * @property {string|null} [selector] MethodSettings selector - * @property {google.api.MethodSettings.ILongRunning|null} [longRunning] MethodSettings longRunning - * @property {Array.|null} [autoPopulatedFields] MethodSettings autoPopulatedFields - */ - - /** - * Constructs a new MethodSettings. - * @memberof google.api - * @classdesc Represents a MethodSettings. - * @implements IMethodSettings - * @constructor - * @param {google.api.IMethodSettings=} [properties] Properties to set - */ - function MethodSettings(properties) { - this.autoPopulatedFields = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MethodSettings selector. - * @member {string} selector - * @memberof google.api.MethodSettings - * @instance - */ - MethodSettings.prototype.selector = ""; - - /** - * MethodSettings longRunning. - * @member {google.api.MethodSettings.ILongRunning|null|undefined} longRunning - * @memberof google.api.MethodSettings - * @instance - */ - MethodSettings.prototype.longRunning = null; - - /** - * MethodSettings autoPopulatedFields. - * @member {Array.} autoPopulatedFields - * @memberof google.api.MethodSettings - * @instance - */ - MethodSettings.prototype.autoPopulatedFields = $util.emptyArray; - - /** - * Creates a new MethodSettings instance using the specified properties. - * @function create - * @memberof google.api.MethodSettings - * @static - * @param {google.api.IMethodSettings=} [properties] Properties to set - * @returns {google.api.MethodSettings} MethodSettings instance - */ - MethodSettings.create = function create(properties) { - return new MethodSettings(properties); - }; - - /** - * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. - * @function encode - * @memberof google.api.MethodSettings - * @static - * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodSettings.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); - if (message.longRunning != null && Object.hasOwnProperty.call(message, "longRunning")) - $root.google.api.MethodSettings.LongRunning.encode(message.longRunning, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.autoPopulatedFields != null && message.autoPopulatedFields.length) - for (var i = 0; i < message.autoPopulatedFields.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.autoPopulatedFields[i]); - return writer; - }; - - /** - * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.MethodSettings - * @static - * @param {google.api.IMethodSettings} message MethodSettings message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodSettings.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MethodSettings message from the specified reader or buffer. - * @function decode - * @memberof google.api.MethodSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.MethodSettings} MethodSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodSettings.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.selector = reader.string(); - break; - } - case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); - break; - } - case 3: { - if (!(message.autoPopulatedFields && message.autoPopulatedFields.length)) - message.autoPopulatedFields = []; - message.autoPopulatedFields.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MethodSettings message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.MethodSettings - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.MethodSettings} MethodSettings - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodSettings.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MethodSettings message. - * @function verify - * @memberof google.api.MethodSettings - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MethodSettings.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.selector != null && message.hasOwnProperty("selector")) - if (!$util.isString(message.selector)) - return "selector: string expected"; - if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); - if (error) - return "longRunning." + error; - } - if (message.autoPopulatedFields != null && message.hasOwnProperty("autoPopulatedFields")) { - if (!Array.isArray(message.autoPopulatedFields)) - return "autoPopulatedFields: array expected"; - for (var i = 0; i < message.autoPopulatedFields.length; ++i) - if (!$util.isString(message.autoPopulatedFields[i])) - return "autoPopulatedFields: string[] expected"; - } - return null; - }; - - /** - * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.MethodSettings - * @static - * @param {Object.} object Plain object - * @returns {google.api.MethodSettings} MethodSettings - */ - MethodSettings.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.MethodSettings) - return object; - var message = new $root.google.api.MethodSettings(); - if (object.selector != null) - message.selector = String(object.selector); - if (object.longRunning != null) { - if (typeof object.longRunning !== "object") - throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); - } - if (object.autoPopulatedFields) { - if (!Array.isArray(object.autoPopulatedFields)) - throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected"); - message.autoPopulatedFields = []; - for (var i = 0; i < object.autoPopulatedFields.length; ++i) - message.autoPopulatedFields[i] = String(object.autoPopulatedFields[i]); - } - return message; - }; - - /** - * Creates a plain object from a MethodSettings message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.MethodSettings - * @static - * @param {google.api.MethodSettings} message MethodSettings - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MethodSettings.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.autoPopulatedFields = []; - if (options.defaults) { - object.selector = ""; - object.longRunning = null; - } - if (message.selector != null && message.hasOwnProperty("selector")) - object.selector = message.selector; - if (message.longRunning != null && message.hasOwnProperty("longRunning")) - object.longRunning = $root.google.api.MethodSettings.LongRunning.toObject(message.longRunning, options); - if (message.autoPopulatedFields && message.autoPopulatedFields.length) { - object.autoPopulatedFields = []; - for (var j = 0; j < message.autoPopulatedFields.length; ++j) - object.autoPopulatedFields[j] = message.autoPopulatedFields[j]; - } - return object; - }; - - /** - * Converts this MethodSettings to JSON. - * @function toJSON - * @memberof google.api.MethodSettings - * @instance - * @returns {Object.} JSON object - */ - MethodSettings.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for MethodSettings - * @function getTypeUrl - * @memberof google.api.MethodSettings - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - MethodSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.MethodSettings"; - }; - - MethodSettings.LongRunning = (function() { - - /** - * Properties of a LongRunning. - * @memberof google.api.MethodSettings - * @interface ILongRunning - * @property {google.protobuf.IDuration|null} [initialPollDelay] LongRunning initialPollDelay - * @property {number|null} [pollDelayMultiplier] LongRunning pollDelayMultiplier - * @property {google.protobuf.IDuration|null} [maxPollDelay] LongRunning maxPollDelay - * @property {google.protobuf.IDuration|null} [totalPollTimeout] LongRunning totalPollTimeout - */ - - /** - * Constructs a new LongRunning. - * @memberof google.api.MethodSettings - * @classdesc Represents a LongRunning. - * @implements ILongRunning - * @constructor - * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set - */ - function LongRunning(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LongRunning initialPollDelay. - * @member {google.protobuf.IDuration|null|undefined} initialPollDelay - * @memberof google.api.MethodSettings.LongRunning - * @instance - */ - LongRunning.prototype.initialPollDelay = null; - - /** - * LongRunning pollDelayMultiplier. - * @member {number} pollDelayMultiplier - * @memberof google.api.MethodSettings.LongRunning - * @instance - */ - LongRunning.prototype.pollDelayMultiplier = 0; - - /** - * LongRunning maxPollDelay. - * @member {google.protobuf.IDuration|null|undefined} maxPollDelay - * @memberof google.api.MethodSettings.LongRunning - * @instance - */ - LongRunning.prototype.maxPollDelay = null; - - /** - * LongRunning totalPollTimeout. - * @member {google.protobuf.IDuration|null|undefined} totalPollTimeout - * @memberof google.api.MethodSettings.LongRunning - * @instance - */ - LongRunning.prototype.totalPollTimeout = null; - - /** - * Creates a new LongRunning instance using the specified properties. - * @function create - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {google.api.MethodSettings.ILongRunning=} [properties] Properties to set - * @returns {google.api.MethodSettings.LongRunning} LongRunning instance - */ - LongRunning.create = function create(properties) { - return new LongRunning(properties); - }; - - /** - * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. - * @function encode - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LongRunning.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.initialPollDelay != null && Object.hasOwnProperty.call(message, "initialPollDelay")) - $root.google.protobuf.Duration.encode(message.initialPollDelay, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pollDelayMultiplier != null && Object.hasOwnProperty.call(message, "pollDelayMultiplier")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.pollDelayMultiplier); - if (message.maxPollDelay != null && Object.hasOwnProperty.call(message, "maxPollDelay")) - $root.google.protobuf.Duration.encode(message.maxPollDelay, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.totalPollTimeout != null && Object.hasOwnProperty.call(message, "totalPollTimeout")) - $root.google.protobuf.Duration.encode(message.totalPollTimeout, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {google.api.MethodSettings.ILongRunning} message LongRunning message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LongRunning.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LongRunning message from the specified reader or buffer. - * @function decode - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.MethodSettings.LongRunning} LongRunning - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LongRunning.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - } - case 2: { - message.pollDelayMultiplier = reader.float(); - break; - } - case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - } - case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LongRunning message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.MethodSettings.LongRunning} LongRunning - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LongRunning.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LongRunning message. - * @function verify - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LongRunning.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); - if (error) - return "initialPollDelay." + error; - } - if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier")) - if (typeof message.pollDelayMultiplier !== "number") - return "pollDelayMultiplier: number expected"; - if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); - if (error) - return "maxPollDelay." + error; - } - if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); - if (error) - return "totalPollTimeout." + error; - } - return null; - }; - - /** - * Creates a LongRunning message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {Object.} object Plain object - * @returns {google.api.MethodSettings.LongRunning} LongRunning - */ - LongRunning.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.MethodSettings.LongRunning) - return object; - var message = new $root.google.api.MethodSettings.LongRunning(); - if (object.initialPollDelay != null) { - if (typeof object.initialPollDelay !== "object") - throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); - } - if (object.pollDelayMultiplier != null) - message.pollDelayMultiplier = Number(object.pollDelayMultiplier); - if (object.maxPollDelay != null) { - if (typeof object.maxPollDelay !== "object") - throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); - } - if (object.totalPollTimeout != null) { - if (typeof object.totalPollTimeout !== "object") - throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); - } - return message; - }; - - /** - * Creates a plain object from a LongRunning message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {google.api.MethodSettings.LongRunning} message LongRunning - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LongRunning.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.initialPollDelay = null; - object.pollDelayMultiplier = 0; - object.maxPollDelay = null; - object.totalPollTimeout = null; - } - if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) - object.initialPollDelay = $root.google.protobuf.Duration.toObject(message.initialPollDelay, options); - if (message.pollDelayMultiplier != null && message.hasOwnProperty("pollDelayMultiplier")) - object.pollDelayMultiplier = options.json && !isFinite(message.pollDelayMultiplier) ? String(message.pollDelayMultiplier) : message.pollDelayMultiplier; - if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) - object.maxPollDelay = $root.google.protobuf.Duration.toObject(message.maxPollDelay, options); - if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) - object.totalPollTimeout = $root.google.protobuf.Duration.toObject(message.totalPollTimeout, options); - return object; - }; - - /** - * Converts this LongRunning to JSON. - * @function toJSON - * @memberof google.api.MethodSettings.LongRunning - * @instance - * @returns {Object.} JSON object - */ - LongRunning.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for LongRunning - * @function getTypeUrl - * @memberof google.api.MethodSettings.LongRunning - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - LongRunning.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.MethodSettings.LongRunning"; - }; - - return LongRunning; - })(); - - return MethodSettings; - })(); - - /** - * ClientLibraryOrganization enum. - * @name google.api.ClientLibraryOrganization - * @enum {number} - * @property {number} CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED=0 CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED value - * @property {number} CLOUD=1 CLOUD value - * @property {number} ADS=2 ADS value - * @property {number} PHOTOS=3 PHOTOS value - * @property {number} STREET_VIEW=4 STREET_VIEW value - * @property {number} SHOPPING=5 SHOPPING value - * @property {number} GEO=6 GEO value - * @property {number} GENERATIVE_AI=7 GENERATIVE_AI value - */ - api.ClientLibraryOrganization = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"] = 0; - values[valuesById[1] = "CLOUD"] = 1; - values[valuesById[2] = "ADS"] = 2; - values[valuesById[3] = "PHOTOS"] = 3; - values[valuesById[4] = "STREET_VIEW"] = 4; - values[valuesById[5] = "SHOPPING"] = 5; - values[valuesById[6] = "GEO"] = 6; - values[valuesById[7] = "GENERATIVE_AI"] = 7; - return values; - })(); - - /** - * ClientLibraryDestination enum. - * @name google.api.ClientLibraryDestination - * @enum {number} - * @property {number} CLIENT_LIBRARY_DESTINATION_UNSPECIFIED=0 CLIENT_LIBRARY_DESTINATION_UNSPECIFIED value - * @property {number} GITHUB=10 GITHUB value - * @property {number} PACKAGE_MANAGER=20 PACKAGE_MANAGER value - */ - api.ClientLibraryDestination = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"] = 0; - values[valuesById[10] = "GITHUB"] = 10; - values[valuesById[20] = "PACKAGE_MANAGER"] = 20; - return values; - })(); - - /** - * LaunchStage enum. - * @name google.api.LaunchStage - * @enum {number} - * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value - * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value - * @property {number} PRELAUNCH=7 PRELAUNCH value - * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value - * @property {number} ALPHA=2 ALPHA value - * @property {number} BETA=3 BETA value - * @property {number} GA=4 GA value - * @property {number} DEPRECATED=5 DEPRECATED value - */ - api.LaunchStage = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; - values[valuesById[6] = "UNIMPLEMENTED"] = 6; - values[valuesById[7] = "PRELAUNCH"] = 7; - values[valuesById[1] = "EARLY_ACCESS"] = 1; - values[valuesById[2] = "ALPHA"] = 2; - values[valuesById[3] = "BETA"] = 3; - values[valuesById[4] = "GA"] = 4; - values[valuesById[5] = "DEPRECATED"] = 5; - return values; - })(); - - /** - * FieldBehavior enum. - * @name google.api.FieldBehavior - * @enum {number} - * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value - * @property {number} OPTIONAL=1 OPTIONAL value - * @property {number} REQUIRED=2 REQUIRED value - * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value - * @property {number} INPUT_ONLY=4 INPUT_ONLY value - * @property {number} IMMUTABLE=5 IMMUTABLE value - * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value - * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value - * @property {number} IDENTIFIER=8 IDENTIFIER value - */ - api.FieldBehavior = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; - values[valuesById[1] = "OPTIONAL"] = 1; - values[valuesById[2] = "REQUIRED"] = 2; - values[valuesById[3] = "OUTPUT_ONLY"] = 3; - values[valuesById[4] = "INPUT_ONLY"] = 4; - values[valuesById[5] = "IMMUTABLE"] = 5; - values[valuesById[6] = "UNORDERED_LIST"] = 6; - values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; - values[valuesById[8] = "IDENTIFIER"] = 8; - return values; - })(); - - api.ResourceDescriptor = (function() { - - /** - * Properties of a ResourceDescriptor. - * @memberof google.api - * @interface IResourceDescriptor - * @property {string|null} [type] ResourceDescriptor type - * @property {Array.|null} [pattern] ResourceDescriptor pattern - * @property {string|null} [nameField] ResourceDescriptor nameField - * @property {google.api.ResourceDescriptor.History|null} [history] ResourceDescriptor history - * @property {string|null} [plural] ResourceDescriptor plural - * @property {string|null} [singular] ResourceDescriptor singular - * @property {Array.|null} [style] ResourceDescriptor style - */ - - /** - * Constructs a new ResourceDescriptor. - * @memberof google.api - * @classdesc Represents a ResourceDescriptor. - * @implements IResourceDescriptor - * @constructor - * @param {google.api.IResourceDescriptor=} [properties] Properties to set - */ - function ResourceDescriptor(properties) { - this.pattern = []; - this.style = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResourceDescriptor type. - * @member {string} type - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.type = ""; - - /** - * ResourceDescriptor pattern. - * @member {Array.} pattern - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.pattern = $util.emptyArray; - - /** - * ResourceDescriptor nameField. - * @member {string} nameField - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.nameField = ""; - - /** - * ResourceDescriptor history. - * @member {google.api.ResourceDescriptor.History} history - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.history = 0; - - /** - * ResourceDescriptor plural. - * @member {string} plural - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.plural = ""; - - /** - * ResourceDescriptor singular. - * @member {string} singular - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.singular = ""; - - /** - * ResourceDescriptor style. - * @member {Array.} style - * @memberof google.api.ResourceDescriptor - * @instance - */ - ResourceDescriptor.prototype.style = $util.emptyArray; - - /** - * Creates a new ResourceDescriptor instance using the specified properties. - * @function create - * @memberof google.api.ResourceDescriptor - * @static - * @param {google.api.IResourceDescriptor=} [properties] Properties to set - * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance - */ - ResourceDescriptor.create = function create(properties) { - return new ResourceDescriptor(properties); - }; - - /** - * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. - * @function encode - * @memberof google.api.ResourceDescriptor - * @static - * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResourceDescriptor.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.pattern != null && message.pattern.length) - for (var i = 0; i < message.pattern.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); - if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); - if (message.history != null && Object.hasOwnProperty.call(message, "history")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); - if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); - if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); - if (message.style != null && message.style.length) { - writer.uint32(/* id 10, wireType 2 =*/82).fork(); - for (var i = 0; i < message.style.length; ++i) - writer.int32(message.style[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.ResourceDescriptor - * @static - * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResourceDescriptor message from the specified reader or buffer. - * @function decode - * @memberof google.api.ResourceDescriptor - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.ResourceDescriptor} ResourceDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResourceDescriptor.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.type = reader.string(); - break; - } - case 2: { - if (!(message.pattern && message.pattern.length)) - message.pattern = []; - message.pattern.push(reader.string()); - break; - } - case 3: { - message.nameField = reader.string(); - break; - } - case 4: { - message.history = reader.int32(); - break; - } - case 5: { - message.plural = reader.string(); - break; - } - case 6: { - message.singular = reader.string(); - break; - } - case 10: { - if (!(message.style && message.style.length)) - message.style = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.style.push(reader.int32()); - } else - message.style.push(reader.int32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.ResourceDescriptor - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.ResourceDescriptor} ResourceDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResourceDescriptor message. - * @function verify - * @memberof google.api.ResourceDescriptor - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResourceDescriptor.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.pattern != null && message.hasOwnProperty("pattern")) { - if (!Array.isArray(message.pattern)) - return "pattern: array expected"; - for (var i = 0; i < message.pattern.length; ++i) - if (!$util.isString(message.pattern[i])) - return "pattern: string[] expected"; - } - if (message.nameField != null && message.hasOwnProperty("nameField")) - if (!$util.isString(message.nameField)) - return "nameField: string expected"; - if (message.history != null && message.hasOwnProperty("history")) - switch (message.history) { - default: - return "history: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.plural != null && message.hasOwnProperty("plural")) - if (!$util.isString(message.plural)) - return "plural: string expected"; - if (message.singular != null && message.hasOwnProperty("singular")) - if (!$util.isString(message.singular)) - return "singular: string expected"; - if (message.style != null && message.hasOwnProperty("style")) { - if (!Array.isArray(message.style)) - return "style: array expected"; - for (var i = 0; i < message.style.length; ++i) - switch (message.style[i]) { - default: - return "style: enum value[] expected"; - case 0: - case 1: - break; - } - } - return null; - }; - - /** - * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.ResourceDescriptor - * @static - * @param {Object.} object Plain object - * @returns {google.api.ResourceDescriptor} ResourceDescriptor - */ - ResourceDescriptor.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.ResourceDescriptor) - return object; - var message = new $root.google.api.ResourceDescriptor(); - if (object.type != null) - message.type = String(object.type); - if (object.pattern) { - if (!Array.isArray(object.pattern)) - throw TypeError(".google.api.ResourceDescriptor.pattern: array expected"); - message.pattern = []; - for (var i = 0; i < object.pattern.length; ++i) - message.pattern[i] = String(object.pattern[i]); - } - if (object.nameField != null) - message.nameField = String(object.nameField); - switch (object.history) { - default: - if (typeof object.history === "number") { - message.history = object.history; - break; - } - break; - case "HISTORY_UNSPECIFIED": - case 0: - message.history = 0; - break; - case "ORIGINALLY_SINGLE_PATTERN": - case 1: - message.history = 1; - break; - case "FUTURE_MULTI_PATTERN": - case 2: - message.history = 2; - break; - } - if (object.plural != null) - message.plural = String(object.plural); - if (object.singular != null) - message.singular = String(object.singular); - if (object.style) { - if (!Array.isArray(object.style)) - throw TypeError(".google.api.ResourceDescriptor.style: array expected"); - message.style = []; - for (var i = 0; i < object.style.length; ++i) - switch (object.style[i]) { - default: - if (typeof object.style[i] === "number") { - message.style[i] = object.style[i]; - break; - } - case "STYLE_UNSPECIFIED": - case 0: - message.style[i] = 0; - break; - case "DECLARATIVE_FRIENDLY": - case 1: - message.style[i] = 1; - break; - } - } - return message; - }; - - /** - * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.ResourceDescriptor - * @static - * @param {google.api.ResourceDescriptor} message ResourceDescriptor - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResourceDescriptor.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.pattern = []; - object.style = []; - } - if (options.defaults) { - object.type = ""; - object.nameField = ""; - object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; - object.plural = ""; - object.singular = ""; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.pattern && message.pattern.length) { - object.pattern = []; - for (var j = 0; j < message.pattern.length; ++j) - object.pattern[j] = message.pattern[j]; - } - if (message.nameField != null && message.hasOwnProperty("nameField")) - object.nameField = message.nameField; - if (message.history != null && message.hasOwnProperty("history")) - object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history; - if (message.plural != null && message.hasOwnProperty("plural")) - object.plural = message.plural; - if (message.singular != null && message.hasOwnProperty("singular")) - object.singular = message.singular; - if (message.style && message.style.length) { - object.style = []; - for (var j = 0; j < message.style.length; ++j) - object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; - } - return object; - }; - - /** - * Converts this ResourceDescriptor to JSON. - * @function toJSON - * @memberof google.api.ResourceDescriptor - * @instance - * @returns {Object.} JSON object - */ - ResourceDescriptor.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ResourceDescriptor - * @function getTypeUrl - * @memberof google.api.ResourceDescriptor - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.ResourceDescriptor"; - }; - - /** - * History enum. - * @name google.api.ResourceDescriptor.History - * @enum {number} - * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value - * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value - * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value - */ - ResourceDescriptor.History = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0; - values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1; - values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2; - return values; - })(); - - /** - * Style enum. - * @name google.api.ResourceDescriptor.Style - * @enum {number} - * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value - * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value - */ - ResourceDescriptor.Style = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0; - values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1; - return values; - })(); - - return ResourceDescriptor; - })(); - - api.ResourceReference = (function() { - - /** - * Properties of a ResourceReference. - * @memberof google.api - * @interface IResourceReference - * @property {string|null} [type] ResourceReference type - * @property {string|null} [childType] ResourceReference childType - */ - - /** - * Constructs a new ResourceReference. - * @memberof google.api - * @classdesc Represents a ResourceReference. - * @implements IResourceReference - * @constructor - * @param {google.api.IResourceReference=} [properties] Properties to set - */ - function ResourceReference(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResourceReference type. - * @member {string} type - * @memberof google.api.ResourceReference - * @instance - */ - ResourceReference.prototype.type = ""; - - /** - * ResourceReference childType. - * @member {string} childType - * @memberof google.api.ResourceReference - * @instance - */ - ResourceReference.prototype.childType = ""; - - /** - * Creates a new ResourceReference instance using the specified properties. - * @function create - * @memberof google.api.ResourceReference - * @static - * @param {google.api.IResourceReference=} [properties] Properties to set - * @returns {google.api.ResourceReference} ResourceReference instance - */ - ResourceReference.create = function create(properties) { - return new ResourceReference(properties); - }; - - /** - * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. - * @function encode - * @memberof google.api.ResourceReference - * @static - * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResourceReference.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); - return writer; - }; - - /** - * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. - * @function encodeDelimited - * @memberof google.api.ResourceReference - * @static - * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResourceReference.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResourceReference message from the specified reader or buffer. - * @function decode - * @memberof google.api.ResourceReference - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.api.ResourceReference} ResourceReference - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResourceReference.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.type = reader.string(); - break; - } - case 2: { - message.childType = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResourceReference message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.api.ResourceReference - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.api.ResourceReference} ResourceReference - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResourceReference.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResourceReference message. - * @function verify - * @memberof google.api.ResourceReference - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResourceReference.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.childType != null && message.hasOwnProperty("childType")) - if (!$util.isString(message.childType)) - return "childType: string expected"; - return null; - }; - - /** - * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.api.ResourceReference - * @static - * @param {Object.} object Plain object - * @returns {google.api.ResourceReference} ResourceReference - */ - ResourceReference.fromObject = function fromObject(object) { - if (object instanceof $root.google.api.ResourceReference) - return object; - var message = new $root.google.api.ResourceReference(); - if (object.type != null) - message.type = String(object.type); - if (object.childType != null) - message.childType = String(object.childType); - return message; - }; - - /** - * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. - * @function toObject - * @memberof google.api.ResourceReference - * @static - * @param {google.api.ResourceReference} message ResourceReference - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResourceReference.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = ""; - object.childType = ""; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.childType != null && message.hasOwnProperty("childType")) - object.childType = message.childType; - return object; - }; - - /** - * Converts this ResourceReference to JSON. - * @function toJSON - * @memberof google.api.ResourceReference - * @instance - * @returns {Object.} JSON object - */ - ResourceReference.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ResourceReference - * @function getTypeUrl - * @memberof google.api.ResourceReference - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.api.ResourceReference"; - }; - - return ResourceReference; - })(); - - return api; - })(); - - google.protobuf = (function() { - - /** - * Namespace protobuf. - * @memberof google - * @namespace - */ - var protobuf = {}; - - protobuf.FileDescriptorSet = (function() { - - /** - * Properties of a FileDescriptorSet. - * @memberof google.protobuf - * @interface IFileDescriptorSet - * @property {Array.|null} [file] FileDescriptorSet file - */ - - /** - * Constructs a new FileDescriptorSet. - * @memberof google.protobuf - * @classdesc Represents a FileDescriptorSet. - * @implements IFileDescriptorSet - * @constructor - * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set - */ - function FileDescriptorSet(properties) { - this.file = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FileDescriptorSet file. - * @member {Array.} file - * @memberof google.protobuf.FileDescriptorSet - * @instance - */ - FileDescriptorSet.prototype.file = $util.emptyArray; - - /** - * Creates a new FileDescriptorSet instance using the specified properties. - * @function create - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance - */ - FileDescriptorSet.create = function create(properties) { - return new FileDescriptorSet(properties); - }; - - /** - * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileDescriptorSet.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.file != null && message.file.length) - for (var i = 0; i < message.file.length; ++i) - $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FileDescriptorSet message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileDescriptorSet.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.file && message.file.length)) - message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FileDescriptorSet message. - * @function verify - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FileDescriptorSet.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.file != null && message.hasOwnProperty("file")) { - if (!Array.isArray(message.file)) - return "file: array expected"; - for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); - if (error) - return "file." + error; - } - } - return null; - }; - - /** - * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet - */ - FileDescriptorSet.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileDescriptorSet) - return object; - var message = new $root.google.protobuf.FileDescriptorSet(); - if (object.file) { - if (!Array.isArray(object.file)) - throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); - message.file = []; - for (var i = 0; i < object.file.length; ++i) { - if (typeof object.file[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FileDescriptorSet.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.file = []; - if (message.file && message.file.length) { - object.file = []; - for (var j = 0; j < message.file.length; ++j) - object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); - } - return object; - }; - - /** - * Converts this FileDescriptorSet to JSON. - * @function toJSON - * @memberof google.protobuf.FileDescriptorSet - * @instance - * @returns {Object.} JSON object - */ - FileDescriptorSet.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FileDescriptorSet - * @function getTypeUrl - * @memberof google.protobuf.FileDescriptorSet - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FileDescriptorSet"; - }; - - return FileDescriptorSet; - })(); - - /** - * Edition enum. - * @name google.protobuf.Edition - * @enum {number} - * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value - * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value - * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value - * @property {number} EDITION_2023=1000 EDITION_2023 value - * @property {number} EDITION_2024=1001 EDITION_2024 value - * @property {number} EDITION_1_TEST_ONLY=1 EDITION_1_TEST_ONLY value - * @property {number} EDITION_2_TEST_ONLY=2 EDITION_2_TEST_ONLY value - * @property {number} EDITION_99997_TEST_ONLY=99997 EDITION_99997_TEST_ONLY value - * @property {number} EDITION_99998_TEST_ONLY=99998 EDITION_99998_TEST_ONLY value - * @property {number} EDITION_99999_TEST_ONLY=99999 EDITION_99999_TEST_ONLY value - * @property {number} EDITION_MAX=2147483647 EDITION_MAX value - */ - protobuf.Edition = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "EDITION_UNKNOWN"] = 0; - values[valuesById[998] = "EDITION_PROTO2"] = 998; - values[valuesById[999] = "EDITION_PROTO3"] = 999; - values[valuesById[1000] = "EDITION_2023"] = 1000; - values[valuesById[1001] = "EDITION_2024"] = 1001; - values[valuesById[1] = "EDITION_1_TEST_ONLY"] = 1; - values[valuesById[2] = "EDITION_2_TEST_ONLY"] = 2; - values[valuesById[99997] = "EDITION_99997_TEST_ONLY"] = 99997; - values[valuesById[99998] = "EDITION_99998_TEST_ONLY"] = 99998; - values[valuesById[99999] = "EDITION_99999_TEST_ONLY"] = 99999; - values[valuesById[2147483647] = "EDITION_MAX"] = 2147483647; - return values; - })(); - - protobuf.FileDescriptorProto = (function() { - - /** - * Properties of a FileDescriptorProto. - * @memberof google.protobuf - * @interface IFileDescriptorProto - * @property {string|null} [name] FileDescriptorProto name - * @property {string|null} ["package"] FileDescriptorProto package - * @property {Array.|null} [dependency] FileDescriptorProto dependency - * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency - * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency - * @property {Array.|null} [messageType] FileDescriptorProto messageType - * @property {Array.|null} [enumType] FileDescriptorProto enumType - * @property {Array.|null} [service] FileDescriptorProto service - * @property {Array.|null} [extension] FileDescriptorProto extension - * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options - * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo - * @property {string|null} [syntax] FileDescriptorProto syntax - * @property {google.protobuf.Edition|null} [edition] FileDescriptorProto edition - */ - - /** - * Constructs a new FileDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a FileDescriptorProto. - * @implements IFileDescriptorProto - * @constructor - * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set - */ - function FileDescriptorProto(properties) { - this.dependency = []; - this.publicDependency = []; - this.weakDependency = []; - this.messageType = []; - this.enumType = []; - this.service = []; - this.extension = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FileDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.name = ""; - - /** - * FileDescriptorProto package. - * @member {string} package - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype["package"] = ""; - - /** - * FileDescriptorProto dependency. - * @member {Array.} dependency - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.dependency = $util.emptyArray; - - /** - * FileDescriptorProto publicDependency. - * @member {Array.} publicDependency - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.publicDependency = $util.emptyArray; - - /** - * FileDescriptorProto weakDependency. - * @member {Array.} weakDependency - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.weakDependency = $util.emptyArray; - - /** - * FileDescriptorProto messageType. - * @member {Array.} messageType - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.messageType = $util.emptyArray; - - /** - * FileDescriptorProto enumType. - * @member {Array.} enumType - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.enumType = $util.emptyArray; - - /** - * FileDescriptorProto service. - * @member {Array.} service - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.service = $util.emptyArray; - - /** - * FileDescriptorProto extension. - * @member {Array.} extension - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.extension = $util.emptyArray; - - /** - * FileDescriptorProto options. - * @member {google.protobuf.IFileOptions|null|undefined} options - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.options = null; - - /** - * FileDescriptorProto sourceCodeInfo. - * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.sourceCodeInfo = null; - - /** - * FileDescriptorProto syntax. - * @member {string} syntax - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.syntax = ""; - - /** - * FileDescriptorProto edition. - * @member {google.protobuf.Edition} edition - * @memberof google.protobuf.FileDescriptorProto - * @instance - */ - FileDescriptorProto.prototype.edition = 0; - - /** - * Creates a new FileDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance - */ - FileDescriptorProto.create = function create(properties) { - return new FileDescriptorProto(properties); - }; - - /** - * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); - if (message.dependency != null && message.dependency.length) - for (var i = 0; i < message.dependency.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); - if (message.messageType != null && message.messageType.length) - for (var i = 0; i < message.messageType.length; ++i) - $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.enumType != null && message.enumType.length) - for (var i = 0; i < message.enumType.length; ++i) - $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.service != null && message.service.length) - for (var i = 0; i < message.service.length; ++i) - $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.extension != null && message.extension.length) - for (var i = 0; i < message.extension.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) - $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.publicDependency != null && message.publicDependency.length) - for (var i = 0; i < message.publicDependency.length; ++i) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); - if (message.weakDependency != null && message.weakDependency.length) - for (var i = 0; i < message.weakDependency.length; ++i) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); - if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); - if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition); - return writer; - }; - - /** - * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FileDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message["package"] = reader.string(); - break; - } - case 3: { - if (!(message.dependency && message.dependency.length)) - message.dependency = []; - message.dependency.push(reader.string()); - break; - } - case 10: { - if (!(message.publicDependency && message.publicDependency.length)) - message.publicDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.publicDependency.push(reader.int32()); - } else - message.publicDependency.push(reader.int32()); - break; - } - case 11: { - if (!(message.weakDependency && message.weakDependency.length)) - message.weakDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.weakDependency.push(reader.int32()); - } else - message.weakDependency.push(reader.int32()); - break; - } - case 4: { - if (!(message.messageType && message.messageType.length)) - message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - } - case 5: { - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 6: { - if (!(message.service && message.service.length)) - message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 7: { - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); - break; - } - case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); - break; - } - case 12: { - message.syntax = reader.string(); - break; - } - case 14: { - message.edition = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FileDescriptorProto message. - * @function verify - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FileDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message["package"] != null && message.hasOwnProperty("package")) - if (!$util.isString(message["package"])) - return "package: string expected"; - if (message.dependency != null && message.hasOwnProperty("dependency")) { - if (!Array.isArray(message.dependency)) - return "dependency: array expected"; - for (var i = 0; i < message.dependency.length; ++i) - if (!$util.isString(message.dependency[i])) - return "dependency: string[] expected"; - } - if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { - if (!Array.isArray(message.publicDependency)) - return "publicDependency: array expected"; - for (var i = 0; i < message.publicDependency.length; ++i) - if (!$util.isInteger(message.publicDependency[i])) - return "publicDependency: integer[] expected"; - } - if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { - if (!Array.isArray(message.weakDependency)) - return "weakDependency: array expected"; - for (var i = 0; i < message.weakDependency.length; ++i) - if (!$util.isInteger(message.weakDependency[i])) - return "weakDependency: integer[] expected"; - } - if (message.messageType != null && message.hasOwnProperty("messageType")) { - if (!Array.isArray(message.messageType)) - return "messageType: array expected"; - for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); - if (error) - return "messageType." + error; - } - } - if (message.enumType != null && message.hasOwnProperty("enumType")) { - if (!Array.isArray(message.enumType)) - return "enumType: array expected"; - for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); - if (error) - return "enumType." + error; - } - } - if (message.service != null && message.hasOwnProperty("service")) { - if (!Array.isArray(message.service)) - return "service: array expected"; - for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); - if (error) - return "service." + error; - } - } - if (message.extension != null && message.hasOwnProperty("extension")) { - if (!Array.isArray(message.extension)) - return "extension: array expected"; - for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); - if (error) - return "extension." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); - if (error) - return "sourceCodeInfo." + error; - } - if (message.syntax != null && message.hasOwnProperty("syntax")) - if (!$util.isString(message.syntax)) - return "syntax: string expected"; - if (message.edition != null && message.hasOwnProperty("edition")) - switch (message.edition) { - default: - return "edition: enum value expected"; - case 0: - case 998: - case 999: - case 1000: - case 1001: - case 1: - case 2: - case 99997: - case 99998: - case 99999: - case 2147483647: - break; - } - return null; - }; - - /** - * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto - */ - FileDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileDescriptorProto) - return object; - var message = new $root.google.protobuf.FileDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object["package"] != null) - message["package"] = String(object["package"]); - if (object.dependency) { - if (!Array.isArray(object.dependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); - message.dependency = []; - for (var i = 0; i < object.dependency.length; ++i) - message.dependency[i] = String(object.dependency[i]); - } - if (object.publicDependency) { - if (!Array.isArray(object.publicDependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); - message.publicDependency = []; - for (var i = 0; i < object.publicDependency.length; ++i) - message.publicDependency[i] = object.publicDependency[i] | 0; - } - if (object.weakDependency) { - if (!Array.isArray(object.weakDependency)) - throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); - message.weakDependency = []; - for (var i = 0; i < object.weakDependency.length; ++i) - message.weakDependency[i] = object.weakDependency[i] | 0; - } - if (object.messageType) { - if (!Array.isArray(object.messageType)) - throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); - message.messageType = []; - for (var i = 0; i < object.messageType.length; ++i) { - if (typeof object.messageType[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); - } - } - if (object.enumType) { - if (!Array.isArray(object.enumType)) - throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); - message.enumType = []; - for (var i = 0; i < object.enumType.length; ++i) { - if (typeof object.enumType[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); - } - } - if (object.service) { - if (!Array.isArray(object.service)) - throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); - message.service = []; - for (var i = 0; i < object.service.length; ++i) { - if (typeof object.service[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); - } - } - if (object.extension) { - if (!Array.isArray(object.extension)) - throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); - message.extension = []; - for (var i = 0; i < object.extension.length; ++i) { - if (typeof object.extension[i] !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); - } - if (object.sourceCodeInfo != null) { - if (typeof object.sourceCodeInfo !== "object") - throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); - } - if (object.syntax != null) - message.syntax = String(object.syntax); - switch (object.edition) { - default: - if (typeof object.edition === "number") { - message.edition = object.edition; - break; - } - break; - case "EDITION_UNKNOWN": - case 0: - message.edition = 0; - break; - case "EDITION_PROTO2": - case 998: - message.edition = 998; - break; - case "EDITION_PROTO3": - case 999: - message.edition = 999; - break; - case "EDITION_2023": - case 1000: - message.edition = 1000; - break; - case "EDITION_2024": - case 1001: - message.edition = 1001; - break; - case "EDITION_1_TEST_ONLY": - case 1: - message.edition = 1; - break; - case "EDITION_2_TEST_ONLY": - case 2: - message.edition = 2; - break; - case "EDITION_99997_TEST_ONLY": - case 99997: - message.edition = 99997; - break; - case "EDITION_99998_TEST_ONLY": - case 99998: - message.edition = 99998; - break; - case "EDITION_99999_TEST_ONLY": - case 99999: - message.edition = 99999; - break; - case "EDITION_MAX": - case 2147483647: - message.edition = 2147483647; - break; - } - return message; - }; - - /** - * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FileDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.dependency = []; - object.messageType = []; - object.enumType = []; - object.service = []; - object.extension = []; - object.publicDependency = []; - object.weakDependency = []; - } - if (options.defaults) { - object.name = ""; - object["package"] = ""; - object.options = null; - object.sourceCodeInfo = null; - object.syntax = ""; - object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message["package"] != null && message.hasOwnProperty("package")) - object["package"] = message["package"]; - if (message.dependency && message.dependency.length) { - object.dependency = []; - for (var j = 0; j < message.dependency.length; ++j) - object.dependency[j] = message.dependency[j]; - } - if (message.messageType && message.messageType.length) { - object.messageType = []; - for (var j = 0; j < message.messageType.length; ++j) - object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); - } - if (message.enumType && message.enumType.length) { - object.enumType = []; - for (var j = 0; j < message.enumType.length; ++j) - object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); - } - if (message.service && message.service.length) { - object.service = []; - for (var j = 0; j < message.service.length; ++j) - object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); - } - if (message.extension && message.extension.length) { - object.extension = []; - for (var j = 0; j < message.extension.length; ++j) - object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) - object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); - if (message.publicDependency && message.publicDependency.length) { - object.publicDependency = []; - for (var j = 0; j < message.publicDependency.length; ++j) - object.publicDependency[j] = message.publicDependency[j]; - } - if (message.weakDependency && message.weakDependency.length) { - object.weakDependency = []; - for (var j = 0; j < message.weakDependency.length; ++j) - object.weakDependency[j] = message.weakDependency[j]; - } - if (message.syntax != null && message.hasOwnProperty("syntax")) - object.syntax = message.syntax; - if (message.edition != null && message.hasOwnProperty("edition")) - object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; - return object; - }; - - /** - * Converts this FileDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.FileDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - FileDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FileDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.FileDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FileDescriptorProto"; - }; - - return FileDescriptorProto; - })(); - - protobuf.DescriptorProto = (function() { - - /** - * Properties of a DescriptorProto. - * @memberof google.protobuf - * @interface IDescriptorProto - * @property {string|null} [name] DescriptorProto name - * @property {Array.|null} [field] DescriptorProto field - * @property {Array.|null} [extension] DescriptorProto extension - * @property {Array.|null} [nestedType] DescriptorProto nestedType - * @property {Array.|null} [enumType] DescriptorProto enumType - * @property {Array.|null} [extensionRange] DescriptorProto extensionRange - * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl - * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options - * @property {Array.|null} [reservedRange] DescriptorProto reservedRange - * @property {Array.|null} [reservedName] DescriptorProto reservedName - */ - - /** - * Constructs a new DescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a DescriptorProto. - * @implements IDescriptorProto - * @constructor - * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set - */ - function DescriptorProto(properties) { - this.field = []; - this.extension = []; - this.nestedType = []; - this.enumType = []; - this.extensionRange = []; - this.oneofDecl = []; - this.reservedRange = []; - this.reservedName = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DescriptorProto name. - * @member {string} name - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.name = ""; - - /** - * DescriptorProto field. - * @member {Array.} field - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.field = $util.emptyArray; - - /** - * DescriptorProto extension. - * @member {Array.} extension - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.extension = $util.emptyArray; - - /** - * DescriptorProto nestedType. - * @member {Array.} nestedType - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.nestedType = $util.emptyArray; - - /** - * DescriptorProto enumType. - * @member {Array.} enumType - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.enumType = $util.emptyArray; - - /** - * DescriptorProto extensionRange. - * @member {Array.} extensionRange - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.extensionRange = $util.emptyArray; - - /** - * DescriptorProto oneofDecl. - * @member {Array.} oneofDecl - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.oneofDecl = $util.emptyArray; - - /** - * DescriptorProto options. - * @member {google.protobuf.IMessageOptions|null|undefined} options - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.options = null; - - /** - * DescriptorProto reservedRange. - * @member {Array.} reservedRange - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.reservedRange = $util.emptyArray; - - /** - * DescriptorProto reservedName. - * @member {Array.} reservedName - * @memberof google.protobuf.DescriptorProto - * @instance - */ - DescriptorProto.prototype.reservedName = $util.emptyArray; - - /** - * Creates a new DescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.DescriptorProto - * @static - * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto} DescriptorProto instance - */ - DescriptorProto.create = function create(properties) { - return new DescriptorProto(properties); - }; - - /** - * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.DescriptorProto - * @static - * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.field != null && message.field.length) - for (var i = 0; i < message.field.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.nestedType != null && message.nestedType.length) - for (var i = 0; i < message.nestedType.length; ++i) - $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.enumType != null && message.enumType.length) - for (var i = 0; i < message.enumType.length; ++i) - $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.extensionRange != null && message.extensionRange.length) - for (var i = 0; i < message.extensionRange.length; ++i) - $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.extension != null && message.extension.length) - for (var i = 0; i < message.extension.length; ++i) - $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.oneofDecl != null && message.oneofDecl.length) - for (var i = 0; i < message.oneofDecl.length; ++i) - $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.reservedRange != null && message.reservedRange.length) - for (var i = 0; i < message.reservedRange.length; ++i) - $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.reservedName != null && message.reservedName.length) - for (var i = 0; i < message.reservedName.length; ++i) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); - return writer; - }; - - /** - * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto - * @static - * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.DescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto} DescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - if (!(message.field && message.field.length)) - message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 6: { - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 3: { - if (!(message.nestedType && message.nestedType.length)) - message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - } - case 4: { - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 5: { - if (!(message.extensionRange && message.extensionRange.length)) - message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); - break; - } - case 8: { - if (!(message.oneofDecl && message.oneofDecl.length)) - message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); - break; - } - case 9: { - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); - break; - } - case 10: { - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto} DescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DescriptorProto message. - * @function verify - * @memberof google.protobuf.DescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.field != null && message.hasOwnProperty("field")) { - if (!Array.isArray(message.field)) - return "field: array expected"; - for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); - if (error) - return "field." + error; - } - } - if (message.extension != null && message.hasOwnProperty("extension")) { - if (!Array.isArray(message.extension)) - return "extension: array expected"; - for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); - if (error) - return "extension." + error; - } - } - if (message.nestedType != null && message.hasOwnProperty("nestedType")) { - if (!Array.isArray(message.nestedType)) - return "nestedType: array expected"; - for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); - if (error) - return "nestedType." + error; - } - } - if (message.enumType != null && message.hasOwnProperty("enumType")) { - if (!Array.isArray(message.enumType)) - return "enumType: array expected"; - for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); - if (error) - return "enumType." + error; - } - } - if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { - if (!Array.isArray(message.extensionRange)) - return "extensionRange: array expected"; - for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); - if (error) - return "extensionRange." + error; - } - } - if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { - if (!Array.isArray(message.oneofDecl)) - return "oneofDecl: array expected"; - for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); - if (error) - return "oneofDecl." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { - if (!Array.isArray(message.reservedRange)) - return "reservedRange: array expected"; - for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); - if (error) - return "reservedRange." + error; - } - } - if (message.reservedName != null && message.hasOwnProperty("reservedName")) { - if (!Array.isArray(message.reservedName)) - return "reservedName: array expected"; - for (var i = 0; i < message.reservedName.length; ++i) - if (!$util.isString(message.reservedName[i])) - return "reservedName: string[] expected"; - } - return null; - }; - - /** - * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.DescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto} DescriptorProto - */ - DescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto) - return object; - var message = new $root.google.protobuf.DescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.field) { - if (!Array.isArray(object.field)) - throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); - message.field = []; - for (var i = 0; i < object.field.length; ++i) { - if (typeof object.field[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); - } - } - if (object.extension) { - if (!Array.isArray(object.extension)) - throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); - message.extension = []; - for (var i = 0; i < object.extension.length; ++i) { - if (typeof object.extension[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); - } - } - if (object.nestedType) { - if (!Array.isArray(object.nestedType)) - throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); - message.nestedType = []; - for (var i = 0; i < object.nestedType.length; ++i) { - if (typeof object.nestedType[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); - } - } - if (object.enumType) { - if (!Array.isArray(object.enumType)) - throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); - message.enumType = []; - for (var i = 0; i < object.enumType.length; ++i) { - if (typeof object.enumType[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); - } - } - if (object.extensionRange) { - if (!Array.isArray(object.extensionRange)) - throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); - message.extensionRange = []; - for (var i = 0; i < object.extensionRange.length; ++i) { - if (typeof object.extensionRange[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); - } - } - if (object.oneofDecl) { - if (!Array.isArray(object.oneofDecl)) - throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); - message.oneofDecl = []; - for (var i = 0; i < object.oneofDecl.length; ++i) { - if (typeof object.oneofDecl[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); - } - if (object.reservedRange) { - if (!Array.isArray(object.reservedRange)) - throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); - message.reservedRange = []; - for (var i = 0; i < object.reservedRange.length; ++i) { - if (typeof object.reservedRange[i] !== "object") - throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); - } - } - if (object.reservedName) { - if (!Array.isArray(object.reservedName)) - throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); - message.reservedName = []; - for (var i = 0; i < object.reservedName.length; ++i) - message.reservedName[i] = String(object.reservedName[i]); - } - return message; - }; - - /** - * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.DescriptorProto - * @static - * @param {google.protobuf.DescriptorProto} message DescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.field = []; - object.nestedType = []; - object.enumType = []; - object.extensionRange = []; - object.extension = []; - object.oneofDecl = []; - object.reservedRange = []; - object.reservedName = []; - } - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.field && message.field.length) { - object.field = []; - for (var j = 0; j < message.field.length; ++j) - object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); - } - if (message.nestedType && message.nestedType.length) { - object.nestedType = []; - for (var j = 0; j < message.nestedType.length; ++j) - object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); - } - if (message.enumType && message.enumType.length) { - object.enumType = []; - for (var j = 0; j < message.enumType.length; ++j) - object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); - } - if (message.extensionRange && message.extensionRange.length) { - object.extensionRange = []; - for (var j = 0; j < message.extensionRange.length; ++j) - object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); - } - if (message.extension && message.extension.length) { - object.extension = []; - for (var j = 0; j < message.extension.length; ++j) - object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); - if (message.oneofDecl && message.oneofDecl.length) { - object.oneofDecl = []; - for (var j = 0; j < message.oneofDecl.length; ++j) - object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); - } - if (message.reservedRange && message.reservedRange.length) { - object.reservedRange = []; - for (var j = 0; j < message.reservedRange.length; ++j) - object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); - } - if (message.reservedName && message.reservedName.length) { - object.reservedName = []; - for (var j = 0; j < message.reservedName.length; ++j) - object.reservedName[j] = message.reservedName[j]; - } - return object; - }; - - /** - * Converts this DescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.DescriptorProto - * @instance - * @returns {Object.} JSON object - */ - DescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.DescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.DescriptorProto"; - }; - - DescriptorProto.ExtensionRange = (function() { - - /** - * Properties of an ExtensionRange. - * @memberof google.protobuf.DescriptorProto - * @interface IExtensionRange - * @property {number|null} [start] ExtensionRange start - * @property {number|null} [end] ExtensionRange end - * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options - */ - - /** - * Constructs a new ExtensionRange. - * @memberof google.protobuf.DescriptorProto - * @classdesc Represents an ExtensionRange. - * @implements IExtensionRange - * @constructor - * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set - */ - function ExtensionRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ExtensionRange start. - * @member {number} start - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.start = 0; - - /** - * ExtensionRange end. - * @member {number} end - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.end = 0; - - /** - * ExtensionRange options. - * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - */ - ExtensionRange.prototype.options = null; - - /** - * Creates a new ExtensionRange instance using the specified properties. - * @function create - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance - */ - ExtensionRange.create = function create(properties) { - return new ExtensionRange(properties); - }; - - /** - * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.start = reader.int32(); - break; - } - case 2: { - message.end = reader.int32(); - break; - } - case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ExtensionRange message. - * @function verify - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ExtensionRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); - if (error) - return "options." + error; - } - return null; - }; - - /** - * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange - */ - ExtensionRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) - return object; - var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); - } - return message; - }; - - /** - * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ExtensionRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - object.options = null; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); - return object; - }; - - /** - * Converts this ExtensionRange to JSON. - * @function toJSON - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @instance - * @returns {Object.} JSON object - */ - ExtensionRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ExtensionRange - * @function getTypeUrl - * @memberof google.protobuf.DescriptorProto.ExtensionRange - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange"; - }; - - return ExtensionRange; - })(); - - DescriptorProto.ReservedRange = (function() { - - /** - * Properties of a ReservedRange. - * @memberof google.protobuf.DescriptorProto - * @interface IReservedRange - * @property {number|null} [start] ReservedRange start - * @property {number|null} [end] ReservedRange end - */ - - /** - * Constructs a new ReservedRange. - * @memberof google.protobuf.DescriptorProto - * @classdesc Represents a ReservedRange. - * @implements IReservedRange - * @constructor - * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set - */ - function ReservedRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ReservedRange start. - * @member {number} start - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - */ - ReservedRange.prototype.start = 0; - - /** - * ReservedRange end. - * @member {number} end - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - */ - ReservedRange.prototype.end = 0; - - /** - * Creates a new ReservedRange instance using the specified properties. - * @function create - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance - */ - ReservedRange.create = function create(properties) { - return new ReservedRange(properties); - }; - - /** - * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReservedRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - return writer; - }; - - /** - * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ReservedRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReservedRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.start = reader.int32(); - break; - } - case 2: { - message.end = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ReservedRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ReservedRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ReservedRange message. - * @function verify - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ReservedRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - return null; - }; - - /** - * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange - */ - ReservedRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) - return object; - var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - return message; - }; - - /** - * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ReservedRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - return object; - }; - - /** - * Converts this ReservedRange to JSON. - * @function toJSON - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @instance - * @returns {Object.} JSON object - */ - ReservedRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ReservedRange - * @function getTypeUrl - * @memberof google.protobuf.DescriptorProto.ReservedRange - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange"; - }; - - return ReservedRange; - })(); - - return DescriptorProto; - })(); - - protobuf.ExtensionRangeOptions = (function() { - - /** - * Properties of an ExtensionRangeOptions. - * @memberof google.protobuf - * @interface IExtensionRangeOptions - * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption - * @property {Array.|null} [declaration] ExtensionRangeOptions declaration - * @property {google.protobuf.IFeatureSet|null} [features] ExtensionRangeOptions features - * @property {google.protobuf.ExtensionRangeOptions.VerificationState|null} [verification] ExtensionRangeOptions verification - */ - - /** - * Constructs a new ExtensionRangeOptions. - * @memberof google.protobuf - * @classdesc Represents an ExtensionRangeOptions. - * @implements IExtensionRangeOptions - * @constructor - * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set - */ - function ExtensionRangeOptions(properties) { - this.uninterpretedOption = []; - this.declaration = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ExtensionRangeOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - */ - ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * ExtensionRangeOptions declaration. - * @member {Array.} declaration - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - */ - ExtensionRangeOptions.prototype.declaration = $util.emptyArray; - - /** - * ExtensionRangeOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - */ - ExtensionRangeOptions.prototype.features = null; - - /** - * ExtensionRangeOptions verification. - * @member {google.protobuf.ExtensionRangeOptions.VerificationState} verification - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - */ - ExtensionRangeOptions.prototype.verification = 1; - - /** - * Creates a new ExtensionRangeOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance - */ - ExtensionRangeOptions.create = function create(properties) { - return new ExtensionRangeOptions(properties); - }; - - /** - * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRangeOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.declaration != null && message.declaration.length) - for (var i = 0; i < message.declaration.length; ++i) - $root.google.protobuf.ExtensionRangeOptions.Declaration.encode(message.declaration[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.verification != null && Object.hasOwnProperty.call(message, "verification")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.verification); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRangeOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 2: { - if (!(message.declaration && message.declaration.length)) - message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); - break; - } - case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 3: { - message.verification = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ExtensionRangeOptions message. - * @function verify - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ExtensionRangeOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message.declaration != null && message.hasOwnProperty("declaration")) { - if (!Array.isArray(message.declaration)) - return "declaration: array expected"; - for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); - if (error) - return "declaration." + error; - } - } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.verification != null && message.hasOwnProperty("verification")) - switch (message.verification) { - default: - return "verification: enum value expected"; - case 0: - case 1: - break; - } - return null; - }; - - /** - * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions - */ - ExtensionRangeOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ExtensionRangeOptions) - return object; - var message = new $root.google.protobuf.ExtensionRangeOptions(); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object.declaration) { - if (!Array.isArray(object.declaration)) - throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: array expected"); - message.declaration = []; - for (var i = 0; i < object.declaration.length; ++i) { - if (typeof object.declaration[i] !== "object") - throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); - } - } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - switch (object.verification) { - case "DECLARATION": - case 0: - message.verification = 0; - break; - default: - if (typeof object.verification === "number") { - message.verification = object.verification; - break; - } - break; - case "UNVERIFIED": - case 1: - message.verification = 1; - break; - } - return message; - }; - - /** - * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ExtensionRangeOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.declaration = []; - object.uninterpretedOption = []; - } - if (options.defaults) { - object.verification = options.enums === String ? "UNVERIFIED" : 1; - object.features = null; - } - if (message.declaration && message.declaration.length) { - object.declaration = []; - for (var j = 0; j < message.declaration.length; ++j) - object.declaration[j] = $root.google.protobuf.ExtensionRangeOptions.Declaration.toObject(message.declaration[j], options); - } - if (message.verification != null && message.hasOwnProperty("verification")) - object.verification = options.enums === String ? $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] === undefined ? message.verification : $root.google.protobuf.ExtensionRangeOptions.VerificationState[message.verification] : message.verification; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - return object; - }; - - /** - * Converts this ExtensionRangeOptions to JSON. - * @function toJSON - * @memberof google.protobuf.ExtensionRangeOptions - * @instance - * @returns {Object.} JSON object - */ - ExtensionRangeOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ExtensionRangeOptions - * @function getTypeUrl - * @memberof google.protobuf.ExtensionRangeOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions"; - }; - - ExtensionRangeOptions.Declaration = (function() { - - /** - * Properties of a Declaration. - * @memberof google.protobuf.ExtensionRangeOptions - * @interface IDeclaration - * @property {number|null} [number] Declaration number - * @property {string|null} [fullName] Declaration fullName - * @property {string|null} [type] Declaration type - * @property {boolean|null} [reserved] Declaration reserved - * @property {boolean|null} [repeated] Declaration repeated - */ - - /** - * Constructs a new Declaration. - * @memberof google.protobuf.ExtensionRangeOptions - * @classdesc Represents a Declaration. - * @implements IDeclaration - * @constructor - * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set - */ - function Declaration(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Declaration number. - * @member {number} number - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - */ - Declaration.prototype.number = 0; - - /** - * Declaration fullName. - * @member {string} fullName - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - */ - Declaration.prototype.fullName = ""; - - /** - * Declaration type. - * @member {string} type - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - */ - Declaration.prototype.type = ""; - - /** - * Declaration reserved. - * @member {boolean} reserved - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - */ - Declaration.prototype.reserved = false; - - /** - * Declaration repeated. - * @member {boolean} repeated - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - */ - Declaration.prototype.repeated = false; - - /** - * Creates a new Declaration instance using the specified properties. - * @function create - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {google.protobuf.ExtensionRangeOptions.IDeclaration=} [properties] Properties to set - * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration instance - */ - Declaration.create = function create(properties) { - return new Declaration(properties); - }; - - /** - * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. - * @function encode - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Declaration.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.number != null && Object.hasOwnProperty.call(message, "number")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.number); - if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.type); - if (message.reserved != null && Object.hasOwnProperty.call(message, "reserved")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reserved); - if (message.repeated != null && Object.hasOwnProperty.call(message, "repeated")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.repeated); - return writer; - }; - - /** - * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {google.protobuf.ExtensionRangeOptions.IDeclaration} message Declaration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Declaration.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Declaration message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Declaration.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.number = reader.int32(); - break; - } - case 2: { - message.fullName = reader.string(); - break; - } - case 3: { - message.type = reader.string(); - break; - } - case 5: { - message.reserved = reader.bool(); - break; - } - case 6: { - message.repeated = reader.bool(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Declaration message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Declaration.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Declaration message. - * @function verify - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Declaration.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.number != null && message.hasOwnProperty("number")) - if (!$util.isInteger(message.number)) - return "number: integer expected"; - if (message.fullName != null && message.hasOwnProperty("fullName")) - if (!$util.isString(message.fullName)) - return "fullName: string expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.reserved != null && message.hasOwnProperty("reserved")) - if (typeof message.reserved !== "boolean") - return "reserved: boolean expected"; - if (message.repeated != null && message.hasOwnProperty("repeated")) - if (typeof message.repeated !== "boolean") - return "repeated: boolean expected"; - return null; - }; - - /** - * Creates a Declaration message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration - */ - Declaration.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) - return object; - var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); - if (object.number != null) - message.number = object.number | 0; - if (object.fullName != null) - message.fullName = String(object.fullName); - if (object.type != null) - message.type = String(object.type); - if (object.reserved != null) - message.reserved = Boolean(object.reserved); - if (object.repeated != null) - message.repeated = Boolean(object.repeated); - return message; - }; - - /** - * Creates a plain object from a Declaration message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {google.protobuf.ExtensionRangeOptions.Declaration} message Declaration - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Declaration.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.number = 0; - object.fullName = ""; - object.type = ""; - object.reserved = false; - object.repeated = false; - } - if (message.number != null && message.hasOwnProperty("number")) - object.number = message.number; - if (message.fullName != null && message.hasOwnProperty("fullName")) - object.fullName = message.fullName; - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.reserved != null && message.hasOwnProperty("reserved")) - object.reserved = message.reserved; - if (message.repeated != null && message.hasOwnProperty("repeated")) - object.repeated = message.repeated; - return object; - }; - - /** - * Converts this Declaration to JSON. - * @function toJSON - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @instance - * @returns {Object.} JSON object - */ - Declaration.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Declaration - * @function getTypeUrl - * @memberof google.protobuf.ExtensionRangeOptions.Declaration - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Declaration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions.Declaration"; - }; - - return Declaration; - })(); - - /** - * VerificationState enum. - * @name google.protobuf.ExtensionRangeOptions.VerificationState - * @enum {number} - * @property {number} DECLARATION=0 DECLARATION value - * @property {number} UNVERIFIED=1 UNVERIFIED value - */ - ExtensionRangeOptions.VerificationState = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "DECLARATION"] = 0; - values[valuesById[1] = "UNVERIFIED"] = 1; - return values; - })(); - - return ExtensionRangeOptions; - })(); - - protobuf.FieldDescriptorProto = (function() { - - /** - * Properties of a FieldDescriptorProto. - * @memberof google.protobuf - * @interface IFieldDescriptorProto - * @property {string|null} [name] FieldDescriptorProto name - * @property {number|null} [number] FieldDescriptorProto number - * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label - * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type - * @property {string|null} [typeName] FieldDescriptorProto typeName - * @property {string|null} [extendee] FieldDescriptorProto extendee - * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue - * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex - * @property {string|null} [jsonName] FieldDescriptorProto jsonName - * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options - * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional - */ - - /** - * Constructs a new FieldDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a FieldDescriptorProto. - * @implements IFieldDescriptorProto - * @constructor - * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set - */ - function FieldDescriptorProto(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FieldDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.name = ""; - - /** - * FieldDescriptorProto number. - * @member {number} number - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.number = 0; - - /** - * FieldDescriptorProto label. - * @member {google.protobuf.FieldDescriptorProto.Label} label - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.label = 1; - - /** - * FieldDescriptorProto type. - * @member {google.protobuf.FieldDescriptorProto.Type} type - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.type = 1; - - /** - * FieldDescriptorProto typeName. - * @member {string} typeName - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.typeName = ""; - - /** - * FieldDescriptorProto extendee. - * @member {string} extendee - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.extendee = ""; - - /** - * FieldDescriptorProto defaultValue. - * @member {string} defaultValue - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.defaultValue = ""; - - /** - * FieldDescriptorProto oneofIndex. - * @member {number} oneofIndex - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.oneofIndex = 0; - - /** - * FieldDescriptorProto jsonName. - * @member {string} jsonName - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.jsonName = ""; - - /** - * FieldDescriptorProto options. - * @member {google.protobuf.IFieldOptions|null|undefined} options - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.options = null; - - /** - * FieldDescriptorProto proto3Optional. - * @member {boolean} proto3Optional - * @memberof google.protobuf.FieldDescriptorProto - * @instance - */ - FieldDescriptorProto.prototype.proto3Optional = false; - - /** - * Creates a new FieldDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance - */ - FieldDescriptorProto.create = function create(properties) { - return new FieldDescriptorProto(properties); - }; - - /** - * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); - if (message.number != null && Object.hasOwnProperty.call(message, "number")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); - if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); - if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); - if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); - if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional")) - writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional); - return writer; - }; - - /** - * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 3: { - message.number = reader.int32(); - break; - } - case 4: { - message.label = reader.int32(); - break; - } - case 5: { - message.type = reader.int32(); - break; - } - case 6: { - message.typeName = reader.string(); - break; - } - case 2: { - message.extendee = reader.string(); - break; - } - case 7: { - message.defaultValue = reader.string(); - break; - } - case 9: { - message.oneofIndex = reader.int32(); - break; - } - case 10: { - message.jsonName = reader.string(); - break; - } - case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); - break; - } - case 17: { - message.proto3Optional = reader.bool(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FieldDescriptorProto message. - * @function verify - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FieldDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.number != null && message.hasOwnProperty("number")) - if (!$util.isInteger(message.number)) - return "number: integer expected"; - if (message.label != null && message.hasOwnProperty("label")) - switch (message.label) { - default: - return "label: enum value expected"; - case 1: - case 3: - case 2: - break; - } - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - break; - } - if (message.typeName != null && message.hasOwnProperty("typeName")) - if (!$util.isString(message.typeName)) - return "typeName: string expected"; - if (message.extendee != null && message.hasOwnProperty("extendee")) - if (!$util.isString(message.extendee)) - return "extendee: string expected"; - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) - if (!$util.isString(message.defaultValue)) - return "defaultValue: string expected"; - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) - if (!$util.isInteger(message.oneofIndex)) - return "oneofIndex: integer expected"; - if (message.jsonName != null && message.hasOwnProperty("jsonName")) - if (!$util.isString(message.jsonName)) - return "jsonName: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) - if (typeof message.proto3Optional !== "boolean") - return "proto3Optional: boolean expected"; - return null; - }; - - /** - * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto - */ - FieldDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldDescriptorProto) - return object; - var message = new $root.google.protobuf.FieldDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.number != null) - message.number = object.number | 0; - switch (object.label) { - default: - if (typeof object.label === "number") { - message.label = object.label; - break; - } - break; - case "LABEL_OPTIONAL": - case 1: - message.label = 1; - break; - case "LABEL_REPEATED": - case 3: - message.label = 3; - break; - case "LABEL_REQUIRED": - case 2: - message.label = 2; - break; - } - switch (object.type) { - default: - if (typeof object.type === "number") { - message.type = object.type; - break; - } - break; - case "TYPE_DOUBLE": - case 1: - message.type = 1; - break; - case "TYPE_FLOAT": - case 2: - message.type = 2; - break; - case "TYPE_INT64": - case 3: - message.type = 3; - break; - case "TYPE_UINT64": - case 4: - message.type = 4; - break; - case "TYPE_INT32": - case 5: - message.type = 5; - break; - case "TYPE_FIXED64": - case 6: - message.type = 6; - break; - case "TYPE_FIXED32": - case 7: - message.type = 7; - break; - case "TYPE_BOOL": - case 8: - message.type = 8; - break; - case "TYPE_STRING": - case 9: - message.type = 9; - break; - case "TYPE_GROUP": - case 10: - message.type = 10; - break; - case "TYPE_MESSAGE": - case 11: - message.type = 11; - break; - case "TYPE_BYTES": - case 12: - message.type = 12; - break; - case "TYPE_UINT32": - case 13: - message.type = 13; - break; - case "TYPE_ENUM": - case 14: - message.type = 14; - break; - case "TYPE_SFIXED32": - case 15: - message.type = 15; - break; - case "TYPE_SFIXED64": - case 16: - message.type = 16; - break; - case "TYPE_SINT32": - case 17: - message.type = 17; - break; - case "TYPE_SINT64": - case 18: - message.type = 18; - break; - } - if (object.typeName != null) - message.typeName = String(object.typeName); - if (object.extendee != null) - message.extendee = String(object.extendee); - if (object.defaultValue != null) - message.defaultValue = String(object.defaultValue); - if (object.oneofIndex != null) - message.oneofIndex = object.oneofIndex | 0; - if (object.jsonName != null) - message.jsonName = String(object.jsonName); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); - } - if (object.proto3Optional != null) - message.proto3Optional = Boolean(object.proto3Optional); - return message; - }; - - /** - * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FieldDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - object.extendee = ""; - object.number = 0; - object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; - object.type = options.enums === String ? "TYPE_DOUBLE" : 1; - object.typeName = ""; - object.defaultValue = ""; - object.options = null; - object.oneofIndex = 0; - object.jsonName = ""; - object.proto3Optional = false; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.extendee != null && message.hasOwnProperty("extendee")) - object.extendee = message.extendee; - if (message.number != null && message.hasOwnProperty("number")) - object.number = message.number; - if (message.label != null && message.hasOwnProperty("label")) - object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; - if (message.typeName != null && message.hasOwnProperty("typeName")) - object.typeName = message.typeName; - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) - object.defaultValue = message.defaultValue; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) - object.oneofIndex = message.oneofIndex; - if (message.jsonName != null && message.hasOwnProperty("jsonName")) - object.jsonName = message.jsonName; - if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) - object.proto3Optional = message.proto3Optional; - return object; - }; - - /** - * Converts this FieldDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.FieldDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - FieldDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FieldDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.FieldDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto"; - }; - - /** - * Type enum. - * @name google.protobuf.FieldDescriptorProto.Type - * @enum {number} - * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value - * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value - * @property {number} TYPE_INT64=3 TYPE_INT64 value - * @property {number} TYPE_UINT64=4 TYPE_UINT64 value - * @property {number} TYPE_INT32=5 TYPE_INT32 value - * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value - * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value - * @property {number} TYPE_BOOL=8 TYPE_BOOL value - * @property {number} TYPE_STRING=9 TYPE_STRING value - * @property {number} TYPE_GROUP=10 TYPE_GROUP value - * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value - * @property {number} TYPE_BYTES=12 TYPE_BYTES value - * @property {number} TYPE_UINT32=13 TYPE_UINT32 value - * @property {number} TYPE_ENUM=14 TYPE_ENUM value - * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value - * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value - * @property {number} TYPE_SINT32=17 TYPE_SINT32 value - * @property {number} TYPE_SINT64=18 TYPE_SINT64 value - */ - FieldDescriptorProto.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "TYPE_DOUBLE"] = 1; - values[valuesById[2] = "TYPE_FLOAT"] = 2; - values[valuesById[3] = "TYPE_INT64"] = 3; - values[valuesById[4] = "TYPE_UINT64"] = 4; - values[valuesById[5] = "TYPE_INT32"] = 5; - values[valuesById[6] = "TYPE_FIXED64"] = 6; - values[valuesById[7] = "TYPE_FIXED32"] = 7; - values[valuesById[8] = "TYPE_BOOL"] = 8; - values[valuesById[9] = "TYPE_STRING"] = 9; - values[valuesById[10] = "TYPE_GROUP"] = 10; - values[valuesById[11] = "TYPE_MESSAGE"] = 11; - values[valuesById[12] = "TYPE_BYTES"] = 12; - values[valuesById[13] = "TYPE_UINT32"] = 13; - values[valuesById[14] = "TYPE_ENUM"] = 14; - values[valuesById[15] = "TYPE_SFIXED32"] = 15; - values[valuesById[16] = "TYPE_SFIXED64"] = 16; - values[valuesById[17] = "TYPE_SINT32"] = 17; - values[valuesById[18] = "TYPE_SINT64"] = 18; - return values; - })(); - - /** - * Label enum. - * @name google.protobuf.FieldDescriptorProto.Label - * @enum {number} - * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value - * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value - * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value - */ - FieldDescriptorProto.Label = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "LABEL_OPTIONAL"] = 1; - values[valuesById[3] = "LABEL_REPEATED"] = 3; - values[valuesById[2] = "LABEL_REQUIRED"] = 2; - return values; - })(); - - return FieldDescriptorProto; - })(); - - protobuf.OneofDescriptorProto = (function() { - - /** - * Properties of an OneofDescriptorProto. - * @memberof google.protobuf - * @interface IOneofDescriptorProto - * @property {string|null} [name] OneofDescriptorProto name - * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options - */ - - /** - * Constructs a new OneofDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an OneofDescriptorProto. - * @implements IOneofDescriptorProto - * @constructor - * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set - */ - function OneofDescriptorProto(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * OneofDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.OneofDescriptorProto - * @instance - */ - OneofDescriptorProto.prototype.name = ""; - - /** - * OneofDescriptorProto options. - * @member {google.protobuf.IOneofOptions|null|undefined} options - * @memberof google.protobuf.OneofDescriptorProto - * @instance - */ - OneofDescriptorProto.prototype.options = null; - - /** - * Creates a new OneofDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance - */ - OneofDescriptorProto.create = function create(properties) { - return new OneofDescriptorProto(properties); - }; - - /** - * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - OneofDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - OneofDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an OneofDescriptorProto message. - * @function verify - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - OneofDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); - if (error) - return "options." + error; - } - return null; - }; - - /** - * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto - */ - OneofDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.OneofDescriptorProto) - return object; - var message = new $root.google.protobuf.OneofDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); - } - return message; - }; - - /** - * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - OneofDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); - return object; - }; - - /** - * Converts this OneofDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.OneofDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - OneofDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for OneofDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.OneofDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto"; - }; - - return OneofDescriptorProto; - })(); - - protobuf.EnumDescriptorProto = (function() { - - /** - * Properties of an EnumDescriptorProto. - * @memberof google.protobuf - * @interface IEnumDescriptorProto - * @property {string|null} [name] EnumDescriptorProto name - * @property {Array.|null} [value] EnumDescriptorProto value - * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options - * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange - * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName - */ - - /** - * Constructs a new EnumDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an EnumDescriptorProto. - * @implements IEnumDescriptorProto - * @constructor - * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set - */ - function EnumDescriptorProto(properties) { - this.value = []; - this.reservedRange = []; - this.reservedName = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EnumDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.EnumDescriptorProto - * @instance - */ - EnumDescriptorProto.prototype.name = ""; - - /** - * EnumDescriptorProto value. - * @member {Array.} value - * @memberof google.protobuf.EnumDescriptorProto - * @instance - */ - EnumDescriptorProto.prototype.value = $util.emptyArray; - - /** - * EnumDescriptorProto options. - * @member {google.protobuf.IEnumOptions|null|undefined} options - * @memberof google.protobuf.EnumDescriptorProto - * @instance - */ - EnumDescriptorProto.prototype.options = null; - - /** - * EnumDescriptorProto reservedRange. - * @member {Array.} reservedRange - * @memberof google.protobuf.EnumDescriptorProto - * @instance - */ - EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; - - /** - * EnumDescriptorProto reservedName. - * @member {Array.} reservedName - * @memberof google.protobuf.EnumDescriptorProto - * @instance - */ - EnumDescriptorProto.prototype.reservedName = $util.emptyArray; - - /** - * Creates a new EnumDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance - */ - EnumDescriptorProto.create = function create(properties) { - return new EnumDescriptorProto(properties); - }; - - /** - * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.value.length) - for (var i = 0; i < message.value.length; ++i) - $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.reservedRange != null && message.reservedRange.length) - for (var i = 0; i < message.reservedRange.length; ++i) - $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.reservedName != null && message.reservedName.length) - for (var i = 0; i < message.reservedName.length; ++i) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); - return writer; - }; - - /** - * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - if (!(message.value && message.value.length)) - message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); - break; - } - case 4: { - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); - break; - } - case 5: { - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EnumDescriptorProto message. - * @function verify - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) { - if (!Array.isArray(message.value)) - return "value: array expected"; - for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); - if (error) - return "value." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { - if (!Array.isArray(message.reservedRange)) - return "reservedRange: array expected"; - for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); - if (error) - return "reservedRange." + error; - } - } - if (message.reservedName != null && message.hasOwnProperty("reservedName")) { - if (!Array.isArray(message.reservedName)) - return "reservedName: array expected"; - for (var i = 0; i < message.reservedName.length; ++i) - if (!$util.isString(message.reservedName[i])) - return "reservedName: string[] expected"; - } - return null; - }; - - /** - * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto - */ - EnumDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumDescriptorProto) - return object; - var message = new $root.google.protobuf.EnumDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.value) { - if (!Array.isArray(object.value)) - throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); - message.value = []; - for (var i = 0; i < object.value.length; ++i) { - if (typeof object.value[i] !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); - } - if (object.reservedRange) { - if (!Array.isArray(object.reservedRange)) - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); - message.reservedRange = []; - for (var i = 0; i < object.reservedRange.length; ++i) { - if (typeof object.reservedRange[i] !== "object") - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); - } - } - if (object.reservedName) { - if (!Array.isArray(object.reservedName)) - throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); - message.reservedName = []; - for (var i = 0; i < object.reservedName.length; ++i) - message.reservedName[i] = String(object.reservedName[i]); - } - return message; - }; - - /** - * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.value = []; - object.reservedRange = []; - object.reservedName = []; - } - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value && message.value.length) { - object.value = []; - for (var j = 0; j < message.value.length; ++j) - object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); - if (message.reservedRange && message.reservedRange.length) { - object.reservedRange = []; - for (var j = 0; j < message.reservedRange.length; ++j) - object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); - } - if (message.reservedName && message.reservedName.length) { - object.reservedName = []; - for (var j = 0; j < message.reservedName.length; ++j) - object.reservedName[j] = message.reservedName[j]; - } - return object; - }; - - /** - * Converts this EnumDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.EnumDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - EnumDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EnumDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.EnumDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto"; - }; - - EnumDescriptorProto.EnumReservedRange = (function() { - - /** - * Properties of an EnumReservedRange. - * @memberof google.protobuf.EnumDescriptorProto - * @interface IEnumReservedRange - * @property {number|null} [start] EnumReservedRange start - * @property {number|null} [end] EnumReservedRange end - */ - - /** - * Constructs a new EnumReservedRange. - * @memberof google.protobuf.EnumDescriptorProto - * @classdesc Represents an EnumReservedRange. - * @implements IEnumReservedRange - * @constructor - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set - */ - function EnumReservedRange(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EnumReservedRange start. - * @member {number} start - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - */ - EnumReservedRange.prototype.start = 0; - - /** - * EnumReservedRange end. - * @member {number} end - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - */ - EnumReservedRange.prototype.end = 0; - - /** - * Creates a new EnumReservedRange instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance - */ - EnumReservedRange.create = function create(properties) { - return new EnumReservedRange(properties); - }; - - /** - * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumReservedRange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - return writer; - }; - - /** - * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EnumReservedRange message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumReservedRange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.start = reader.int32(); - break; - } - case 2: { - message.end = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EnumReservedRange message. - * @function verify - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumReservedRange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.start != null && message.hasOwnProperty("start")) - if (!$util.isInteger(message.start)) - return "start: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - return null; - }; - - /** - * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange - */ - EnumReservedRange.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) - return object; - var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); - if (object.start != null) - message.start = object.start | 0; - if (object.end != null) - message.end = object.end | 0; - return message; - }; - - /** - * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumReservedRange.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.start = 0; - object.end = 0; - } - if (message.start != null && message.hasOwnProperty("start")) - object.start = message.start; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - return object; - }; - - /** - * Converts this EnumReservedRange to JSON. - * @function toJSON - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @instance - * @returns {Object.} JSON object - */ - EnumReservedRange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EnumReservedRange - * @function getTypeUrl - * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange"; - }; - - return EnumReservedRange; - })(); - - return EnumDescriptorProto; - })(); - - protobuf.EnumValueDescriptorProto = (function() { - - /** - * Properties of an EnumValueDescriptorProto. - * @memberof google.protobuf - * @interface IEnumValueDescriptorProto - * @property {string|null} [name] EnumValueDescriptorProto name - * @property {number|null} [number] EnumValueDescriptorProto number - * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options - */ - - /** - * Constructs a new EnumValueDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents an EnumValueDescriptorProto. - * @implements IEnumValueDescriptorProto - * @constructor - * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set - */ - function EnumValueDescriptorProto(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EnumValueDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.EnumValueDescriptorProto - * @instance - */ - EnumValueDescriptorProto.prototype.name = ""; - - /** - * EnumValueDescriptorProto number. - * @member {number} number - * @memberof google.protobuf.EnumValueDescriptorProto - * @instance - */ - EnumValueDescriptorProto.prototype.number = 0; - - /** - * EnumValueDescriptorProto options. - * @member {google.protobuf.IEnumValueOptions|null|undefined} options - * @memberof google.protobuf.EnumValueDescriptorProto - * @instance - */ - EnumValueDescriptorProto.prototype.options = null; - - /** - * Creates a new EnumValueDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance - */ - EnumValueDescriptorProto.create = function create(properties) { - return new EnumValueDescriptorProto(properties); - }; - - /** - * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumValueDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.number != null && Object.hasOwnProperty.call(message, "number")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumValueDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.number = reader.int32(); - break; - } - case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EnumValueDescriptorProto message. - * @function verify - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumValueDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.number != null && message.hasOwnProperty("number")) - if (!$util.isInteger(message.number)) - return "number: integer expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); - if (error) - return "options." + error; - } - return null; - }; - - /** - * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto - */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) - return object; - var message = new $root.google.protobuf.EnumValueDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.number != null) - message.number = object.number | 0; - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); - } - return message; - }; - - /** - * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumValueDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - object.number = 0; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.number != null && message.hasOwnProperty("number")) - object.number = message.number; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); - return object; - }; - - /** - * Converts this EnumValueDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.EnumValueDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - EnumValueDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EnumValueDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.EnumValueDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto"; - }; - - return EnumValueDescriptorProto; - })(); - - protobuf.ServiceDescriptorProto = (function() { - - /** - * Properties of a ServiceDescriptorProto. - * @memberof google.protobuf - * @interface IServiceDescriptorProto - * @property {string|null} [name] ServiceDescriptorProto name - * @property {Array.|null} [method] ServiceDescriptorProto method - * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options - */ - - /** - * Constructs a new ServiceDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a ServiceDescriptorProto. - * @implements IServiceDescriptorProto - * @constructor - * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set - */ - function ServiceDescriptorProto(properties) { - this.method = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ServiceDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.ServiceDescriptorProto - * @instance - */ - ServiceDescriptorProto.prototype.name = ""; - - /** - * ServiceDescriptorProto method. - * @member {Array.} method - * @memberof google.protobuf.ServiceDescriptorProto - * @instance - */ - ServiceDescriptorProto.prototype.method = $util.emptyArray; - - /** - * ServiceDescriptorProto options. - * @member {google.protobuf.IServiceOptions|null|undefined} options - * @memberof google.protobuf.ServiceDescriptorProto - * @instance - */ - ServiceDescriptorProto.prototype.options = null; - - /** - * Creates a new ServiceDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance - */ - ServiceDescriptorProto.create = function create(properties) { - return new ServiceDescriptorProto(properties); - }; - - /** - * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServiceDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.method != null && message.method.length) - for (var i = 0; i < message.method.length; ++i) - $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServiceDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - if (!(message.method && message.method.length)) - message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); - break; - } - case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ServiceDescriptorProto message. - * @function verify - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ServiceDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.method != null && message.hasOwnProperty("method")) { - if (!Array.isArray(message.method)) - return "method: array expected"; - for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); - if (error) - return "method." + error; - } - } - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); - if (error) - return "options." + error; - } - return null; - }; - - /** - * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto - */ - ServiceDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ServiceDescriptorProto) - return object; - var message = new $root.google.protobuf.ServiceDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.method) { - if (!Array.isArray(object.method)) - throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); - message.method = []; - for (var i = 0; i < object.method.length; ++i) { - if (typeof object.method[i] !== "object") - throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); - } - } - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); - } - return message; - }; - - /** - * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ServiceDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.method = []; - if (options.defaults) { - object.name = ""; - object.options = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.method && message.method.length) { - object.method = []; - for (var j = 0; j < message.method.length; ++j) - object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); - } - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); - return object; - }; - - /** - * Converts this ServiceDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.ServiceDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - ServiceDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ServiceDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.ServiceDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto"; - }; - - return ServiceDescriptorProto; - })(); - - protobuf.MethodDescriptorProto = (function() { - - /** - * Properties of a MethodDescriptorProto. - * @memberof google.protobuf - * @interface IMethodDescriptorProto - * @property {string|null} [name] MethodDescriptorProto name - * @property {string|null} [inputType] MethodDescriptorProto inputType - * @property {string|null} [outputType] MethodDescriptorProto outputType - * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options - * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming - * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming - */ - - /** - * Constructs a new MethodDescriptorProto. - * @memberof google.protobuf - * @classdesc Represents a MethodDescriptorProto. - * @implements IMethodDescriptorProto - * @constructor - * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set - */ - function MethodDescriptorProto(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MethodDescriptorProto name. - * @member {string} name - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.name = ""; - - /** - * MethodDescriptorProto inputType. - * @member {string} inputType - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.inputType = ""; - - /** - * MethodDescriptorProto outputType. - * @member {string} outputType - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.outputType = ""; - - /** - * MethodDescriptorProto options. - * @member {google.protobuf.IMethodOptions|null|undefined} options - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.options = null; - - /** - * MethodDescriptorProto clientStreaming. - * @member {boolean} clientStreaming - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.clientStreaming = false; - - /** - * MethodDescriptorProto serverStreaming. - * @member {boolean} serverStreaming - * @memberof google.protobuf.MethodDescriptorProto - * @instance - */ - MethodDescriptorProto.prototype.serverStreaming = false; - - /** - * Creates a new MethodDescriptorProto instance using the specified properties. - * @function create - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance - */ - MethodDescriptorProto.create = function create(properties) { - return new MethodDescriptorProto(properties); - }; - - /** - * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @function encode - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodDescriptorProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); - if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) - $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); - if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); - return writer; - }; - - /** - * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodDescriptorProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.inputType = reader.string(); - break; - } - case 3: { - message.outputType = reader.string(); - break; - } - case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); - break; - } - case 5: { - message.clientStreaming = reader.bool(); - break; - } - case 6: { - message.serverStreaming = reader.bool(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MethodDescriptorProto message. - * @function verify - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MethodDescriptorProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.inputType != null && message.hasOwnProperty("inputType")) - if (!$util.isString(message.inputType)) - return "inputType: string expected"; - if (message.outputType != null && message.hasOwnProperty("outputType")) - if (!$util.isString(message.outputType)) - return "outputType: string expected"; - if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); - if (error) - return "options." + error; - } - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) - if (typeof message.clientStreaming !== "boolean") - return "clientStreaming: boolean expected"; - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) - if (typeof message.serverStreaming !== "boolean") - return "serverStreaming: boolean expected"; - return null; - }; - - /** - * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto - */ - MethodDescriptorProto.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MethodDescriptorProto) - return object; - var message = new $root.google.protobuf.MethodDescriptorProto(); - if (object.name != null) - message.name = String(object.name); - if (object.inputType != null) - message.inputType = String(object.inputType); - if (object.outputType != null) - message.outputType = String(object.outputType); - if (object.options != null) { - if (typeof object.options !== "object") - throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); - } - if (object.clientStreaming != null) - message.clientStreaming = Boolean(object.clientStreaming); - if (object.serverStreaming != null) - message.serverStreaming = Boolean(object.serverStreaming); - return message; - }; - - /** - * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MethodDescriptorProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.name = ""; - object.inputType = ""; - object.outputType = ""; - object.options = null; - object.clientStreaming = false; - object.serverStreaming = false; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.inputType != null && message.hasOwnProperty("inputType")) - object.inputType = message.inputType; - if (message.outputType != null && message.hasOwnProperty("outputType")) - object.outputType = message.outputType; - if (message.options != null && message.hasOwnProperty("options")) - object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) - object.clientStreaming = message.clientStreaming; - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) - object.serverStreaming = message.serverStreaming; - return object; - }; - - /** - * Converts this MethodDescriptorProto to JSON. - * @function toJSON - * @memberof google.protobuf.MethodDescriptorProto - * @instance - * @returns {Object.} JSON object - */ - MethodDescriptorProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for MethodDescriptorProto - * @function getTypeUrl - * @memberof google.protobuf.MethodDescriptorProto - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto"; - }; - - return MethodDescriptorProto; - })(); - - protobuf.FileOptions = (function() { - - /** - * Properties of a FileOptions. - * @memberof google.protobuf - * @interface IFileOptions - * @property {string|null} [javaPackage] FileOptions javaPackage - * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname - * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles - * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash - * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 - * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor - * @property {string|null} [goPackage] FileOptions goPackage - * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices - * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices - * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices - * @property {boolean|null} [deprecated] FileOptions deprecated - * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas - * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix - * @property {string|null} [csharpNamespace] FileOptions csharpNamespace - * @property {string|null} [swiftPrefix] FileOptions swiftPrefix - * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix - * @property {string|null} [phpNamespace] FileOptions phpNamespace - * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace - * @property {string|null} [rubyPackage] FileOptions rubyPackage - * @property {google.protobuf.IFeatureSet|null} [features] FileOptions features - * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption - * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition - */ - - /** - * Constructs a new FileOptions. - * @memberof google.protobuf - * @classdesc Represents a FileOptions. - * @implements IFileOptions - * @constructor - * @param {google.protobuf.IFileOptions=} [properties] Properties to set - */ - function FileOptions(properties) { - this.uninterpretedOption = []; - this[".google.api.resourceDefinition"] = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FileOptions javaPackage. - * @member {string} javaPackage - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaPackage = ""; - - /** - * FileOptions javaOuterClassname. - * @member {string} javaOuterClassname - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaOuterClassname = ""; - - /** - * FileOptions javaMultipleFiles. - * @member {boolean} javaMultipleFiles - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaMultipleFiles = false; - - /** - * FileOptions javaGenerateEqualsAndHash. - * @member {boolean} javaGenerateEqualsAndHash - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaGenerateEqualsAndHash = false; - - /** - * FileOptions javaStringCheckUtf8. - * @member {boolean} javaStringCheckUtf8 - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaStringCheckUtf8 = false; - - /** - * FileOptions optimizeFor. - * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.optimizeFor = 1; - - /** - * FileOptions goPackage. - * @member {string} goPackage - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.goPackage = ""; - - /** - * FileOptions ccGenericServices. - * @member {boolean} ccGenericServices - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.ccGenericServices = false; - - /** - * FileOptions javaGenericServices. - * @member {boolean} javaGenericServices - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.javaGenericServices = false; - - /** - * FileOptions pyGenericServices. - * @member {boolean} pyGenericServices - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.pyGenericServices = false; - - /** - * FileOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.deprecated = false; - - /** - * FileOptions ccEnableArenas. - * @member {boolean} ccEnableArenas - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.ccEnableArenas = true; - - /** - * FileOptions objcClassPrefix. - * @member {string} objcClassPrefix - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.objcClassPrefix = ""; - - /** - * FileOptions csharpNamespace. - * @member {string} csharpNamespace - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.csharpNamespace = ""; - - /** - * FileOptions swiftPrefix. - * @member {string} swiftPrefix - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.swiftPrefix = ""; - - /** - * FileOptions phpClassPrefix. - * @member {string} phpClassPrefix - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.phpClassPrefix = ""; - - /** - * FileOptions phpNamespace. - * @member {string} phpNamespace - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.phpNamespace = ""; - - /** - * FileOptions phpMetadataNamespace. - * @member {string} phpMetadataNamespace - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.phpMetadataNamespace = ""; - - /** - * FileOptions rubyPackage. - * @member {string} rubyPackage - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.rubyPackage = ""; - - /** - * FileOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.features = null; - - /** - * FileOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * FileOptions .google.api.resourceDefinition. - * @member {Array.} .google.api.resourceDefinition - * @memberof google.protobuf.FileOptions - * @instance - */ - FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray; - - /** - * Creates a new FileOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.FileOptions - * @static - * @param {google.protobuf.IFileOptions=} [properties] Properties to set - * @returns {google.protobuf.FileOptions} FileOptions instance - */ - FileOptions.create = function create(properties) { - return new FileOptions(properties); - }; - - /** - * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FileOptions - * @static - * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); - if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); - if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); - if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) - writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); - if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) - writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); - if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) - writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); - if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) - writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); - if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) - writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); - if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) - writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); - if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) - writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); - if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) - writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); - if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) - writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); - if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) - writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); - if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) - writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); - if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) - writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); - if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) - writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); - if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) - writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); - if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) - writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length) - for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) - $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FileOptions - * @static - * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FileOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FileOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FileOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FileOptions} FileOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.javaPackage = reader.string(); - break; - } - case 8: { - message.javaOuterClassname = reader.string(); - break; - } - case 10: { - message.javaMultipleFiles = reader.bool(); - break; - } - case 20: { - message.javaGenerateEqualsAndHash = reader.bool(); - break; - } - case 27: { - message.javaStringCheckUtf8 = reader.bool(); - break; - } - case 9: { - message.optimizeFor = reader.int32(); - break; - } - case 11: { - message.goPackage = reader.string(); - break; - } - case 16: { - message.ccGenericServices = reader.bool(); - break; - } - case 17: { - message.javaGenericServices = reader.bool(); - break; - } - case 18: { - message.pyGenericServices = reader.bool(); - break; - } - case 23: { - message.deprecated = reader.bool(); - break; - } - case 31: { - message.ccEnableArenas = reader.bool(); - break; - } - case 36: { - message.objcClassPrefix = reader.string(); - break; - } - case 37: { - message.csharpNamespace = reader.string(); - break; - } - case 39: { - message.swiftPrefix = reader.string(); - break; - } - case 40: { - message.phpClassPrefix = reader.string(); - break; - } - case 41: { - message.phpNamespace = reader.string(); - break; - } - case 44: { - message.phpMetadataNamespace = reader.string(); - break; - } - case 45: { - message.rubyPackage = reader.string(); - break; - } - case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 1053: { - if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) - message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FileOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FileOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FileOptions} FileOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FileOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FileOptions message. - * @function verify - * @memberof google.protobuf.FileOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FileOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) - if (!$util.isString(message.javaPackage)) - return "javaPackage: string expected"; - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) - if (!$util.isString(message.javaOuterClassname)) - return "javaOuterClassname: string expected"; - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) - if (typeof message.javaMultipleFiles !== "boolean") - return "javaMultipleFiles: boolean expected"; - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) - if (typeof message.javaGenerateEqualsAndHash !== "boolean") - return "javaGenerateEqualsAndHash: boolean expected"; - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) - if (typeof message.javaStringCheckUtf8 !== "boolean") - return "javaStringCheckUtf8: boolean expected"; - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - switch (message.optimizeFor) { - default: - return "optimizeFor: enum value expected"; - case 1: - case 2: - case 3: - break; - } - if (message.goPackage != null && message.hasOwnProperty("goPackage")) - if (!$util.isString(message.goPackage)) - return "goPackage: string expected"; - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) - if (typeof message.ccGenericServices !== "boolean") - return "ccGenericServices: boolean expected"; - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) - if (typeof message.javaGenericServices !== "boolean") - return "javaGenericServices: boolean expected"; - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) - if (typeof message.pyGenericServices !== "boolean") - return "pyGenericServices: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) - if (typeof message.ccEnableArenas !== "boolean") - return "ccEnableArenas: boolean expected"; - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) - if (!$util.isString(message.objcClassPrefix)) - return "objcClassPrefix: string expected"; - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) - if (!$util.isString(message.csharpNamespace)) - return "csharpNamespace: string expected"; - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) - if (!$util.isString(message.swiftPrefix)) - return "swiftPrefix: string expected"; - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) - if (!$util.isString(message.phpClassPrefix)) - return "phpClassPrefix: string expected"; - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) - if (!$util.isString(message.phpNamespace)) - return "phpNamespace: string expected"; - if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) - if (!$util.isString(message.phpMetadataNamespace)) - return "phpMetadataNamespace: string expected"; - if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) - if (!$util.isString(message.rubyPackage)) - return "rubyPackage: string expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) { - if (!Array.isArray(message[".google.api.resourceDefinition"])) - return ".google.api.resourceDefinition: array expected"; - for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); - if (error) - return ".google.api.resourceDefinition." + error; - } - } - return null; - }; - - /** - * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FileOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FileOptions} FileOptions - */ - FileOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FileOptions) - return object; - var message = new $root.google.protobuf.FileOptions(); - if (object.javaPackage != null) - message.javaPackage = String(object.javaPackage); - if (object.javaOuterClassname != null) - message.javaOuterClassname = String(object.javaOuterClassname); - if (object.javaMultipleFiles != null) - message.javaMultipleFiles = Boolean(object.javaMultipleFiles); - if (object.javaGenerateEqualsAndHash != null) - message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); - if (object.javaStringCheckUtf8 != null) - message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); - switch (object.optimizeFor) { - default: - if (typeof object.optimizeFor === "number") { - message.optimizeFor = object.optimizeFor; - break; - } - break; - case "SPEED": - case 1: - message.optimizeFor = 1; - break; - case "CODE_SIZE": - case 2: - message.optimizeFor = 2; - break; - case "LITE_RUNTIME": - case 3: - message.optimizeFor = 3; - break; - } - if (object.goPackage != null) - message.goPackage = String(object.goPackage); - if (object.ccGenericServices != null) - message.ccGenericServices = Boolean(object.ccGenericServices); - if (object.javaGenericServices != null) - message.javaGenericServices = Boolean(object.javaGenericServices); - if (object.pyGenericServices != null) - message.pyGenericServices = Boolean(object.pyGenericServices); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.ccEnableArenas != null) - message.ccEnableArenas = Boolean(object.ccEnableArenas); - if (object.objcClassPrefix != null) - message.objcClassPrefix = String(object.objcClassPrefix); - if (object.csharpNamespace != null) - message.csharpNamespace = String(object.csharpNamespace); - if (object.swiftPrefix != null) - message.swiftPrefix = String(object.swiftPrefix); - if (object.phpClassPrefix != null) - message.phpClassPrefix = String(object.phpClassPrefix); - if (object.phpNamespace != null) - message.phpNamespace = String(object.phpNamespace); - if (object.phpMetadataNamespace != null) - message.phpMetadataNamespace = String(object.phpMetadataNamespace); - if (object.rubyPackage != null) - message.rubyPackage = String(object.rubyPackage); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".google.api.resourceDefinition"]) { - if (!Array.isArray(object[".google.api.resourceDefinition"])) - throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected"); - message[".google.api.resourceDefinition"] = []; - for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { - if (typeof object[".google.api.resourceDefinition"][i] !== "object") - throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); - } - } - return message; - }; - - /** - * Creates a plain object from a FileOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FileOptions - * @static - * @param {google.protobuf.FileOptions} message FileOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FileOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.uninterpretedOption = []; - object[".google.api.resourceDefinition"] = []; - } - if (options.defaults) { - object.javaPackage = ""; - object.javaOuterClassname = ""; - object.optimizeFor = options.enums === String ? "SPEED" : 1; - object.javaMultipleFiles = false; - object.goPackage = ""; - object.ccGenericServices = false; - object.javaGenericServices = false; - object.pyGenericServices = false; - object.javaGenerateEqualsAndHash = false; - object.deprecated = false; - object.javaStringCheckUtf8 = false; - object.ccEnableArenas = true; - object.objcClassPrefix = ""; - object.csharpNamespace = ""; - object.swiftPrefix = ""; - object.phpClassPrefix = ""; - object.phpNamespace = ""; - object.phpMetadataNamespace = ""; - object.rubyPackage = ""; - object.features = null; - } - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) - object.javaPackage = message.javaPackage; - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) - object.javaOuterClassname = message.javaOuterClassname; - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) - object.javaMultipleFiles = message.javaMultipleFiles; - if (message.goPackage != null && message.hasOwnProperty("goPackage")) - object.goPackage = message.goPackage; - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) - object.ccGenericServices = message.ccGenericServices; - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) - object.javaGenericServices = message.javaGenericServices; - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) - object.pyGenericServices = message.pyGenericServices; - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) - object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) - object.javaStringCheckUtf8 = message.javaStringCheckUtf8; - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) - object.ccEnableArenas = message.ccEnableArenas; - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) - object.objcClassPrefix = message.objcClassPrefix; - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) - object.csharpNamespace = message.csharpNamespace; - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) - object.swiftPrefix = message.swiftPrefix; - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) - object.phpClassPrefix = message.phpClassPrefix; - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) - object.phpNamespace = message.phpNamespace; - if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) - object.phpMetadataNamespace = message.phpMetadataNamespace; - if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) - object.rubyPackage = message.rubyPackage; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) { - object[".google.api.resourceDefinition"] = []; - for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j) - object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options); - } - return object; - }; - - /** - * Converts this FileOptions to JSON. - * @function toJSON - * @memberof google.protobuf.FileOptions - * @instance - * @returns {Object.} JSON object - */ - FileOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FileOptions - * @function getTypeUrl - * @memberof google.protobuf.FileOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FileOptions"; - }; - - /** - * OptimizeMode enum. - * @name google.protobuf.FileOptions.OptimizeMode - * @enum {number} - * @property {number} SPEED=1 SPEED value - * @property {number} CODE_SIZE=2 CODE_SIZE value - * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value - */ - FileOptions.OptimizeMode = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[1] = "SPEED"] = 1; - values[valuesById[2] = "CODE_SIZE"] = 2; - values[valuesById[3] = "LITE_RUNTIME"] = 3; - return values; - })(); - - return FileOptions; - })(); - - protobuf.MessageOptions = (function() { - - /** - * Properties of a MessageOptions. - * @memberof google.protobuf - * @interface IMessageOptions - * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat - * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor - * @property {boolean|null} [deprecated] MessageOptions deprecated - * @property {boolean|null} [mapEntry] MessageOptions mapEntry - * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] MessageOptions deprecatedLegacyJsonFieldConflicts - * @property {google.protobuf.IFeatureSet|null} [features] MessageOptions features - * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption - * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource - */ - - /** - * Constructs a new MessageOptions. - * @memberof google.protobuf - * @classdesc Represents a MessageOptions. - * @implements IMessageOptions - * @constructor - * @param {google.protobuf.IMessageOptions=} [properties] Properties to set - */ - function MessageOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MessageOptions messageSetWireFormat. - * @member {boolean} messageSetWireFormat - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.messageSetWireFormat = false; - - /** - * MessageOptions noStandardDescriptorAccessor. - * @member {boolean} noStandardDescriptorAccessor - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.noStandardDescriptorAccessor = false; - - /** - * MessageOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.deprecated = false; - - /** - * MessageOptions mapEntry. - * @member {boolean} mapEntry - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.mapEntry = false; - - /** - * MessageOptions deprecatedLegacyJsonFieldConflicts. - * @member {boolean} deprecatedLegacyJsonFieldConflicts - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.deprecatedLegacyJsonFieldConflicts = false; - - /** - * MessageOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.features = null; - - /** - * MessageOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * MessageOptions .google.api.resource. - * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource - * @memberof google.protobuf.MessageOptions - * @instance - */ - MessageOptions.prototype[".google.api.resource"] = null; - - /** - * Creates a new MessageOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.MessageOptions - * @static - * @param {google.protobuf.IMessageOptions=} [properties] Properties to set - * @returns {google.protobuf.MessageOptions} MessageOptions instance - */ - MessageOptions.create = function create(properties) { - return new MessageOptions(properties); - }; - - /** - * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.MessageOptions - * @static - * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); - if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) - writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); - if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts")) - writer.uint32(/* id 11, wireType 0 =*/88).bool(message.deprecatedLegacyJsonFieldConflicts); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) - $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.MessageOptions - * @static - * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MessageOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.MessageOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MessageOptions} MessageOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.messageSetWireFormat = reader.bool(); - break; - } - case 2: { - message.noStandardDescriptorAccessor = reader.bool(); - break; - } - case 3: { - message.deprecated = reader.bool(); - break; - } - case 7: { - message.mapEntry = reader.bool(); - break; - } - case 11: { - message.deprecatedLegacyJsonFieldConflicts = reader.bool(); - break; - } - case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MessageOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.MessageOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MessageOptions} MessageOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MessageOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MessageOptions message. - * @function verify - * @memberof google.protobuf.MessageOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MessageOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) - if (typeof message.messageSetWireFormat !== "boolean") - return "messageSetWireFormat: boolean expected"; - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) - if (typeof message.noStandardDescriptorAccessor !== "boolean") - return "noStandardDescriptorAccessor: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) - if (typeof message.mapEntry !== "boolean") - return "mapEntry: boolean expected"; - if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) - if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") - return "deprecatedLegacyJsonFieldConflicts: boolean expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); - if (error) - return ".google.api.resource." + error; - } - return null; - }; - - /** - * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.MessageOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.MessageOptions} MessageOptions - */ - MessageOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MessageOptions) - return object; - var message = new $root.google.protobuf.MessageOptions(); - if (object.messageSetWireFormat != null) - message.messageSetWireFormat = Boolean(object.messageSetWireFormat); - if (object.noStandardDescriptorAccessor != null) - message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.mapEntry != null) - message.mapEntry = Boolean(object.mapEntry); - if (object.deprecatedLegacyJsonFieldConflicts != null) - message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".google.api.resource"] != null) { - if (typeof object[".google.api.resource"] !== "object") - throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); - } - return message; - }; - - /** - * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.MessageOptions - * @static - * @param {google.protobuf.MessageOptions} message MessageOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MessageOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.messageSetWireFormat = false; - object.noStandardDescriptorAccessor = false; - object.deprecated = false; - object.mapEntry = false; - object.deprecatedLegacyJsonFieldConflicts = false; - object.features = null; - object[".google.api.resource"] = null; - } - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) - object.messageSetWireFormat = message.messageSetWireFormat; - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) - object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) - object.mapEntry = message.mapEntry; - if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) - object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) - object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options); - return object; - }; - - /** - * Converts this MessageOptions to JSON. - * @function toJSON - * @memberof google.protobuf.MessageOptions - * @instance - * @returns {Object.} JSON object - */ - MessageOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for MessageOptions - * @function getTypeUrl - * @memberof google.protobuf.MessageOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.MessageOptions"; - }; - - return MessageOptions; - })(); - - protobuf.FieldOptions = (function() { - - /** - * Properties of a FieldOptions. - * @memberof google.protobuf - * @interface IFieldOptions - * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype - * @property {boolean|null} [packed] FieldOptions packed - * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype - * @property {boolean|null} [lazy] FieldOptions lazy - * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy - * @property {boolean|null} [deprecated] FieldOptions deprecated - * @property {boolean|null} [weak] FieldOptions weak - * @property {boolean|null} [debugRedact] FieldOptions debugRedact - * @property {google.protobuf.FieldOptions.OptionRetention|null} [retention] FieldOptions retention - * @property {Array.|null} [targets] FieldOptions targets - * @property {Array.|null} [editionDefaults] FieldOptions editionDefaults - * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features - * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption - * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior - * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference - */ - - /** - * Constructs a new FieldOptions. - * @memberof google.protobuf - * @classdesc Represents a FieldOptions. - * @implements IFieldOptions - * @constructor - * @param {google.protobuf.IFieldOptions=} [properties] Properties to set - */ - function FieldOptions(properties) { - this.targets = []; - this.editionDefaults = []; - this.uninterpretedOption = []; - this[".google.api.fieldBehavior"] = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FieldOptions ctype. - * @member {google.protobuf.FieldOptions.CType} ctype - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.ctype = 0; - - /** - * FieldOptions packed. - * @member {boolean} packed - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.packed = false; - - /** - * FieldOptions jstype. - * @member {google.protobuf.FieldOptions.JSType} jstype - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.jstype = 0; - - /** - * FieldOptions lazy. - * @member {boolean} lazy - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.lazy = false; - - /** - * FieldOptions unverifiedLazy. - * @member {boolean} unverifiedLazy - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.unverifiedLazy = false; - - /** - * FieldOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.deprecated = false; - - /** - * FieldOptions weak. - * @member {boolean} weak - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.weak = false; - - /** - * FieldOptions debugRedact. - * @member {boolean} debugRedact - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.debugRedact = false; - - /** - * FieldOptions retention. - * @member {google.protobuf.FieldOptions.OptionRetention} retention - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.retention = 0; - - /** - * FieldOptions targets. - * @member {Array.} targets - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.targets = $util.emptyArray; - - /** - * FieldOptions editionDefaults. - * @member {Array.} editionDefaults - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.editionDefaults = $util.emptyArray; - - /** - * FieldOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.features = null; - - /** - * FieldOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * FieldOptions .google.api.fieldBehavior. - * @member {Array.} .google.api.fieldBehavior - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray; - - /** - * FieldOptions .google.api.resourceReference. - * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference - * @memberof google.protobuf.FieldOptions - * @instance - */ - FieldOptions.prototype[".google.api.resourceReference"] = null; - - /** - * Creates a new FieldOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.FieldOptions - * @static - * @param {google.protobuf.IFieldOptions=} [properties] Properties to set - * @returns {google.protobuf.FieldOptions} FieldOptions instance - */ - FieldOptions.create = function create(properties) { - return new FieldOptions(properties); - }; - - /** - * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FieldOptions - * @static - * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); - if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); - if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) - writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); - if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) - writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); - if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy")) - writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy); - if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) - writer.uint32(/* id 16, wireType 0 =*/128).bool(message.debugRedact); - if (message.retention != null && Object.hasOwnProperty.call(message, "retention")) - writer.uint32(/* id 17, wireType 0 =*/136).int32(message.retention); - if (message.targets != null && message.targets.length) - for (var i = 0; i < message.targets.length; ++i) - writer.uint32(/* id 19, wireType 0 =*/152).int32(message.targets[i]); - if (message.editionDefaults != null && message.editionDefaults.length) - for (var i = 0; i < message.editionDefaults.length; ++i) - $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length) - for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) - writer.uint32(/* id 1052, wireType 0 =*/8416).int32(message[".google.api.fieldBehavior"][i]); - if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) - $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FieldOptions - * @static - * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FieldOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FieldOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldOptions} FieldOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.ctype = reader.int32(); - break; - } - case 2: { - message.packed = reader.bool(); - break; - } - case 6: { - message.jstype = reader.int32(); - break; - } - case 5: { - message.lazy = reader.bool(); - break; - } - case 15: { - message.unverifiedLazy = reader.bool(); - break; - } - case 3: { - message.deprecated = reader.bool(); - break; - } - case 10: { - message.weak = reader.bool(); - break; - } - case 16: { - message.debugRedact = reader.bool(); - break; - } - case 17: { - message.retention = reader.int32(); - break; - } - case 19: { - if (!(message.targets && message.targets.length)) - message.targets = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.targets.push(reader.int32()); - } else - message.targets.push(reader.int32()); - break; - } - case 20: { - if (!(message.editionDefaults && message.editionDefaults.length)) - message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); - break; - } - case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 1052: { - if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) - message[".google.api.fieldBehavior"] = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message[".google.api.fieldBehavior"].push(reader.int32()); - } else - message[".google.api.fieldBehavior"].push(reader.int32()); - break; - } - case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FieldOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FieldOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldOptions} FieldOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FieldOptions message. - * @function verify - * @memberof google.protobuf.FieldOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FieldOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.ctype != null && message.hasOwnProperty("ctype")) - switch (message.ctype) { - default: - return "ctype: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.packed != null && message.hasOwnProperty("packed")) - if (typeof message.packed !== "boolean") - return "packed: boolean expected"; - if (message.jstype != null && message.hasOwnProperty("jstype")) - switch (message.jstype) { - default: - return "jstype: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.lazy != null && message.hasOwnProperty("lazy")) - if (typeof message.lazy !== "boolean") - return "lazy: boolean expected"; - if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) - if (typeof message.unverifiedLazy !== "boolean") - return "unverifiedLazy: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.weak != null && message.hasOwnProperty("weak")) - if (typeof message.weak !== "boolean") - return "weak: boolean expected"; - if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) - if (typeof message.debugRedact !== "boolean") - return "debugRedact: boolean expected"; - if (message.retention != null && message.hasOwnProperty("retention")) - switch (message.retention) { - default: - return "retention: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.targets != null && message.hasOwnProperty("targets")) { - if (!Array.isArray(message.targets)) - return "targets: array expected"; - for (var i = 0; i < message.targets.length; ++i) - switch (message.targets[i]) { - default: - return "targets: enum value[] expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - break; - } - } - if (message.editionDefaults != null && message.hasOwnProperty("editionDefaults")) { - if (!Array.isArray(message.editionDefaults)) - return "editionDefaults: array expected"; - for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); - if (error) - return "editionDefaults." + error; - } - } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) { - if (!Array.isArray(message[".google.api.fieldBehavior"])) - return ".google.api.fieldBehavior: array expected"; - for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) - switch (message[".google.api.fieldBehavior"][i]) { - default: - return ".google.api.fieldBehavior: enum value[] expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - break; - } - } - if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); - if (error) - return ".google.api.resourceReference." + error; - } - return null; - }; - - /** - * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FieldOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FieldOptions} FieldOptions - */ - FieldOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldOptions) - return object; - var message = new $root.google.protobuf.FieldOptions(); - switch (object.ctype) { - default: - if (typeof object.ctype === "number") { - message.ctype = object.ctype; - break; - } - break; - case "STRING": - case 0: - message.ctype = 0; - break; - case "CORD": - case 1: - message.ctype = 1; - break; - case "STRING_PIECE": - case 2: - message.ctype = 2; - break; - } - if (object.packed != null) - message.packed = Boolean(object.packed); - switch (object.jstype) { - default: - if (typeof object.jstype === "number") { - message.jstype = object.jstype; - break; - } - break; - case "JS_NORMAL": - case 0: - message.jstype = 0; - break; - case "JS_STRING": - case 1: - message.jstype = 1; - break; - case "JS_NUMBER": - case 2: - message.jstype = 2; - break; - } - if (object.lazy != null) - message.lazy = Boolean(object.lazy); - if (object.unverifiedLazy != null) - message.unverifiedLazy = Boolean(object.unverifiedLazy); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.weak != null) - message.weak = Boolean(object.weak); - if (object.debugRedact != null) - message.debugRedact = Boolean(object.debugRedact); - switch (object.retention) { - default: - if (typeof object.retention === "number") { - message.retention = object.retention; - break; - } - break; - case "RETENTION_UNKNOWN": - case 0: - message.retention = 0; - break; - case "RETENTION_RUNTIME": - case 1: - message.retention = 1; - break; - case "RETENTION_SOURCE": - case 2: - message.retention = 2; - break; - } - if (object.targets) { - if (!Array.isArray(object.targets)) - throw TypeError(".google.protobuf.FieldOptions.targets: array expected"); - message.targets = []; - for (var i = 0; i < object.targets.length; ++i) - switch (object.targets[i]) { - default: - if (typeof object.targets[i] === "number") { - message.targets[i] = object.targets[i]; - break; - } - case "TARGET_TYPE_UNKNOWN": - case 0: - message.targets[i] = 0; - break; - case "TARGET_TYPE_FILE": - case 1: - message.targets[i] = 1; - break; - case "TARGET_TYPE_EXTENSION_RANGE": - case 2: - message.targets[i] = 2; - break; - case "TARGET_TYPE_MESSAGE": - case 3: - message.targets[i] = 3; - break; - case "TARGET_TYPE_FIELD": - case 4: - message.targets[i] = 4; - break; - case "TARGET_TYPE_ONEOF": - case 5: - message.targets[i] = 5; - break; - case "TARGET_TYPE_ENUM": - case 6: - message.targets[i] = 6; - break; - case "TARGET_TYPE_ENUM_ENTRY": - case 7: - message.targets[i] = 7; - break; - case "TARGET_TYPE_SERVICE": - case 8: - message.targets[i] = 8; - break; - case "TARGET_TYPE_METHOD": - case 9: - message.targets[i] = 9; - break; - } - } - if (object.editionDefaults) { - if (!Array.isArray(object.editionDefaults)) - throw TypeError(".google.protobuf.FieldOptions.editionDefaults: array expected"); - message.editionDefaults = []; - for (var i = 0; i < object.editionDefaults.length; ++i) { - if (typeof object.editionDefaults[i] !== "object") - throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); - } - } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".google.api.fieldBehavior"]) { - if (!Array.isArray(object[".google.api.fieldBehavior"])) - throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected"); - message[".google.api.fieldBehavior"] = []; - for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) - switch (object[".google.api.fieldBehavior"][i]) { - default: - if (typeof object[".google.api.fieldBehavior"][i] === "number") { - message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i]; - break; - } - case "FIELD_BEHAVIOR_UNSPECIFIED": - case 0: - message[".google.api.fieldBehavior"][i] = 0; - break; - case "OPTIONAL": - case 1: - message[".google.api.fieldBehavior"][i] = 1; - break; - case "REQUIRED": - case 2: - message[".google.api.fieldBehavior"][i] = 2; - break; - case "OUTPUT_ONLY": - case 3: - message[".google.api.fieldBehavior"][i] = 3; - break; - case "INPUT_ONLY": - case 4: - message[".google.api.fieldBehavior"][i] = 4; - break; - case "IMMUTABLE": - case 5: - message[".google.api.fieldBehavior"][i] = 5; - break; - case "UNORDERED_LIST": - case 6: - message[".google.api.fieldBehavior"][i] = 6; - break; - case "NON_EMPTY_DEFAULT": - case 7: - message[".google.api.fieldBehavior"][i] = 7; - break; - case "IDENTIFIER": - case 8: - message[".google.api.fieldBehavior"][i] = 8; - break; - } - } - if (object[".google.api.resourceReference"] != null) { - if (typeof object[".google.api.resourceReference"] !== "object") - throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); - } - return message; - }; - - /** - * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FieldOptions - * @static - * @param {google.protobuf.FieldOptions} message FieldOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FieldOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.targets = []; - object.editionDefaults = []; - object.uninterpretedOption = []; - object[".google.api.fieldBehavior"] = []; - } - if (options.defaults) { - object.ctype = options.enums === String ? "STRING" : 0; - object.packed = false; - object.deprecated = false; - object.lazy = false; - object.jstype = options.enums === String ? "JS_NORMAL" : 0; - object.weak = false; - object.unverifiedLazy = false; - object.debugRedact = false; - object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0; - object.features = null; - object[".google.api.resourceReference"] = null; - } - if (message.ctype != null && message.hasOwnProperty("ctype")) - object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; - if (message.packed != null && message.hasOwnProperty("packed")) - object.packed = message.packed; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.lazy != null && message.hasOwnProperty("lazy")) - object.lazy = message.lazy; - if (message.jstype != null && message.hasOwnProperty("jstype")) - object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; - if (message.weak != null && message.hasOwnProperty("weak")) - object.weak = message.weak; - if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) - object.unverifiedLazy = message.unverifiedLazy; - if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) - object.debugRedact = message.debugRedact; - if (message.retention != null && message.hasOwnProperty("retention")) - object.retention = options.enums === String ? $root.google.protobuf.FieldOptions.OptionRetention[message.retention] === undefined ? message.retention : $root.google.protobuf.FieldOptions.OptionRetention[message.retention] : message.retention; - if (message.targets && message.targets.length) { - object.targets = []; - for (var j = 0; j < message.targets.length; ++j) - 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]; - } - if (message.editionDefaults && message.editionDefaults.length) { - object.editionDefaults = []; - for (var j = 0; j < message.editionDefaults.length; ++j) - object.editionDefaults[j] = $root.google.protobuf.FieldOptions.EditionDefault.toObject(message.editionDefaults[j], options); - } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { - object[".google.api.fieldBehavior"] = []; - for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) - object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; - } - if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) - object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); - return object; - }; - - /** - * Converts this FieldOptions to JSON. - * @function toJSON - * @memberof google.protobuf.FieldOptions - * @instance - * @returns {Object.} JSON object - */ - FieldOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FieldOptions - * @function getTypeUrl - * @memberof google.protobuf.FieldOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FieldOptions"; - }; - - /** - * CType enum. - * @name google.protobuf.FieldOptions.CType - * @enum {number} - * @property {number} STRING=0 STRING value - * @property {number} CORD=1 CORD value - * @property {number} STRING_PIECE=2 STRING_PIECE value - */ - FieldOptions.CType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STRING"] = 0; - values[valuesById[1] = "CORD"] = 1; - values[valuesById[2] = "STRING_PIECE"] = 2; - return values; - })(); - - /** - * JSType enum. - * @name google.protobuf.FieldOptions.JSType - * @enum {number} - * @property {number} JS_NORMAL=0 JS_NORMAL value - * @property {number} JS_STRING=1 JS_STRING value - * @property {number} JS_NUMBER=2 JS_NUMBER value - */ - FieldOptions.JSType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "JS_NORMAL"] = 0; - values[valuesById[1] = "JS_STRING"] = 1; - values[valuesById[2] = "JS_NUMBER"] = 2; - return values; - })(); - - /** - * OptionRetention enum. - * @name google.protobuf.FieldOptions.OptionRetention - * @enum {number} - * @property {number} RETENTION_UNKNOWN=0 RETENTION_UNKNOWN value - * @property {number} RETENTION_RUNTIME=1 RETENTION_RUNTIME value - * @property {number} RETENTION_SOURCE=2 RETENTION_SOURCE value - */ - FieldOptions.OptionRetention = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "RETENTION_UNKNOWN"] = 0; - values[valuesById[1] = "RETENTION_RUNTIME"] = 1; - values[valuesById[2] = "RETENTION_SOURCE"] = 2; - return values; - })(); - - /** - * OptionTargetType enum. - * @name google.protobuf.FieldOptions.OptionTargetType - * @enum {number} - * @property {number} TARGET_TYPE_UNKNOWN=0 TARGET_TYPE_UNKNOWN value - * @property {number} TARGET_TYPE_FILE=1 TARGET_TYPE_FILE value - * @property {number} TARGET_TYPE_EXTENSION_RANGE=2 TARGET_TYPE_EXTENSION_RANGE value - * @property {number} TARGET_TYPE_MESSAGE=3 TARGET_TYPE_MESSAGE value - * @property {number} TARGET_TYPE_FIELD=4 TARGET_TYPE_FIELD value - * @property {number} TARGET_TYPE_ONEOF=5 TARGET_TYPE_ONEOF value - * @property {number} TARGET_TYPE_ENUM=6 TARGET_TYPE_ENUM value - * @property {number} TARGET_TYPE_ENUM_ENTRY=7 TARGET_TYPE_ENUM_ENTRY value - * @property {number} TARGET_TYPE_SERVICE=8 TARGET_TYPE_SERVICE value - * @property {number} TARGET_TYPE_METHOD=9 TARGET_TYPE_METHOD value - */ - FieldOptions.OptionTargetType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TARGET_TYPE_UNKNOWN"] = 0; - values[valuesById[1] = "TARGET_TYPE_FILE"] = 1; - values[valuesById[2] = "TARGET_TYPE_EXTENSION_RANGE"] = 2; - values[valuesById[3] = "TARGET_TYPE_MESSAGE"] = 3; - values[valuesById[4] = "TARGET_TYPE_FIELD"] = 4; - values[valuesById[5] = "TARGET_TYPE_ONEOF"] = 5; - values[valuesById[6] = "TARGET_TYPE_ENUM"] = 6; - values[valuesById[7] = "TARGET_TYPE_ENUM_ENTRY"] = 7; - values[valuesById[8] = "TARGET_TYPE_SERVICE"] = 8; - values[valuesById[9] = "TARGET_TYPE_METHOD"] = 9; - return values; - })(); - - FieldOptions.EditionDefault = (function() { - - /** - * Properties of an EditionDefault. - * @memberof google.protobuf.FieldOptions - * @interface IEditionDefault - * @property {google.protobuf.Edition|null} [edition] EditionDefault edition - * @property {string|null} [value] EditionDefault value - */ - - /** - * Constructs a new EditionDefault. - * @memberof google.protobuf.FieldOptions - * @classdesc Represents an EditionDefault. - * @implements IEditionDefault - * @constructor - * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set - */ - function EditionDefault(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EditionDefault edition. - * @member {google.protobuf.Edition} edition - * @memberof google.protobuf.FieldOptions.EditionDefault - * @instance - */ - EditionDefault.prototype.edition = 0; - - /** - * EditionDefault value. - * @member {string} value - * @memberof google.protobuf.FieldOptions.EditionDefault - * @instance - */ - EditionDefault.prototype.value = ""; - - /** - * Creates a new EditionDefault instance using the specified properties. - * @function create - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {google.protobuf.FieldOptions.IEditionDefault=} [properties] Properties to set - * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault instance - */ - EditionDefault.create = function create(properties) { - return new EditionDefault(properties); - }; - - /** - * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EditionDefault.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); - return writer; - }; - - /** - * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {google.protobuf.FieldOptions.IEditionDefault} message EditionDefault message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EditionDefault.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EditionDefault message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EditionDefault.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: { - message.edition = reader.int32(); - break; - } - case 2: { - message.value = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EditionDefault message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EditionDefault.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EditionDefault message. - * @function verify - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EditionDefault.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.edition != null && message.hasOwnProperty("edition")) - switch (message.edition) { - default: - return "edition: enum value expected"; - case 0: - case 998: - case 999: - case 1000: - case 1001: - case 1: - case 2: - case 99997: - case 99998: - case 99999: - case 2147483647: - break; - } - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; - - /** - * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault - */ - EditionDefault.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) - return object; - var message = new $root.google.protobuf.FieldOptions.EditionDefault(); - switch (object.edition) { - default: - if (typeof object.edition === "number") { - message.edition = object.edition; - break; - } - break; - case "EDITION_UNKNOWN": - case 0: - message.edition = 0; - break; - case "EDITION_PROTO2": - case 998: - message.edition = 998; - break; - case "EDITION_PROTO3": - case 999: - message.edition = 999; - break; - case "EDITION_2023": - case 1000: - message.edition = 1000; - break; - case "EDITION_2024": - case 1001: - message.edition = 1001; - break; - case "EDITION_1_TEST_ONLY": - case 1: - message.edition = 1; - break; - case "EDITION_2_TEST_ONLY": - case 2: - message.edition = 2; - break; - case "EDITION_99997_TEST_ONLY": - case 99997: - message.edition = 99997; - break; - case "EDITION_99998_TEST_ONLY": - case 99998: - message.edition = 99998; - break; - case "EDITION_99999_TEST_ONLY": - case 99999: - message.edition = 99999; - break; - case "EDITION_MAX": - case 2147483647: - message.edition = 2147483647; - break; - } - if (object.value != null) - message.value = String(object.value); - return message; - }; - - /** - * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {google.protobuf.FieldOptions.EditionDefault} message EditionDefault - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EditionDefault.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.value = ""; - object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; - } - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.edition != null && message.hasOwnProperty("edition")) - object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; - return object; - }; - - /** - * Converts this EditionDefault to JSON. - * @function toJSON - * @memberof google.protobuf.FieldOptions.EditionDefault - * @instance - * @returns {Object.} JSON object - */ - EditionDefault.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EditionDefault - * @function getTypeUrl - * @memberof google.protobuf.FieldOptions.EditionDefault - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FieldOptions.EditionDefault"; - }; - - return EditionDefault; - })(); - - return FieldOptions; - })(); - - protobuf.OneofOptions = (function() { - - /** - * Properties of an OneofOptions. - * @memberof google.protobuf - * @interface IOneofOptions - * @property {google.protobuf.IFeatureSet|null} [features] OneofOptions features - * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption - */ - - /** - * Constructs a new OneofOptions. - * @memberof google.protobuf - * @classdesc Represents an OneofOptions. - * @implements IOneofOptions - * @constructor - * @param {google.protobuf.IOneofOptions=} [properties] Properties to set - */ - function OneofOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * OneofOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.OneofOptions - * @instance - */ - OneofOptions.prototype.features = null; - - /** - * OneofOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.OneofOptions - * @instance - */ - OneofOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * Creates a new OneofOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.OneofOptions - * @static - * @param {google.protobuf.IOneofOptions=} [properties] Properties to set - * @returns {google.protobuf.OneofOptions} OneofOptions instance - */ - OneofOptions.create = function create(properties) { - return new OneofOptions(properties); - }; - - /** - * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.OneofOptions - * @static - * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - OneofOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.OneofOptions - * @static - * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an OneofOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.OneofOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.OneofOptions} OneofOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - OneofOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an OneofOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.OneofOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.OneofOptions} OneofOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - OneofOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an OneofOptions message. - * @function verify - * @memberof google.protobuf.OneofOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - OneofOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - return null; - }; - - /** - * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.OneofOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.OneofOptions} OneofOptions - */ - OneofOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.OneofOptions) - return object; - var message = new $root.google.protobuf.OneofOptions(); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.OneofOptions - * @static - * @param {google.protobuf.OneofOptions} message OneofOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - OneofOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) - object.features = null; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - return object; - }; - - /** - * Converts this OneofOptions to JSON. - * @function toJSON - * @memberof google.protobuf.OneofOptions - * @instance - * @returns {Object.} JSON object - */ - OneofOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for OneofOptions - * @function getTypeUrl - * @memberof google.protobuf.OneofOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.OneofOptions"; - }; - - return OneofOptions; - })(); - - protobuf.EnumOptions = (function() { - - /** - * Properties of an EnumOptions. - * @memberof google.protobuf - * @interface IEnumOptions - * @property {boolean|null} [allowAlias] EnumOptions allowAlias - * @property {boolean|null} [deprecated] EnumOptions deprecated - * @property {boolean|null} [deprecatedLegacyJsonFieldConflicts] EnumOptions deprecatedLegacyJsonFieldConflicts - * @property {google.protobuf.IFeatureSet|null} [features] EnumOptions features - * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption - */ - - /** - * Constructs a new EnumOptions. - * @memberof google.protobuf - * @classdesc Represents an EnumOptions. - * @implements IEnumOptions - * @constructor - * @param {google.protobuf.IEnumOptions=} [properties] Properties to set - */ - function EnumOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EnumOptions allowAlias. - * @member {boolean} allowAlias - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.allowAlias = false; - - /** - * EnumOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.deprecated = false; - - /** - * EnumOptions deprecatedLegacyJsonFieldConflicts. - * @member {boolean} deprecatedLegacyJsonFieldConflicts - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.deprecatedLegacyJsonFieldConflicts = false; - - /** - * EnumOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.features = null; - - /** - * EnumOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.EnumOptions - * @instance - */ - EnumOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * Creates a new EnumOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumOptions - * @static - * @param {google.protobuf.IEnumOptions=} [properties] Properties to set - * @returns {google.protobuf.EnumOptions} EnumOptions instance - */ - EnumOptions.create = function create(properties) { - return new EnumOptions(properties); - }; - - /** - * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumOptions - * @static - * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.deprecatedLegacyJsonFieldConflicts != null && Object.hasOwnProperty.call(message, "deprecatedLegacyJsonFieldConflicts")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.deprecatedLegacyJsonFieldConflicts); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumOptions - * @static - * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EnumOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumOptions} EnumOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: { - message.allowAlias = reader.bool(); - break; - } - case 3: { - message.deprecated = reader.bool(); - break; - } - case 6: { - message.deprecatedLegacyJsonFieldConflicts = reader.bool(); - break; - } - case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EnumOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumOptions} EnumOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EnumOptions message. - * @function verify - * @memberof google.protobuf.EnumOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) - if (typeof message.allowAlias !== "boolean") - return "allowAlias: boolean expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) - if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") - return "deprecatedLegacyJsonFieldConflicts: boolean expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - return null; - }; - - /** - * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumOptions} EnumOptions - */ - EnumOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumOptions) - return object; - var message = new $root.google.protobuf.EnumOptions(); - if (object.allowAlias != null) - message.allowAlias = Boolean(object.allowAlias); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.deprecatedLegacyJsonFieldConflicts != null) - message.deprecatedLegacyJsonFieldConflicts = Boolean(object.deprecatedLegacyJsonFieldConflicts); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumOptions - * @static - * @param {google.protobuf.EnumOptions} message EnumOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.allowAlias = false; - object.deprecated = false; - object.deprecatedLegacyJsonFieldConflicts = false; - object.features = null; - } - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) - object.allowAlias = message.allowAlias; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.deprecatedLegacyJsonFieldConflicts != null && message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts")) - object.deprecatedLegacyJsonFieldConflicts = message.deprecatedLegacyJsonFieldConflicts; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - return object; - }; - - /** - * Converts this EnumOptions to JSON. - * @function toJSON - * @memberof google.protobuf.EnumOptions - * @instance - * @returns {Object.} JSON object - */ - EnumOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EnumOptions - * @function getTypeUrl - * @memberof google.protobuf.EnumOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.EnumOptions"; - }; - - return EnumOptions; - })(); - - protobuf.EnumValueOptions = (function() { - - /** - * Properties of an EnumValueOptions. - * @memberof google.protobuf - * @interface IEnumValueOptions - * @property {boolean|null} [deprecated] EnumValueOptions deprecated - * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features - * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact - * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption - */ - - /** - * Constructs a new EnumValueOptions. - * @memberof google.protobuf - * @classdesc Represents an EnumValueOptions. - * @implements IEnumValueOptions - * @constructor - * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set - */ - function EnumValueOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EnumValueOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.EnumValueOptions - * @instance - */ - EnumValueOptions.prototype.deprecated = false; - - /** - * EnumValueOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.EnumValueOptions - * @instance - */ - EnumValueOptions.prototype.features = null; - - /** - * EnumValueOptions debugRedact. - * @member {boolean} debugRedact - * @memberof google.protobuf.EnumValueOptions - * @instance - */ - EnumValueOptions.prototype.debugRedact = false; - - /** - * EnumValueOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.EnumValueOptions - * @instance - */ - EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * Creates a new EnumValueOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance - */ - EnumValueOptions.create = function create(properties) { - return new EnumValueOptions(properties); - }; - - /** - * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumValueOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EnumValueOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumValueOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.deprecated = reader.bool(); - break; - } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 3: { - message.debugRedact = reader.bool(); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EnumValueOptions message. - * @function verify - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EnumValueOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) - if (typeof message.debugRedact !== "boolean") - return "debugRedact: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - return null; - }; - - /** - * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.EnumValueOptions} EnumValueOptions - */ - EnumValueOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.EnumValueOptions) - return object; - var message = new $root.google.protobuf.EnumValueOptions(); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.debugRedact != null) - message.debugRedact = Boolean(object.debugRedact); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {google.protobuf.EnumValueOptions} message EnumValueOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EnumValueOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.deprecated = false; - object.features = null; - object.debugRedact = false; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.debugRedact != null && message.hasOwnProperty("debugRedact")) - object.debugRedact = message.debugRedact; - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - return object; - }; - - /** - * Converts this EnumValueOptions to JSON. - * @function toJSON - * @memberof google.protobuf.EnumValueOptions - * @instance - * @returns {Object.} JSON object - */ - EnumValueOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for EnumValueOptions - * @function getTypeUrl - * @memberof google.protobuf.EnumValueOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.EnumValueOptions"; - }; - - return EnumValueOptions; - })(); - - protobuf.ServiceOptions = (function() { - - /** - * Properties of a ServiceOptions. - * @memberof google.protobuf - * @interface IServiceOptions - * @property {google.protobuf.IFeatureSet|null} [features] ServiceOptions features - * @property {boolean|null} [deprecated] ServiceOptions deprecated - * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption - * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost - * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes - * @property {string|null} [".google.api.apiVersion"] ServiceOptions .google.api.apiVersion - */ - - /** - * Constructs a new ServiceOptions. - * @memberof google.protobuf - * @classdesc Represents a ServiceOptions. - * @implements IServiceOptions - * @constructor - * @param {google.protobuf.IServiceOptions=} [properties] Properties to set - */ - function ServiceOptions(properties) { - this.uninterpretedOption = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ServiceOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype.features = null; - - /** - * ServiceOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype.deprecated = false; - - /** - * ServiceOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * ServiceOptions .google.api.defaultHost. - * @member {string} .google.api.defaultHost - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype[".google.api.defaultHost"] = ""; - - /** - * ServiceOptions .google.api.oauthScopes. - * @member {string} .google.api.oauthScopes - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype[".google.api.oauthScopes"] = ""; - - /** - * ServiceOptions .google.api.apiVersion. - * @member {string} .google.api.apiVersion - * @memberof google.protobuf.ServiceOptions - * @instance - */ - ServiceOptions.prototype[".google.api.apiVersion"] = ""; - - /** - * Creates a new ServiceOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.ServiceOptions - * @static - * @param {google.protobuf.IServiceOptions=} [properties] Properties to set - * @returns {google.protobuf.ServiceOptions} ServiceOptions instance - */ - ServiceOptions.create = function create(properties) { - return new ServiceOptions(properties); - }; - - /** - * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.ServiceOptions - * @static - * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServiceOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) - writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); - if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) - writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); - if (message[".google.api.apiVersion"] != null && Object.hasOwnProperty.call(message, ".google.api.apiVersion")) - writer.uint32(/* id 525000001, wireType 2 =*/4200000010).string(message[".google.api.apiVersion"]); - return writer; - }; - - /** - * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.ServiceOptions - * @static - * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ServiceOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.ServiceOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.ServiceOptions} ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServiceOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 33: { - message.deprecated = reader.bool(); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 1049: { - message[".google.api.defaultHost"] = reader.string(); - break; - } - case 1050: { - message[".google.api.oauthScopes"] = reader.string(); - break; - } - case 525000001: { - message[".google.api.apiVersion"] = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.ServiceOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.ServiceOptions} ServiceOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ServiceOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ServiceOptions message. - * @function verify - * @memberof google.protobuf.ServiceOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ServiceOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) - if (!$util.isString(message[".google.api.defaultHost"])) - return ".google.api.defaultHost: string expected"; - if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) - if (!$util.isString(message[".google.api.oauthScopes"])) - return ".google.api.oauthScopes: string expected"; - if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion")) - if (!$util.isString(message[".google.api.apiVersion"])) - return ".google.api.apiVersion: string expected"; - return null; - }; - - /** - * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.ServiceOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.ServiceOptions} ServiceOptions - */ - ServiceOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.ServiceOptions) - return object; - var message = new $root.google.protobuf.ServiceOptions(); - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".google.api.defaultHost"] != null) - message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]); - if (object[".google.api.oauthScopes"] != null) - message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]); - if (object[".google.api.apiVersion"] != null) - message[".google.api.apiVersion"] = String(object[".google.api.apiVersion"]); - return message; - }; - - /** - * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.ServiceOptions - * @static - * @param {google.protobuf.ServiceOptions} message ServiceOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ServiceOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.uninterpretedOption = []; - if (options.defaults) { - object.deprecated = false; - object.features = null; - object[".google.api.defaultHost"] = ""; - object[".google.api.oauthScopes"] = ""; - object[".google.api.apiVersion"] = ""; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) - object[".google.api.defaultHost"] = message[".google.api.defaultHost"]; - if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) - object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"]; - if (message[".google.api.apiVersion"] != null && message.hasOwnProperty(".google.api.apiVersion")) - object[".google.api.apiVersion"] = message[".google.api.apiVersion"]; - return object; - }; - - /** - * Converts this ServiceOptions to JSON. - * @function toJSON - * @memberof google.protobuf.ServiceOptions - * @instance - * @returns {Object.} JSON object - */ - ServiceOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ServiceOptions - * @function getTypeUrl - * @memberof google.protobuf.ServiceOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.ServiceOptions"; - }; - - return ServiceOptions; - })(); - - protobuf.MethodOptions = (function() { - - /** - * Properties of a MethodOptions. - * @memberof google.protobuf - * @interface IMethodOptions - * @property {boolean|null} [deprecated] MethodOptions deprecated - * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel - * @property {google.protobuf.IFeatureSet|null} [features] MethodOptions features - * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption - * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http - * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature - */ - - /** - * Constructs a new MethodOptions. - * @memberof google.protobuf - * @classdesc Represents a MethodOptions. - * @implements IMethodOptions - * @constructor - * @param {google.protobuf.IMethodOptions=} [properties] Properties to set - */ - function MethodOptions(properties) { - this.uninterpretedOption = []; - this[".google.api.methodSignature"] = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MethodOptions deprecated. - * @member {boolean} deprecated - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.deprecated = false; - - /** - * MethodOptions idempotencyLevel. - * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.idempotencyLevel = 0; - - /** - * MethodOptions features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.features = null; - - /** - * MethodOptions uninterpretedOption. - * @member {Array.} uninterpretedOption - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * MethodOptions .google.api.http. - * @member {google.api.IHttpRule|null|undefined} .google.api.http - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype[".google.api.http"] = null; - - /** - * MethodOptions .google.api.methodSignature. - * @member {Array.} .google.api.methodSignature - * @memberof google.protobuf.MethodOptions - * @instance - */ - MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray; - - /** - * Creates a new MethodOptions instance using the specified properties. - * @function create - * @memberof google.protobuf.MethodOptions - * @static - * @param {google.protobuf.IMethodOptions=} [properties] Properties to set - * @returns {google.protobuf.MethodOptions} MethodOptions instance - */ - MethodOptions.create = function create(properties) { - return new MethodOptions(properties); - }; - - /** - * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @function encode - * @memberof google.protobuf.MethodOptions - * @static - * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodOptions.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) - writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) - writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); - if (message.uninterpretedOption != null && message.uninterpretedOption.length) - for (var i = 0; i < message.uninterpretedOption.length; ++i) - $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) - for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) - writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); - if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) - $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.MethodOptions - * @static - * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MethodOptions message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.MethodOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.MethodOptions} MethodOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodOptions.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 33: { - message.deprecated = reader.bool(); - break; - } - case 34: { - message.idempotencyLevel = reader.int32(); - break; - } - case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - case 999: { - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - } - case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); - break; - } - case 1051: { - if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) - message[".google.api.methodSignature"] = []; - message[".google.api.methodSignature"].push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MethodOptions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.MethodOptions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.MethodOptions} MethodOptions - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MethodOptions.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MethodOptions message. - * @function verify - * @memberof google.protobuf.MethodOptions - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MethodOptions.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - if (typeof message.deprecated !== "boolean") - return "deprecated: boolean expected"; - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - switch (message.idempotencyLevel) { - default: - return "idempotencyLevel: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { - if (!Array.isArray(message.uninterpretedOption)) - return "uninterpretedOption: array expected"; - for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); - if (error) - return "uninterpretedOption." + error; - } - } - if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); - if (error) - return ".google.api.http." + error; - } - if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) { - if (!Array.isArray(message[".google.api.methodSignature"])) - return ".google.api.methodSignature: array expected"; - for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) - if (!$util.isString(message[".google.api.methodSignature"][i])) - return ".google.api.methodSignature: string[] expected"; - } - return null; - }; - - /** - * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.MethodOptions - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.MethodOptions} MethodOptions - */ - MethodOptions.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.MethodOptions) - return object; - var message = new $root.google.protobuf.MethodOptions(); - if (object.deprecated != null) - message.deprecated = Boolean(object.deprecated); - switch (object.idempotencyLevel) { - default: - if (typeof object.idempotencyLevel === "number") { - message.idempotencyLevel = object.idempotencyLevel; - break; - } - break; - case "IDEMPOTENCY_UNKNOWN": - case 0: - message.idempotencyLevel = 0; - break; - case "NO_SIDE_EFFECTS": - case 1: - message.idempotencyLevel = 1; - break; - case "IDEMPOTENT": - case 2: - message.idempotencyLevel = 2; - break; - } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - if (object.uninterpretedOption) { - if (!Array.isArray(object.uninterpretedOption)) - throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); - message.uninterpretedOption = []; - for (var i = 0; i < object.uninterpretedOption.length; ++i) { - if (typeof object.uninterpretedOption[i] !== "object") - throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); - } - } - if (object[".google.api.http"] != null) { - if (typeof object[".google.api.http"] !== "object") - throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); - } - if (object[".google.api.methodSignature"]) { - if (!Array.isArray(object[".google.api.methodSignature"])) - throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected"); - message[".google.api.methodSignature"] = []; - for (var i = 0; i < object[".google.api.methodSignature"].length; ++i) - message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]); - } - return message; - }; - - /** - * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.MethodOptions - * @static - * @param {google.protobuf.MethodOptions} message MethodOptions - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MethodOptions.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.uninterpretedOption = []; - object[".google.api.methodSignature"] = []; - } - if (options.defaults) { - object.deprecated = false; - object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; - object.features = null; - object[".google.api.http"] = null; - } - if (message.deprecated != null && message.hasOwnProperty("deprecated")) - object.deprecated = message.deprecated; - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.uninterpretedOption && message.uninterpretedOption.length) { - object.uninterpretedOption = []; - for (var j = 0; j < message.uninterpretedOption.length; ++j) - object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); - } - if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) { - object[".google.api.methodSignature"] = []; - for (var j = 0; j < message[".google.api.methodSignature"].length; ++j) - object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j]; - } - if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) - object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options); - return object; - }; - - /** - * Converts this MethodOptions to JSON. - * @function toJSON - * @memberof google.protobuf.MethodOptions - * @instance - * @returns {Object.} JSON object - */ - MethodOptions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for MethodOptions - * @function getTypeUrl - * @memberof google.protobuf.MethodOptions - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.MethodOptions"; - }; - - /** - * IdempotencyLevel enum. - * @name google.protobuf.MethodOptions.IdempotencyLevel - * @enum {number} - * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value - * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value - * @property {number} IDEMPOTENT=2 IDEMPOTENT value - */ - MethodOptions.IdempotencyLevel = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; - values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; - values[valuesById[2] = "IDEMPOTENT"] = 2; - return values; - })(); - - return MethodOptions; - })(); - - protobuf.UninterpretedOption = (function() { - - /** - * Properties of an UninterpretedOption. - * @memberof google.protobuf - * @interface IUninterpretedOption - * @property {Array.|null} [name] UninterpretedOption name - * @property {string|null} [identifierValue] UninterpretedOption identifierValue - * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue - * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue - * @property {number|null} [doubleValue] UninterpretedOption doubleValue - * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue - * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue - */ - - /** - * Constructs a new UninterpretedOption. - * @memberof google.protobuf - * @classdesc Represents an UninterpretedOption. - * @implements IUninterpretedOption - * @constructor - * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set - */ - function UninterpretedOption(properties) { - this.name = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UninterpretedOption name. - * @member {Array.} name - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.name = $util.emptyArray; - - /** - * UninterpretedOption identifierValue. - * @member {string} identifierValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.identifierValue = ""; - - /** - * UninterpretedOption positiveIntValue. - * @member {number|Long} positiveIntValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * UninterpretedOption negativeIntValue. - * @member {number|Long} negativeIntValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * UninterpretedOption doubleValue. - * @member {number} doubleValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.doubleValue = 0; - - /** - * UninterpretedOption stringValue. - * @member {Uint8Array} stringValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.stringValue = $util.newBuffer([]); - - /** - * UninterpretedOption aggregateValue. - * @member {string} aggregateValue - * @memberof google.protobuf.UninterpretedOption - * @instance - */ - UninterpretedOption.prototype.aggregateValue = ""; - - /** - * Creates a new UninterpretedOption instance using the specified properties. - * @function create - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance - */ - UninterpretedOption.create = function create(properties) { - return new UninterpretedOption(properties); - }; - - /** - * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @function encode - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UninterpretedOption.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && message.name.length) - for (var i = 0; i < message.name.length; ++i) - $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); - if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); - if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); - if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) - writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); - if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); - if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); - return writer; - }; - - /** - * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UninterpretedOption message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UninterpretedOption.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 2: { - if (!(message.name && message.name.length)) - message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); - break; - } - case 3: { - message.identifierValue = reader.string(); - break; - } - case 4: { - message.positiveIntValue = reader.uint64(); - break; - } - case 5: { - message.negativeIntValue = reader.int64(); - break; - } - case 6: { - message.doubleValue = reader.double(); - break; - } - case 7: { - message.stringValue = reader.bytes(); - break; - } - case 8: { - message.aggregateValue = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UninterpretedOption message. - * @function verify - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UninterpretedOption.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) { - if (!Array.isArray(message.name)) - return "name: array expected"; - for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); - if (error) - return "name." + error; - } - } - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) - if (!$util.isString(message.identifierValue)) - return "identifierValue: string expected"; - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) - if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) - return "positiveIntValue: integer|Long expected"; - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) - if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) - return "negativeIntValue: integer|Long expected"; - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) - if (typeof message.doubleValue !== "number") - return "doubleValue: number expected"; - if (message.stringValue != null && message.hasOwnProperty("stringValue")) - if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) - return "stringValue: buffer expected"; - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) - if (!$util.isString(message.aggregateValue)) - return "aggregateValue: string expected"; - return null; - }; - - /** - * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.UninterpretedOption} UninterpretedOption - */ - UninterpretedOption.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.UninterpretedOption) - return object; - var message = new $root.google.protobuf.UninterpretedOption(); - if (object.name) { - if (!Array.isArray(object.name)) - throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); - message.name = []; - for (var i = 0; i < object.name.length; ++i) { - if (typeof object.name[i] !== "object") - throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); - } - } - if (object.identifierValue != null) - message.identifierValue = String(object.identifierValue); - if (object.positiveIntValue != null) - if ($util.Long) - (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; - else if (typeof object.positiveIntValue === "string") - message.positiveIntValue = parseInt(object.positiveIntValue, 10); - else if (typeof object.positiveIntValue === "number") - message.positiveIntValue = object.positiveIntValue; - else if (typeof object.positiveIntValue === "object") - message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); - if (object.negativeIntValue != null) - if ($util.Long) - (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; - else if (typeof object.negativeIntValue === "string") - message.negativeIntValue = parseInt(object.negativeIntValue, 10); - else if (typeof object.negativeIntValue === "number") - message.negativeIntValue = object.negativeIntValue; - else if (typeof object.negativeIntValue === "object") - message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); - if (object.doubleValue != null) - message.doubleValue = Number(object.doubleValue); - if (object.stringValue != null) - if (typeof object.stringValue === "string") - $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); - else if (object.stringValue.length >= 0) - message.stringValue = object.stringValue; - if (object.aggregateValue != null) - message.aggregateValue = String(object.aggregateValue); - return message; - }; - - /** - * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {google.protobuf.UninterpretedOption} message UninterpretedOption - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UninterpretedOption.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.name = []; - if (options.defaults) { - object.identifierValue = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.positiveIntValue = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.negativeIntValue = options.longs === String ? "0" : 0; - object.doubleValue = 0; - if (options.bytes === String) - object.stringValue = ""; - else { - object.stringValue = []; - if (options.bytes !== Array) - object.stringValue = $util.newBuffer(object.stringValue); - } - object.aggregateValue = ""; - } - if (message.name && message.name.length) { - object.name = []; - for (var j = 0; j < message.name.length; ++j) - object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); - } - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) - object.identifierValue = message.identifierValue; - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) - if (typeof message.positiveIntValue === "number") - object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; - else - object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) - if (typeof message.negativeIntValue === "number") - object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; - else - object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) - object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; - if (message.stringValue != null && message.hasOwnProperty("stringValue")) - object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) - object.aggregateValue = message.aggregateValue; - return object; - }; - - /** - * Converts this UninterpretedOption to JSON. - * @function toJSON - * @memberof google.protobuf.UninterpretedOption - * @instance - * @returns {Object.} JSON object - */ - UninterpretedOption.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UninterpretedOption - * @function getTypeUrl - * @memberof google.protobuf.UninterpretedOption - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.UninterpretedOption"; - }; - - UninterpretedOption.NamePart = (function() { - - /** - * Properties of a NamePart. - * @memberof google.protobuf.UninterpretedOption - * @interface INamePart - * @property {string} namePart NamePart namePart - * @property {boolean} isExtension NamePart isExtension - */ - - /** - * Constructs a new NamePart. - * @memberof google.protobuf.UninterpretedOption - * @classdesc Represents a NamePart. - * @implements INamePart - * @constructor - * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set - */ - function NamePart(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NamePart namePart. - * @member {string} namePart - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - */ - NamePart.prototype.namePart = ""; - - /** - * NamePart isExtension. - * @member {boolean} isExtension - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - */ - NamePart.prototype.isExtension = false; - - /** - * Creates a new NamePart instance using the specified properties. - * @function create - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance - */ - NamePart.create = function create(properties) { - return new NamePart(properties); - }; - - /** - * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @function encode - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NamePart.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); - return writer; - }; - - /** - * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NamePart.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NamePart message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NamePart.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.namePart = reader.string(); - break; - } - case 2: { - message.isExtension = reader.bool(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - if (!message.hasOwnProperty("namePart")) - throw $util.ProtocolError("missing required 'namePart'", { instance: message }); - if (!message.hasOwnProperty("isExtension")) - throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); - return message; - }; - - /** - * Decodes a NamePart message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NamePart.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NamePart message. - * @function verify - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NamePart.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (!$util.isString(message.namePart)) - return "namePart: string expected"; - if (typeof message.isExtension !== "boolean") - return "isExtension: boolean expected"; - return null; - }; - - /** - * Creates a NamePart message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart - */ - NamePart.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) - return object; - var message = new $root.google.protobuf.UninterpretedOption.NamePart(); - if (object.namePart != null) - message.namePart = String(object.namePart); - if (object.isExtension != null) - message.isExtension = Boolean(object.isExtension); - return message; - }; - - /** - * Creates a plain object from a NamePart message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NamePart.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.namePart = ""; - object.isExtension = false; - } - if (message.namePart != null && message.hasOwnProperty("namePart")) - object.namePart = message.namePart; - if (message.isExtension != null && message.hasOwnProperty("isExtension")) - object.isExtension = message.isExtension; - return object; - }; - - /** - * Converts this NamePart to JSON. - * @function toJSON - * @memberof google.protobuf.UninterpretedOption.NamePart - * @instance - * @returns {Object.} JSON object - */ - NamePart.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for NamePart - * @function getTypeUrl - * @memberof google.protobuf.UninterpretedOption.NamePart - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart"; - }; - - return NamePart; - })(); - - return UninterpretedOption; - })(); - - protobuf.FeatureSet = (function() { - - /** - * Properties of a FeatureSet. - * @memberof google.protobuf - * @interface IFeatureSet - * @property {google.protobuf.FeatureSet.FieldPresence|null} [fieldPresence] FeatureSet fieldPresence - * @property {google.protobuf.FeatureSet.EnumType|null} [enumType] FeatureSet enumType - * @property {google.protobuf.FeatureSet.RepeatedFieldEncoding|null} [repeatedFieldEncoding] FeatureSet repeatedFieldEncoding - * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation - * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding - * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat - */ - - /** - * Constructs a new FeatureSet. - * @memberof google.protobuf - * @classdesc Represents a FeatureSet. - * @implements IFeatureSet - * @constructor - * @param {google.protobuf.IFeatureSet=} [properties] Properties to set - */ - function FeatureSet(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FeatureSet fieldPresence. - * @member {google.protobuf.FeatureSet.FieldPresence} fieldPresence - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.fieldPresence = 0; - - /** - * FeatureSet enumType. - * @member {google.protobuf.FeatureSet.EnumType} enumType - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.enumType = 0; - - /** - * FeatureSet repeatedFieldEncoding. - * @member {google.protobuf.FeatureSet.RepeatedFieldEncoding} repeatedFieldEncoding - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.repeatedFieldEncoding = 0; - - /** - * FeatureSet utf8Validation. - * @member {google.protobuf.FeatureSet.Utf8Validation} utf8Validation - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.utf8Validation = 0; - - /** - * FeatureSet messageEncoding. - * @member {google.protobuf.FeatureSet.MessageEncoding} messageEncoding - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.messageEncoding = 0; - - /** - * FeatureSet jsonFormat. - * @member {google.protobuf.FeatureSet.JsonFormat} jsonFormat - * @memberof google.protobuf.FeatureSet - * @instance - */ - FeatureSet.prototype.jsonFormat = 0; - - /** - * Creates a new FeatureSet instance using the specified properties. - * @function create - * @memberof google.protobuf.FeatureSet - * @static - * @param {google.protobuf.IFeatureSet=} [properties] Properties to set - * @returns {google.protobuf.FeatureSet} FeatureSet instance - */ - FeatureSet.create = function create(properties) { - return new FeatureSet(properties); - }; - - /** - * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FeatureSet - * @static - * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSet.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.fieldPresence != null && Object.hasOwnProperty.call(message, "fieldPresence")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.fieldPresence); - if (message.enumType != null && Object.hasOwnProperty.call(message, "enumType")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.enumType); - if (message.repeatedFieldEncoding != null && Object.hasOwnProperty.call(message, "repeatedFieldEncoding")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.repeatedFieldEncoding); - if (message.utf8Validation != null && Object.hasOwnProperty.call(message, "utf8Validation")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.utf8Validation); - if (message.messageEncoding != null && Object.hasOwnProperty.call(message, "messageEncoding")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding); - if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat")) - writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat); - return writer; - }; - - /** - * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FeatureSet - * @static - * @param {google.protobuf.IFeatureSet} message FeatureSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSet.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FeatureSet message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FeatureSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FeatureSet} FeatureSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSet.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.fieldPresence = reader.int32(); - break; - } - case 2: { - message.enumType = reader.int32(); - break; - } - case 3: { - message.repeatedFieldEncoding = reader.int32(); - break; - } - case 4: { - message.utf8Validation = reader.int32(); - break; - } - case 5: { - message.messageEncoding = reader.int32(); - break; - } - case 6: { - message.jsonFormat = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FeatureSet message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FeatureSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FeatureSet} FeatureSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSet.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FeatureSet message. - * @function verify - * @memberof google.protobuf.FeatureSet - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FeatureSet.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) - switch (message.fieldPresence) { - default: - return "fieldPresence: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.enumType != null && message.hasOwnProperty("enumType")) - switch (message.enumType) { - default: - return "enumType: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding")) - switch (message.repeatedFieldEncoding) { - default: - return "repeatedFieldEncoding: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation")) - switch (message.utf8Validation) { - default: - return "utf8Validation: enum value expected"; - case 0: - case 2: - case 3: - break; - } - if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding")) - switch (message.messageEncoding) { - default: - return "messageEncoding: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) - switch (message.jsonFormat) { - default: - return "jsonFormat: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; - - /** - * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FeatureSet - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FeatureSet} FeatureSet - */ - FeatureSet.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FeatureSet) - return object; - var message = new $root.google.protobuf.FeatureSet(); - switch (object.fieldPresence) { - default: - if (typeof object.fieldPresence === "number") { - message.fieldPresence = object.fieldPresence; - break; - } - break; - case "FIELD_PRESENCE_UNKNOWN": - case 0: - message.fieldPresence = 0; - break; - case "EXPLICIT": - case 1: - message.fieldPresence = 1; - break; - case "IMPLICIT": - case 2: - message.fieldPresence = 2; - break; - case "LEGACY_REQUIRED": - case 3: - message.fieldPresence = 3; - break; - } - switch (object.enumType) { - default: - if (typeof object.enumType === "number") { - message.enumType = object.enumType; - break; - } - break; - case "ENUM_TYPE_UNKNOWN": - case 0: - message.enumType = 0; - break; - case "OPEN": - case 1: - message.enumType = 1; - break; - case "CLOSED": - case 2: - message.enumType = 2; - break; - } - switch (object.repeatedFieldEncoding) { - default: - if (typeof object.repeatedFieldEncoding === "number") { - message.repeatedFieldEncoding = object.repeatedFieldEncoding; - break; - } - break; - case "REPEATED_FIELD_ENCODING_UNKNOWN": - case 0: - message.repeatedFieldEncoding = 0; - break; - case "PACKED": - case 1: - message.repeatedFieldEncoding = 1; - break; - case "EXPANDED": - case 2: - message.repeatedFieldEncoding = 2; - break; - } - switch (object.utf8Validation) { - default: - if (typeof object.utf8Validation === "number") { - message.utf8Validation = object.utf8Validation; - break; - } - break; - case "UTF8_VALIDATION_UNKNOWN": - case 0: - message.utf8Validation = 0; - break; - case "VERIFY": - case 2: - message.utf8Validation = 2; - break; - case "NONE": - case 3: - message.utf8Validation = 3; - break; - } - switch (object.messageEncoding) { - default: - if (typeof object.messageEncoding === "number") { - message.messageEncoding = object.messageEncoding; - break; - } - break; - case "MESSAGE_ENCODING_UNKNOWN": - case 0: - message.messageEncoding = 0; - break; - case "LENGTH_PREFIXED": - case 1: - message.messageEncoding = 1; - break; - case "DELIMITED": - case 2: - message.messageEncoding = 2; - break; - } - switch (object.jsonFormat) { - default: - if (typeof object.jsonFormat === "number") { - message.jsonFormat = object.jsonFormat; - break; - } - break; - case "JSON_FORMAT_UNKNOWN": - case 0: - message.jsonFormat = 0; - break; - case "ALLOW": - case 1: - message.jsonFormat = 1; - break; - case "LEGACY_BEST_EFFORT": - case 2: - message.jsonFormat = 2; - break; - } - return message; - }; - - /** - * Creates a plain object from a FeatureSet message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FeatureSet - * @static - * @param {google.protobuf.FeatureSet} message FeatureSet - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FeatureSet.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.fieldPresence = options.enums === String ? "FIELD_PRESENCE_UNKNOWN" : 0; - object.enumType = options.enums === String ? "ENUM_TYPE_UNKNOWN" : 0; - object.repeatedFieldEncoding = options.enums === String ? "REPEATED_FIELD_ENCODING_UNKNOWN" : 0; - object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0; - object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0; - object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0; - } - if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) - object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence; - if (message.enumType != null && message.hasOwnProperty("enumType")) - object.enumType = options.enums === String ? $root.google.protobuf.FeatureSet.EnumType[message.enumType] === undefined ? message.enumType : $root.google.protobuf.FeatureSet.EnumType[message.enumType] : message.enumType; - if (message.repeatedFieldEncoding != null && message.hasOwnProperty("repeatedFieldEncoding")) - object.repeatedFieldEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] === undefined ? message.repeatedFieldEncoding : $root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding] : message.repeatedFieldEncoding; - if (message.utf8Validation != null && message.hasOwnProperty("utf8Validation")) - object.utf8Validation = options.enums === String ? $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] === undefined ? message.utf8Validation : $root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation] : message.utf8Validation; - if (message.messageEncoding != null && message.hasOwnProperty("messageEncoding")) - object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding; - if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat")) - object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat; - return object; - }; - - /** - * Converts this FeatureSet to JSON. - * @function toJSON - * @memberof google.protobuf.FeatureSet - * @instance - * @returns {Object.} JSON object - */ - FeatureSet.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FeatureSet - * @function getTypeUrl - * @memberof google.protobuf.FeatureSet - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FeatureSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FeatureSet"; - }; - - /** - * FieldPresence enum. - * @name google.protobuf.FeatureSet.FieldPresence - * @enum {number} - * @property {number} FIELD_PRESENCE_UNKNOWN=0 FIELD_PRESENCE_UNKNOWN value - * @property {number} EXPLICIT=1 EXPLICIT value - * @property {number} IMPLICIT=2 IMPLICIT value - * @property {number} LEGACY_REQUIRED=3 LEGACY_REQUIRED value - */ - FeatureSet.FieldPresence = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FIELD_PRESENCE_UNKNOWN"] = 0; - values[valuesById[1] = "EXPLICIT"] = 1; - values[valuesById[2] = "IMPLICIT"] = 2; - values[valuesById[3] = "LEGACY_REQUIRED"] = 3; - return values; - })(); - - /** - * EnumType enum. - * @name google.protobuf.FeatureSet.EnumType - * @enum {number} - * @property {number} ENUM_TYPE_UNKNOWN=0 ENUM_TYPE_UNKNOWN value - * @property {number} OPEN=1 OPEN value - * @property {number} CLOSED=2 CLOSED value - */ - FeatureSet.EnumType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "ENUM_TYPE_UNKNOWN"] = 0; - values[valuesById[1] = "OPEN"] = 1; - values[valuesById[2] = "CLOSED"] = 2; - return values; - })(); - - /** - * RepeatedFieldEncoding enum. - * @name google.protobuf.FeatureSet.RepeatedFieldEncoding - * @enum {number} - * @property {number} REPEATED_FIELD_ENCODING_UNKNOWN=0 REPEATED_FIELD_ENCODING_UNKNOWN value - * @property {number} PACKED=1 PACKED value - * @property {number} EXPANDED=2 EXPANDED value - */ - FeatureSet.RepeatedFieldEncoding = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "REPEATED_FIELD_ENCODING_UNKNOWN"] = 0; - values[valuesById[1] = "PACKED"] = 1; - values[valuesById[2] = "EXPANDED"] = 2; - return values; - })(); - - /** - * Utf8Validation enum. - * @name google.protobuf.FeatureSet.Utf8Validation - * @enum {number} - * @property {number} UTF8_VALIDATION_UNKNOWN=0 UTF8_VALIDATION_UNKNOWN value - * @property {number} VERIFY=2 VERIFY value - * @property {number} NONE=3 NONE value - */ - FeatureSet.Utf8Validation = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UTF8_VALIDATION_UNKNOWN"] = 0; - values[valuesById[2] = "VERIFY"] = 2; - values[valuesById[3] = "NONE"] = 3; - return values; - })(); - - /** - * MessageEncoding enum. - * @name google.protobuf.FeatureSet.MessageEncoding - * @enum {number} - * @property {number} MESSAGE_ENCODING_UNKNOWN=0 MESSAGE_ENCODING_UNKNOWN value - * @property {number} LENGTH_PREFIXED=1 LENGTH_PREFIXED value - * @property {number} DELIMITED=2 DELIMITED value - */ - FeatureSet.MessageEncoding = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "MESSAGE_ENCODING_UNKNOWN"] = 0; - values[valuesById[1] = "LENGTH_PREFIXED"] = 1; - values[valuesById[2] = "DELIMITED"] = 2; - return values; - })(); - - /** - * JsonFormat enum. - * @name google.protobuf.FeatureSet.JsonFormat - * @enum {number} - * @property {number} JSON_FORMAT_UNKNOWN=0 JSON_FORMAT_UNKNOWN value - * @property {number} ALLOW=1 ALLOW value - * @property {number} LEGACY_BEST_EFFORT=2 LEGACY_BEST_EFFORT value - */ - FeatureSet.JsonFormat = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "JSON_FORMAT_UNKNOWN"] = 0; - values[valuesById[1] = "ALLOW"] = 1; - values[valuesById[2] = "LEGACY_BEST_EFFORT"] = 2; - return values; - })(); - - return FeatureSet; - })(); - - protobuf.FeatureSetDefaults = (function() { - - /** - * Properties of a FeatureSetDefaults. - * @memberof google.protobuf - * @interface IFeatureSetDefaults - * @property {Array.|null} [defaults] FeatureSetDefaults defaults - * @property {google.protobuf.Edition|null} [minimumEdition] FeatureSetDefaults minimumEdition - * @property {google.protobuf.Edition|null} [maximumEdition] FeatureSetDefaults maximumEdition - */ - - /** - * Constructs a new FeatureSetDefaults. - * @memberof google.protobuf - * @classdesc Represents a FeatureSetDefaults. - * @implements IFeatureSetDefaults - * @constructor - * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set - */ - function FeatureSetDefaults(properties) { - this.defaults = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FeatureSetDefaults defaults. - * @member {Array.} defaults - * @memberof google.protobuf.FeatureSetDefaults - * @instance - */ - FeatureSetDefaults.prototype.defaults = $util.emptyArray; - - /** - * FeatureSetDefaults minimumEdition. - * @member {google.protobuf.Edition} minimumEdition - * @memberof google.protobuf.FeatureSetDefaults - * @instance - */ - FeatureSetDefaults.prototype.minimumEdition = 0; - - /** - * FeatureSetDefaults maximumEdition. - * @member {google.protobuf.Edition} maximumEdition - * @memberof google.protobuf.FeatureSetDefaults - * @instance - */ - FeatureSetDefaults.prototype.maximumEdition = 0; - - /** - * Creates a new FeatureSetDefaults instance using the specified properties. - * @function create - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {google.protobuf.IFeatureSetDefaults=} [properties] Properties to set - * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults instance - */ - FeatureSetDefaults.create = function create(properties) { - return new FeatureSetDefaults(properties); - }; - - /** - * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSetDefaults.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.defaults != null && message.defaults.length) - for (var i = 0; i < message.defaults.length; ++i) - $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.encode(message.defaults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.minimumEdition != null && Object.hasOwnProperty.call(message, "minimumEdition")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minimumEdition); - if (message.maximumEdition != null && Object.hasOwnProperty.call(message, "maximumEdition")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.maximumEdition); - return writer; - }; - - /** - * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {google.protobuf.IFeatureSetDefaults} message FeatureSetDefaults message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSetDefaults.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FeatureSetDefaults message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSetDefaults.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.defaults && message.defaults.length)) - message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); - break; - } - case 4: { - message.minimumEdition = reader.int32(); - break; - } - case 5: { - message.maximumEdition = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSetDefaults.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FeatureSetDefaults message. - * @function verify - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FeatureSetDefaults.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.defaults != null && message.hasOwnProperty("defaults")) { - if (!Array.isArray(message.defaults)) - return "defaults: array expected"; - for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); - if (error) - return "defaults." + error; - } - } - if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition")) - switch (message.minimumEdition) { - default: - return "minimumEdition: enum value expected"; - case 0: - case 998: - case 999: - case 1000: - case 1001: - case 1: - case 2: - case 99997: - case 99998: - case 99999: - case 2147483647: - break; - } - if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition")) - switch (message.maximumEdition) { - default: - return "maximumEdition: enum value expected"; - case 0: - case 998: - case 999: - case 1000: - case 1001: - case 1: - case 2: - case 99997: - case 99998: - case 99999: - case 2147483647: - break; - } - return null; - }; - - /** - * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults - */ - FeatureSetDefaults.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FeatureSetDefaults) - return object; - var message = new $root.google.protobuf.FeatureSetDefaults(); - if (object.defaults) { - if (!Array.isArray(object.defaults)) - throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected"); - message.defaults = []; - for (var i = 0; i < object.defaults.length; ++i) { - if (typeof object.defaults[i] !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); - } - } - switch (object.minimumEdition) { - default: - if (typeof object.minimumEdition === "number") { - message.minimumEdition = object.minimumEdition; - break; - } - break; - case "EDITION_UNKNOWN": - case 0: - message.minimumEdition = 0; - break; - case "EDITION_PROTO2": - case 998: - message.minimumEdition = 998; - break; - case "EDITION_PROTO3": - case 999: - message.minimumEdition = 999; - break; - case "EDITION_2023": - case 1000: - message.minimumEdition = 1000; - break; - case "EDITION_2024": - case 1001: - message.minimumEdition = 1001; - break; - case "EDITION_1_TEST_ONLY": - case 1: - message.minimumEdition = 1; - break; - case "EDITION_2_TEST_ONLY": - case 2: - message.minimumEdition = 2; - break; - case "EDITION_99997_TEST_ONLY": - case 99997: - message.minimumEdition = 99997; - break; - case "EDITION_99998_TEST_ONLY": - case 99998: - message.minimumEdition = 99998; - break; - case "EDITION_99999_TEST_ONLY": - case 99999: - message.minimumEdition = 99999; - break; - case "EDITION_MAX": - case 2147483647: - message.minimumEdition = 2147483647; - break; - } - switch (object.maximumEdition) { - default: - if (typeof object.maximumEdition === "number") { - message.maximumEdition = object.maximumEdition; - break; - } - break; - case "EDITION_UNKNOWN": - case 0: - message.maximumEdition = 0; - break; - case "EDITION_PROTO2": - case 998: - message.maximumEdition = 998; - break; - case "EDITION_PROTO3": - case 999: - message.maximumEdition = 999; - break; - case "EDITION_2023": - case 1000: - message.maximumEdition = 1000; - break; - case "EDITION_2024": - case 1001: - message.maximumEdition = 1001; - break; - case "EDITION_1_TEST_ONLY": - case 1: - message.maximumEdition = 1; - break; - case "EDITION_2_TEST_ONLY": - case 2: - message.maximumEdition = 2; - break; - case "EDITION_99997_TEST_ONLY": - case 99997: - message.maximumEdition = 99997; - break; - case "EDITION_99998_TEST_ONLY": - case 99998: - message.maximumEdition = 99998; - break; - case "EDITION_99999_TEST_ONLY": - case 99999: - message.maximumEdition = 99999; - break; - case "EDITION_MAX": - case 2147483647: - message.maximumEdition = 2147483647; - break; - } - return message; - }; - - /** - * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {google.protobuf.FeatureSetDefaults} message FeatureSetDefaults - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FeatureSetDefaults.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.defaults = []; - if (options.defaults) { - object.minimumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0; - object.maximumEdition = options.enums === String ? "EDITION_UNKNOWN" : 0; - } - if (message.defaults && message.defaults.length) { - object.defaults = []; - for (var j = 0; j < message.defaults.length; ++j) - object.defaults[j] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.toObject(message.defaults[j], options); - } - if (message.minimumEdition != null && message.hasOwnProperty("minimumEdition")) - object.minimumEdition = options.enums === String ? $root.google.protobuf.Edition[message.minimumEdition] === undefined ? message.minimumEdition : $root.google.protobuf.Edition[message.minimumEdition] : message.minimumEdition; - if (message.maximumEdition != null && message.hasOwnProperty("maximumEdition")) - object.maximumEdition = options.enums === String ? $root.google.protobuf.Edition[message.maximumEdition] === undefined ? message.maximumEdition : $root.google.protobuf.Edition[message.maximumEdition] : message.maximumEdition; - return object; - }; - - /** - * Converts this FeatureSetDefaults to JSON. - * @function toJSON - * @memberof google.protobuf.FeatureSetDefaults - * @instance - * @returns {Object.} JSON object - */ - FeatureSetDefaults.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FeatureSetDefaults - * @function getTypeUrl - * @memberof google.protobuf.FeatureSetDefaults - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FeatureSetDefaults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults"; - }; - - FeatureSetDefaults.FeatureSetEditionDefault = (function() { - - /** - * Properties of a FeatureSetEditionDefault. - * @memberof google.protobuf.FeatureSetDefaults - * @interface IFeatureSetEditionDefault - * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features - */ - - /** - * Constructs a new FeatureSetEditionDefault. - * @memberof google.protobuf.FeatureSetDefaults - * @classdesc Represents a FeatureSetEditionDefault. - * @implements IFeatureSetEditionDefault - * @constructor - * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set - */ - function FeatureSetEditionDefault(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FeatureSetEditionDefault edition. - * @member {google.protobuf.Edition} edition - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - */ - FeatureSetEditionDefault.prototype.edition = 0; - - /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - */ - FeatureSetEditionDefault.prototype.features = null; - - /** - * Creates a new FeatureSetEditionDefault instance using the specified properties. - * @function create - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault=} [properties] Properties to set - * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault instance - */ - FeatureSetEditionDefault.create = function create(properties) { - return new FeatureSetEditionDefault(properties); - }; - - /** - * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSetEditionDefault.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.features != null && Object.hasOwnProperty.call(message, "features")) - $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition); - return writer; - }; - - /** - * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault} message FeatureSetEditionDefault message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeatureSetEditionDefault.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FeatureSetEditionDefault message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSetEditionDefault.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: { - message.edition = reader.int32(); - break; - } - case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeatureSetEditionDefault.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FeatureSetEditionDefault message. - * @function verify - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FeatureSetEditionDefault.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.edition != null && message.hasOwnProperty("edition")) - switch (message.edition) { - default: - return "edition: enum value expected"; - case 0: - case 998: - case 999: - case 1000: - case 1001: - case 1: - case 2: - case 99997: - case 99998: - case 99999: - case 2147483647: - break; - } - if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); - if (error) - return "features." + error; - } - return null; - }; - - /** - * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault - */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) - return object; - var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); - switch (object.edition) { - default: - if (typeof object.edition === "number") { - message.edition = object.edition; - break; - } - break; - case "EDITION_UNKNOWN": - case 0: - message.edition = 0; - break; - case "EDITION_PROTO2": - case 998: - message.edition = 998; - break; - case "EDITION_PROTO3": - case 999: - message.edition = 999; - break; - case "EDITION_2023": - case 1000: - message.edition = 1000; - break; - case "EDITION_2024": - case 1001: - message.edition = 1001; - break; - case "EDITION_1_TEST_ONLY": - case 1: - message.edition = 1; - break; - case "EDITION_2_TEST_ONLY": - case 2: - message.edition = 2; - break; - case "EDITION_99997_TEST_ONLY": - case 99997: - message.edition = 99997; - break; - case "EDITION_99998_TEST_ONLY": - case 99998: - message.edition = 99998; - break; - case "EDITION_99999_TEST_ONLY": - case 99999: - message.edition = 99999; - break; - case "EDITION_MAX": - case 2147483647: - message.edition = 2147483647; - break; - } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } - return message; - }; - - /** - * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} message FeatureSetEditionDefault - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FeatureSetEditionDefault.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.features = null; - object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; - } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); - if (message.edition != null && message.hasOwnProperty("edition")) - object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; - return object; - }; - - /** - * Converts this FeatureSetEditionDefault to JSON. - * @function toJSON - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - * @returns {Object.} JSON object - */ - FeatureSetEditionDefault.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FeatureSetEditionDefault - * @function getTypeUrl - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FeatureSetEditionDefault.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"; - }; - - return FeatureSetEditionDefault; - })(); - - return FeatureSetDefaults; - })(); - - protobuf.SourceCodeInfo = (function() { - - /** - * Properties of a SourceCodeInfo. - * @memberof google.protobuf - * @interface ISourceCodeInfo - * @property {Array.|null} [location] SourceCodeInfo location - */ - - /** - * Constructs a new SourceCodeInfo. - * @memberof google.protobuf - * @classdesc Represents a SourceCodeInfo. - * @implements ISourceCodeInfo - * @constructor - * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set - */ - function SourceCodeInfo(properties) { - this.location = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SourceCodeInfo location. - * @member {Array.} location - * @memberof google.protobuf.SourceCodeInfo - * @instance - */ - SourceCodeInfo.prototype.location = $util.emptyArray; - - /** - * Creates a new SourceCodeInfo instance using the specified properties. - * @function create - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance - */ - SourceCodeInfo.create = function create(properties) { - return new SourceCodeInfo(properties); - }; - - /** - * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @function encode - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SourceCodeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.location != null && message.location.length) - for (var i = 0; i < message.location.length; ++i) - $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SourceCodeInfo message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SourceCodeInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.location && message.location.length)) - message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SourceCodeInfo message. - * @function verify - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SourceCodeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.location != null && message.hasOwnProperty("location")) { - if (!Array.isArray(message.location)) - return "location: array expected"; - for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); - if (error) - return "location." + error; - } - } - return null; - }; - - /** - * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo - */ - SourceCodeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.SourceCodeInfo) - return object; - var message = new $root.google.protobuf.SourceCodeInfo(); - if (object.location) { - if (!Array.isArray(object.location)) - throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); - message.location = []; - for (var i = 0; i < object.location.length; ++i) { - if (typeof object.location[i] !== "object") - throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SourceCodeInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.location = []; - if (message.location && message.location.length) { - object.location = []; - for (var j = 0; j < message.location.length; ++j) - object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); - } - return object; - }; - - /** - * Converts this SourceCodeInfo to JSON. - * @function toJSON - * @memberof google.protobuf.SourceCodeInfo - * @instance - * @returns {Object.} JSON object - */ - SourceCodeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for SourceCodeInfo - * @function getTypeUrl - * @memberof google.protobuf.SourceCodeInfo - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.SourceCodeInfo"; - }; - - SourceCodeInfo.Location = (function() { - - /** - * Properties of a Location. - * @memberof google.protobuf.SourceCodeInfo - * @interface ILocation - * @property {Array.|null} [path] Location path - * @property {Array.|null} [span] Location span - * @property {string|null} [leadingComments] Location leadingComments - * @property {string|null} [trailingComments] Location trailingComments - * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments - */ - - /** - * Constructs a new Location. - * @memberof google.protobuf.SourceCodeInfo - * @classdesc Represents a Location. - * @implements ILocation - * @constructor - * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set - */ - function Location(properties) { - this.path = []; - this.span = []; - this.leadingDetachedComments = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Location path. - * @member {Array.} path - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.path = $util.emptyArray; - - /** - * Location span. - * @member {Array.} span - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.span = $util.emptyArray; - - /** - * Location leadingComments. - * @member {string} leadingComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.leadingComments = ""; - - /** - * Location trailingComments. - * @member {string} trailingComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.trailingComments = ""; - - /** - * Location leadingDetachedComments. - * @member {Array.} leadingDetachedComments - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - */ - Location.prototype.leadingDetachedComments = $util.emptyArray; - - /** - * Creates a new Location instance using the specified properties. - * @function create - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set - * @returns {google.protobuf.SourceCodeInfo.Location} Location instance - */ - Location.create = function create(properties) { - return new Location(properties); - }; - - /** - * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @function encode - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && message.path.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.path.length; ++i) - writer.int32(message.path[i]); - writer.ldelim(); - } - if (message.span != null && message.span.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.span.length; ++i) - writer.int32(message.span[i]); - writer.ldelim(); - } - if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); - if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); - if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) - for (var i = 0; i < message.leadingDetachedComments.length; ++i) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); - return writer; - }; - - /** - * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Location.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Location message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.SourceCodeInfo.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Location.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - } - case 2: { - if (!(message.span && message.span.length)) - message.span = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.span.push(reader.int32()); - } else - message.span.push(reader.int32()); - break; - } - case 3: { - message.leadingComments = reader.string(); - break; - } - case 4: { - message.trailingComments = reader.string(); - break; - } - case 6: { - if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) - message.leadingDetachedComments = []; - message.leadingDetachedComments.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Location message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.SourceCodeInfo.Location} Location - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Location.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Location message. - * @function verify - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Location.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (var i = 0; i < message.path.length; ++i) - if (!$util.isInteger(message.path[i])) - return "path: integer[] expected"; - } - if (message.span != null && message.hasOwnProperty("span")) { - if (!Array.isArray(message.span)) - return "span: array expected"; - for (var i = 0; i < message.span.length; ++i) - if (!$util.isInteger(message.span[i])) - return "span: integer[] expected"; - } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) - if (!$util.isString(message.leadingComments)) - return "leadingComments: string expected"; - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) - if (!$util.isString(message.trailingComments)) - return "trailingComments: string expected"; - if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { - if (!Array.isArray(message.leadingDetachedComments)) - return "leadingDetachedComments: array expected"; - for (var i = 0; i < message.leadingDetachedComments.length; ++i) - if (!$util.isString(message.leadingDetachedComments[i])) - return "leadingDetachedComments: string[] expected"; - } - return null; - }; - - /** - * Creates a Location message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.SourceCodeInfo.Location} Location - */ - Location.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) - return object; - var message = new $root.google.protobuf.SourceCodeInfo.Location(); - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); - message.path = []; - for (var i = 0; i < object.path.length; ++i) - message.path[i] = object.path[i] | 0; - } - if (object.span) { - if (!Array.isArray(object.span)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); - message.span = []; - for (var i = 0; i < object.span.length; ++i) - message.span[i] = object.span[i] | 0; - } - if (object.leadingComments != null) - message.leadingComments = String(object.leadingComments); - if (object.trailingComments != null) - message.trailingComments = String(object.trailingComments); - if (object.leadingDetachedComments) { - if (!Array.isArray(object.leadingDetachedComments)) - throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); - message.leadingDetachedComments = []; - for (var i = 0; i < object.leadingDetachedComments.length; ++i) - message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); - } - return message; - }; - - /** - * Creates a plain object from a Location message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {google.protobuf.SourceCodeInfo.Location} message Location - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Location.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.path = []; - object.span = []; - object.leadingDetachedComments = []; - } - if (options.defaults) { - object.leadingComments = ""; - object.trailingComments = ""; - } - if (message.path && message.path.length) { - object.path = []; - for (var j = 0; j < message.path.length; ++j) - object.path[j] = message.path[j]; - } - if (message.span && message.span.length) { - object.span = []; - for (var j = 0; j < message.span.length; ++j) - object.span[j] = message.span[j]; - } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) - object.leadingComments = message.leadingComments; - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) - object.trailingComments = message.trailingComments; - if (message.leadingDetachedComments && message.leadingDetachedComments.length) { - object.leadingDetachedComments = []; - for (var j = 0; j < message.leadingDetachedComments.length; ++j) - object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; - } - return object; - }; - - /** - * Converts this Location to JSON. - * @function toJSON - * @memberof google.protobuf.SourceCodeInfo.Location - * @instance - * @returns {Object.} JSON object - */ - Location.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Location - * @function getTypeUrl - * @memberof google.protobuf.SourceCodeInfo.Location - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location"; - }; - - return Location; - })(); - - return SourceCodeInfo; - })(); - - protobuf.GeneratedCodeInfo = (function() { - - /** - * Properties of a GeneratedCodeInfo. - * @memberof google.protobuf - * @interface IGeneratedCodeInfo - * @property {Array.|null} [annotation] GeneratedCodeInfo annotation - */ - - /** - * Constructs a new GeneratedCodeInfo. - * @memberof google.protobuf - * @classdesc Represents a GeneratedCodeInfo. - * @implements IGeneratedCodeInfo - * @constructor - * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set - */ - function GeneratedCodeInfo(properties) { - this.annotation = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GeneratedCodeInfo annotation. - * @member {Array.} annotation - * @memberof google.protobuf.GeneratedCodeInfo - * @instance - */ - GeneratedCodeInfo.prototype.annotation = $util.emptyArray; - - /** - * Creates a new GeneratedCodeInfo instance using the specified properties. - * @function create - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance - */ - GeneratedCodeInfo.create = function create(properties) { - return new GeneratedCodeInfo(properties); - }; - - /** - * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @function encode - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GeneratedCodeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.annotation != null && message.annotation.length) - for (var i = 0; i < message.annotation.length; ++i) - $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GeneratedCodeInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.annotation && message.annotation.length)) - message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GeneratedCodeInfo message. - * @function verify - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GeneratedCodeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.annotation != null && message.hasOwnProperty("annotation")) { - if (!Array.isArray(message.annotation)) - return "annotation: array expected"; - for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); - if (error) - return "annotation." + error; - } - } - return null; - }; - - /** - * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo - */ - GeneratedCodeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.GeneratedCodeInfo) - return object; - var message = new $root.google.protobuf.GeneratedCodeInfo(); - if (object.annotation) { - if (!Array.isArray(object.annotation)) - throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); - message.annotation = []; - for (var i = 0; i < object.annotation.length; ++i) { - if (typeof object.annotation[i] !== "object") - throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GeneratedCodeInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.annotation = []; - if (message.annotation && message.annotation.length) { - object.annotation = []; - for (var j = 0; j < message.annotation.length; ++j) - object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); - } - return object; - }; - - /** - * Converts this GeneratedCodeInfo to JSON. - * @function toJSON - * @memberof google.protobuf.GeneratedCodeInfo - * @instance - * @returns {Object.} JSON object - */ - GeneratedCodeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for GeneratedCodeInfo - * @function getTypeUrl - * @memberof google.protobuf.GeneratedCodeInfo - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo"; - }; - - GeneratedCodeInfo.Annotation = (function() { - - /** - * Properties of an Annotation. - * @memberof google.protobuf.GeneratedCodeInfo - * @interface IAnnotation - * @property {Array.|null} [path] Annotation path - * @property {string|null} [sourceFile] Annotation sourceFile - * @property {number|null} [begin] Annotation begin - * @property {number|null} [end] Annotation end - * @property {google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null} [semantic] Annotation semantic - */ - - /** - * Constructs a new Annotation. - * @memberof google.protobuf.GeneratedCodeInfo - * @classdesc Represents an Annotation. - * @implements IAnnotation - * @constructor - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set - */ - function Annotation(properties) { - this.path = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Annotation path. - * @member {Array.} path - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.path = $util.emptyArray; - - /** - * Annotation sourceFile. - * @member {string} sourceFile - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.sourceFile = ""; - - /** - * Annotation begin. - * @member {number} begin - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.begin = 0; - - /** - * Annotation end. - * @member {number} end - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.end = 0; - - /** - * Annotation semantic. - * @member {google.protobuf.GeneratedCodeInfo.Annotation.Semantic} semantic - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - */ - Annotation.prototype.semantic = 0; - - /** - * Creates a new Annotation instance using the specified properties. - * @function create - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance - */ - Annotation.create = function create(properties) { - return new Annotation(properties); - }; - - /** - * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @function encode - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Annotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && message.path.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.path.length; ++i) - writer.int32(message.path[i]); - writer.ldelim(); - } - if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); - if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); - if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.semantic); - return writer; - }; - - /** - * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Annotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Annotation message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Annotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - } - case 2: { - message.sourceFile = reader.string(); - break; - } - case 3: { - message.begin = reader.int32(); - break; - } - case 4: { - message.end = reader.int32(); - break; - } - case 5: { - message.semantic = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Annotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Annotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Annotation message. - * @function verify - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Annotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (var i = 0; i < message.path.length; ++i) - if (!$util.isInteger(message.path[i])) - return "path: integer[] expected"; - } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) - if (!$util.isString(message.sourceFile)) - return "sourceFile: string expected"; - if (message.begin != null && message.hasOwnProperty("begin")) - if (!$util.isInteger(message.begin)) - return "begin: integer expected"; - if (message.end != null && message.hasOwnProperty("end")) - if (!$util.isInteger(message.end)) - return "end: integer expected"; - if (message.semantic != null && message.hasOwnProperty("semantic")) - switch (message.semantic) { - default: - return "semantic: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; - - /** - * Creates an Annotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation - */ - Annotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) - return object; - var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); - message.path = []; - for (var i = 0; i < object.path.length; ++i) - message.path[i] = object.path[i] | 0; - } - if (object.sourceFile != null) - message.sourceFile = String(object.sourceFile); - if (object.begin != null) - message.begin = object.begin | 0; - if (object.end != null) - message.end = object.end | 0; - switch (object.semantic) { - default: - if (typeof object.semantic === "number") { - message.semantic = object.semantic; - break; - } - break; - case "NONE": - case 0: - message.semantic = 0; - break; - case "SET": - case 1: - message.semantic = 1; - break; - case "ALIAS": - case 2: - message.semantic = 2; - break; - } - return message; - }; - - /** - * Creates a plain object from an Annotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Annotation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.path = []; - if (options.defaults) { - object.sourceFile = ""; - object.begin = 0; - object.end = 0; - object.semantic = options.enums === String ? "NONE" : 0; - } - if (message.path && message.path.length) { - object.path = []; - for (var j = 0; j < message.path.length; ++j) - object.path[j] = message.path[j]; - } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) - object.sourceFile = message.sourceFile; - if (message.begin != null && message.hasOwnProperty("begin")) - object.begin = message.begin; - if (message.end != null && message.hasOwnProperty("end")) - object.end = message.end; - if (message.semantic != null && message.hasOwnProperty("semantic")) - object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === undefined ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; - return object; - }; - - /** - * Converts this Annotation to JSON. - * @function toJSON - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @instance - * @returns {Object.} JSON object - */ - Annotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Annotation - * @function getTypeUrl - * @memberof google.protobuf.GeneratedCodeInfo.Annotation - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation"; - }; - - /** - * Semantic enum. - * @name google.protobuf.GeneratedCodeInfo.Annotation.Semantic - * @enum {number} - * @property {number} NONE=0 NONE value - * @property {number} SET=1 SET value - * @property {number} ALIAS=2 ALIAS value - */ - Annotation.Semantic = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "NONE"] = 0; - values[valuesById[1] = "SET"] = 1; - values[valuesById[2] = "ALIAS"] = 2; - return values; - })(); - - return Annotation; - })(); - - return GeneratedCodeInfo; - })(); - - protobuf.Duration = (function() { - - /** - * Properties of a Duration. - * @memberof google.protobuf - * @interface IDuration - * @property {number|Long|null} [seconds] Duration seconds - * @property {number|null} [nanos] Duration nanos - */ - - /** - * Constructs a new Duration. - * @memberof google.protobuf - * @classdesc Represents a Duration. - * @implements IDuration - * @constructor - * @param {google.protobuf.IDuration=} [properties] Properties to set - */ - function Duration(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Duration seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Duration - * @instance - */ - Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Duration nanos. - * @member {number} nanos - * @memberof google.protobuf.Duration - * @instance - */ - Duration.prototype.nanos = 0; - - /** - * Creates a new Duration instance using the specified properties. - * @function create - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration=} [properties] Properties to set - * @returns {google.protobuf.Duration} Duration instance - */ - Duration.create = function create(properties) { - return new Duration(properties); - }; - - /** - * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Duration.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Duration.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Duration message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Duration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Duration} Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Duration.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.seconds = reader.int64(); - break; - } - case 2: { - message.nanos = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Duration message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Duration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Duration} Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Duration.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Duration message. - * @function verify - * @memberof google.protobuf.Duration - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Duration.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Duration message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Duration - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Duration} Duration - */ - Duration.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Duration) - return object; - var message = new $root.google.protobuf.Duration(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Duration message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.Duration} message Duration - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Duration.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Duration to JSON. - * @function toJSON - * @memberof google.protobuf.Duration - * @instance - * @returns {Object.} JSON object - */ - Duration.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Duration - * @function getTypeUrl - * @memberof google.protobuf.Duration - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.Duration"; - }; - - return Duration; - })(); - - protobuf.Empty = (function() { - - /** - * Properties of an Empty. - * @memberof google.protobuf - * @interface IEmpty - */ - - /** - * Constructs a new Empty. - * @memberof google.protobuf - * @classdesc Represents an Empty. - * @implements IEmpty - * @constructor - * @param {google.protobuf.IEmpty=} [properties] Properties to set - */ - function Empty(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new Empty instance using the specified properties. - * @function create - * @memberof google.protobuf.Empty - * @static - * @param {google.protobuf.IEmpty=} [properties] Properties to set - * @returns {google.protobuf.Empty} Empty instance - */ - Empty.create = function create(properties) { - return new Empty(properties); - }; - - /** - * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Empty - * @static - * @param {google.protobuf.IEmpty} message Empty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Empty.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Empty - * @static - * @param {google.protobuf.IEmpty} message Empty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Empty.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Empty message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Empty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Empty} Empty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Empty.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Empty message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Empty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Empty} Empty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Empty.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Empty message. - * @function verify - * @memberof google.protobuf.Empty - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Empty.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates an Empty message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Empty - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Empty} Empty - */ - Empty.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Empty) - return object; - return new $root.google.protobuf.Empty(); - }; - - /** - * Creates a plain object from an Empty message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Empty - * @static - * @param {google.protobuf.Empty} message Empty - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Empty.toObject = function toObject() { - return {}; - }; - - /** - * Converts this Empty to JSON. - * @function toJSON - * @memberof google.protobuf.Empty - * @instance - * @returns {Object.} JSON object - */ - Empty.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Empty - * @function getTypeUrl - * @memberof google.protobuf.Empty - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Empty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.Empty"; - }; - - return Empty; - })(); - - protobuf.Timestamp = (function() { - - /** - * Properties of a Timestamp. - * @memberof google.protobuf - * @interface ITimestamp - * @property {number|Long|null} [seconds] Timestamp seconds - * @property {number|null} [nanos] Timestamp nanos - */ - - /** - * Constructs a new Timestamp. - * @memberof google.protobuf - * @classdesc Represents a Timestamp. - * @implements ITimestamp - * @constructor - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - */ - function Timestamp(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Timestamp seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Timestamp nanos. - * @member {number} nanos - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.nanos = 0; - - /** - * Creates a new Timestamp instance using the specified properties. - * @function create - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - * @returns {google.protobuf.Timestamp} Timestamp instance - */ - Timestamp.create = function create(properties) { - return new Timestamp(properties); - }; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.seconds = reader.int64(); - break; - } - case 2: { - message.nanos = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Timestamp message. - * @function verify - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Timestamp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Timestamp} Timestamp - */ - Timestamp.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Timestamp) - return object; - var message = new $root.google.protobuf.Timestamp(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.Timestamp} message Timestamp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Timestamp.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Timestamp to JSON. - * @function toJSON - * @memberof google.protobuf.Timestamp - * @instance - * @returns {Object.} JSON object - */ - Timestamp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Timestamp - * @function getTypeUrl - * @memberof google.protobuf.Timestamp - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.Timestamp"; - }; - - return Timestamp; - })(); - - return protobuf; - })(); - - google.type = (function() { - - /** - * Namespace type. - * @memberof google - * @namespace - */ - var type = {}; - - type.Interval = (function() { - - /** - * Properties of an Interval. - * @memberof google.type - * @interface IInterval - * @property {google.protobuf.ITimestamp|null} [startTime] Interval startTime - * @property {google.protobuf.ITimestamp|null} [endTime] Interval endTime - */ - - /** - * Constructs a new Interval. - * @memberof google.type - * @classdesc Represents an Interval. - * @implements IInterval - * @constructor - * @param {google.type.IInterval=} [properties] Properties to set - */ - function Interval(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Interval startTime. - * @member {google.protobuf.ITimestamp|null|undefined} startTime - * @memberof google.type.Interval - * @instance - */ - Interval.prototype.startTime = null; - - /** - * Interval endTime. - * @member {google.protobuf.ITimestamp|null|undefined} endTime - * @memberof google.type.Interval - * @instance - */ - Interval.prototype.endTime = null; - - /** - * Creates a new Interval instance using the specified properties. - * @function create - * @memberof google.type.Interval - * @static - * @param {google.type.IInterval=} [properties] Properties to set - * @returns {google.type.Interval} Interval instance - */ - Interval.create = function create(properties) { - return new Interval(properties); - }; - - /** - * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages. - * @function encode - * @memberof google.type.Interval - * @static - * @param {google.type.IInterval} message Interval message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Interval.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) - $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) - $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages. - * @function encodeDelimited - * @memberof google.type.Interval - * @static - * @param {google.type.IInterval} message Interval message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Interval.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Interval message from the specified reader or buffer. - * @function decode - * @memberof google.type.Interval - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.type.Interval} Interval - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Interval.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Interval(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 2: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Interval message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.type.Interval - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.type.Interval} Interval - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Interval.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Interval message. - * @function verify - * @memberof google.type.Interval - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Interval.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); - if (error) - return "startTime." + error; - } - if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); - if (error) - return "endTime." + error; - } - return null; - }; - - /** - * Creates an Interval message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.type.Interval - * @static - * @param {Object.} object Plain object - * @returns {google.type.Interval} Interval - */ - Interval.fromObject = function fromObject(object) { - if (object instanceof $root.google.type.Interval) - return object; - var message = new $root.google.type.Interval(); - if (object.startTime != null) { - if (typeof object.startTime !== "object") - throw TypeError(".google.type.Interval.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); - } - if (object.endTime != null) { - if (typeof object.endTime !== "object") - throw TypeError(".google.type.Interval.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); - } - return message; - }; - - /** - * Creates a plain object from an Interval message. Also converts values to other types if specified. - * @function toObject - * @memberof google.type.Interval - * @static - * @param {google.type.Interval} message Interval - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Interval.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.startTime = null; - object.endTime = null; - } - if (message.startTime != null && message.hasOwnProperty("startTime")) - object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options); - if (message.endTime != null && message.hasOwnProperty("endTime")) - object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); - return object; - }; - - /** - * Converts this Interval to JSON. - * @function toJSON - * @memberof google.type.Interval - * @instance - * @returns {Object.} JSON object - */ - Interval.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Interval - * @function getTypeUrl - * @memberof google.type.Interval - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Interval.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.type.Interval"; - }; - - return Interval; - })(); - - return type; - })(); - - return google; - })(); - - return $root; -}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json deleted file mode 100644 index 0660cb79eda..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/protos/protos.json +++ /dev/null @@ -1,3893 +0,0 @@ -{ - "nested": { - "google": { - "nested": { - "shopping": { - "nested": { - "merchant": { - "nested": { - "products": { - "nested": { - "v1beta": { - "options": { - "go_package": "cloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspb", - "java_multiple_files": true, - "java_outer_classname": "ProductsProto", - "java_package": "com.google.shopping.merchant.products.v1beta", - "(google.api.resource_definition).type": "merchantapi.googleapis.com/Account", - "(google.api.resource_definition).pattern": "accounts/{account}" - }, - "nested": { - "ProductInputsService": { - "options": { - "(google.api.default_host)": "merchantapi.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "InsertProductInput": { - "requestType": "InsertProductInputRequest", - "responseType": "ProductInput", - "options": { - "(google.api.http).post": "/products/v1beta/{parent=accounts/*}/productInputs:insert", - "(google.api.http).body": "product_input" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "post": "/products/v1beta/{parent=accounts/*}/productInputs:insert", - "body": "product_input" - } - } - ] - }, - "DeleteProductInput": { - "requestType": "DeleteProductInputRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/products/v1beta/{name=accounts/*/productInputs/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "delete": "/products/v1beta/{name=accounts/*/productInputs/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - } - } - }, - "ProductInput": { - "options": { - "(google.api.resource).type": "merchantapi.googleapis.com/ProductInput", - "(google.api.resource).pattern": "accounts/{account}/productInputs/{productinput}", - "(google.api.resource).plural": "productInputs", - "(google.api.resource).singular": "productInput" - }, - "oneofs": { - "_versionNumber": { - "oneof": [ - "versionNumber" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "IDENTIFIER" - } - }, - "product": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "channel": { - "type": "google.shopping.type.Channel.ChannelEnum", - "id": 3, - "options": { - "(google.api.field_behavior)": "IMMUTABLE" - } - }, - "offerId": { - "type": "string", - "id": 4, - "options": { - "(google.api.field_behavior)": "IMMUTABLE" - } - }, - "contentLanguage": { - "type": "string", - "id": 5, - "options": { - "(google.api.field_behavior)": "IMMUTABLE" - } - }, - "feedLabel": { - "type": "string", - "id": 6, - "options": { - "(google.api.field_behavior)": "IMMUTABLE" - } - }, - "versionNumber": { - "type": "int64", - "id": 7, - "options": { - "(google.api.field_behavior)": "OPTIONAL", - "proto3_optional": true - } - }, - "attributes": { - "type": "Attributes", - "id": 8, - "options": { - "(google.api.field_behavior)": "OPTIONAL" - } - }, - "customAttributes": { - "rule": "repeated", - "type": "google.shopping.type.CustomAttribute", - "id": 9, - "options": { - "(google.api.field_behavior)": "OPTIONAL" - } - } - } - }, - "InsertProductInputRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "merchantapi.googleapis.com/Product" - } - }, - "productInput": { - "type": "ProductInput", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "dataSource": { - "type": "string", - "id": 3, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "DeleteProductInputRequest": { - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "merchantapi.googleapis.com/ProductInput" - } - }, - "dataSource": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "SubscriptionPeriod": { - "values": { - "SUBSCRIPTION_PERIOD_UNSPECIFIED": 0, - "MONTH": 1, - "YEAR": 2 - } - }, - "Attributes": { - "oneofs": { - "_identifierExists": { - "oneof": [ - "identifierExists" - ] - }, - "_isBundle": { - "oneof": [ - "isBundle" - ] - }, - "_title": { - "oneof": [ - "title" - ] - }, - "_description": { - "oneof": [ - "description" - ] - }, - "_link": { - "oneof": [ - "link" - ] - }, - "_mobileLink": { - "oneof": [ - "mobileLink" - ] - }, - "_canonicalLink": { - "oneof": [ - "canonicalLink" - ] - }, - "_imageLink": { - "oneof": [ - "imageLink" - ] - }, - "_adult": { - "oneof": [ - "adult" - ] - }, - "_ageGroup": { - "oneof": [ - "ageGroup" - ] - }, - "_availability": { - "oneof": [ - "availability" - ] - }, - "_brand": { - "oneof": [ - "brand" - ] - }, - "_color": { - "oneof": [ - "color" - ] - }, - "_condition": { - "oneof": [ - "condition" - ] - }, - "_gender": { - "oneof": [ - "gender" - ] - }, - "_googleProductCategory": { - "oneof": [ - "googleProductCategory" - ] - }, - "_itemGroupId": { - "oneof": [ - "itemGroupId" - ] - }, - "_material": { - "oneof": [ - "material" - ] - }, - "_mpn": { - "oneof": [ - "mpn" - ] - }, - "_pattern": { - "oneof": [ - "pattern" - ] - }, - "_sellOnGoogleQuantity": { - "oneof": [ - "sellOnGoogleQuantity" - ] - }, - "_maxHandlingTime": { - "oneof": [ - "maxHandlingTime" - ] - }, - "_minHandlingTime": { - "oneof": [ - "minHandlingTime" - ] - }, - "_shippingLabel": { - "oneof": [ - "shippingLabel" - ] - }, - "_transitTimeLabel": { - "oneof": [ - "transitTimeLabel" - ] - }, - "_size": { - "oneof": [ - "size" - ] - }, - "_sizeSystem": { - "oneof": [ - "sizeSystem" - ] - }, - "_taxCategory": { - "oneof": [ - "taxCategory" - ] - }, - "_energyEfficiencyClass": { - "oneof": [ - "energyEfficiencyClass" - ] - }, - "_minEnergyEfficiencyClass": { - "oneof": [ - "minEnergyEfficiencyClass" - ] - }, - "_maxEnergyEfficiencyClass": { - "oneof": [ - "maxEnergyEfficiencyClass" - ] - }, - "_multipack": { - "oneof": [ - "multipack" - ] - }, - "_adsGrouping": { - "oneof": [ - "adsGrouping" - ] - }, - "_adsRedirect": { - "oneof": [ - "adsRedirect" - ] - }, - "_displayAdsId": { - "oneof": [ - "displayAdsId" - ] - }, - "_displayAdsTitle": { - "oneof": [ - "displayAdsTitle" - ] - }, - "_displayAdsLink": { - "oneof": [ - "displayAdsLink" - ] - }, - "_displayAdsValue": { - "oneof": [ - "displayAdsValue" - ] - }, - "_pickupMethod": { - "oneof": [ - "pickupMethod" - ] - }, - "_pickupSla": { - "oneof": [ - "pickupSla" - ] - }, - "_linkTemplate": { - "oneof": [ - "linkTemplate" - ] - }, - "_mobileLinkTemplate": { - "oneof": [ - "mobileLinkTemplate" - ] - }, - "_customLabel_0": { - "oneof": [ - "customLabel_0" - ] - }, - "_customLabel_1": { - "oneof": [ - "customLabel_1" - ] - }, - "_customLabel_2": { - "oneof": [ - "customLabel_2" - ] - }, - "_customLabel_3": { - "oneof": [ - "customLabel_3" - ] - }, - "_customLabel_4": { - "oneof": [ - "customLabel_4" - ] - }, - "_externalSellerId": { - "oneof": [ - "externalSellerId" - ] - }, - "_pause": { - "oneof": [ - "pause" - ] - }, - "_virtualModelLink": { - "oneof": [ - "virtualModelLink" - ] - }, - "_structuredTitle": { - "oneof": [ - "structuredTitle" - ] - }, - "_structuredDescription": { - "oneof": [ - "structuredDescription" - ] - } - }, - "fields": { - "identifierExists": { - "type": "bool", - "id": 4, - "options": { - "proto3_optional": true - } - }, - "isBundle": { - "type": "bool", - "id": 5, - "options": { - "proto3_optional": true - } - }, - "title": { - "type": "string", - "id": 6, - "options": { - "proto3_optional": true - } - }, - "description": { - "type": "string", - "id": 7, - "options": { - "proto3_optional": true - } - }, - "link": { - "type": "string", - "id": 8, - "options": { - "proto3_optional": true - } - }, - "mobileLink": { - "type": "string", - "id": 9, - "options": { - "proto3_optional": true - } - }, - "canonicalLink": { - "type": "string", - "id": 10, - "options": { - "proto3_optional": true - } - }, - "imageLink": { - "type": "string", - "id": 11, - "options": { - "proto3_optional": true - } - }, - "additionalImageLinks": { - "rule": "repeated", - "type": "string", - "id": 12 - }, - "expirationDate": { - "type": "google.protobuf.Timestamp", - "id": 16 - }, - "disclosureDate": { - "type": "google.protobuf.Timestamp", - "id": 79 - }, - "adult": { - "type": "bool", - "id": 17, - "options": { - "proto3_optional": true - } - }, - "ageGroup": { - "type": "string", - "id": 18, - "options": { - "proto3_optional": true - } - }, - "availability": { - "type": "string", - "id": 19, - "options": { - "proto3_optional": true - } - }, - "availabilityDate": { - "type": "google.protobuf.Timestamp", - "id": 20 - }, - "brand": { - "type": "string", - "id": 21, - "options": { - "proto3_optional": true - } - }, - "color": { - "type": "string", - "id": 22, - "options": { - "proto3_optional": true - } - }, - "condition": { - "type": "string", - "id": 23, - "options": { - "proto3_optional": true - } - }, - "gender": { - "type": "string", - "id": 24, - "options": { - "proto3_optional": true - } - }, - "googleProductCategory": { - "type": "string", - "id": 25, - "options": { - "proto3_optional": true - } - }, - "gtin": { - "rule": "repeated", - "type": "string", - "id": 26 - }, - "itemGroupId": { - "type": "string", - "id": 27, - "options": { - "proto3_optional": true - } - }, - "material": { - "type": "string", - "id": 28, - "options": { - "proto3_optional": true - } - }, - "mpn": { - "type": "string", - "id": 29, - "options": { - "proto3_optional": true - } - }, - "pattern": { - "type": "string", - "id": 30, - "options": { - "proto3_optional": true - } - }, - "price": { - "type": "google.shopping.type.Price", - "id": 31 - }, - "installment": { - "type": "Installment", - "id": 32 - }, - "subscriptionCost": { - "type": "SubscriptionCost", - "id": 33 - }, - "loyaltyPoints": { - "type": "LoyaltyPoints", - "id": 34 - }, - "loyaltyPrograms": { - "rule": "repeated", - "type": "LoyaltyProgram", - "id": 136 - }, - "productTypes": { - "rule": "repeated", - "type": "string", - "id": 35 - }, - "salePrice": { - "type": "google.shopping.type.Price", - "id": 36 - }, - "salePriceEffectiveDate": { - "type": "google.type.Interval", - "id": 37 - }, - "sellOnGoogleQuantity": { - "type": "int64", - "id": 38, - "options": { - "proto3_optional": true - } - }, - "productHeight": { - "type": "ProductDimension", - "id": 119 - }, - "productLength": { - "type": "ProductDimension", - "id": 120 - }, - "productWidth": { - "type": "ProductDimension", - "id": 121 - }, - "productWeight": { - "type": "ProductWeight", - "id": 122 - }, - "shipping": { - "rule": "repeated", - "type": "Shipping", - "id": 39 - }, - "freeShippingThreshold": { - "rule": "repeated", - "type": "FreeShippingThreshold", - "id": 135 - }, - "shippingWeight": { - "type": "ShippingWeight", - "id": 40 - }, - "shippingLength": { - "type": "ShippingDimension", - "id": 41 - }, - "shippingWidth": { - "type": "ShippingDimension", - "id": 42 - }, - "shippingHeight": { - "type": "ShippingDimension", - "id": 43 - }, - "maxHandlingTime": { - "type": "int64", - "id": 44, - "options": { - "proto3_optional": true - } - }, - "minHandlingTime": { - "type": "int64", - "id": 45, - "options": { - "proto3_optional": true - } - }, - "shippingLabel": { - "type": "string", - "id": 46, - "options": { - "proto3_optional": true - } - }, - "transitTimeLabel": { - "type": "string", - "id": 47, - "options": { - "proto3_optional": true - } - }, - "size": { - "type": "string", - "id": 48, - "options": { - "proto3_optional": true - } - }, - "sizeSystem": { - "type": "string", - "id": 49, - "options": { - "proto3_optional": true - } - }, - "sizeTypes": { - "rule": "repeated", - "type": "string", - "id": 50 - }, - "taxes": { - "rule": "repeated", - "type": "Tax", - "id": 51 - }, - "taxCategory": { - "type": "string", - "id": 52, - "options": { - "proto3_optional": true - } - }, - "energyEfficiencyClass": { - "type": "string", - "id": 53, - "options": { - "proto3_optional": true - } - }, - "minEnergyEfficiencyClass": { - "type": "string", - "id": 54, - "options": { - "proto3_optional": true - } - }, - "maxEnergyEfficiencyClass": { - "type": "string", - "id": 55, - "options": { - "proto3_optional": true - } - }, - "unitPricingMeasure": { - "type": "UnitPricingMeasure", - "id": 56 - }, - "unitPricingBaseMeasure": { - "type": "UnitPricingBaseMeasure", - "id": 57 - }, - "multipack": { - "type": "int64", - "id": 58, - "options": { - "proto3_optional": true - } - }, - "adsGrouping": { - "type": "string", - "id": 59, - "options": { - "proto3_optional": true - } - }, - "adsLabels": { - "rule": "repeated", - "type": "string", - "id": 60 - }, - "adsRedirect": { - "type": "string", - "id": 61, - "options": { - "proto3_optional": true - } - }, - "costOfGoodsSold": { - "type": "google.shopping.type.Price", - "id": 62 - }, - "productDetails": { - "rule": "repeated", - "type": "ProductDetail", - "id": 63 - }, - "productHighlights": { - "rule": "repeated", - "type": "string", - "id": 64 - }, - "displayAdsId": { - "type": "string", - "id": 65, - "options": { - "proto3_optional": true - } - }, - "displayAdsSimilarIds": { - "rule": "repeated", - "type": "string", - "id": 66 - }, - "displayAdsTitle": { - "type": "string", - "id": 67, - "options": { - "proto3_optional": true - } - }, - "displayAdsLink": { - "type": "string", - "id": 68, - "options": { - "proto3_optional": true - } - }, - "displayAdsValue": { - "type": "double", - "id": 69, - "options": { - "proto3_optional": true - } - }, - "promotionIds": { - "rule": "repeated", - "type": "string", - "id": 70 - }, - "pickupMethod": { - "type": "string", - "id": 80, - "options": { - "proto3_optional": true - } - }, - "pickupSla": { - "type": "string", - "id": 81, - "options": { - "proto3_optional": true - } - }, - "linkTemplate": { - "type": "string", - "id": 82, - "options": { - "proto3_optional": true - } - }, - "mobileLinkTemplate": { - "type": "string", - "id": 83, - "options": { - "proto3_optional": true - } - }, - "customLabel_0": { - "type": "string", - "id": 71, - "options": { - "proto3_optional": true - } - }, - "customLabel_1": { - "type": "string", - "id": 72, - "options": { - "proto3_optional": true - } - }, - "customLabel_2": { - "type": "string", - "id": 73, - "options": { - "proto3_optional": true - } - }, - "customLabel_3": { - "type": "string", - "id": 74, - "options": { - "proto3_optional": true - } - }, - "customLabel_4": { - "type": "string", - "id": 75, - "options": { - "proto3_optional": true - } - }, - "includedDestinations": { - "rule": "repeated", - "type": "string", - "id": 76 - }, - "excludedDestinations": { - "rule": "repeated", - "type": "string", - "id": 77 - }, - "shoppingAdsExcludedCountries": { - "rule": "repeated", - "type": "string", - "id": 78 - }, - "externalSellerId": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "pause": { - "type": "string", - "id": 13, - "options": { - "proto3_optional": true - } - }, - "lifestyleImageLinks": { - "rule": "repeated", - "type": "string", - "id": 14 - }, - "cloudExportAdditionalProperties": { - "rule": "repeated", - "type": "CloudExportAdditionalProperties", - "id": 84 - }, - "virtualModelLink": { - "type": "string", - "id": 130, - "options": { - "proto3_optional": true - } - }, - "certifications": { - "rule": "repeated", - "type": "Certification", - "id": 123 - }, - "structuredTitle": { - "type": "ProductStructuredTitle", - "id": 132, - "options": { - "proto3_optional": true - } - }, - "structuredDescription": { - "type": "ProductStructuredDescription", - "id": 133, - "options": { - "proto3_optional": true - } - }, - "autoPricingMinPrice": { - "type": "google.shopping.type.Price", - "id": 124 - } - } - }, - "Tax": { - "fields": { - "rate": { - "type": "double", - "id": 1 - }, - "country": { - "type": "string", - "id": 2 - }, - "region": { - "type": "string", - "id": 3 - }, - "taxShip": { - "type": "bool", - "id": 4 - }, - "locationId": { - "type": "int64", - "id": 5 - }, - "postalCode": { - "type": "string", - "id": 6 - } - } - }, - "ShippingWeight": { - "fields": { - "value": { - "type": "double", - "id": 1 - }, - "unit": { - "type": "string", - "id": 2 - } - } - }, - "ShippingDimension": { - "fields": { - "value": { - "type": "double", - "id": 1 - }, - "unit": { - "type": "string", - "id": 2 - } - } - }, - "UnitPricingBaseMeasure": { - "fields": { - "value": { - "type": "int64", - "id": 1 - }, - "unit": { - "type": "string", - "id": 2 - } - } - }, - "UnitPricingMeasure": { - "fields": { - "value": { - "type": "double", - "id": 1 - }, - "unit": { - "type": "string", - "id": 2 - } - } - }, - "SubscriptionCost": { - "fields": { - "period": { - "type": "SubscriptionPeriod", - "id": 1 - }, - "periodLength": { - "type": "int64", - "id": 2 - }, - "amount": { - "type": "google.shopping.type.Price", - "id": 3 - } - } - }, - "Installment": { - "oneofs": { - "_downpayment": { - "oneof": [ - "downpayment" - ] - }, - "_creditType": { - "oneof": [ - "creditType" - ] - } - }, - "fields": { - "months": { - "type": "int64", - "id": 1 - }, - "amount": { - "type": "google.shopping.type.Price", - "id": 2 - }, - "downpayment": { - "type": "google.shopping.type.Price", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "creditType": { - "type": "string", - "id": 4, - "options": { - "proto3_optional": true - } - } - } - }, - "LoyaltyPoints": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "pointsValue": { - "type": "int64", - "id": 2 - }, - "ratio": { - "type": "double", - "id": 3 - } - } - }, - "LoyaltyProgram": { - "oneofs": { - "_programLabel": { - "oneof": [ - "programLabel" - ] - }, - "_tierLabel": { - "oneof": [ - "tierLabel" - ] - }, - "_price": { - "oneof": [ - "price" - ] - }, - "_cashbackForFutureUse": { - "oneof": [ - "cashbackForFutureUse" - ] - }, - "_loyaltyPoints": { - "oneof": [ - "loyaltyPoints" - ] - }, - "_memberPriceEffectiveDate": { - "oneof": [ - "memberPriceEffectiveDate" - ] - }, - "_shippingLabel": { - "oneof": [ - "shippingLabel" - ] - } - }, - "fields": { - "programLabel": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "tierLabel": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - }, - "price": { - "type": "google.shopping.type.Price", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "cashbackForFutureUse": { - "type": "google.shopping.type.Price", - "id": 4, - "options": { - "proto3_optional": true - } - }, - "loyaltyPoints": { - "type": "int64", - "id": 5, - "options": { - "proto3_optional": true - } - }, - "memberPriceEffectiveDate": { - "type": "google.type.Interval", - "id": 6, - "options": { - "proto3_optional": true - } - }, - "shippingLabel": { - "type": "string", - "id": 7, - "options": { - "proto3_optional": true - } - } - } - }, - "Shipping": { - "oneofs": { - "_minHandlingTime": { - "oneof": [ - "minHandlingTime" - ] - }, - "_maxHandlingTime": { - "oneof": [ - "maxHandlingTime" - ] - }, - "_minTransitTime": { - "oneof": [ - "minTransitTime" - ] - }, - "_maxTransitTime": { - "oneof": [ - "maxTransitTime" - ] - } - }, - "fields": { - "price": { - "type": "google.shopping.type.Price", - "id": 1 - }, - "country": { - "type": "string", - "id": 2 - }, - "region": { - "type": "string", - "id": 3 - }, - "service": { - "type": "string", - "id": 4 - }, - "locationId": { - "type": "int64", - "id": 5 - }, - "locationGroupName": { - "type": "string", - "id": 6 - }, - "postalCode": { - "type": "string", - "id": 7 - }, - "minHandlingTime": { - "type": "int64", - "id": 8, - "options": { - "proto3_optional": true - } - }, - "maxHandlingTime": { - "type": "int64", - "id": 9, - "options": { - "proto3_optional": true - } - }, - "minTransitTime": { - "type": "int64", - "id": 10, - "options": { - "proto3_optional": true - } - }, - "maxTransitTime": { - "type": "int64", - "id": 11, - "options": { - "proto3_optional": true - } - } - } - }, - "FreeShippingThreshold": { - "oneofs": { - "_country": { - "oneof": [ - "country" - ] - }, - "_priceThreshold": { - "oneof": [ - "priceThreshold" - ] - } - }, - "fields": { - "country": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "priceThreshold": { - "type": "google.shopping.type.Price", - "id": 2, - "options": { - "proto3_optional": true - } - } - } - }, - "ProductDetail": { - "fields": { - "sectionName": { - "type": "string", - "id": 1 - }, - "attributeName": { - "type": "string", - "id": 2 - }, - "attributeValue": { - "type": "string", - "id": 3 - } - } - }, - "Certification": { - "oneofs": { - "_certificationAuthority": { - "oneof": [ - "certificationAuthority" - ] - }, - "_certificationName": { - "oneof": [ - "certificationName" - ] - }, - "_certificationCode": { - "oneof": [ - "certificationCode" - ] - }, - "_certificationValue": { - "oneof": [ - "certificationValue" - ] - } - }, - "fields": { - "certificationAuthority": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "certificationName": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - }, - "certificationCode": { - "type": "string", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "certificationValue": { - "type": "string", - "id": 4, - "options": { - "proto3_optional": true - } - } - } - }, - "ProductStructuredTitle": { - "oneofs": { - "_digitalSourceType": { - "oneof": [ - "digitalSourceType" - ] - }, - "_content": { - "oneof": [ - "content" - ] - } - }, - "fields": { - "digitalSourceType": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "content": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - } - } - }, - "ProductStructuredDescription": { - "oneofs": { - "_digitalSourceType": { - "oneof": [ - "digitalSourceType" - ] - }, - "_content": { - "oneof": [ - "content" - ] - } - }, - "fields": { - "digitalSourceType": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "content": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - } - } - }, - "ProductDimension": { - "fields": { - "value": { - "type": "double", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "unit": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "ProductWeight": { - "fields": { - "value": { - "type": "double", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "unit": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "ProductStatus": { - "fields": { - "destinationStatuses": { - "rule": "repeated", - "type": "DestinationStatus", - "id": 3 - }, - "itemLevelIssues": { - "rule": "repeated", - "type": "ItemLevelIssue", - "id": 4 - }, - "creationDate": { - "type": "google.protobuf.Timestamp", - "id": 5 - }, - "lastUpdateDate": { - "type": "google.protobuf.Timestamp", - "id": 6 - }, - "googleExpirationDate": { - "type": "google.protobuf.Timestamp", - "id": 7 - } - }, - "nested": { - "DestinationStatus": { - "fields": { - "reportingContext": { - "type": "google.shopping.type.ReportingContext.ReportingContextEnum", - "id": 1 - }, - "approvedCountries": { - "rule": "repeated", - "type": "string", - "id": 2 - }, - "pendingCountries": { - "rule": "repeated", - "type": "string", - "id": 3 - }, - "disapprovedCountries": { - "rule": "repeated", - "type": "string", - "id": 4 - } - } - }, - "ItemLevelIssue": { - "fields": { - "code": { - "type": "string", - "id": 1 - }, - "severity": { - "type": "Severity", - "id": 2 - }, - "resolution": { - "type": "string", - "id": 3 - }, - "attribute": { - "type": "string", - "id": 4 - }, - "reportingContext": { - "type": "google.shopping.type.ReportingContext.ReportingContextEnum", - "id": 5 - }, - "description": { - "type": "string", - "id": 6 - }, - "detail": { - "type": "string", - "id": 7 - }, - "documentation": { - "type": "string", - "id": 8 - }, - "applicableCountries": { - "rule": "repeated", - "type": "string", - "id": 9 - } - }, - "nested": { - "Severity": { - "values": { - "SEVERITY_UNSPECIFIED": 0, - "NOT_IMPACTED": 1, - "DEMOTED": 2, - "DISAPPROVED": 3 - } - } - } - } - } - }, - "CloudExportAdditionalProperties": { - "oneofs": { - "_propertyName": { - "oneof": [ - "propertyName" - ] - }, - "_boolValue": { - "oneof": [ - "boolValue" - ] - }, - "_minValue": { - "oneof": [ - "minValue" - ] - }, - "_maxValue": { - "oneof": [ - "maxValue" - ] - }, - "_unitCode": { - "oneof": [ - "unitCode" - ] - } - }, - "fields": { - "propertyName": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "textValue": { - "rule": "repeated", - "type": "string", - "id": 2 - }, - "boolValue": { - "type": "bool", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "intValue": { - "rule": "repeated", - "type": "int64", - "id": 4 - }, - "floatValue": { - "rule": "repeated", - "type": "float", - "id": 5 - }, - "minValue": { - "type": "float", - "id": 6, - "options": { - "proto3_optional": true - } - }, - "maxValue": { - "type": "float", - "id": 7, - "options": { - "proto3_optional": true - } - }, - "unitCode": { - "type": "string", - "id": 8, - "options": { - "proto3_optional": true - } - } - } - }, - "ProductsService": { - "options": { - "(google.api.default_host)": "merchantapi.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "GetProduct": { - "requestType": "GetProductRequest", - "responseType": "Product", - "options": { - "(google.api.http).get": "/products/v1beta/{name=accounts/*/products/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/products/v1beta/{name=accounts/*/products/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - }, - "ListProducts": { - "requestType": "ListProductsRequest", - "responseType": "ListProductsResponse", - "options": { - "(google.api.http).get": "/products/v1beta/{parent=accounts/*}/products", - "(google.api.method_signature)": "parent" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/products/v1beta/{parent=accounts/*}/products" - } - }, - { - "(google.api.method_signature)": "parent" - } - ] - } - } - }, - "Product": { - "options": { - "(google.api.resource).type": "merchantapi.googleapis.com/Product", - "(google.api.resource).pattern": "accounts/{account}/products/{product}" - }, - "oneofs": { - "_versionNumber": { - "oneof": [ - "versionNumber" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "channel": { - "type": "google.shopping.type.Channel.ChannelEnum", - "id": 2, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "offerId": { - "type": "string", - "id": 3, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "contentLanguage": { - "type": "string", - "id": 4, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "feedLabel": { - "type": "string", - "id": 5, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "dataSource": { - "type": "string", - "id": 6, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "versionNumber": { - "type": "int64", - "id": 7, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY", - "proto3_optional": true - } - }, - "attributes": { - "type": "Attributes", - "id": 8, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "customAttributes": { - "rule": "repeated", - "type": "google.shopping.type.CustomAttribute", - "id": 9, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "productStatus": { - "type": "ProductStatus", - "id": 10, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - } - } - }, - "GetProductRequest": { - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "merchantapi.googleapis.com/Product" - } - } - } - }, - "ListProductsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "merchantapi.googleapis.com/Product" - } - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListProductsResponse": { - "fields": { - "products": { - "rule": "repeated", - "type": "Product", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - } - } - } - } - } - } - }, - "type": { - "options": { - "csharp_namespace": "Google.Shopping.Type", - "go_package": "cloud.google.com/go/shopping/type/typepb;typepb", - "java_multiple_files": true, - "java_outer_classname": "TypesProto", - "java_package": "com.google.shopping.type" - }, - "nested": { - "Weight": { - "oneofs": { - "_amountMicros": { - "oneof": [ - "amountMicros" - ] - } - }, - "fields": { - "amountMicros": { - "type": "int64", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "unit": { - "type": "WeightUnit", - "id": 2 - } - }, - "nested": { - "WeightUnit": { - "values": { - "WEIGHT_UNIT_UNSPECIFIED": 0, - "POUND": 1, - "KILOGRAM": 2 - } - } - } - }, - "Price": { - "oneofs": { - "_amountMicros": { - "oneof": [ - "amountMicros" - ] - }, - "_currencyCode": { - "oneof": [ - "currencyCode" - ] - } - }, - "fields": { - "amountMicros": { - "type": "int64", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "currencyCode": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - } - } - }, - "CustomAttribute": { - "oneofs": { - "_name": { - "oneof": [ - "name" - ] - }, - "_value": { - "oneof": [ - "value" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "value": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - }, - "groupValues": { - "rule": "repeated", - "type": "CustomAttribute", - "id": 3 - } - } - }, - "Destination": { - "fields": {}, - "nested": { - "DestinationEnum": { - "values": { - "DESTINATION_ENUM_UNSPECIFIED": 0, - "SHOPPING_ADS": 1, - "DISPLAY_ADS": 2, - "LOCAL_INVENTORY_ADS": 3, - "FREE_LISTINGS": 4, - "FREE_LOCAL_LISTINGS": 5, - "YOUTUBE_SHOPPING": 6 - } - } - } - }, - "ReportingContext": { - "fields": {}, - "nested": { - "ReportingContextEnum": { - "valuesOptions": { - "DISCOVERY_ADS": { - "deprecated": true - } - }, - "values": { - "REPORTING_CONTEXT_ENUM_UNSPECIFIED": 0, - "SHOPPING_ADS": 1, - "DISCOVERY_ADS": 2, - "DEMAND_GEN_ADS": 13, - "DEMAND_GEN_ADS_DISCOVER_SURFACE": 14, - "VIDEO_ADS": 3, - "DISPLAY_ADS": 4, - "LOCAL_INVENTORY_ADS": 5, - "VEHICLE_INVENTORY_ADS": 6, - "FREE_LISTINGS": 7, - "FREE_LOCAL_LISTINGS": 8, - "FREE_LOCAL_VEHICLE_LISTINGS": 9, - "YOUTUBE_SHOPPING": 10, - "CLOUD_RETAIL": 11, - "LOCAL_CLOUD_RETAIL": 12 - } - } - } - }, - "Channel": { - "fields": {}, - "nested": { - "ChannelEnum": { - "values": { - "CHANNEL_ENUM_UNSPECIFIED": 0, - "ONLINE": 1, - "LOCAL": 2 - } - } - } - } - } - } - } - }, - "api": { - "options": { - "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", - "java_multiple_files": true, - "java_outer_classname": "ResourceProto", - "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true - }, - "nested": { - "http": { - "type": "HttpRule", - "id": 72295728, - "extend": "google.protobuf.MethodOptions" - }, - "Http": { - "fields": { - "rules": { - "rule": "repeated", - "type": "HttpRule", - "id": 1 - }, - "fullyDecodeReservedExpansion": { - "type": "bool", - "id": 2 - } - } - }, - "HttpRule": { - "oneofs": { - "pattern": { - "oneof": [ - "get", - "put", - "post", - "delete", - "patch", - "custom" - ] - } - }, - "fields": { - "selector": { - "type": "string", - "id": 1 - }, - "get": { - "type": "string", - "id": 2 - }, - "put": { - "type": "string", - "id": 3 - }, - "post": { - "type": "string", - "id": 4 - }, - "delete": { - "type": "string", - "id": 5 - }, - "patch": { - "type": "string", - "id": 6 - }, - "custom": { - "type": "CustomHttpPattern", - "id": 8 - }, - "body": { - "type": "string", - "id": 7 - }, - "responseBody": { - "type": "string", - "id": 12 - }, - "additionalBindings": { - "rule": "repeated", - "type": "HttpRule", - "id": 11 - } - } - }, - "CustomHttpPattern": { - "fields": { - "kind": { - "type": "string", - "id": 1 - }, - "path": { - "type": "string", - "id": 2 - } - } - }, - "methodSignature": { - "rule": "repeated", - "type": "string", - "id": 1051, - "extend": "google.protobuf.MethodOptions" - }, - "defaultHost": { - "type": "string", - "id": 1049, - "extend": "google.protobuf.ServiceOptions" - }, - "oauthScopes": { - "type": "string", - "id": 1050, - "extend": "google.protobuf.ServiceOptions" - }, - "apiVersion": { - "type": "string", - "id": 525000001, - "extend": "google.protobuf.ServiceOptions" - }, - "CommonLanguageSettings": { - "fields": { - "referenceDocsUri": { - "type": "string", - "id": 1, - "options": { - "deprecated": true - } - }, - "destinations": { - "rule": "repeated", - "type": "ClientLibraryDestination", - "id": 2 - } - } - }, - "ClientLibrarySettings": { - "fields": { - "version": { - "type": "string", - "id": 1 - }, - "launchStage": { - "type": "LaunchStage", - "id": 2 - }, - "restNumericEnums": { - "type": "bool", - "id": 3 - }, - "javaSettings": { - "type": "JavaSettings", - "id": 21 - }, - "cppSettings": { - "type": "CppSettings", - "id": 22 - }, - "phpSettings": { - "type": "PhpSettings", - "id": 23 - }, - "pythonSettings": { - "type": "PythonSettings", - "id": 24 - }, - "nodeSettings": { - "type": "NodeSettings", - "id": 25 - }, - "dotnetSettings": { - "type": "DotnetSettings", - "id": 26 - }, - "rubySettings": { - "type": "RubySettings", - "id": 27 - }, - "goSettings": { - "type": "GoSettings", - "id": 28 - } - } - }, - "Publishing": { - "fields": { - "methodSettings": { - "rule": "repeated", - "type": "MethodSettings", - "id": 2 - }, - "newIssueUri": { - "type": "string", - "id": 101 - }, - "documentationUri": { - "type": "string", - "id": 102 - }, - "apiShortName": { - "type": "string", - "id": 103 - }, - "githubLabel": { - "type": "string", - "id": 104 - }, - "codeownerGithubTeams": { - "rule": "repeated", - "type": "string", - "id": 105 - }, - "docTagPrefix": { - "type": "string", - "id": 106 - }, - "organization": { - "type": "ClientLibraryOrganization", - "id": 107 - }, - "librarySettings": { - "rule": "repeated", - "type": "ClientLibrarySettings", - "id": 109 - }, - "protoReferenceDocumentationUri": { - "type": "string", - "id": 110 - }, - "restReferenceDocumentationUri": { - "type": "string", - "id": 111 - } - } - }, - "JavaSettings": { - "fields": { - "libraryPackage": { - "type": "string", - "id": 1 - }, - "serviceClassNames": { - "keyType": "string", - "type": "string", - "id": 2 - }, - "common": { - "type": "CommonLanguageSettings", - "id": 3 - } - } - }, - "CppSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "PhpSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "PythonSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "NodeSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "DotnetSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - }, - "renamedServices": { - "keyType": "string", - "type": "string", - "id": 2 - }, - "renamedResources": { - "keyType": "string", - "type": "string", - "id": 3 - }, - "ignoredResources": { - "rule": "repeated", - "type": "string", - "id": 4 - }, - "forcedNamespaceAliases": { - "rule": "repeated", - "type": "string", - "id": 5 - }, - "handwrittenSignatures": { - "rule": "repeated", - "type": "string", - "id": 6 - } - } - }, - "RubySettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "GoSettings": { - "fields": { - "common": { - "type": "CommonLanguageSettings", - "id": 1 - } - } - }, - "MethodSettings": { - "fields": { - "selector": { - "type": "string", - "id": 1 - }, - "longRunning": { - "type": "LongRunning", - "id": 2 - }, - "autoPopulatedFields": { - "rule": "repeated", - "type": "string", - "id": 3 - } - }, - "nested": { - "LongRunning": { - "fields": { - "initialPollDelay": { - "type": "google.protobuf.Duration", - "id": 1 - }, - "pollDelayMultiplier": { - "type": "float", - "id": 2 - }, - "maxPollDelay": { - "type": "google.protobuf.Duration", - "id": 3 - }, - "totalPollTimeout": { - "type": "google.protobuf.Duration", - "id": 4 - } - } - } - } - }, - "ClientLibraryOrganization": { - "values": { - "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0, - "CLOUD": 1, - "ADS": 2, - "PHOTOS": 3, - "STREET_VIEW": 4, - "SHOPPING": 5, - "GEO": 6, - "GENERATIVE_AI": 7 - } - }, - "ClientLibraryDestination": { - "values": { - "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0, - "GITHUB": 10, - "PACKAGE_MANAGER": 20 - } - }, - "LaunchStage": { - "values": { - "LAUNCH_STAGE_UNSPECIFIED": 0, - "UNIMPLEMENTED": 6, - "PRELAUNCH": 7, - "EARLY_ACCESS": 1, - "ALPHA": 2, - "BETA": 3, - "GA": 4, - "DEPRECATED": 5 - } - }, - "fieldBehavior": { - "rule": "repeated", - "type": "google.api.FieldBehavior", - "id": 1052, - "extend": "google.protobuf.FieldOptions", - "options": { - "packed": false - } - }, - "FieldBehavior": { - "values": { - "FIELD_BEHAVIOR_UNSPECIFIED": 0, - "OPTIONAL": 1, - "REQUIRED": 2, - "OUTPUT_ONLY": 3, - "INPUT_ONLY": 4, - "IMMUTABLE": 5, - "UNORDERED_LIST": 6, - "NON_EMPTY_DEFAULT": 7, - "IDENTIFIER": 8 - } - }, - "resourceReference": { - "type": "google.api.ResourceReference", - "id": 1055, - "extend": "google.protobuf.FieldOptions" - }, - "resourceDefinition": { - "rule": "repeated", - "type": "google.api.ResourceDescriptor", - "id": 1053, - "extend": "google.protobuf.FileOptions" - }, - "resource": { - "type": "google.api.ResourceDescriptor", - "id": 1053, - "extend": "google.protobuf.MessageOptions" - }, - "ResourceDescriptor": { - "fields": { - "type": { - "type": "string", - "id": 1 - }, - "pattern": { - "rule": "repeated", - "type": "string", - "id": 2 - }, - "nameField": { - "type": "string", - "id": 3 - }, - "history": { - "type": "History", - "id": 4 - }, - "plural": { - "type": "string", - "id": 5 - }, - "singular": { - "type": "string", - "id": 6 - }, - "style": { - "rule": "repeated", - "type": "Style", - "id": 10 - } - }, - "nested": { - "History": { - "values": { - "HISTORY_UNSPECIFIED": 0, - "ORIGINALLY_SINGLE_PATTERN": 1, - "FUTURE_MULTI_PATTERN": 2 - } - }, - "Style": { - "values": { - "STYLE_UNSPECIFIED": 0, - "DECLARATIVE_FRIENDLY": 1 - } - } - } - }, - "ResourceReference": { - "fields": { - "type": { - "type": "string", - "id": 1 - }, - "childType": { - "type": "string", - "id": 2 - } - } - } - } - }, - "protobuf": { - "options": { - "go_package": "google.golang.org/protobuf/types/descriptorpb", - "java_package": "com.google.protobuf", - "java_outer_classname": "DescriptorProtos", - "csharp_namespace": "Google.Protobuf.Reflection", - "objc_class_prefix": "GPB", - "cc_enable_arenas": true, - "optimize_for": "SPEED" - }, - "nested": { - "FileDescriptorSet": { - "fields": { - "file": { - "rule": "repeated", - "type": "FileDescriptorProto", - "id": 1 - } - } - }, - "Edition": { - "values": { - "EDITION_UNKNOWN": 0, - "EDITION_PROTO2": 998, - "EDITION_PROTO3": 999, - "EDITION_2023": 1000, - "EDITION_2024": 1001, - "EDITION_1_TEST_ONLY": 1, - "EDITION_2_TEST_ONLY": 2, - "EDITION_99997_TEST_ONLY": 99997, - "EDITION_99998_TEST_ONLY": 99998, - "EDITION_99999_TEST_ONLY": 99999, - "EDITION_MAX": 2147483647 - } - }, - "FileDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "package": { - "type": "string", - "id": 2 - }, - "dependency": { - "rule": "repeated", - "type": "string", - "id": 3 - }, - "publicDependency": { - "rule": "repeated", - "type": "int32", - "id": 10, - "options": { - "packed": false - } - }, - "weakDependency": { - "rule": "repeated", - "type": "int32", - "id": 11, - "options": { - "packed": false - } - }, - "messageType": { - "rule": "repeated", - "type": "DescriptorProto", - "id": 4 - }, - "enumType": { - "rule": "repeated", - "type": "EnumDescriptorProto", - "id": 5 - }, - "service": { - "rule": "repeated", - "type": "ServiceDescriptorProto", - "id": 6 - }, - "extension": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 7 - }, - "options": { - "type": "FileOptions", - "id": 8 - }, - "sourceCodeInfo": { - "type": "SourceCodeInfo", - "id": 9 - }, - "syntax": { - "type": "string", - "id": 12 - }, - "edition": { - "type": "Edition", - "id": 14 - } - } - }, - "DescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "field": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 2 - }, - "extension": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 6 - }, - "nestedType": { - "rule": "repeated", - "type": "DescriptorProto", - "id": 3 - }, - "enumType": { - "rule": "repeated", - "type": "EnumDescriptorProto", - "id": 4 - }, - "extensionRange": { - "rule": "repeated", - "type": "ExtensionRange", - "id": 5 - }, - "oneofDecl": { - "rule": "repeated", - "type": "OneofDescriptorProto", - "id": 8 - }, - "options": { - "type": "MessageOptions", - "id": 7 - }, - "reservedRange": { - "rule": "repeated", - "type": "ReservedRange", - "id": 9 - }, - "reservedName": { - "rule": "repeated", - "type": "string", - "id": 10 - } - }, - "nested": { - "ExtensionRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - }, - "options": { - "type": "ExtensionRangeOptions", - "id": 3 - } - } - }, - "ReservedRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "ExtensionRangeOptions": { - "fields": { - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - }, - "declaration": { - "rule": "repeated", - "type": "Declaration", - "id": 2, - "options": { - "retention": "RETENTION_SOURCE" - } - }, - "features": { - "type": "FeatureSet", - "id": 50 - }, - "verification": { - "type": "VerificationState", - "id": 3, - "options": { - "default": "UNVERIFIED", - "retention": "RETENTION_SOURCE" - } - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "nested": { - "Declaration": { - "fields": { - "number": { - "type": "int32", - "id": 1 - }, - "fullName": { - "type": "string", - "id": 2 - }, - "type": { - "type": "string", - "id": 3 - }, - "reserved": { - "type": "bool", - "id": 5 - }, - "repeated": { - "type": "bool", - "id": 6 - } - }, - "reserved": [ - [ - 4, - 4 - ] - ] - }, - "VerificationState": { - "values": { - "DECLARATION": 0, - "UNVERIFIED": 1 - } - } - } - }, - "FieldDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "number": { - "type": "int32", - "id": 3 - }, - "label": { - "type": "Label", - "id": 4 - }, - "type": { - "type": "Type", - "id": 5 - }, - "typeName": { - "type": "string", - "id": 6 - }, - "extendee": { - "type": "string", - "id": 2 - }, - "defaultValue": { - "type": "string", - "id": 7 - }, - "oneofIndex": { - "type": "int32", - "id": 9 - }, - "jsonName": { - "type": "string", - "id": 10 - }, - "options": { - "type": "FieldOptions", - "id": 8 - }, - "proto3Optional": { - "type": "bool", - "id": 17 - } - }, - "nested": { - "Type": { - "values": { - "TYPE_DOUBLE": 1, - "TYPE_FLOAT": 2, - "TYPE_INT64": 3, - "TYPE_UINT64": 4, - "TYPE_INT32": 5, - "TYPE_FIXED64": 6, - "TYPE_FIXED32": 7, - "TYPE_BOOL": 8, - "TYPE_STRING": 9, - "TYPE_GROUP": 10, - "TYPE_MESSAGE": 11, - "TYPE_BYTES": 12, - "TYPE_UINT32": 13, - "TYPE_ENUM": 14, - "TYPE_SFIXED32": 15, - "TYPE_SFIXED64": 16, - "TYPE_SINT32": 17, - "TYPE_SINT64": 18 - } - }, - "Label": { - "values": { - "LABEL_OPTIONAL": 1, - "LABEL_REPEATED": 3, - "LABEL_REQUIRED": 2 - } - } - } - }, - "OneofDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "options": { - "type": "OneofOptions", - "id": 2 - } - } - }, - "EnumDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "value": { - "rule": "repeated", - "type": "EnumValueDescriptorProto", - "id": 2 - }, - "options": { - "type": "EnumOptions", - "id": 3 - }, - "reservedRange": { - "rule": "repeated", - "type": "EnumReservedRange", - "id": 4 - }, - "reservedName": { - "rule": "repeated", - "type": "string", - "id": 5 - } - }, - "nested": { - "EnumReservedRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "EnumValueDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "number": { - "type": "int32", - "id": 2 - }, - "options": { - "type": "EnumValueOptions", - "id": 3 - } - } - }, - "ServiceDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "method": { - "rule": "repeated", - "type": "MethodDescriptorProto", - "id": 2 - }, - "options": { - "type": "ServiceOptions", - "id": 3 - } - } - }, - "MethodDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "inputType": { - "type": "string", - "id": 2 - }, - "outputType": { - "type": "string", - "id": 3 - }, - "options": { - "type": "MethodOptions", - "id": 4 - }, - "clientStreaming": { - "type": "bool", - "id": 5, - "options": { - "default": false - } - }, - "serverStreaming": { - "type": "bool", - "id": 6, - "options": { - "default": false - } - } - } - }, - "FileOptions": { - "fields": { - "javaPackage": { - "type": "string", - "id": 1 - }, - "javaOuterClassname": { - "type": "string", - "id": 8 - }, - "javaMultipleFiles": { - "type": "bool", - "id": 10, - "options": { - "default": false - } - }, - "javaGenerateEqualsAndHash": { - "type": "bool", - "id": 20, - "options": { - "deprecated": true - } - }, - "javaStringCheckUtf8": { - "type": "bool", - "id": 27, - "options": { - "default": false - } - }, - "optimizeFor": { - "type": "OptimizeMode", - "id": 9, - "options": { - "default": "SPEED" - } - }, - "goPackage": { - "type": "string", - "id": 11 - }, - "ccGenericServices": { - "type": "bool", - "id": 16, - "options": { - "default": false - } - }, - "javaGenericServices": { - "type": "bool", - "id": 17, - "options": { - "default": false - } - }, - "pyGenericServices": { - "type": "bool", - "id": 18, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 23, - "options": { - "default": false - } - }, - "ccEnableArenas": { - "type": "bool", - "id": 31, - "options": { - "default": true - } - }, - "objcClassPrefix": { - "type": "string", - "id": 36 - }, - "csharpNamespace": { - "type": "string", - "id": 37 - }, - "swiftPrefix": { - "type": "string", - "id": 39 - }, - "phpClassPrefix": { - "type": "string", - "id": 40 - }, - "phpNamespace": { - "type": "string", - "id": 41 - }, - "phpMetadataNamespace": { - "type": "string", - "id": 44 - }, - "rubyPackage": { - "type": "string", - "id": 45 - }, - "features": { - "type": "FeatureSet", - "id": 50 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 42, - 42 - ], - [ - 38, - 38 - ] - ], - "nested": { - "OptimizeMode": { - "values": { - "SPEED": 1, - "CODE_SIZE": 2, - "LITE_RUNTIME": 3 - } - } - } - }, - "MessageOptions": { - "fields": { - "messageSetWireFormat": { - "type": "bool", - "id": 1, - "options": { - "default": false - } - }, - "noStandardDescriptorAccessor": { - "type": "bool", - "id": 2, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "mapEntry": { - "type": "bool", - "id": 7 - }, - "deprecatedLegacyJsonFieldConflicts": { - "type": "bool", - "id": 11, - "options": { - "deprecated": true - } - }, - "features": { - "type": "FeatureSet", - "id": 12 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 4, - 4 - ], - [ - 5, - 5 - ], - [ - 6, - 6 - ], - [ - 8, - 8 - ], - [ - 9, - 9 - ] - ] - }, - "FieldOptions": { - "fields": { - "ctype": { - "type": "CType", - "id": 1, - "options": { - "default": "STRING" - } - }, - "packed": { - "type": "bool", - "id": 2 - }, - "jstype": { - "type": "JSType", - "id": 6, - "options": { - "default": "JS_NORMAL" - } - }, - "lazy": { - "type": "bool", - "id": 5, - "options": { - "default": false - } - }, - "unverifiedLazy": { - "type": "bool", - "id": 15, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "weak": { - "type": "bool", - "id": 10, - "options": { - "default": false - } - }, - "debugRedact": { - "type": "bool", - "id": 16, - "options": { - "default": false - } - }, - "retention": { - "type": "OptionRetention", - "id": 17 - }, - "targets": { - "rule": "repeated", - "type": "OptionTargetType", - "id": 19, - "options": { - "packed": false - } - }, - "editionDefaults": { - "rule": "repeated", - "type": "EditionDefault", - "id": 20 - }, - "features": { - "type": "FeatureSet", - "id": 21 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 4, - 4 - ], - [ - 18, - 18 - ] - ], - "nested": { - "CType": { - "values": { - "STRING": 0, - "CORD": 1, - "STRING_PIECE": 2 - } - }, - "JSType": { - "values": { - "JS_NORMAL": 0, - "JS_STRING": 1, - "JS_NUMBER": 2 - } - }, - "OptionRetention": { - "values": { - "RETENTION_UNKNOWN": 0, - "RETENTION_RUNTIME": 1, - "RETENTION_SOURCE": 2 - } - }, - "OptionTargetType": { - "values": { - "TARGET_TYPE_UNKNOWN": 0, - "TARGET_TYPE_FILE": 1, - "TARGET_TYPE_EXTENSION_RANGE": 2, - "TARGET_TYPE_MESSAGE": 3, - "TARGET_TYPE_FIELD": 4, - "TARGET_TYPE_ONEOF": 5, - "TARGET_TYPE_ENUM": 6, - "TARGET_TYPE_ENUM_ENTRY": 7, - "TARGET_TYPE_SERVICE": 8, - "TARGET_TYPE_METHOD": 9 - } - }, - "EditionDefault": { - "fields": { - "edition": { - "type": "Edition", - "id": 3 - }, - "value": { - "type": "string", - "id": 2 - } - } - } - } - }, - "OneofOptions": { - "fields": { - "features": { - "type": "FeatureSet", - "id": 1 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "EnumOptions": { - "fields": { - "allowAlias": { - "type": "bool", - "id": 2 - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "deprecatedLegacyJsonFieldConflicts": { - "type": "bool", - "id": 6, - "options": { - "deprecated": true - } - }, - "features": { - "type": "FeatureSet", - "id": 7 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 5, - 5 - ] - ] - }, - "EnumValueOptions": { - "fields": { - "deprecated": { - "type": "bool", - "id": 1, - "options": { - "default": false - } - }, - "features": { - "type": "FeatureSet", - "id": 2 - }, - "debugRedact": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "ServiceOptions": { - "fields": { - "features": { - "type": "FeatureSet", - "id": 34 - }, - "deprecated": { - "type": "bool", - "id": 33, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "MethodOptions": { - "fields": { - "deprecated": { - "type": "bool", - "id": 33, - "options": { - "default": false - } - }, - "idempotencyLevel": { - "type": "IdempotencyLevel", - "id": 34, - "options": { - "default": "IDEMPOTENCY_UNKNOWN" - } - }, - "features": { - "type": "FeatureSet", - "id": 35 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "nested": { - "IdempotencyLevel": { - "values": { - "IDEMPOTENCY_UNKNOWN": 0, - "NO_SIDE_EFFECTS": 1, - "IDEMPOTENT": 2 - } - } - } - }, - "UninterpretedOption": { - "fields": { - "name": { - "rule": "repeated", - "type": "NamePart", - "id": 2 - }, - "identifierValue": { - "type": "string", - "id": 3 - }, - "positiveIntValue": { - "type": "uint64", - "id": 4 - }, - "negativeIntValue": { - "type": "int64", - "id": 5 - }, - "doubleValue": { - "type": "double", - "id": 6 - }, - "stringValue": { - "type": "bytes", - "id": 7 - }, - "aggregateValue": { - "type": "string", - "id": 8 - } - }, - "nested": { - "NamePart": { - "fields": { - "namePart": { - "rule": "required", - "type": "string", - "id": 1 - }, - "isExtension": { - "rule": "required", - "type": "bool", - "id": 2 - } - } - } - } - }, - "FeatureSet": { - "fields": { - "fieldPresence": { - "type": "FieldPresence", - "id": 1, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_2023", - "edition_defaults.value": "EXPLICIT" - } - }, - "enumType": { - "type": "EnumType", - "id": 2, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO3", - "edition_defaults.value": "OPEN" - } - }, - "repeatedFieldEncoding": { - "type": "RepeatedFieldEncoding", - "id": 3, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO3", - "edition_defaults.value": "PACKED" - } - }, - "utf8Validation": { - "type": "Utf8Validation", - "id": 4, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO3", - "edition_defaults.value": "VERIFY" - } - }, - "messageEncoding": { - "type": "MessageEncoding", - "id": 5, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO2", - "edition_defaults.value": "LENGTH_PREFIXED" - } - }, - "jsonFormat": { - "type": "JsonFormat", - "id": 6, - "options": { - "retention": "RETENTION_RUNTIME", - "targets": "TARGET_TYPE_FILE", - "edition_defaults.edition": "EDITION_PROTO3", - "edition_defaults.value": "ALLOW" - } - } - }, - "extensions": [ - [ - 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 - ], - [ - 9995, - 9999 - ], - [ - 10000, - 10000 - ] - ], - "reserved": [ - [ - 999, - 999 - ] - ], - "nested": { - "FieldPresence": { - "values": { - "FIELD_PRESENCE_UNKNOWN": 0, - "EXPLICIT": 1, - "IMPLICIT": 2, - "LEGACY_REQUIRED": 3 - } - }, - "EnumType": { - "values": { - "ENUM_TYPE_UNKNOWN": 0, - "OPEN": 1, - "CLOSED": 2 - } - }, - "RepeatedFieldEncoding": { - "values": { - "REPEATED_FIELD_ENCODING_UNKNOWN": 0, - "PACKED": 1, - "EXPANDED": 2 - } - }, - "Utf8Validation": { - "values": { - "UTF8_VALIDATION_UNKNOWN": 0, - "VERIFY": 2, - "NONE": 3 - } - }, - "MessageEncoding": { - "values": { - "MESSAGE_ENCODING_UNKNOWN": 0, - "LENGTH_PREFIXED": 1, - "DELIMITED": 2 - } - }, - "JsonFormat": { - "values": { - "JSON_FORMAT_UNKNOWN": 0, - "ALLOW": 1, - "LEGACY_BEST_EFFORT": 2 - } - } - } - }, - "FeatureSetDefaults": { - "fields": { - "defaults": { - "rule": "repeated", - "type": "FeatureSetEditionDefault", - "id": 1 - }, - "minimumEdition": { - "type": "Edition", - "id": 4 - }, - "maximumEdition": { - "type": "Edition", - "id": 5 - } - }, - "nested": { - "FeatureSetEditionDefault": { - "fields": { - "edition": { - "type": "Edition", - "id": 3 - }, - "features": { - "type": "FeatureSet", - "id": 2 - } - } - } - } - }, - "SourceCodeInfo": { - "fields": { - "location": { - "rule": "repeated", - "type": "Location", - "id": 1 - } - }, - "nested": { - "Location": { - "fields": { - "path": { - "rule": "repeated", - "type": "int32", - "id": 1 - }, - "span": { - "rule": "repeated", - "type": "int32", - "id": 2 - }, - "leadingComments": { - "type": "string", - "id": 3 - }, - "trailingComments": { - "type": "string", - "id": 4 - }, - "leadingDetachedComments": { - "rule": "repeated", - "type": "string", - "id": 6 - } - } - } - } - }, - "GeneratedCodeInfo": { - "fields": { - "annotation": { - "rule": "repeated", - "type": "Annotation", - "id": 1 - } - }, - "nested": { - "Annotation": { - "fields": { - "path": { - "rule": "repeated", - "type": "int32", - "id": 1 - }, - "sourceFile": { - "type": "string", - "id": 2 - }, - "begin": { - "type": "int32", - "id": 3 - }, - "end": { - "type": "int32", - "id": 4 - }, - "semantic": { - "type": "Semantic", - "id": 5 - } - }, - "nested": { - "Semantic": { - "values": { - "NONE": 0, - "SET": 1, - "ALIAS": 2 - } - } - } - } - } - }, - "Duration": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - }, - "Empty": { - "fields": {} - }, - "Timestamp": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "type": { - "options": { - "cc_enable_arenas": true, - "go_package": "google.golang.org/genproto/googleapis/type/interval;interval", - "java_multiple_files": true, - "java_outer_classname": "IntervalProto", - "java_package": "com.google.type", - "objc_class_prefix": "GTP" - }, - "nested": { - "Interval": { - "fields": { - "startTime": { - "type": "google.protobuf.Timestamp", - "id": 1 - }, - "endTime": { - "type": "google.protobuf.Timestamp", - "id": 2 - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js deleted file mode 100644 index 4f7f38aebbe..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.delete_product_input.js +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name, dataSource) { - // [START merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The name of the product input resource to delete. - * Format: accounts/{account}/productInputs/{product} - * where the last section `product` consists of 4 parts: - * channel~content_language~feed_label~offer_id - * example for product name is - * "accounts/123/productInputs/online~en~US~sku123" - */ - // const name = 'abc123' - /** - * Required. The primary or supplemental data source from which the product - * input should be deleted. Format: - * `accounts/{account}/dataSources/{datasource}`. - */ - // const dataSource = 'abc123' - - // Imports the Products library - const {ProductInputsServiceClient} = require('@google-shopping/products').v1beta; - - // Instantiates a client - const productsClient = new ProductInputsServiceClient(); - - async function callDeleteProductInput() { - // Construct request - const request = { - name, - dataSource, - }; - - // Run request - const response = await productsClient.deleteProductInput(request); - console.log(response); - } - - callDeleteProductInput(); - // [END merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js deleted file mode 100644 index 08bcf64e566..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/product_inputs_service.insert_product_input.js +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent, productInput, dataSource) { - // [START merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The account where this product will be inserted. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * Required. The product input to insert. - */ - // const productInput = {} - /** - * Required. The primary or supplemental product data source name. If the - * product already exists and data source provided is different, then the - * product will be moved to a new data source. Format: - * `accounts/{account}/dataSources/{datasource}`. - */ - // const dataSource = 'abc123' - - // Imports the Products library - const {ProductInputsServiceClient} = require('@google-shopping/products').v1beta; - - // Instantiates a client - const productsClient = new ProductInputsServiceClient(); - - async function callInsertProductInput() { - // Construct request - const request = { - parent, - productInput, - dataSource, - }; - - // Run request - const response = await productsClient.insertProductInput(request); - console.log(response); - } - - callInsertProductInput(); - // [END merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js deleted file mode 100644 index e66121fbbfa..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.get_product.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START merchantapi_v1beta_generated_ProductsService_GetProduct_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The name of the product to retrieve. - * Format: `accounts/{account}/products/{product}` - * where the last section `product` consists of 4 parts: - * channel~content_language~feed_label~offer_id - * example for product name is - * "accounts/123/products/online~en~US~sku123" - */ - // const name = 'abc123' - - // Imports the Products library - const {ProductsServiceClient} = require('@google-shopping/products').v1beta; - - // Instantiates a client - const productsClient = new ProductsServiceClient(); - - async function callGetProduct() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await productsClient.getProduct(request); - console.log(response); - } - - callGetProduct(); - // [END merchantapi_v1beta_generated_ProductsService_GetProduct_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js deleted file mode 100644 index 84c6741b8e0..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/products_service.list_products.js +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent) { - // [START merchantapi_v1beta_generated_ProductsService_ListProducts_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. The account to list processed products for. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * The maximum number of products to return. The service may return fewer than - * this value. - * The maximum value is 250; values above 250 will be coerced to 250. - * If unspecified, the maximum number of products will be returned. - */ - // const pageSize = 1234 - /** - * A page token, received from a previous `ListProducts` call. - * Provide this to retrieve the subsequent page. - * When paginating, all other parameters provided to `ListProducts` must - * match the call that provided the page token. - */ - // const pageToken = 'abc123' - - // Imports the Products library - const {ProductsServiceClient} = require('@google-shopping/products').v1beta; - - // Instantiates a client - const productsClient = new ProductsServiceClient(); - - async function callListProducts() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = productsClient.listProductsAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListProducts(); - // [END merchantapi_v1beta_generated_ProductsService_ListProducts_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json deleted file mode 100644 index 9101e8da12f..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-products", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.shopping.merchant.products.v1beta", - "version": "v1beta" - } - ] - }, - "snippets": [ - { - "regionTag": "merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async", - "title": "ProductInputsService insertProductInput Sample", - "origin": "API_DEFINITION", - "description": " Uploads a product input to your Merchant Center account. If an input with the same contentLanguage, offerId, and dataSource already exists, this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", - "canonical": true, - "file": "product_inputs_service.insert_product_input.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 67, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "InsertProductInput", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInput", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product_input", - "type": ".google.shopping.merchant.products.v1beta.ProductInput" - }, - { - "name": "data_source", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.merchant.products.v1beta.ProductInput", - "client": { - "shortName": "ProductInputsServiceClient", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsServiceClient" - }, - "method": { - "shortName": "InsertProductInput", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.InsertProductInput", - "service": { - "shortName": "ProductInputsService", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService" - } - } - } - }, - { - "regionTag": "merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async", - "title": "ProductInputsService deleteProductInput Sample", - "origin": "API_DEFINITION", - "description": " Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.", - "canonical": true, - "file": "product_inputs_service.delete_product_input.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 65, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProductInput", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInput", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "data_source", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductInputsServiceClient", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsServiceClient" - }, - "method": { - "shortName": "DeleteProductInput", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService.DeleteProductInput", - "service": { - "shortName": "ProductInputsService", - "fullName": "google.shopping.merchant.products.v1beta.ProductInputsService" - } - } - } - }, - { - "regionTag": "merchantapi_v1beta_generated_ProductsService_GetProduct_async", - "title": "ProductInputsService getProduct Sample", - "origin": "API_DEFINITION", - "description": " Retrieves the processed product from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the updated final product can be retrieved.", - "canonical": true, - "file": "products_service.get_product.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 58, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProduct", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService.GetProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.merchant.products.v1beta.Product", - "client": { - "shortName": "ProductsServiceClient", - "fullName": "google.shopping.merchant.products.v1beta.ProductsServiceClient" - }, - "method": { - "shortName": "GetProduct", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService.GetProduct", - "service": { - "shortName": "ProductsService", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService" - } - } - } - }, - { - "regionTag": "merchantapi_v1beta_generated_ProductsService_ListProducts_async", - "title": "ProductInputsService listProducts Sample", - "origin": "API_DEFINITION", - "description": " Lists the processed products in your Merchant Center account. The response might contain fewer items than specified by pageSize. Rely on pageToken to determine if there are more items to be requested. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved.", - "canonical": true, - "file": "products_service.list_products.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 70, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProducts", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService.ListProducts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.merchant.products.v1beta.ListProductsResponse", - "client": { - "shortName": "ProductsServiceClient", - "fullName": "google.shopping.merchant.products.v1beta.ProductsServiceClient" - }, - "method": { - "shortName": "ListProducts", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService.ListProducts", - "service": { - "shortName": "ProductsService", - "fullName": "google.shopping.merchant.products.v1beta.ProductsService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts deleted file mode 100644 index 3b9c9daccab..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1beta from './v1beta'; -const ProductInputsServiceClient = v1beta.ProductInputsServiceClient; -type ProductInputsServiceClient = v1beta.ProductInputsServiceClient; -const ProductsServiceClient = v1beta.ProductsServiceClient; -type ProductsServiceClient = v1beta.ProductsServiceClient; -export {v1beta, ProductInputsServiceClient, ProductsServiceClient}; -export default {v1beta, ProductInputsServiceClient, ProductsServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json deleted file mode 100644 index f3012a0e504..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/gapic_metadata.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.shopping.merchant.products.v1beta", - "libraryPackage": "@google-shopping/products", - "services": { - "ProductInputsService": { - "clients": { - "grpc": { - "libraryClient": "ProductInputsServiceClient", - "rpcs": { - "InsertProductInput": { - "methods": [ - "insertProductInput" - ] - }, - "DeleteProductInput": { - "methods": [ - "deleteProductInput" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "ProductInputsServiceClient", - "rpcs": { - "InsertProductInput": { - "methods": [ - "insertProductInput" - ] - }, - "DeleteProductInput": { - "methods": [ - "deleteProductInput" - ] - } - } - } - } - }, - "ProductsService": { - "clients": { - "grpc": { - "libraryClient": "ProductsServiceClient", - "rpcs": { - "GetProduct": { - "methods": [ - "getProduct" - ] - }, - "ListProducts": { - "methods": [ - "listProducts", - "listProductsStream", - "listProductsAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "ProductsServiceClient", - "rpcs": { - "GetProduct": { - "methods": [ - "getProduct" - ] - }, - "ListProducts": { - "methods": [ - "listProducts", - "listProductsStream", - "listProductsAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts deleted file mode 100644 index 215bd619d18..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -export {ProductInputsServiceClient} from './product_inputs_service_client'; -export {ProductsServiceClient} from './products_service_client'; diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts deleted file mode 100644 index 7276e3c7b8e..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client.ts +++ /dev/null @@ -1,614 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; - -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); - -/** - * Client JSON configuration object, loaded from - * `src/v1beta/product_inputs_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './product_inputs_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Service to use ProductInput resource. - * This service works for products with online channel only. - * @class - * @memberof v1beta - */ -export class ProductInputsServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - private _universeDomain: string; - private _servicePath: string; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - productInputsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of ProductInputsServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new ProductInputsServiceClient({fallback: true}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof ProductInputsServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); - } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; - this._servicePath = 'merchantapi.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // Request numeric enum values if REST transport is used. - opts.numericEnums = true; - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== this._servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = this._servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === this._servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process === 'object' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - accountPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}' - ), - productPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/products/{product}' - ), - productInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/productInputs/{productinput}' - ), - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.merchant.products.v1beta.ProductInputsService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.productInputsServiceStub) { - return this.productInputsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.merchant.products.v1beta.ProductInputsService. - this.productInputsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.merchant.products.v1beta.ProductInputsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.merchant.products.v1beta.ProductInputsService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const productInputsServiceStubMethods = - ['insertProductInput', 'deleteProductInput']; - for (const methodName of productInputsServiceStubMethods) { - const callPromise = this.productInputsServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.productInputsServiceStub; - } - - /** - * The DNS address for this API service. - * @deprecated Use the apiEndpoint method of the client instance. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); - } - return 'merchantapi.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath. - * @deprecated Use the apiEndpoint method of the client instance. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); - } - return 'merchantapi.googleapis.com'; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - get apiEndpoint() { - return this._servicePath; - } - - get universeDomain() { - return this._universeDomain; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/content' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Uploads a product input to your Merchant Center account. If an input - * with the same contentLanguage, offerId, and dataSource already exists, - * this method replaces that entry. - * - * After inserting, updating, or deleting a product input, it may take several - * minutes before the processed product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account where this product will be inserted. - * Format: accounts/{account} - * @param {google.shopping.merchant.products.v1beta.ProductInput} request.productInput - * Required. The product input to insert. - * @param {string} request.dataSource - * Required. The primary or supplemental product data source name. If the - * product already exists and data source provided is different, then the - * product will be moved to a new data source. Format: - * `accounts/{account}/dataSources/{datasource}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.shopping.merchant.products.v1beta.ProductInput|ProductInput}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/product_inputs_service.insert_product_input.js - * region_tag:merchantapi_v1beta_generated_ProductInputsService_InsertProductInput_async - */ - insertProductInput( - request?: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|undefined, {}|undefined - ]>; - insertProductInput( - request: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, - {}|null|undefined>): void; - insertProductInput( - request: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, - callback: Callback< - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, - {}|null|undefined>): void; - insertProductInput( - request?: protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProductInput, - protos.google.shopping.merchant.products.v1beta.IInsertProductInputRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.insertProductInput(request, options, callback); - } -/** - * Deletes a product input from your Merchant Center account. - * - * After inserting, updating, or deleting a product input, it may take several - * minutes before the processed product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the product input resource to delete. - * Format: accounts/{account}/productInputs/{product} - * where the last section `product` consists of 4 parts: - * channel~content_language~feed_label~offer_id - * example for product name is - * "accounts/123/productInputs/online~en~US~sku123" - * @param {string} request.dataSource - * Required. The primary or supplemental data source from which the product - * input should be deleted. Format: - * `accounts/{account}/dataSources/{datasource}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/product_inputs_service.delete_product_input.js - * region_tag:merchantapi_v1beta_generated_ProductInputsService_DeleteProductInput_async - */ - deleteProductInput( - request?: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|undefined, {}|undefined - ]>; - deleteProductInput( - request: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, - {}|null|undefined>): void; - deleteProductInput( - request: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, - {}|null|undefined>): void; - deleteProductInput( - request?: protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.merchant.products.v1beta.IDeleteProductInputRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.deleteProductInput(request, options, callback); - } - - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified account resource name string. - * - * @param {string} account - * @returns {string} Resource name string. - */ - accountPath(account:string) { - return this.pathTemplates.accountPathTemplate.render({ - account: account, - }); - } - - /** - * Parse the account from Account resource. - * - * @param {string} accountName - * A fully-qualified path representing Account resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountName(accountName: string) { - return this.pathTemplates.accountPathTemplate.match(accountName).account; - } - - /** - * Return a fully-qualified product resource name string. - * - * @param {string} account - * @param {string} product - * @returns {string} Resource name string. - */ - productPath(account:string,product:string) { - return this.pathTemplates.productPathTemplate.render({ - account: account, - product: product, - }); - } - - /** - * Parse the account from Product resource. - * - * @param {string} productName - * A fully-qualified path representing Product resource. - * @returns {string} A string representing the account. - */ - matchAccountFromProductName(productName: string) { - return this.pathTemplates.productPathTemplate.match(productName).account; - } - - /** - * Parse the product from Product resource. - * - * @param {string} productName - * A fully-qualified path representing Product resource. - * @returns {string} A string representing the product. - */ - matchProductFromProductName(productName: string) { - return this.pathTemplates.productPathTemplate.match(productName).product; - } - - /** - * Return a fully-qualified productInput resource name string. - * - * @param {string} account - * @param {string} productinput - * @returns {string} Resource name string. - */ - productInputPath(account:string,productinput:string) { - return this.pathTemplates.productInputPathTemplate.render({ - account: account, - productinput: productinput, - }); - } - - /** - * Parse the account from ProductInput resource. - * - * @param {string} productInputName - * A fully-qualified path representing ProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromProductInputName(productInputName: string) { - return this.pathTemplates.productInputPathTemplate.match(productInputName).account; - } - - /** - * Parse the productinput from ProductInput resource. - * - * @param {string} productInputName - * A fully-qualified path representing ProductInput resource. - * @returns {string} A string representing the productinput. - */ - matchProductinputFromProductInputName(productInputName: string) { - return this.pathTemplates.productInputPathTemplate.match(productInputName).productinput; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.productInputsServiceStub && !this._terminated) { - return this.productInputsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json deleted file mode 100644 index aa2d1f3d89f..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_client_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "interfaces": { - "google.shopping.merchant.products.v1beta.ProductInputsService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "unavailable": [ - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - }, - "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 10000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "InsertProductInput": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "DeleteProductInput": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json deleted file mode 100644 index aa7a8d7d894..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/product_inputs_service_proto_list.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "../../protos/google/shopping/merchant/products/v1beta/productinputs.proto", - "../../protos/google/shopping/merchant/products/v1beta/products.proto", - "../../protos/google/shopping/merchant/products/v1beta/products_common.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts deleted file mode 100644 index 0a5b47677c8..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client.ts +++ /dev/null @@ -1,735 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; -import {Transform} from 'stream'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); - -/** - * Client JSON configuration object, loaded from - * `src/v1beta/products_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './products_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Service to use Product resource. - * This service works for products with online channel only. - * @class - * @memberof v1beta - */ -export class ProductsServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - private _universeDomain: string; - private _servicePath: string; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - productsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of ProductsServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new ProductsServiceClient({fallback: true}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof ProductsServiceClient; - if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) { - throw new Error('Please set either universe_domain or universeDomain, but not both.'); - } - const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined; - this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com'; - this._servicePath = 'merchantapi.' + this._universeDomain; - const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // Request numeric enum values if REST transport is used. - opts.numericEnums = true; - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== this._servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = this._servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === this._servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process === 'object' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - accountPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}' - ), - productPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/products/{product}' - ), - productInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/productInputs/{productinput}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listProducts: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'products') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.merchant.products.v1beta.ProductsService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.productsServiceStub) { - return this.productsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.merchant.products.v1beta.ProductsService. - this.productsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.merchant.products.v1beta.ProductsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.merchant.products.v1beta.ProductsService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const productsServiceStubMethods = - ['getProduct', 'listProducts']; - for (const methodName of productsServiceStubMethods) { - const callPromise = this.productsServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.productsServiceStub; - } - - /** - * The DNS address for this API service. - * @deprecated Use the apiEndpoint method of the client instance. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning'); - } - return 'merchantapi.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath. - * @deprecated Use the apiEndpoint method of the client instance. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning'); - } - return 'merchantapi.googleapis.com'; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - get apiEndpoint() { - return this._servicePath; - } - - get universeDomain() { - return this._universeDomain; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/content' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Retrieves the processed product from your Merchant Center account. - * - * After inserting, updating, or deleting a product input, it may take several - * minutes before the updated final product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the product to retrieve. - * Format: `accounts/{account}/products/{product}` - * where the last section `product` consists of 4 parts: - * channel~content_language~feed_label~offer_id - * example for product name is - * "accounts/123/products/online~en~US~sku123" - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/products_service.get_product.js - * region_tag:merchantapi_v1beta_generated_ProductsService_GetProduct_async - */ - getProduct( - request?: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|undefined, {}|undefined - ]>; - getProduct( - request: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, - {}|null|undefined>): void; - getProduct( - request: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, - callback: Callback< - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, - {}|null|undefined>): void; - getProduct( - request?: protos.google.shopping.merchant.products.v1beta.IGetProductRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProduct, - protos.google.shopping.merchant.products.v1beta.IGetProductRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.getProduct(request, options, callback); - } - - /** - * Lists the processed products in your Merchant Center account. The response - * might contain fewer items than specified by pageSize. Rely on pageToken to - * determine if there are more items to be requested. - * - * After inserting, updating, or deleting a product input, it may take several - * minutes before the updated processed product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account to list processed products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of products to return. The service may return fewer than - * this value. - * The maximum value is 250; values above 250 will be coerced to 250. - * If unspecified, the maximum number of products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListProducts` must - * match the call that provided the page token. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listProductsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ - listProducts( - request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProduct[], - protos.google.shopping.merchant.products.v1beta.IListProductsRequest|null, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse - ]>; - listProducts( - request: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, - protos.google.shopping.merchant.products.v1beta.IProduct>): void; - listProducts( - request: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - callback: PaginationCallback< - protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, - protos.google.shopping.merchant.products.v1beta.IProduct>): void; - listProducts( - request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, - protos.google.shopping.merchant.products.v1beta.IProduct>, - callback?: PaginationCallback< - protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse|null|undefined, - protos.google.shopping.merchant.products.v1beta.IProduct>): - Promise<[ - protos.google.shopping.merchant.products.v1beta.IProduct[], - protos.google.shopping.merchant.products.v1beta.IListProductsRequest|null, - protos.google.shopping.merchant.products.v1beta.IListProductsResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.listProducts(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account to list processed products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of products to return. The service may return fewer than - * this value. - * The maximum value is 250; values above 250 will be coerced to 250. - * If unspecified, the maximum number of products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListProducts` must - * match the call that provided the page token. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing {@link protos.google.shopping.merchant.products.v1beta.Product|Product} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listProductsAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - */ - listProductsStream( - request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listProducts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listProducts.createStream( - this.innerApiCalls.listProducts as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listProducts`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account to list processed products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of products to return. The service may return fewer than - * this value. - * The maximum value is 250; values above 250 will be coerced to 250. - * If unspecified, the maximum number of products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListProducts` must - * match the call that provided the page token. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }. - * When you iterate the returned iterable, each element will be an object representing - * {@link protos.google.shopping.merchant.products.v1beta.Product|Product}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation } - * for more details and examples. - * @example include:samples/generated/v1beta/products_service.list_products.js - * region_tag:merchantapi_v1beta_generated_ProductsService_ListProducts_async - */ - listProductsAsync( - request?: protos.google.shopping.merchant.products.v1beta.IListProductsRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listProducts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listProducts.asyncIterate( - this.innerApiCalls['listProducts'] as GaxCall, - request as {}, - callSettings - ) as AsyncIterable; - } - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified account resource name string. - * - * @param {string} account - * @returns {string} Resource name string. - */ - accountPath(account:string) { - return this.pathTemplates.accountPathTemplate.render({ - account: account, - }); - } - - /** - * Parse the account from Account resource. - * - * @param {string} accountName - * A fully-qualified path representing Account resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountName(accountName: string) { - return this.pathTemplates.accountPathTemplate.match(accountName).account; - } - - /** - * Return a fully-qualified product resource name string. - * - * @param {string} account - * @param {string} product - * @returns {string} Resource name string. - */ - productPath(account:string,product:string) { - return this.pathTemplates.productPathTemplate.render({ - account: account, - product: product, - }); - } - - /** - * Parse the account from Product resource. - * - * @param {string} productName - * A fully-qualified path representing Product resource. - * @returns {string} A string representing the account. - */ - matchAccountFromProductName(productName: string) { - return this.pathTemplates.productPathTemplate.match(productName).account; - } - - /** - * Parse the product from Product resource. - * - * @param {string} productName - * A fully-qualified path representing Product resource. - * @returns {string} A string representing the product. - */ - matchProductFromProductName(productName: string) { - return this.pathTemplates.productPathTemplate.match(productName).product; - } - - /** - * Return a fully-qualified productInput resource name string. - * - * @param {string} account - * @param {string} productinput - * @returns {string} Resource name string. - */ - productInputPath(account:string,productinput:string) { - return this.pathTemplates.productInputPathTemplate.render({ - account: account, - productinput: productinput, - }); - } - - /** - * Parse the account from ProductInput resource. - * - * @param {string} productInputName - * A fully-qualified path representing ProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromProductInputName(productInputName: string) { - return this.pathTemplates.productInputPathTemplate.match(productInputName).account; - } - - /** - * Parse the productinput from ProductInput resource. - * - * @param {string} productInputName - * A fully-qualified path representing ProductInput resource. - * @returns {string} A string representing the productinput. - */ - matchProductinputFromProductInputName(productInputName: string) { - return this.pathTemplates.productInputPathTemplate.match(productInputName).productinput; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.productsServiceStub && !this._terminated) { - return this.productsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json deleted file mode 100644 index e9ec3b38bb5..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_client_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "interfaces": { - "google.shopping.merchant.products.v1beta.ProductsService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "unavailable": [ - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - }, - "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 10000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "GetProduct": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "ListProducts": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json deleted file mode 100644 index aa7a8d7d894..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/src/v1beta/products_service_proto_list.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "../../protos/google/shopping/merchant/products/v1beta/productinputs.proto", - "../../protos/google/shopping/merchant/products/v1beta/products.proto", - "../../protos/google/shopping/merchant/products/v1beta/products_common.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js deleted file mode 100644 index 5ac87c527b1..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const products = require('@google-shopping/products'); - -function main() { - const productInputsServiceClient = new products.ProductInputsServiceClient(); - const productsServiceClient = new products.ProductsServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index b551c0fcbcb..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {ProductInputsServiceClient, ProductsServiceClient} from '@google-shopping/products'; - -// check that the client class type name can be used -function doStuffWithProductInputsServiceClient(client: ProductInputsServiceClient) { - client.close(); -} -function doStuffWithProductsServiceClient(client: ProductsServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const productInputsServiceClient = new ProductInputsServiceClient(); - doStuffWithProductInputsServiceClient(productInputsServiceClient); - // check that the client instance can be created - const productsServiceClient = new ProductsServiceClient(); - doStuffWithProductsServiceClient(productsServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts deleted file mode 100644 index fd5bfdc71d5..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts deleted file mode 100644 index 5702820345a..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_product_inputs_service_v1beta.ts +++ /dev/null @@ -1,539 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as productinputsserviceModule from '../src'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -describe('v1beta.ProductInputsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = productinputsserviceModule.v1beta.ProductInputsServiceClient.servicePath; - assert.strictEqual(servicePath, 'merchantapi.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = productinputsserviceModule.v1beta.ProductInputsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new productinputsserviceModule.v1beta.ProductInputsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = productinputsserviceModule.v1beta.ProductInputsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productInputsServiceStub, undefined); - await client.initialize(); - assert(client.productInputsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.productInputsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productInputsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('insertProductInput', () => { - it('invokes insertProductInput without error', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ProductInput() - ); - client.innerApiCalls.insertProductInput = stubSimpleCall(expectedResponse); - const [response] = await client.insertProductInput(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertProductInput without error using callback', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ProductInput() - ); - client.innerApiCalls.insertProductInput = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.insertProductInput( - request, - (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProductInput|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertProductInput with error', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.insertProductInput = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.insertProductInput(request), expectedError); - const actualRequest = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertProductInput with closed client', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.InsertProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.InsertProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.insertProductInput(request), expectedError); - }); - }); - - describe('deleteProductInput', () => { - it('invokes deleteProductInput without error', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProductInput = stubSimpleCall(expectedResponse); - const [response] = await client.deleteProductInput(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProductInput without error using callback', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteProductInput = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteProductInput( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProductInput with error', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteProductInput = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteProductInput(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteProductInput with closed client', async () => { - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.DeleteProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.DeleteProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteProductInput(request), expectedError); - }); - }); - - describe('Path templates', () => { - - describe('account', () => { - const fakePath = "/rendered/path/account"; - const expectedParameters = { - account: "accountValue", - }; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountPath', () => { - const result = client.accountPath("accountValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountName', () => { - const result = client.matchAccountFromAccountName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('product', () => { - const fakePath = "/rendered/path/product"; - const expectedParameters = { - account: "accountValue", - product: "productValue", - }; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.productPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.productPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('productPath', () => { - const result = client.productPath("accountValue", "productValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.productPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromProductName', () => { - const result = client.matchAccountFromProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.productPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchProductFromProductName', () => { - const result = client.matchProductFromProductName(fakePath); - assert.strictEqual(result, "productValue"); - assert((client.pathTemplates.productPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('productInput', () => { - const fakePath = "/rendered/path/productInput"; - const expectedParameters = { - account: "accountValue", - productinput: "productinputValue", - }; - const client = new productinputsserviceModule.v1beta.ProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.productInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.productInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('productInputPath', () => { - const result = client.productInputPath("accountValue", "productinputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.productInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromProductInputName', () => { - const result = client.matchAccountFromProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchProductinputFromProductInputName', () => { - const result = client.matchProductinputFromProductInputName(fakePath); - assert.strictEqual(result, "productinputValue"); - assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts b/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts deleted file mode 100644 index 60921dd4420..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/test/gapic_products_service_v1beta.ts +++ /dev/null @@ -1,723 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as productsserviceModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1beta.ProductsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient(); - const universeDomain = client.universeDomain; - assert.strictEqual(universeDomain, "googleapis.com"); - }); - - if (typeof process === 'object' && typeof process.emitWarning === 'function') { - it('throws DeprecationWarning if static servicePath is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const servicePath = productsserviceModule.v1beta.ProductsServiceClient.servicePath; - assert.strictEqual(servicePath, 'merchantapi.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = productsserviceModule.v1beta.ProductsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'merchantapi.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - }); - - if (typeof process === 'object' && 'env' in process) { - describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { - it('sets apiEndpoint from environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new productsserviceModule.v1beta.ProductsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - - it('value configured in code has priority over environment variable', () => { - const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; - const client = new productsserviceModule.v1beta.ProductsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'merchantapi.configured.example.com'); - if (saved) { - process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; - } else { - delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; - } - }); - }); - } - it('does not allow setting both universeDomain and universe_domain', () => { - assert.throws(() => { new productsserviceModule.v1beta.ProductsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = productsserviceModule.v1beta.ProductsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productsServiceStub, undefined); - await client.initialize(); - assert(client.productsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.productsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('getProduct', () => { - it('invokes getProduct without error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.GetProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.Product() - ); - client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); - const [response] = await client.getProduct(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProduct without error using callback', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.GetProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.Product() - ); - client.innerApiCalls.getProduct = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getProduct( - request, - (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProduct|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProduct with error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.GetProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getProduct = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getProduct(request), expectedError); - const actualRequest = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getProduct with closed client', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.GetProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.GetProductRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getProduct(request), expectedError); - }); - }); - - describe('listProducts', () => { - it('invokes listProducts without error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - ]; - client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); - const [response] = await client.listProducts(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProducts without error using callback', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - ]; - client.innerApiCalls.listProducts = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listProducts( - request, - (err?: Error|null, result?: protos.google.shopping.merchant.products.v1beta.IProduct[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProducts with error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listProducts = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listProducts(request), expectedError); - const actualRequest = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listProductsStream without error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - ]; - client.descriptors.page.listProducts.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listProductsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.merchant.products.v1beta.Product[] = []; - stream.on('data', (response: protos.google.shopping.merchant.products.v1beta.Product) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listProducts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProducts, request)); - assert( - (client.descriptors.page.listProducts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listProductsStream with error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listProducts.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listProductsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.merchant.products.v1beta.Product[] = []; - stream.on('data', (response: protos.google.shopping.merchant.products.v1beta.Product) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listProducts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listProducts, request)); - assert( - (client.descriptors.page.listProducts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProducts without error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - generateSampleMessage(new protos.google.shopping.merchant.products.v1beta.Product()), - ]; - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.shopping.merchant.products.v1beta.IProduct[] = []; - const iterable = client.listProductsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listProducts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProducts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listProducts with error', async () => { - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.merchant.products.v1beta.ListProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.merchant.products.v1beta.ListProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listProductsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.shopping.merchant.products.v1beta.IProduct[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listProducts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listProducts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('account', () => { - const fakePath = "/rendered/path/account"; - const expectedParameters = { - account: "accountValue", - }; - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountPath', () => { - const result = client.accountPath("accountValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountName', () => { - const result = client.matchAccountFromAccountName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('product', () => { - const fakePath = "/rendered/path/product"; - const expectedParameters = { - account: "accountValue", - product: "productValue", - }; - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.productPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.productPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('productPath', () => { - const result = client.productPath("accountValue", "productValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.productPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromProductName', () => { - const result = client.matchAccountFromProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.productPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchProductFromProductName', () => { - const result = client.matchProductFromProductName(fakePath); - assert.strictEqual(result, "productValue"); - assert((client.pathTemplates.productPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('productInput', () => { - const fakePath = "/rendered/path/productInput"; - const expectedParameters = { - account: "accountValue", - productinput: "productinputValue", - }; - const client = new productsserviceModule.v1beta.ProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.productInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.productInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('productInputPath', () => { - const result = client.productInputPath("accountValue", "productinputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.productInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromProductInputName', () => { - const result = client.matchAccountFromProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchProductinputFromProductInputName', () => { - const result = client.matchProductinputFromProductInputName(fakePath); - assert.strictEqual(result, "productinputValue"); - assert((client.pathTemplates.productInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json b/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js b/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js deleted file mode 100644 index 0edb8aab988..00000000000 --- a/owl-bot-staging/google-shopping-merchant-products/v1beta/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'ProductInputsService', - filename: './product-inputs-service.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/packages/google-shopping-merchant-products/README.md b/packages/google-shopping-merchant-products/README.md index 1504353088b..515fc2d50b6 100644 --- a/packages/google-shopping-merchant-products/README.md +++ b/packages/google-shopping-merchant-products/README.md @@ -44,7 +44,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. 1. [Select or create a Cloud Platform project][projects]. 1. [Enable billing for your project][billing]. 1. [Enable the Merchant API API][enable_api]. -1. [Set up authentication with a service account][auth] so you can access the +1. [Set up authentication][auth] so you can access the API from your local workstation. ### Installing the client library @@ -187,4 +187,4 @@ See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [projects]: https://console.cloud.google.com/project [billing]: https://support.google.com/cloud/answer/6293499#enable-billing [enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=merchantapi.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started +[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local diff --git a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/productinputs.proto b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/productinputs.proto index 88cbe1d5f1c..53315dd6bd9 100644 --- a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/productinputs.proto +++ b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/productinputs.proto @@ -65,16 +65,16 @@ service ProductInputsService { // processed product that you see in Merchant Center, in Shopping ads, or across // Google surfaces. Product inputs, rules and supplemental data source data are // combined to create the processed -// [product][google.shopping.content.bundles.Products.Product]. +// [Product][google.shopping.merchant.products.v1beta.Product]. // // Required product input attributes to pass data validation checks are // primarily defined in the [Products Data // Specification](https://support.google.com/merchants/answer/188494). // // The following attributes are required: -// [feedLabel][google.shopping.content.bundles.Products.feed_label], -// [contentLanguage][google.shopping.content.bundles.Products.content_language] -// and [offerId][google.shopping.content.bundles.Products.offer_id]. +// [feedLabel][google.shopping.merchant.products.v1beta.Product.feed_label], +// [contentLanguage][google.shopping.merchant.products.v1beta.Product.content_language] +// and [offerId][google.shopping.merchant.products.v1beta.Product.offer_id]. // // After inserting, updating, or deleting a product input, it may take several // minutes before the processed product can be retrieved. @@ -93,6 +93,10 @@ message ProductInput { // Identifier. The name of the product input. // Format: // `"{productinput.name=accounts/{account}/productInputs/{productinput}}"` + // where the last section `productinput` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product input name is + // "accounts/123/productInputs/online~en~US~sku123" string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Output only. The name of the processed product. @@ -193,6 +197,10 @@ message InsertProductInputRequest { message DeleteProductInputRequest { // Required. The name of the product input resource to delete. // Format: accounts/{account}/productInputs/{product} + // where the last section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is + // "accounts/123/productInputs/online~en~US~sku123" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { diff --git a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products.proto b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products.proto index d163bb7a4ec..755e10ea675 100644 --- a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products.proto +++ b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products.proto @@ -64,10 +64,10 @@ service ProductsService { } // The processed product, built from multiple [product -// inputs][[google.shopping.content.bundles.Products.ProductInput] after -// applying rules and supplemental data sources. This processed product matches -// what is shown in your Merchant Center account and in Shopping ads and other -// surfaces across Google. Each product is built from exactly one primary +// inputs][google.shopping.merchant.products.v1main.ProductInput] +// after applying rules and supplemental data sources. This processed product +// matches what is shown in your Merchant Center account and in Shopping ads and +// other surfaces across Google. Each product is built from exactly one primary // data source product input, and multiple supplemental data source inputs. // After inserting, updating, or deleting a product input, it may take // several minutes before the updated processed product can be retrieved. @@ -84,7 +84,10 @@ message Product { // The name of the product. // Format: - // `"{product.name=accounts/{account}/products/{product}}"` + // `"{product.name=accounts/{account}/products/{product}}"` where the last + // section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is "accounts/123/products/online~en~US~sku123" string name = 1; // Output only. The @@ -148,6 +151,10 @@ message Product { message GetProductRequest { // Required. The name of the product to retrieve. // Format: `accounts/{account}/products/{product}` + // where the last section `product` consists of 4 parts: + // channel~content_language~feed_label~offer_id + // example for product name is + // "accounts/123/products/online~en~US~sku123" string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -169,7 +176,7 @@ message ListProductsRequest { // The maximum number of products to return. The service may return fewer than // this value. - // The maximum value is 1000; values above 1000 will be coerced to 1000. + // The maximum value is 250; values above 250 will be coerced to 250. // If unspecified, the maximum number of products will be returned. int32 page_size = 2; diff --git a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products_common.proto b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products_common.proto index 4bab62e28a6..a221ff1f2b1 100644 --- a/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products_common.proto +++ b/packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1beta/products_common.proto @@ -117,10 +117,11 @@ message Attributes { // categories through the API. optional string google_product_category = 25; - // Global Trade Item Number + // Global Trade Item Numbers // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the // item. - optional string gtin = 26; + // You can provide up to 10 GTINs. + repeated string gtin = 26; // Shared identifier for all variants of the same product. optional string item_group_id = 27; @@ -235,8 +236,7 @@ message Attributes { // Tax information. repeated Tax taxes = 51; - // The tax category of the product, used to configure detailed tax nexus - // in account-level tax settings. + // The tax category of the product. optional string tax_category = 52; // The energy efficiency class as defined in EU directive 2010/30/EU. @@ -521,6 +521,17 @@ message LoyaltyProgram { // The amount of loyalty points earned on a purchase. optional int64 loyalty_points = 5; + + // A date range during which the item is eligible for member price. If not + // specified, the member price is always applicable. The date range is + // represented by a pair of ISO 8601 dates separated by a space, + // comma, or slash. + optional google.type.Interval member_price_effective_date = 6; + + // The label of the shipping benefit. If the field has value, this offer has + // loyalty shipping benefit. If the field value isn't provided, the item is + // not eligible for loyalty shipping for the given loyalty tier. + optional string shipping_label = 7; } // The Shipping of the product. @@ -558,48 +569,48 @@ message Shipping { // Minimum handling time (inclusive) between when the order is received and // shipped in business days. 0 means that the order is shipped on the same // day as it is received if it happens before the cut-off time. - // [minHandlingTime][google.shopping.content.bundles.Products.Shipping.min_handling_time] + // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] // can only be present together with - // [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time]; + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time]; // but it is not required if - // [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time] + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] // is present. optional int64 min_handling_time = 8; // Maximum handling time (inclusive) between when the order is received and // shipped in business days. 0 means that the order is shipped on the same // day as it is received if it happens before the cut-off time. Both - // [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time] + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] // and - // [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time] + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] // are required if providing shipping speeds. - // [minHandlingTime][google.shopping.content.bundles.Products.Shipping.min_handling_time] + // [minHandlingTime][google.shopping.merchant.products.v1beta.Shipping.min_handling_time] // is optional if - // [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time] + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] // is present. optional int64 max_handling_time = 9; // Minimum transit time (inclusive) between when the order has shipped and // when it is delivered in business days. 0 means that the order is // delivered on the same day as it ships. - // [minTransitTime][google.shopping.content.bundles.Products.Shipping.min_transit_time] + // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] // can only be present together with - // [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time]; + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time]; // but it is not required if - // [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time] + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] // is present. optional int64 min_transit_time = 10; // Maximum transit time (inclusive) between when the order has shipped and // when it is delivered in business days. 0 means that the order is // delivered on the same day as it ships. Both - // [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time] + // [maxHandlingTime][google.shopping.merchant.products.v1beta.Shipping.max_handling_time] // and - // [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time] + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] // are required if providing shipping speeds. - // [minTransitTime][google.shopping.content.bundles.Products.Shipping.min_transit_time] + // [minTransitTime][google.shopping.merchant.products.v1beta.Shipping.min_transit_time] // is optional if - // [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time] + // [maxTransitTime][google.shopping.merchant.products.v1beta.Shipping.max_transit_time] // is present. optional int64 max_transit_time = 11; } diff --git a/packages/google-shopping-merchant-products/protos/protos.d.ts b/packages/google-shopping-merchant-products/protos/protos.d.ts index badb2c01aeb..abbb840fcfb 100644 --- a/packages/google-shopping-merchant-products/protos/protos.d.ts +++ b/packages/google-shopping-merchant-products/protos/protos.d.ts @@ -526,7 +526,7 @@ export namespace google { googleProductCategory?: (string|null); /** Attributes gtin */ - gtin?: (string|null); + gtin?: (string[]|null); /** Attributes itemGroupId */ itemGroupId?: (string|null); @@ -812,7 +812,7 @@ export namespace google { public googleProductCategory?: (string|null); /** Attributes gtin. */ - public gtin?: (string|null); + public gtin: string[]; /** Attributes itemGroupId. */ public itemGroupId?: (string|null); @@ -1075,9 +1075,6 @@ export namespace google { /** Attributes _googleProductCategory. */ public _googleProductCategory?: "googleProductCategory"; - /** Attributes _gtin. */ - public _gtin?: "gtin"; - /** Attributes _itemGroupId. */ public _itemGroupId?: "itemGroupId"; @@ -2159,6 +2156,12 @@ export namespace google { /** LoyaltyProgram loyaltyPoints */ loyaltyPoints?: (number|Long|string|null); + + /** LoyaltyProgram memberPriceEffectiveDate */ + memberPriceEffectiveDate?: (google.type.IInterval|null); + + /** LoyaltyProgram shippingLabel */ + shippingLabel?: (string|null); } /** Represents a LoyaltyProgram. */ @@ -2185,6 +2188,12 @@ export namespace google { /** LoyaltyProgram loyaltyPoints. */ public loyaltyPoints?: (number|Long|string|null); + /** LoyaltyProgram memberPriceEffectiveDate. */ + public memberPriceEffectiveDate?: (google.type.IInterval|null); + + /** LoyaltyProgram shippingLabel. */ + public shippingLabel?: (string|null); + /** LoyaltyProgram _programLabel. */ public _programLabel?: "programLabel"; @@ -2200,6 +2209,12 @@ export namespace google { /** LoyaltyProgram _loyaltyPoints. */ public _loyaltyPoints?: "loyaltyPoints"; + /** LoyaltyProgram _memberPriceEffectiveDate. */ + public _memberPriceEffectiveDate?: "memberPriceEffectiveDate"; + + /** LoyaltyProgram _shippingLabel. */ + public _shippingLabel?: "shippingLabel"; + /** * Creates a new LoyaltyProgram instance using the specified properties. * @param [properties] Properties to set diff --git a/packages/google-shopping-merchant-products/protos/protos.js b/packages/google-shopping-merchant-products/protos/protos.js index d0d10d95251..d83b9249d18 100644 --- a/packages/google-shopping-merchant-products/protos/protos.js +++ b/packages/google-shopping-merchant-products/protos/protos.js @@ -1168,7 +1168,7 @@ * @property {string|null} [condition] Attributes condition * @property {string|null} [gender] Attributes gender * @property {string|null} [googleProductCategory] Attributes googleProductCategory - * @property {string|null} [gtin] Attributes gtin + * @property {Array.|null} [gtin] Attributes gtin * @property {string|null} [itemGroupId] Attributes itemGroupId * @property {string|null} [material] Attributes material * @property {string|null} [mpn] Attributes mpn @@ -1252,6 +1252,7 @@ */ function Attributes(properties) { this.additionalImageLinks = []; + this.gtin = []; this.loyaltyPrograms = []; this.productTypes = []; this.shipping = []; @@ -1437,11 +1438,11 @@ /** * Attributes gtin. - * @member {string|null|undefined} gtin + * @member {Array.} gtin * @memberof google.shopping.merchant.products.v1beta.Attributes * @instance */ - Attributes.prototype.gtin = null; + Attributes.prototype.gtin = $util.emptyArray; /** * Attributes itemGroupId. @@ -2190,17 +2191,6 @@ set: $util.oneOfSetter($oneOfFields) }); - /** - * Attributes _gtin. - * @member {"gtin"|undefined} _gtin - * @memberof google.shopping.merchant.products.v1beta.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_gtin", { - get: $util.oneOfGetter($oneOfFields = ["gtin"]), - set: $util.oneOfSetter($oneOfFields) - }); - /** * Attributes _itemGroupId. * @member {"itemGroupId"|undefined} _itemGroupId @@ -2667,8 +2657,9 @@ writer.uint32(/* id 24, wireType 2 =*/194).string(message.gender); if (message.googleProductCategory != null && Object.hasOwnProperty.call(message, "googleProductCategory")) writer.uint32(/* id 25, wireType 2 =*/202).string(message.googleProductCategory); - if (message.gtin != null && Object.hasOwnProperty.call(message, "gtin")) - writer.uint32(/* id 26, wireType 2 =*/210).string(message.gtin); + if (message.gtin != null && message.gtin.length) + for (var i = 0; i < message.gtin.length; ++i) + writer.uint32(/* id 26, wireType 2 =*/210).string(message.gtin[i]); if (message.itemGroupId != null && Object.hasOwnProperty.call(message, "itemGroupId")) writer.uint32(/* id 27, wireType 2 =*/218).string(message.itemGroupId); if (message.material != null && Object.hasOwnProperty.call(message, "material")) @@ -2940,7 +2931,9 @@ break; } case 26: { - message.gtin = reader.string(); + if (!(message.gtin && message.gtin.length)) + message.gtin = []; + message.gtin.push(reader.string()); break; } case 27: { @@ -3400,9 +3393,11 @@ return "googleProductCategory: string expected"; } if (message.gtin != null && message.hasOwnProperty("gtin")) { - properties._gtin = 1; - if (!$util.isString(message.gtin)) - return "gtin: string expected"; + if (!Array.isArray(message.gtin)) + return "gtin: array expected"; + for (var i = 0; i < message.gtin.length; ++i) + if (!$util.isString(message.gtin[i])) + return "gtin: string[] expected"; } if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { properties._itemGroupId = 1; @@ -3882,8 +3877,13 @@ message.gender = String(object.gender); if (object.googleProductCategory != null) message.googleProductCategory = String(object.googleProductCategory); - if (object.gtin != null) - message.gtin = String(object.gtin); + if (object.gtin) { + if (!Array.isArray(object.gtin)) + throw TypeError(".google.shopping.merchant.products.v1beta.Attributes.gtin: array expected"); + message.gtin = []; + for (var i = 0; i < object.gtin.length; ++i) + message.gtin[i] = String(object.gtin[i]); + } if (object.itemGroupId != null) message.itemGroupId = String(object.itemGroupId); if (object.material != null) @@ -4239,6 +4239,7 @@ if (options.arrays || options.defaults) { object.additionalImageLinks = []; object.lifestyleImageLinks = []; + object.gtin = []; object.productTypes = []; object.shipping = []; object.sizeTypes = []; @@ -4383,10 +4384,10 @@ if (options.oneofs) object._googleProductCategory = "googleProductCategory"; } - if (message.gtin != null && message.hasOwnProperty("gtin")) { - object.gtin = message.gtin; - if (options.oneofs) - object._gtin = "gtin"; + if (message.gtin && message.gtin.length) { + object.gtin = []; + for (var j = 0; j < message.gtin.length; ++j) + object.gtin[j] = message.gtin[j]; } if (message.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { object.itemGroupId = message.itemGroupId; @@ -6875,6 +6876,8 @@ * @property {google.shopping.type.IPrice|null} [price] LoyaltyProgram price * @property {google.shopping.type.IPrice|null} [cashbackForFutureUse] LoyaltyProgram cashbackForFutureUse * @property {number|Long|null} [loyaltyPoints] LoyaltyProgram loyaltyPoints + * @property {google.type.IInterval|null} [memberPriceEffectiveDate] LoyaltyProgram memberPriceEffectiveDate + * @property {string|null} [shippingLabel] LoyaltyProgram shippingLabel */ /** @@ -6932,6 +6935,22 @@ */ LoyaltyProgram.prototype.loyaltyPoints = null; + /** + * LoyaltyProgram memberPriceEffectiveDate. + * @member {google.type.IInterval|null|undefined} memberPriceEffectiveDate + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.memberPriceEffectiveDate = null; + + /** + * LoyaltyProgram shippingLabel. + * @member {string|null|undefined} shippingLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + LoyaltyProgram.prototype.shippingLabel = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -6990,6 +7009,28 @@ set: $util.oneOfSetter($oneOfFields) }); + /** + * LoyaltyProgram _memberPriceEffectiveDate. + * @member {"memberPriceEffectiveDate"|undefined} _memberPriceEffectiveDate + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_memberPriceEffectiveDate", { + get: $util.oneOfGetter($oneOfFields = ["memberPriceEffectiveDate"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * LoyaltyProgram _shippingLabel. + * @member {"shippingLabel"|undefined} _shippingLabel + * @memberof google.shopping.merchant.products.v1beta.LoyaltyProgram + * @instance + */ + Object.defineProperty(LoyaltyProgram.prototype, "_shippingLabel", { + get: $util.oneOfGetter($oneOfFields = ["shippingLabel"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new LoyaltyProgram instance using the specified properties. * @function create @@ -7024,6 +7065,10 @@ $root.google.shopping.type.Price.encode(message.cashbackForFutureUse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.loyaltyPoints != null && Object.hasOwnProperty.call(message, "loyaltyPoints")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.loyaltyPoints); + if (message.memberPriceEffectiveDate != null && Object.hasOwnProperty.call(message, "memberPriceEffectiveDate")) + $root.google.type.Interval.encode(message.memberPriceEffectiveDate, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.shippingLabel != null && Object.hasOwnProperty.call(message, "shippingLabel")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.shippingLabel); return writer; }; @@ -7078,6 +7123,14 @@ message.loyaltyPoints = reader.int64(); break; } + case 6: { + message.memberPriceEffectiveDate = $root.google.type.Interval.decode(reader, reader.uint32()); + break; + } + case 7: { + message.shippingLabel = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -7145,6 +7198,19 @@ if (!$util.isInteger(message.loyaltyPoints) && !(message.loyaltyPoints && $util.isInteger(message.loyaltyPoints.low) && $util.isInteger(message.loyaltyPoints.high))) return "loyaltyPoints: integer|Long expected"; } + if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { + properties._memberPriceEffectiveDate = 1; + { + var error = $root.google.type.Interval.verify(message.memberPriceEffectiveDate); + if (error) + return "memberPriceEffectiveDate." + error; + } + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + properties._shippingLabel = 1; + if (!$util.isString(message.shippingLabel)) + return "shippingLabel: string expected"; + } return null; }; @@ -7183,6 +7249,13 @@ message.loyaltyPoints = object.loyaltyPoints; else if (typeof object.loyaltyPoints === "object") message.loyaltyPoints = new $util.LongBits(object.loyaltyPoints.low >>> 0, object.loyaltyPoints.high >>> 0).toNumber(); + if (object.memberPriceEffectiveDate != null) { + if (typeof object.memberPriceEffectiveDate !== "object") + throw TypeError(".google.shopping.merchant.products.v1beta.LoyaltyProgram.memberPriceEffectiveDate: object expected"); + message.memberPriceEffectiveDate = $root.google.type.Interval.fromObject(object.memberPriceEffectiveDate); + } + if (object.shippingLabel != null) + message.shippingLabel = String(object.shippingLabel); return message; }; @@ -7227,6 +7300,16 @@ if (options.oneofs) object._loyaltyPoints = "loyaltyPoints"; } + if (message.memberPriceEffectiveDate != null && message.hasOwnProperty("memberPriceEffectiveDate")) { + object.memberPriceEffectiveDate = $root.google.type.Interval.toObject(message.memberPriceEffectiveDate, options); + if (options.oneofs) + object._memberPriceEffectiveDate = "memberPriceEffectiveDate"; + } + if (message.shippingLabel != null && message.hasOwnProperty("shippingLabel")) { + object.shippingLabel = message.shippingLabel; + if (options.oneofs) + object._shippingLabel = "shippingLabel"; + } return object; }; diff --git a/packages/google-shopping-merchant-products/protos/protos.json b/packages/google-shopping-merchant-products/protos/protos.json index 32570c8a759..d607ce9d53a 100644 --- a/packages/google-shopping-merchant-products/protos/protos.json +++ b/packages/google-shopping-merchant-products/protos/protos.json @@ -1,4 +1,7 @@ { + "options": { + "syntax": "proto3" + }, "nested": { "google": { "nested": { @@ -276,11 +279,6 @@ "googleProductCategory" ] }, - "_gtin": { - "oneof": [ - "gtin" - ] - }, "_itemGroupId": { "oneof": [ "itemGroupId" @@ -593,11 +591,9 @@ } }, "gtin": { + "rule": "repeated", "type": "string", - "id": 26, - "options": { - "proto3_optional": true - } + "id": 26 }, "itemGroupId": { "type": "string", @@ -1182,6 +1178,16 @@ "oneof": [ "loyaltyPoints" ] + }, + "_memberPriceEffectiveDate": { + "oneof": [ + "memberPriceEffectiveDate" + ] + }, + "_shippingLabel": { + "oneof": [ + "shippingLabel" + ] } }, "fields": { @@ -1219,6 +1225,20 @@ "options": { "proto3_optional": true } + }, + "memberPriceEffectiveDate": { + "type": "google.type.Interval", + "id": 6, + "options": { + "proto3_optional": true + } + }, + "shippingLabel": { + "type": "string", + "id": 7, + "options": { + "proto3_optional": true + } } } }, diff --git a/packages/google-shopping-merchant-products/samples/generated/v1beta/product_inputs_service.delete_product_input.js b/packages/google-shopping-merchant-products/samples/generated/v1beta/product_inputs_service.delete_product_input.js index 6e2b1d656fb..4f7f38aebbe 100644 --- a/packages/google-shopping-merchant-products/samples/generated/v1beta/product_inputs_service.delete_product_input.js +++ b/packages/google-shopping-merchant-products/samples/generated/v1beta/product_inputs_service.delete_product_input.js @@ -31,6 +31,10 @@ function main(name, dataSource) { /** * Required. The name of the product input resource to delete. * Format: accounts/{account}/productInputs/{product} + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/productInputs/online~en~US~sku123" */ // const name = 'abc123' /** diff --git a/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.get_product.js b/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.get_product.js index 60d5a9e551e..e66121fbbfa 100644 --- a/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.get_product.js +++ b/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.get_product.js @@ -31,6 +31,10 @@ function main(name) { /** * Required. The name of the product to retrieve. * Format: `accounts/{account}/products/{product}` + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/products/online~en~US~sku123" */ // const name = 'abc123' diff --git a/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.list_products.js b/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.list_products.js index 5a97e8416c6..84c6741b8e0 100644 --- a/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.list_products.js +++ b/packages/google-shopping-merchant-products/samples/generated/v1beta/products_service.list_products.js @@ -36,7 +36,7 @@ function main(parent) { /** * The maximum number of products to return. The service may return fewer than * this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The maximum value is 250; values above 250 will be coerced to 250. * If unspecified, the maximum number of products will be returned. */ // const pageSize = 1234 diff --git a/packages/google-shopping-merchant-products/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json b/packages/google-shopping-merchant-products/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json index 94c484247bd..b5468a77f55 100644 --- a/packages/google-shopping-merchant-products/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json +++ b/packages/google-shopping-merchant-products/samples/generated/v1beta/snippet_metadata_google.shopping.merchant.products.v1beta.json @@ -70,7 +70,7 @@ "segments": [ { "start": 25, - "end": 61, + "end": 65, "type": "FULL" } ], @@ -114,7 +114,7 @@ "segments": [ { "start": 25, - "end": 54, + "end": 58, "type": "FULL" } ], diff --git a/packages/google-shopping-merchant-products/src/v1beta/product_inputs_service_client.ts b/packages/google-shopping-merchant-products/src/v1beta/product_inputs_service_client.ts index da6bd10b0bb..6d8b5792f7f 100644 --- a/packages/google-shopping-merchant-products/src/v1beta/product_inputs_service_client.ts +++ b/packages/google-shopping-merchant-products/src/v1beta/product_inputs_service_client.ts @@ -496,6 +496,10 @@ export class ProductInputsServiceClient { * @param {string} request.name * Required. The name of the product input resource to delete. * Format: accounts/{account}/productInputs/{product} + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/productInputs/online~en~US~sku123" * @param {string} request.dataSource * Required. The primary or supplemental data source from which the product * input should be deleted. Format: diff --git a/packages/google-shopping-merchant-products/src/v1beta/products_service_client.ts b/packages/google-shopping-merchant-products/src/v1beta/products_service_client.ts index b748eb81dd1..892455173d0 100644 --- a/packages/google-shopping-merchant-products/src/v1beta/products_service_client.ts +++ b/packages/google-shopping-merchant-products/src/v1beta/products_service_client.ts @@ -397,6 +397,10 @@ export class ProductsServiceClient { * @param {string} request.name * Required. The name of the product to retrieve. * Format: `accounts/{account}/products/{product}` + * where the last section `product` consists of 4 parts: + * channel~content_language~feed_label~offer_id + * example for product name is + * "accounts/123/products/online~en~US~sku123" * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -503,7 +507,7 @@ export class ProductsServiceClient { * @param {number} request.pageSize * The maximum number of products to return. The service may return fewer than * this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The maximum value is 250; values above 250 will be coerced to 250. * If unspecified, the maximum number of products will be returned. * @param {string} request.pageToken * A page token, received from a previous `ListProducts` call. @@ -608,7 +612,7 @@ export class ProductsServiceClient { * @param {number} request.pageSize * The maximum number of products to return. The service may return fewer than * this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The maximum value is 250; values above 250 will be coerced to 250. * If unspecified, the maximum number of products will be returned. * @param {string} request.pageToken * A page token, received from a previous `ListProducts` call. @@ -661,7 +665,7 @@ export class ProductsServiceClient { * @param {number} request.pageSize * The maximum number of products to return. The service may return fewer than * this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. + * The maximum value is 250; values above 250 will be coerced to 250. * If unspecified, the maximum number of products will be returned. * @param {string} request.pageToken * A page token, received from a previous `ListProducts` call.