From 9a458de3c883b8f788449637c81a029211e5a686 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Fri, 20 Dec 2024 23:04:35 +0000 Subject: [PATCH 1/2] feat: UpdateCssProduct is added to CssProductInput proto docs: Mark `freshness_time` as deprecated docs : Mark `feed_id` as deprecated docs: A comment for field `page_size` in message `.google.shopping.css.v1.ListChildAccountsRequest` is changed docs: A comment for field `low_price` in message `.google.shopping.css.v1.Attributes` is changed docs: A comment for field `high_price` in message `.google.shopping.css.v1.Attributes` is changed docs: A comment for field `number_of_offers` in message `.google.shopping.css.v1.Attributes` is changed docs: A comment for field `headline_offer_price` in message `.google.shopping.css.v1.Attributes` is changed docs: A comment for field `headline_offer_shipping_price` in message `.google.shopping.css.v1.Attributes` is changed docs: A comment for field `approved_countries` in message `.google.shopping.css.v1.CssProductStatus` is changed docs: A comment for field `pending_countries` in message `.google.shopping.css.v1.CssProductStatus` is changed docs: A comment for field `disapproved_countries` in message `.google.shopping.css.v1.CssProductStatus` is changed docs: A comment for field `servability` in message `.google.shopping.css.v1.CssProductStatus` is changed docs: A comment for field `applicable_countries` in message `.google.shopping.css.v1.CssProductStatus` is changed docs: A comment for field `feed_id` in message`.google.shopping.css.v1.InsertCssProductInputRequest` is changed docs: A comment for message `CssProduct` is changed PiperOrigin-RevId: 708397816 Source-Link: https://github.com/googleapis/googleapis/commit/892e72fb31d9c063f9b992bfd923730094233ed0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/09992f0d945beb092122fa1bdf453f5321bc0f8c Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLXNob3BwaW5nLWNzcy8uT3dsQm90LnlhbWwiLCJoIjoiMDk5OTJmMGQ5NDViZWIwOTIxMjJmYTFiZGY0NTNmNTMyMWJjMGY4YyJ9 --- .../google-shopping-css/v1/.eslintignore | 7 + .../google-shopping-css/v1/.eslintrc.json | 3 + .../google-shopping-css/v1/.gitignore | 14 + .../google-shopping-css/v1/.jsdoc.js | 55 + .../google-shopping-css/v1/.mocharc.js | 33 + .../google-shopping-css/v1/.prettierrc.js | 22 + .../google-shopping-css/v1/README.md | 1 + .../google-shopping-css/v1/package.json | 61 + .../google/shopping/css/v1/accounts.proto | 218 + .../shopping/css/v1/accounts_labels.proto | 182 + .../shopping/css/v1/css_product_common.proto | 384 + .../shopping/css/v1/css_product_inputs.proto | 221 + .../google/shopping/css/v1/css_products.proto | 152 + .../protos/google/shopping/type/types.proto | 193 + .../google-shopping-css/v1/protos/protos.d.ts | 11347 ++++++ .../google-shopping-css/v1/protos/protos.js | 30769 ++++++++++++++++ .../google-shopping-css/v1/protos/protos.json | 3524 ++ ...unt_labels_service.create_account_label.js | 67 + ...unt_labels_service.delete_account_label.js | 62 + ...ount_labels_service.list_account_labels.js | 78 + ...unt_labels_service.update_account_label.js | 61 + .../v1/accounts_service.get_account.js | 68 + .../accounts_service.list_child_accounts.js | 87 + .../v1/accounts_service.update_labels.js | 73 + ...inputs_service.delete_css_product_input.js | 69 + ...inputs_service.insert_css_product_input.js | 77 + ...inputs_service.update_css_product_input.js | 76 + .../css_products_service.get_css_product.js | 61 + .../css_products_service.list_css_products.js | 78 + ...ippet_metadata_google.shopping.css.v1.json | 559 + .../google-shopping-css/v1/src/index.ts | 31 + .../src/v1/account_labels_service_client.ts | 904 + .../account_labels_service_client_config.json | 58 + .../v1/account_labels_service_proto_list.json | 8 + .../v1/src/v1/accounts_service_client.ts | 859 + .../v1/accounts_service_client_config.json | 53 + .../src/v1/accounts_service_proto_list.json | 8 + .../v1/css_product_inputs_service_client.ts | 744 + ..._product_inputs_service_client_config.json | 41 + ...css_product_inputs_service_proto_list.json | 8 + .../v1/src/v1/css_products_service_client.ts | 769 + .../css_products_service_client_config.json | 48 + .../v1/css_products_service_proto_list.json | 8 + .../v1/src/v1/gapic_metadata.json | 197 + .../google-shopping-css/v1/src/v1/index.ts | 22 + .../system-test/fixtures/sample/src/index.js | 30 + .../system-test/fixtures/sample/src/index.ts | 50 + .../v1/system-test/install.ts | 49 + .../test/gapic_account_labels_service_v1.ts | 981 + .../v1/test/gapic_accounts_service_v1.ts | 869 + .../gapic_css_product_inputs_service_v1.ts | 689 + .../v1/test/gapic_css_products_service_v1.ts | 761 + .../google-shopping-css/v1/tsconfig.json | 19 + .../google-shopping-css/v1/webpack.config.js | 64 + 54 files changed, 55872 insertions(+) create mode 100644 owl-bot-staging/google-shopping-css/v1/.eslintignore create mode 100644 owl-bot-staging/google-shopping-css/v1/.eslintrc.json create mode 100644 owl-bot-staging/google-shopping-css/v1/.gitignore create mode 100644 owl-bot-staging/google-shopping-css/v1/.jsdoc.js create mode 100644 owl-bot-staging/google-shopping-css/v1/.mocharc.js create mode 100644 owl-bot-staging/google-shopping-css/v1/.prettierrc.js create mode 100644 owl-bot-staging/google-shopping-css/v1/README.md create mode 100644 owl-bot-staging/google-shopping-css/v1/package.json create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/type/types.proto create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.js create mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.json create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_products.js create mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/index.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json create mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/index.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/install.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts create mode 100644 owl-bot-staging/google-shopping-css/v1/tsconfig.json create mode 100644 owl-bot-staging/google-shopping-css/v1/webpack.config.js diff --git a/owl-bot-staging/google-shopping-css/v1/.eslintignore b/owl-bot-staging/google-shopping-css/v1/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-shopping-css/v1/.eslintrc.json b/owl-bot-staging/google-shopping-css/v1/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-shopping-css/v1/.gitignore b/owl-bot-staging/google-shopping-css/v1/.gitignore new file mode 100644 index 00000000000..d4f03a0df2e --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.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-css/v1/.jsdoc.js b/owl-bot-staging/google-shopping-css/v1/.jsdoc.js new file mode 100644 index 00000000000..2af88d1aac4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.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/css', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-shopping-css/v1/.mocharc.js b/owl-bot-staging/google-shopping-css/v1/.mocharc.js new file mode 100644 index 00000000000..13b67c34edc --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.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-css/v1/.prettierrc.js b/owl-bot-staging/google-shopping-css/v1/.prettierrc.js new file mode 100644 index 00000000000..9a8fd690982 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/.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-css/v1/README.md b/owl-bot-staging/google-shopping-css/v1/README.md new file mode 100644 index 00000000000..e6a60452553 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/README.md @@ -0,0 +1 @@ +Css: Nodejs Client diff --git a/owl-bot-staging/google-shopping-css/v1/package.json b/owl-bot-staging/google-shopping-css/v1/package.json new file mode 100644 index 00000000000..9a9d82c936e --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/package.json @@ -0,0 +1,61 @@ +{ + "name": "@google-shopping/css", + "version": "0.1.0", + "description": "Css client for Node.js", + "repository": "googleapis/nodejs-css", + "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 css", + "css", + "account labels service", + "accounts service", + "css product inputs service", + "css 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-css/v1/protos/google/shopping/css/v1/accounts.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto new file mode 100644 index 00000000000..91c596b2053 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto @@ -0,0 +1,218 @@ +// 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.css.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "AccountsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service for managing CSS/MC account information. +service AccountsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists all the accounts under the specified CSS account ID, and + // optionally filters by label ID and account name. + rpc ListChildAccounts(ListChildAccountsRequest) + returns (ListChildAccountsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}:listChildAccounts" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves a single CSS/MC account by ID. + rpc GetAccount(GetAccountRequest) returns (Account) { + option (google.api.http) = { + get: "/v1/{name=accounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates labels assigned to CSS/MC accounts by a CSS domain. + rpc UpdateLabels(UpdateAccountLabelsRequest) returns (Account) { + option (google.api.http) = { + post: "/v1/{name=accounts/*}:updateLabels" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for the `ListChildAccounts` method. +message ListChildAccountsRequest { + // Required. The parent account. Must be a CSS group or domain. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // If set, only the MC accounts with the given label ID will be returned. + optional int64 label_id = 2; + + // If set, only the MC accounts with the given name (case sensitive) will be + // returned. + optional string full_name = 3; + + // Optional. The maximum number of accounts to return. The service may return + // fewer than this value. If unspecified, at most 50 accounts will be + // returned. The maximum value is 100; values above 100 will be coerced to + // 100. + int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListChildAccounts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListChildAccounts` must + // match the call that provided the page token. + string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for the `ListChildAccounts` method. +message ListChildAccountsResponse { + // The CSS/MC accounts returned for the specified CSS parent account. + repeated Account accounts = 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; +} + +// The request message for the `GetAccount` method. +message GetAccountRequest { + // Required. The name of the managed CSS/MC account. + // Format: accounts/{account} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // Optional. Only required when retrieving MC account information. + // The CSS domain that is the parent resource of the MC account. + // Format: accounts/{account} + optional string parent = 2 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; +} + +// The request message for the `UpdateLabels` method. +message UpdateAccountLabelsRequest { + // Required. The label resource name. + // Format: accounts/{account} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; + + // The list of label IDs to overwrite the existing account label IDs. + // If the list is empty, all currently assigned label IDs will be deleted. + repeated int64 label_ids = 2; + + // Optional. Only required when updating MC account labels. + // The CSS domain that is the parent resource of the MC account. + // Format: accounts/{account} + optional string parent = 3 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "css.googleapis.com/Account" } + ]; +} + +// Information about CSS/MC account. +message Account { + option (google.api.resource) = { + type: "css.googleapis.com/Account" + pattern: "accounts/{account}" + plural: "accounts" + singular: "account" + }; + + // The account type. + enum AccountType { + // Unknown account type. + ACCOUNT_TYPE_UNSPECIFIED = 0; + + // CSS group account. + CSS_GROUP = 1; + + // CSS domain account. + CSS_DOMAIN = 2; + + // MC Primary CSS MCA account. + MC_PRIMARY_CSS_MCA = 3; + + // MC CSS MCA account. + MC_CSS_MCA = 4; + + // MC Marketplace MCA account. + MC_MARKETPLACE_MCA = 5; + + // MC Other MCA account. + MC_OTHER_MCA = 6; + + // MC Standalone account. + MC_STANDALONE = 7; + + // MC MCA sub-account. + MC_MCA_SUBACCOUNT = 8; + } + + // The label resource name. + // Format: accounts/{account} + string name = 1; + + // Output only. Immutable. The CSS/MC account's full name. + string full_name = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The CSS/MC account's short display name. + optional string display_name = 3; + + // Output only. Immutable. The CSS/MC account's homepage. + optional string homepage_uri = 4 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The CSS/MC account's parent resource. CSS group for CSS domains; CSS + // domain for MC accounts. Returned only if the user has access to the + // parent account. + optional string parent = 5; + + // Manually created label IDs assigned to the CSS/MC account by a CSS parent + // account. + repeated int64 label_ids = 6; + + // Automatically created label IDs assigned to the MC account by + // CSS Center. + repeated int64 automatic_label_ids = 7; + + // Output only. The type of this account. + AccountType account_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto new file mode 100644 index 00000000000..969c301d07c --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto @@ -0,0 +1,182 @@ +// 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.css.v1; + +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"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "AccountsLabelsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Manages Merchant Center and CSS accounts labels. +service AccountLabelsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Lists the labels owned by an account. + rpc ListAccountLabels(ListAccountLabelsRequest) + returns (ListAccountLabelsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}/labels" + }; + option (google.api.method_signature) = "parent"; + } + + // Creates a new label, not assigned to any account. + rpc CreateAccountLabel(CreateAccountLabelRequest) returns (AccountLabel) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/labels" + body: "account_label" + }; + option (google.api.method_signature) = "parent,account_label"; + } + + // Updates a label. + rpc UpdateAccountLabel(UpdateAccountLabelRequest) returns (AccountLabel) { + option (google.api.http) = { + patch: "/v1/{account_label.name=accounts/*/labels/*}" + body: "account_label" + }; + option (google.api.method_signature) = "account_label"; + } + + // Deletes a label and removes it from all accounts to which it was assigned. + rpc DeleteAccountLabel(DeleteAccountLabelRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=accounts/*/labels/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Label assigned by CSS domain or CSS group to one of its sub-accounts. +message AccountLabel { + option (google.api.resource) = { + type: "css.googleapis.com/AccountLabel" + pattern: "accounts/{account}/labels/{label}" + plural: "accountLabels" + singular: "accountLabel" + }; + + // The label type. + enum LabelType { + // Unknown label type. + LABEL_TYPE_UNSPECIFIED = 0; + + // Indicates that the label was created manually. + MANUAL = 1; + + // Indicates that the label was created automatically by CSS Center. + AUTOMATIC = 2; + } + + // The resource name of the label. + // Format: accounts/{account}/labels/{label} + string name = 1; + + // Output only. The ID of the label. + int64 label_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The ID of account this label belongs to. + int64 account_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The display name of this label. + optional string display_name = 4; + + // The description of this label. + optional string description = 5; + + // Output only. The type of this label. + LabelType label_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for the `ListAccountLabels` method. +message ListAccountLabelsRequest { + // Required. The parent account. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/AccountLabel" + } + ]; + + // The maximum number of labels to return. The service may return fewer than + // this value. + // If unspecified, at most 50 labels will be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListAccountLabels` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListAccountLabels` must + // match the call that provided the page token. + string page_token = 3; +} + +// Response message for the `ListAccountLabels` method. +message ListAccountLabelsResponse { + // The labels from the specified account. + repeated AccountLabel account_labels = 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; +} + +// Request message for the 'CreateAccountLanel' method. +message CreateAccountLabelRequest { + // Required. The parent account. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/AccountLabel" + } + ]; + + // Required. The label to create. + AccountLabel account_label = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the `UpdateAccountLabel` method. +message UpdateAccountLabelRequest { + // Required. The updated label. All fields must be provided. + AccountLabel account_label = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the 'DeleteAccountLabel' method. +message DeleteAccountLabelRequest { + // Required. The name of the label to delete. + // Format: accounts/{account}/labels/{label} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "css.googleapis.com/AccountLabel" + } + ]; +} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto new file mode 100644 index 00000000000..f5a9fbe844b --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto @@ -0,0 +1,384 @@ +// 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.css.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductCommonProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Attributes for CSS Product. +message Attributes { + // URL directly linking to your the Product Detail Page of the CSS. + optional string cpp_link = 1; + + // URL for the mobile-optimized version of the Product Detail Page of the CSS. + optional string cpp_mobile_link = 2; + + // Allows advertisers to override the item URL when the product is shown + // within the context of Product Ads. + optional string cpp_ads_redirect = 42; + + // Low Price of the CSS Product. + google.shopping.type.Price low_price = 3; + + // High Price of the CSS Product. + google.shopping.type.Price high_price = 4; + + // The number of CSS Products. + optional int64 number_of_offers = 5; + + // Condition of the headline offer. + optional string headline_offer_condition = 6; + + // Headline Price of the CSS Product. + google.shopping.type.Price headline_offer_price = 7; + + // Link to the headline offer. + optional string headline_offer_link = 8; + + // Mobile Link to the headline offer. + optional string headline_offer_mobile_link = 9; + + // Headline Price of the CSS Product. + google.shopping.type.Price headline_offer_shipping_price = 41; + + // Title of the item. + optional string title = 10; + + // URL of an image of the item. + optional string image_link = 11; + + // Additional URL of images of the item. + repeated string additional_image_links = 12; + + // Description of the item. + optional string description = 13; + + // Product Related Attributes.[14-36] + // Brand of the item. + optional string brand = 14; + + // Manufacturer Part Number + // ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the + // item. + optional string mpn = 15; + + // Global Trade Item Number + // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the + // item. + optional string gtin = 16; + + // Categories of the item (formatted as in [products data + // specification](https://support.google.com/merchants/answer/6324406)). + repeated string product_types = 36; + + // 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 = 17; + + // Set to true if the item is targeted towards adults. + optional bool adult = 18; + + // The number of identical products in a merchant-defined multipack. + optional int64 multipack = 19; + + // 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 = 20; + + // Target age group of the item. + optional string age_group = 21; + + // Color of the item. + optional string color = 22; + + // Target gender of the item. + optional string gender = 23; + + // The material of which the item is made. + optional string material = 24; + + // The item's pattern (e.g. polka dots). + optional string pattern = 25; + + // 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 = 26; + + // System in which the size is specified. Recommended for apparel items. + optional string size_system = 27; + + // 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 = 28; + + // Shared identifier for all variants of the same product. + optional string item_group_id = 29; + + // Technical specification or additional product details. + repeated ProductDetail product_details = 30; + + // The weight of the product in the units provided. The value must be + // between 0 (exclusive) and 2000 (inclusive). + ProductWeight product_weight = 31; + + // The length of the product in the units provided. The value must be + // between 0 (exclusive) and 3000 (inclusive). + ProductDimension product_length = 32; + + // The width of the product in the units provided. The value must be between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_width = 33; + + // The height of the product in the units provided. The value must be + // between + // 0 (exclusive) and 3000 (inclusive). + ProductDimension product_height = 34; + + // Bullet points describing the most relevant highlights of a product. + repeated string product_highlights = 35; + + // A list of certificates claimed by the CSS for the given product. + repeated Certification certifications = 39; + + // 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. + // Note: It may take 2+ days from the expiration date for the item to + // actually get deleted. + google.protobuf.Timestamp expiration_date = 40; + + // 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 = 43; + + // The list of destinations to exclude for this target (corresponds to + // unchecked check boxes in Merchant Center). + repeated string excluded_destinations = 44; + + // Publication of this item will be temporarily paused. + optional string pause = 45; + + // Custom label 0 for custom grouping of items in a Shopping campaign. + optional string custom_label_0 = 46; + + // Custom label 1 for custom grouping of items in a Shopping campaign. + optional string custom_label_1 = 47; + + // Custom label 2 for custom grouping of items in a Shopping campaign. + optional string custom_label_2 = 48; + + // Custom label 3 for custom grouping of items in a Shopping campaign. + optional string custom_label_3 = 49; + + // Custom label 4 for custom grouping of items in a Shopping campaign. + optional string custom_label_4 = 50; + + // Number and amount of installments to pay for an item. + HeadlineOfferInstallment headline_offer_installment = 51; + + // Number of periods (months or years) and amount of payment per period + // for an item with an associated subscription contract. + HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; +} + +// The certification for the product. Use the this attribute to describe +// certifications, such as energy efficiency ratings, associated with a product. +message Certification { + // The name of the certification. At this time, the most common value is + // "EPREL", which represents energy efficiency certifications in the EU + // European Registry for Energy Labeling (EPREL) database. + string name = 1; + + // The authority or certification body responsible for issuing the + // certification. At this time, the most common value is "EC" or + // “European_Commission” for energy labels in the EU. + string authority = 2; + + // The code of the certification. For example, for the EPREL certificate with + // the link https://eprel.ec.europa.eu/screen/product/dishwashers2019/123456 + // the code is 123456. The code is required for European Energy Labels. + string code = 3; +} + +// 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; +} + +// 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 the Css Product, data validation issues, that is, +// information about the Css Product computed asynchronously. +message CssProductStatus { + // The destination status of the product status. + message DestinationStatus { + // The name of the destination + string destination = 1; + + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is + // approved. + repeated string approved_countries = 2; + + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is + // pending approval. + repeated string pending_countries = 3; + + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is + // disapproved. + repeated string disapproved_countries = 4; + } + + // The ItemLevelIssue of the product status. + message ItemLevelIssue { + // The error code of the issue. + string code = 1; + + // How this issue affects serving of the CSS Product. + string servability = 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 destination the issue applies to. + string destination = 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 + // CSS Product. + 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; +} + +// The SubscriptionCost of the product. +message HeadlineOfferSubscriptionCost { + // 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 HeadlineOfferInstallment { + // 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. + google.shopping.type.Price downpayment = 3; +} + +// 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; +} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto new file mode 100644 index 00000000000..b2ebc6f6c1d --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto @@ -0,0 +1,221 @@ +// 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.css.v1; + +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/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/shopping/css/v1/css_product_common.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductInputsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service to use CssProductInput resource. +// This service helps to insert/update/delete CSS Products. +service CssProductInputsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Uploads a CssProductInput to your CSS Center account. If an + // input with the same contentLanguage, identity, feedLabel and feedId already + // exists, this method replaces that entry. + // + // After inserting, updating, or deleting a CSS Product input, it may + // take several minutes before the processed CSS Product can be retrieved. + rpc InsertCssProductInput(InsertCssProductInputRequest) + returns (CssProductInput) { + option (google.api.http) = { + post: "/v1/{parent=accounts/*}/cssProductInputs:insert" + body: "css_product_input" + }; + } + + // Updates the existing Css Product input in your CSS Center account. + // + // After inserting, updating, or deleting a CSS Product input, it may take + // several minutes before the processed Css Product can be retrieved. + rpc UpdateCssProductInput(UpdateCssProductInputRequest) + returns (CssProductInput) { + option (google.api.http) = { + patch: "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}" + body: "css_product_input" + }; + option (google.api.method_signature) = "css_product_input,update_mask"; + } + + // Deletes a CSS Product input from your CSS Center account. + // + // After a delete it may take several minutes until the input is no longer + // available. + rpc DeleteCssProductInput(DeleteCssProductInputRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=accounts/*/cssProductInputs/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// This resource represents input data you submit for a CSS Product, not +// the processed CSS Product that you see in CSS Center, in Shopping Ads, or +// across Google surfaces. +message CssProductInput { + option (google.api.resource) = { + type: "css.googleapis.com/CssProductInput" + pattern: "accounts/{account}/cssProductInputs/{css_product_input}" + }; + + // The name of the CSS Product input. + // Format: + // `accounts/{account}/cssProductInputs/{css_product_input}` + string name = 1; + + // Output only. The name of the processed CSS Product. + // Format: + // `accounts/{account}/cssProducts/{css_product}` + // " + string final_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Your unique identifier for the CSS Product. This is the same for + // the CSS Product input and processed CSS Product. We only allow ids with + // alphanumerics, underscores and dashes. See the [products feed + // specification](https://support.google.com/merchants/answer/188494#id) for + // details. + string raw_provided_id = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The two-letter [ISO + // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the CSS + // Product. + string content_language = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The [feed + // label](https://developers.google.com/shopping-content/guides/products/feed-labels) + // for the CSS Product. + // Feed Label is synonymous to "target country" and hence should always be a + // valid region code. For example: 'DE' for Germany, 'FR' for France. + string feed_label = 5 [(google.api.field_behavior) = REQUIRED]; + + // DEPRECATED. Use expiration_date instead. + // Represents the existing version (freshness) of the CSS Product, which + // can be used to preserve the right order when multiple updates are done at + // the same time. + // + // This field must not be set to the future time. + // + // If set, the update is prevented if a newer version of the item already + // exists in our system (that is the last update time of the existing + // CSS products is later than the freshness time set in the update). If + // the update happens, the last update time is then set to this freshness + // time. + // + // If not set, the update will not be prevented and the last update time will + // default to when this request was received by the CSS API. + // + // If the operation is prevented, the aborted exception will be + // thrown. + google.protobuf.Timestamp freshness_time = 6 [deprecated = true]; + + // A list of CSS Product attributes. + Attributes attributes = 7; + + // A list of custom (CSS-provided) attributes. It can also be used for + // submitting any attribute of the feed 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 = 8; +} + +// Request message for the InsertCssProductInput method. +message InsertCssProductInputRequest { + // Required. The account where this CSS Product will be inserted. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/CssProductInput" + } + ]; + + // Required. The CSS Product Input to insert. + CssProductInput css_product_input = 2 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. DEPRECATED. Feed id is not required for CSS Products. + // The primary or supplemental feed id. If CSS Product already exists and + // feed id provided is different, then the CSS Product will be moved to a + // new feed. + // Note: For now, CSSs do not need to provide feed ids as we create + // feeds on the fly. + // We do not have supplemental feed support for CSS Products yet. + int64 feed_id = 3 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; +} + +// Request message for the UpdateCssProductInput method. +message UpdateCssProductInputRequest { + // Required. The CSS product input resource to update. Information you submit + // will be applied to the processed CSS product as well. + CssProductInput css_product_input = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The list of CSS product attributes to be updated. + // + // If the update mask is omitted, then it is treated as implied field mask + // equivalent to all fields that are populated (have a non-empty value). + // + // Attributes specified in the update mask without a value specified in the + // body will be deleted from the CSS product. + // + // Update mask can only be specified for top level fields in + // attributes and custom attributes. + // + // To specify the update mask for custom attributes you need to add the + // `custom_attribute.` prefix. + // + // Providing special "*" value for full CSS product replacement is not + // supported. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the DeleteCssProductInput method. +message DeleteCssProductInputRequest { + // Required. The name of the CSS product input resource to delete. + // Format: accounts/{account}/cssProductInputs/{css_product_input} + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "css.googleapis.com/CssProductInput" + } + ]; + + // The Content API Supplemental Feed ID. + // The field must not be set if the action applies to a primary feed. + // If the field is set, then product action applies to a supplemental feed + // instead of primary Content API feed. + optional int64 supplemental_feed_id = 2; +} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto new file mode 100644 index 00000000000..d0c30aa06c8 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto @@ -0,0 +1,152 @@ +// 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.css.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/shopping/css/v1/css_product_common.proto"; +import "google/shopping/type/types.proto"; + +option csharp_namespace = "Google.Shopping.Css.V1"; +option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; +option java_multiple_files = true; +option java_outer_classname = "CssProductsProto"; +option java_package = "com.google.shopping.css.v1"; +option php_namespace = "Google\\Shopping\\Css\\V1"; +option ruby_package = "Google::Shopping::Css::V1"; + +// Service for doing get and list on Css Products(a.k.a Aggregate Offers +// internally). +service CssProductsService { + option (google.api.default_host) = "css.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; + + // Retrieves the processed CSS Product from your CSS Center account. After + // inserting, updating, or deleting a product input, it may take several + // minutes before the updated final product can be retrieved. + rpc GetCssProduct(GetCssProductRequest) returns (CssProduct) { + option (google.api.http) = { + get: "/v1/{name=accounts/*/cssProducts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists the processed CSS Products in your CSS 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 CSS product input, it may + // take several minutes before the updated processed CSS product can be + // retrieved. + rpc ListCssProducts(ListCssProductsRequest) + returns (ListCssProductsResponse) { + option (google.api.http) = { + get: "/v1/{parent=accounts/*}/cssProducts" + }; + option (google.api.method_signature) = "parent"; + } +} + +// The request message for the `GetCssProduct` method. +message GetCssProductRequest { + // Required. The name of the CSS product to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "css.googleapis.com/CssProduct" } + ]; +} + +// The processed CSS Product. +message CssProduct { + option (google.api.resource) = { + type: "css.googleapis.com/CssProduct" + pattern: "accounts/{account}/cssProducts/{css_product}" + plural: "cssProducts" + singular: "cssProduct" + }; + + // The name of the CSS Product. + // Format: + // `"accounts/{account}/cssProducts/{css_product}"` + string name = 1; + + // Output only. Your unique raw identifier for the product. + string raw_provided_id = 2 [(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 = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The feed label for the product. + string feed_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of product attributes. + Attributes attributes = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A list of custom (CSS-provided) attributes. It can also be + // used to submit any attribute of the feed 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 = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The status of a product, data validation issues, that is, + // information about a product computed asynchronously. + CssProductStatus css_product_status = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request message for the ListCssProducts method. +message ListCssProductsRequest { + // Required. The account/domain to list processed CSS Products for. + // Format: accounts/{account} + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "css.googleapis.com/CssProduct" + } + ]; + + // The maximum number of CSS Products to return. The service may return + // fewer than this value. + // The maximum value is 1000; values above 1000 will be coerced to 1000. If + // unspecified, the maximum number of CSS products will be returned. + int32 page_size = 2; + + // A page token, received from a previous `ListCssProducts` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCssProducts` + // must match the call that provided the page token. + string page_token = 3; +} + +// Response message for the ListCssProducts method. +message ListCssProductsResponse { + // The processed CSS products from the specified account. These are your + // processed CSS products after applying rules and supplemental feeds. + repeated CssProduct css_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-css/v1/protos/google/shopping/type/types.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/type/types.proto new file mode 100644 index 00000000000..0d219e72d6a --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/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-css/v1/protos/protos.d.ts b/owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts new file mode 100644 index 00000000000..f651c6a51c6 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts @@ -0,0 +1,11347 @@ +// 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 css. */ + namespace css { + + /** Namespace v1. */ + namespace v1 { + + /** Represents an AccountsService */ + class AccountsService extends $protobuf.rpc.Service { + + /** + * Constructs a new AccountsService 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 AccountsService 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): AccountsService; + + /** + * Calls ListChildAccounts. + * @param request ListChildAccountsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListChildAccountsResponse + */ + public listChildAccounts(request: google.shopping.css.v1.IListChildAccountsRequest, callback: google.shopping.css.v1.AccountsService.ListChildAccountsCallback): void; + + /** + * Calls ListChildAccounts. + * @param request ListChildAccountsRequest message or plain object + * @returns Promise + */ + public listChildAccounts(request: google.shopping.css.v1.IListChildAccountsRequest): Promise; + + /** + * Calls GetAccount. + * @param request GetAccountRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Account + */ + public getAccount(request: google.shopping.css.v1.IGetAccountRequest, callback: google.shopping.css.v1.AccountsService.GetAccountCallback): void; + + /** + * Calls GetAccount. + * @param request GetAccountRequest message or plain object + * @returns Promise + */ + public getAccount(request: google.shopping.css.v1.IGetAccountRequest): Promise; + + /** + * Calls UpdateLabels. + * @param request UpdateAccountLabelsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Account + */ + public updateLabels(request: google.shopping.css.v1.IUpdateAccountLabelsRequest, callback: google.shopping.css.v1.AccountsService.UpdateLabelsCallback): void; + + /** + * Calls UpdateLabels. + * @param request UpdateAccountLabelsRequest message or plain object + * @returns Promise + */ + public updateLabels(request: google.shopping.css.v1.IUpdateAccountLabelsRequest): Promise; + } + + namespace AccountsService { + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|listChildAccounts}. + * @param error Error, if any + * @param [response] ListChildAccountsResponse + */ + type ListChildAccountsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListChildAccountsResponse) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|getAccount}. + * @param error Error, if any + * @param [response] Account + */ + type GetAccountCallback = (error: (Error|null), response?: google.shopping.css.v1.Account) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|updateLabels}. + * @param error Error, if any + * @param [response] Account + */ + type UpdateLabelsCallback = (error: (Error|null), response?: google.shopping.css.v1.Account) => void; + } + + /** Properties of a ListChildAccountsRequest. */ + interface IListChildAccountsRequest { + + /** ListChildAccountsRequest parent */ + parent?: (string|null); + + /** ListChildAccountsRequest labelId */ + labelId?: (number|Long|string|null); + + /** ListChildAccountsRequest fullName */ + fullName?: (string|null); + + /** ListChildAccountsRequest pageSize */ + pageSize?: (number|null); + + /** ListChildAccountsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListChildAccountsRequest. */ + class ListChildAccountsRequest implements IListChildAccountsRequest { + + /** + * Constructs a new ListChildAccountsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListChildAccountsRequest); + + /** ListChildAccountsRequest parent. */ + public parent: string; + + /** ListChildAccountsRequest labelId. */ + public labelId?: (number|Long|string|null); + + /** ListChildAccountsRequest fullName. */ + public fullName?: (string|null); + + /** ListChildAccountsRequest pageSize. */ + public pageSize: number; + + /** ListChildAccountsRequest pageToken. */ + public pageToken: string; + + /** ListChildAccountsRequest _labelId. */ + public _labelId?: "labelId"; + + /** ListChildAccountsRequest _fullName. */ + public _fullName?: "fullName"; + + /** + * Creates a new ListChildAccountsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListChildAccountsRequest instance + */ + public static create(properties?: google.shopping.css.v1.IListChildAccountsRequest): google.shopping.css.v1.ListChildAccountsRequest; + + /** + * Encodes the specified ListChildAccountsRequest message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. + * @param message ListChildAccountsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListChildAccountsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListChildAccountsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. + * @param message ListChildAccountsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListChildAccountsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListChildAccountsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListChildAccountsRequest + * @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.css.v1.ListChildAccountsRequest; + + /** + * Decodes a ListChildAccountsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListChildAccountsRequest + * @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.css.v1.ListChildAccountsRequest; + + /** + * Verifies a ListChildAccountsRequest 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 ListChildAccountsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListChildAccountsRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListChildAccountsRequest; + + /** + * Creates a plain object from a ListChildAccountsRequest message. Also converts values to other types if specified. + * @param message ListChildAccountsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListChildAccountsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListChildAccountsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListChildAccountsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListChildAccountsResponse. */ + interface IListChildAccountsResponse { + + /** ListChildAccountsResponse accounts */ + accounts?: (google.shopping.css.v1.IAccount[]|null); + + /** ListChildAccountsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListChildAccountsResponse. */ + class ListChildAccountsResponse implements IListChildAccountsResponse { + + /** + * Constructs a new ListChildAccountsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListChildAccountsResponse); + + /** ListChildAccountsResponse accounts. */ + public accounts: google.shopping.css.v1.IAccount[]; + + /** ListChildAccountsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListChildAccountsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListChildAccountsResponse instance + */ + public static create(properties?: google.shopping.css.v1.IListChildAccountsResponse): google.shopping.css.v1.ListChildAccountsResponse; + + /** + * Encodes the specified ListChildAccountsResponse message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. + * @param message ListChildAccountsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListChildAccountsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListChildAccountsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. + * @param message ListChildAccountsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListChildAccountsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListChildAccountsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListChildAccountsResponse + * @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.css.v1.ListChildAccountsResponse; + + /** + * Decodes a ListChildAccountsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListChildAccountsResponse + * @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.css.v1.ListChildAccountsResponse; + + /** + * Verifies a ListChildAccountsResponse 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 ListChildAccountsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListChildAccountsResponse + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListChildAccountsResponse; + + /** + * Creates a plain object from a ListChildAccountsResponse message. Also converts values to other types if specified. + * @param message ListChildAccountsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListChildAccountsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListChildAccountsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListChildAccountsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetAccountRequest. */ + interface IGetAccountRequest { + + /** GetAccountRequest name */ + name?: (string|null); + + /** GetAccountRequest parent */ + parent?: (string|null); + } + + /** Represents a GetAccountRequest. */ + class GetAccountRequest implements IGetAccountRequest { + + /** + * Constructs a new GetAccountRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IGetAccountRequest); + + /** GetAccountRequest name. */ + public name: string; + + /** GetAccountRequest parent. */ + public parent?: (string|null); + + /** GetAccountRequest _parent. */ + public _parent?: "parent"; + + /** + * Creates a new GetAccountRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetAccountRequest instance + */ + public static create(properties?: google.shopping.css.v1.IGetAccountRequest): google.shopping.css.v1.GetAccountRequest; + + /** + * Encodes the specified GetAccountRequest message. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. + * @param message GetAccountRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IGetAccountRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetAccountRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. + * @param message GetAccountRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IGetAccountRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetAccountRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetAccountRequest + * @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.css.v1.GetAccountRequest; + + /** + * Decodes a GetAccountRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetAccountRequest + * @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.css.v1.GetAccountRequest; + + /** + * Verifies a GetAccountRequest 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 GetAccountRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetAccountRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.GetAccountRequest; + + /** + * Creates a plain object from a GetAccountRequest message. Also converts values to other types if specified. + * @param message GetAccountRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.GetAccountRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetAccountRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetAccountRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateAccountLabelsRequest. */ + interface IUpdateAccountLabelsRequest { + + /** UpdateAccountLabelsRequest name */ + name?: (string|null); + + /** UpdateAccountLabelsRequest labelIds */ + labelIds?: ((number|Long|string)[]|null); + + /** UpdateAccountLabelsRequest parent */ + parent?: (string|null); + } + + /** Represents an UpdateAccountLabelsRequest. */ + class UpdateAccountLabelsRequest implements IUpdateAccountLabelsRequest { + + /** + * Constructs a new UpdateAccountLabelsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IUpdateAccountLabelsRequest); + + /** UpdateAccountLabelsRequest name. */ + public name: string; + + /** UpdateAccountLabelsRequest labelIds. */ + public labelIds: (number|Long|string)[]; + + /** UpdateAccountLabelsRequest parent. */ + public parent?: (string|null); + + /** UpdateAccountLabelsRequest _parent. */ + public _parent?: "parent"; + + /** + * Creates a new UpdateAccountLabelsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateAccountLabelsRequest instance + */ + public static create(properties?: google.shopping.css.v1.IUpdateAccountLabelsRequest): google.shopping.css.v1.UpdateAccountLabelsRequest; + + /** + * Encodes the specified UpdateAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. + * @param message UpdateAccountLabelsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IUpdateAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. + * @param message UpdateAccountLabelsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IUpdateAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateAccountLabelsRequest + * @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.css.v1.UpdateAccountLabelsRequest; + + /** + * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateAccountLabelsRequest + * @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.css.v1.UpdateAccountLabelsRequest; + + /** + * Verifies an UpdateAccountLabelsRequest 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 UpdateAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateAccountLabelsRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateAccountLabelsRequest; + + /** + * Creates a plain object from an UpdateAccountLabelsRequest message. Also converts values to other types if specified. + * @param message UpdateAccountLabelsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.UpdateAccountLabelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateAccountLabelsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateAccountLabelsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Account. */ + interface IAccount { + + /** Account name */ + name?: (string|null); + + /** Account fullName */ + fullName?: (string|null); + + /** Account displayName */ + displayName?: (string|null); + + /** Account homepageUri */ + homepageUri?: (string|null); + + /** Account parent */ + parent?: (string|null); + + /** Account labelIds */ + labelIds?: ((number|Long|string)[]|null); + + /** Account automaticLabelIds */ + automaticLabelIds?: ((number|Long|string)[]|null); + + /** Account accountType */ + accountType?: (google.shopping.css.v1.Account.AccountType|keyof typeof google.shopping.css.v1.Account.AccountType|null); + } + + /** Represents an Account. */ + class Account implements IAccount { + + /** + * Constructs a new Account. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IAccount); + + /** Account name. */ + public name: string; + + /** Account fullName. */ + public fullName: string; + + /** Account displayName. */ + public displayName?: (string|null); + + /** Account homepageUri. */ + public homepageUri?: (string|null); + + /** Account parent. */ + public parent?: (string|null); + + /** Account labelIds. */ + public labelIds: (number|Long|string)[]; + + /** Account automaticLabelIds. */ + public automaticLabelIds: (number|Long|string)[]; + + /** Account accountType. */ + public accountType: (google.shopping.css.v1.Account.AccountType|keyof typeof google.shopping.css.v1.Account.AccountType); + + /** Account _displayName. */ + public _displayName?: "displayName"; + + /** Account _homepageUri. */ + public _homepageUri?: "homepageUri"; + + /** Account _parent. */ + public _parent?: "parent"; + + /** + * Creates a new Account instance using the specified properties. + * @param [properties] Properties to set + * @returns Account instance + */ + public static create(properties?: google.shopping.css.v1.IAccount): google.shopping.css.v1.Account; + + /** + * Encodes the specified Account message. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. + * @param message Account message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IAccount, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Account message, length delimited. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. + * @param message Account message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IAccount, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Account message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Account + * @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.css.v1.Account; + + /** + * Decodes an Account message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Account + * @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.css.v1.Account; + + /** + * Verifies an Account 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 Account message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Account + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.Account; + + /** + * Creates a plain object from an Account message. Also converts values to other types if specified. + * @param message Account + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.Account, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Account to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Account + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Account { + + /** AccountType enum. */ + enum AccountType { + ACCOUNT_TYPE_UNSPECIFIED = 0, + CSS_GROUP = 1, + CSS_DOMAIN = 2, + MC_PRIMARY_CSS_MCA = 3, + MC_CSS_MCA = 4, + MC_MARKETPLACE_MCA = 5, + MC_OTHER_MCA = 6, + MC_STANDALONE = 7, + MC_MCA_SUBACCOUNT = 8 + } + } + + /** Represents an AccountLabelsService */ + class AccountLabelsService extends $protobuf.rpc.Service { + + /** + * Constructs a new AccountLabelsService 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 AccountLabelsService 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): AccountLabelsService; + + /** + * Calls ListAccountLabels. + * @param request ListAccountLabelsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListAccountLabelsResponse + */ + public listAccountLabels(request: google.shopping.css.v1.IListAccountLabelsRequest, callback: google.shopping.css.v1.AccountLabelsService.ListAccountLabelsCallback): void; + + /** + * Calls ListAccountLabels. + * @param request ListAccountLabelsRequest message or plain object + * @returns Promise + */ + public listAccountLabels(request: google.shopping.css.v1.IListAccountLabelsRequest): Promise; + + /** + * Calls CreateAccountLabel. + * @param request CreateAccountLabelRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AccountLabel + */ + public createAccountLabel(request: google.shopping.css.v1.ICreateAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.CreateAccountLabelCallback): void; + + /** + * Calls CreateAccountLabel. + * @param request CreateAccountLabelRequest message or plain object + * @returns Promise + */ + public createAccountLabel(request: google.shopping.css.v1.ICreateAccountLabelRequest): Promise; + + /** + * Calls UpdateAccountLabel. + * @param request UpdateAccountLabelRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AccountLabel + */ + public updateAccountLabel(request: google.shopping.css.v1.IUpdateAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.UpdateAccountLabelCallback): void; + + /** + * Calls UpdateAccountLabel. + * @param request UpdateAccountLabelRequest message or plain object + * @returns Promise + */ + public updateAccountLabel(request: google.shopping.css.v1.IUpdateAccountLabelRequest): Promise; + + /** + * Calls DeleteAccountLabel. + * @param request DeleteAccountLabelRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteAccountLabel(request: google.shopping.css.v1.IDeleteAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.DeleteAccountLabelCallback): void; + + /** + * Calls DeleteAccountLabel. + * @param request DeleteAccountLabelRequest message or plain object + * @returns Promise + */ + public deleteAccountLabel(request: google.shopping.css.v1.IDeleteAccountLabelRequest): Promise; + } + + namespace AccountLabelsService { + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|listAccountLabels}. + * @param error Error, if any + * @param [response] ListAccountLabelsResponse + */ + type ListAccountLabelsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListAccountLabelsResponse) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|createAccountLabel}. + * @param error Error, if any + * @param [response] AccountLabel + */ + type CreateAccountLabelCallback = (error: (Error|null), response?: google.shopping.css.v1.AccountLabel) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|updateAccountLabel}. + * @param error Error, if any + * @param [response] AccountLabel + */ + type UpdateAccountLabelCallback = (error: (Error|null), response?: google.shopping.css.v1.AccountLabel) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|deleteAccountLabel}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteAccountLabelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + } + + /** Properties of an AccountLabel. */ + interface IAccountLabel { + + /** AccountLabel name */ + name?: (string|null); + + /** AccountLabel labelId */ + labelId?: (number|Long|string|null); + + /** AccountLabel accountId */ + accountId?: (number|Long|string|null); + + /** AccountLabel displayName */ + displayName?: (string|null); + + /** AccountLabel description */ + description?: (string|null); + + /** AccountLabel labelType */ + labelType?: (google.shopping.css.v1.AccountLabel.LabelType|keyof typeof google.shopping.css.v1.AccountLabel.LabelType|null); + } + + /** Represents an AccountLabel. */ + class AccountLabel implements IAccountLabel { + + /** + * Constructs a new AccountLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IAccountLabel); + + /** AccountLabel name. */ + public name: string; + + /** AccountLabel labelId. */ + public labelId: (number|Long|string); + + /** AccountLabel accountId. */ + public accountId: (number|Long|string); + + /** AccountLabel displayName. */ + public displayName?: (string|null); + + /** AccountLabel description. */ + public description?: (string|null); + + /** AccountLabel labelType. */ + public labelType: (google.shopping.css.v1.AccountLabel.LabelType|keyof typeof google.shopping.css.v1.AccountLabel.LabelType); + + /** AccountLabel _displayName. */ + public _displayName?: "displayName"; + + /** AccountLabel _description. */ + public _description?: "description"; + + /** + * Creates a new AccountLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns AccountLabel instance + */ + public static create(properties?: google.shopping.css.v1.IAccountLabel): google.shopping.css.v1.AccountLabel; + + /** + * Encodes the specified AccountLabel message. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. + * @param message AccountLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IAccountLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AccountLabel message, length delimited. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. + * @param message AccountLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IAccountLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AccountLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AccountLabel + * @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.css.v1.AccountLabel; + + /** + * Decodes an AccountLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AccountLabel + * @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.css.v1.AccountLabel; + + /** + * Verifies an AccountLabel 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 AccountLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AccountLabel + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.AccountLabel; + + /** + * Creates a plain object from an AccountLabel message. Also converts values to other types if specified. + * @param message AccountLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.AccountLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AccountLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AccountLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace AccountLabel { + + /** LabelType enum. */ + enum LabelType { + LABEL_TYPE_UNSPECIFIED = 0, + MANUAL = 1, + AUTOMATIC = 2 + } + } + + /** Properties of a ListAccountLabelsRequest. */ + interface IListAccountLabelsRequest { + + /** ListAccountLabelsRequest parent */ + parent?: (string|null); + + /** ListAccountLabelsRequest pageSize */ + pageSize?: (number|null); + + /** ListAccountLabelsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListAccountLabelsRequest. */ + class ListAccountLabelsRequest implements IListAccountLabelsRequest { + + /** + * Constructs a new ListAccountLabelsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListAccountLabelsRequest); + + /** ListAccountLabelsRequest parent. */ + public parent: string; + + /** ListAccountLabelsRequest pageSize. */ + public pageSize: number; + + /** ListAccountLabelsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListAccountLabelsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListAccountLabelsRequest instance + */ + public static create(properties?: google.shopping.css.v1.IListAccountLabelsRequest): google.shopping.css.v1.ListAccountLabelsRequest; + + /** + * Encodes the specified ListAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. + * @param message ListAccountLabelsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. + * @param message ListAccountLabelsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListAccountLabelsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListAccountLabelsRequest + * @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.css.v1.ListAccountLabelsRequest; + + /** + * Decodes a ListAccountLabelsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListAccountLabelsRequest + * @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.css.v1.ListAccountLabelsRequest; + + /** + * Verifies a ListAccountLabelsRequest 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 ListAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListAccountLabelsRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListAccountLabelsRequest; + + /** + * Creates a plain object from a ListAccountLabelsRequest message. Also converts values to other types if specified. + * @param message ListAccountLabelsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListAccountLabelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListAccountLabelsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListAccountLabelsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListAccountLabelsResponse. */ + interface IListAccountLabelsResponse { + + /** ListAccountLabelsResponse accountLabels */ + accountLabels?: (google.shopping.css.v1.IAccountLabel[]|null); + + /** ListAccountLabelsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListAccountLabelsResponse. */ + class ListAccountLabelsResponse implements IListAccountLabelsResponse { + + /** + * Constructs a new ListAccountLabelsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListAccountLabelsResponse); + + /** ListAccountLabelsResponse accountLabels. */ + public accountLabels: google.shopping.css.v1.IAccountLabel[]; + + /** ListAccountLabelsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListAccountLabelsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListAccountLabelsResponse instance + */ + public static create(properties?: google.shopping.css.v1.IListAccountLabelsResponse): google.shopping.css.v1.ListAccountLabelsResponse; + + /** + * Encodes the specified ListAccountLabelsResponse message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. + * @param message ListAccountLabelsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListAccountLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListAccountLabelsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. + * @param message ListAccountLabelsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListAccountLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListAccountLabelsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListAccountLabelsResponse + * @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.css.v1.ListAccountLabelsResponse; + + /** + * Decodes a ListAccountLabelsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListAccountLabelsResponse + * @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.css.v1.ListAccountLabelsResponse; + + /** + * Verifies a ListAccountLabelsResponse 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 ListAccountLabelsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListAccountLabelsResponse + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListAccountLabelsResponse; + + /** + * Creates a plain object from a ListAccountLabelsResponse message. Also converts values to other types if specified. + * @param message ListAccountLabelsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListAccountLabelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListAccountLabelsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListAccountLabelsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CreateAccountLabelRequest. */ + interface ICreateAccountLabelRequest { + + /** CreateAccountLabelRequest parent */ + parent?: (string|null); + + /** CreateAccountLabelRequest accountLabel */ + accountLabel?: (google.shopping.css.v1.IAccountLabel|null); + } + + /** Represents a CreateAccountLabelRequest. */ + class CreateAccountLabelRequest implements ICreateAccountLabelRequest { + + /** + * Constructs a new CreateAccountLabelRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.ICreateAccountLabelRequest); + + /** CreateAccountLabelRequest parent. */ + public parent: string; + + /** CreateAccountLabelRequest accountLabel. */ + public accountLabel?: (google.shopping.css.v1.IAccountLabel|null); + + /** + * Creates a new CreateAccountLabelRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateAccountLabelRequest instance + */ + public static create(properties?: google.shopping.css.v1.ICreateAccountLabelRequest): google.shopping.css.v1.CreateAccountLabelRequest; + + /** + * Encodes the specified CreateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. + * @param message CreateAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.ICreateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. + * @param message CreateAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.ICreateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateAccountLabelRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateAccountLabelRequest + * @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.css.v1.CreateAccountLabelRequest; + + /** + * Decodes a CreateAccountLabelRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateAccountLabelRequest + * @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.css.v1.CreateAccountLabelRequest; + + /** + * Verifies a CreateAccountLabelRequest 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 CreateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateAccountLabelRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CreateAccountLabelRequest; + + /** + * Creates a plain object from a CreateAccountLabelRequest message. Also converts values to other types if specified. + * @param message CreateAccountLabelRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.CreateAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateAccountLabelRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateAccountLabelRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateAccountLabelRequest. */ + interface IUpdateAccountLabelRequest { + + /** UpdateAccountLabelRequest accountLabel */ + accountLabel?: (google.shopping.css.v1.IAccountLabel|null); + } + + /** Represents an UpdateAccountLabelRequest. */ + class UpdateAccountLabelRequest implements IUpdateAccountLabelRequest { + + /** + * Constructs a new UpdateAccountLabelRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IUpdateAccountLabelRequest); + + /** UpdateAccountLabelRequest accountLabel. */ + public accountLabel?: (google.shopping.css.v1.IAccountLabel|null); + + /** + * Creates a new UpdateAccountLabelRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateAccountLabelRequest instance + */ + public static create(properties?: google.shopping.css.v1.IUpdateAccountLabelRequest): google.shopping.css.v1.UpdateAccountLabelRequest; + + /** + * Encodes the specified UpdateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. + * @param message UpdateAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IUpdateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. + * @param message UpdateAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IUpdateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateAccountLabelRequest + * @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.css.v1.UpdateAccountLabelRequest; + + /** + * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateAccountLabelRequest + * @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.css.v1.UpdateAccountLabelRequest; + + /** + * Verifies an UpdateAccountLabelRequest 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 UpdateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateAccountLabelRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateAccountLabelRequest; + + /** + * Creates a plain object from an UpdateAccountLabelRequest message. Also converts values to other types if specified. + * @param message UpdateAccountLabelRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.UpdateAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateAccountLabelRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateAccountLabelRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteAccountLabelRequest. */ + interface IDeleteAccountLabelRequest { + + /** DeleteAccountLabelRequest name */ + name?: (string|null); + } + + /** Represents a DeleteAccountLabelRequest. */ + class DeleteAccountLabelRequest implements IDeleteAccountLabelRequest { + + /** + * Constructs a new DeleteAccountLabelRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IDeleteAccountLabelRequest); + + /** DeleteAccountLabelRequest name. */ + public name: string; + + /** + * Creates a new DeleteAccountLabelRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteAccountLabelRequest instance + */ + public static create(properties?: google.shopping.css.v1.IDeleteAccountLabelRequest): google.shopping.css.v1.DeleteAccountLabelRequest; + + /** + * Encodes the specified DeleteAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. + * @param message DeleteAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IDeleteAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. + * @param message DeleteAccountLabelRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IDeleteAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteAccountLabelRequest + * @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.css.v1.DeleteAccountLabelRequest; + + /** + * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteAccountLabelRequest + * @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.css.v1.DeleteAccountLabelRequest; + + /** + * Verifies a DeleteAccountLabelRequest 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 DeleteAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteAccountLabelRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.DeleteAccountLabelRequest; + + /** + * Creates a plain object from a DeleteAccountLabelRequest message. Also converts values to other types if specified. + * @param message DeleteAccountLabelRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.DeleteAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteAccountLabelRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteAccountLabelRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Attributes. */ + interface IAttributes { + + /** Attributes cppLink */ + cppLink?: (string|null); + + /** Attributes cppMobileLink */ + cppMobileLink?: (string|null); + + /** Attributes cppAdsRedirect */ + cppAdsRedirect?: (string|null); + + /** Attributes lowPrice */ + lowPrice?: (google.shopping.type.IPrice|null); + + /** Attributes highPrice */ + highPrice?: (google.shopping.type.IPrice|null); + + /** Attributes numberOfOffers */ + numberOfOffers?: (number|Long|string|null); + + /** Attributes headlineOfferCondition */ + headlineOfferCondition?: (string|null); + + /** Attributes headlineOfferPrice */ + headlineOfferPrice?: (google.shopping.type.IPrice|null); + + /** Attributes headlineOfferLink */ + headlineOfferLink?: (string|null); + + /** Attributes headlineOfferMobileLink */ + headlineOfferMobileLink?: (string|null); + + /** Attributes headlineOfferShippingPrice */ + headlineOfferShippingPrice?: (google.shopping.type.IPrice|null); + + /** Attributes title */ + title?: (string|null); + + /** Attributes imageLink */ + imageLink?: (string|null); + + /** Attributes additionalImageLinks */ + additionalImageLinks?: (string[]|null); + + /** Attributes description */ + description?: (string|null); + + /** Attributes brand */ + brand?: (string|null); + + /** Attributes mpn */ + mpn?: (string|null); + + /** Attributes gtin */ + gtin?: (string|null); + + /** Attributes productTypes */ + productTypes?: (string[]|null); + + /** Attributes googleProductCategory */ + googleProductCategory?: (string|null); + + /** Attributes adult */ + adult?: (boolean|null); + + /** Attributes multipack */ + multipack?: (number|Long|string|null); + + /** Attributes isBundle */ + isBundle?: (boolean|null); + + /** Attributes ageGroup */ + ageGroup?: (string|null); + + /** Attributes color */ + color?: (string|null); + + /** Attributes gender */ + gender?: (string|null); + + /** Attributes material */ + material?: (string|null); + + /** Attributes pattern */ + pattern?: (string|null); + + /** Attributes size */ + size?: (string|null); + + /** Attributes sizeSystem */ + sizeSystem?: (string|null); + + /** Attributes sizeTypes */ + sizeTypes?: (string[]|null); + + /** Attributes itemGroupId */ + itemGroupId?: (string|null); + + /** Attributes productDetails */ + productDetails?: (google.shopping.css.v1.IProductDetail[]|null); + + /** Attributes productWeight */ + productWeight?: (google.shopping.css.v1.IProductWeight|null); + + /** Attributes productLength */ + productLength?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productWidth */ + productWidth?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productHeight */ + productHeight?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productHighlights */ + productHighlights?: (string[]|null); + + /** Attributes certifications */ + certifications?: (google.shopping.css.v1.ICertification[]|null); + + /** Attributes expirationDate */ + expirationDate?: (google.protobuf.ITimestamp|null); + + /** Attributes includedDestinations */ + includedDestinations?: (string[]|null); + + /** Attributes excludedDestinations */ + excludedDestinations?: (string[]|null); + + /** Attributes pause */ + pause?: (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 headlineOfferInstallment */ + headlineOfferInstallment?: (google.shopping.css.v1.IHeadlineOfferInstallment|null); + + /** Attributes headlineOfferSubscriptionCost */ + headlineOfferSubscriptionCost?: (google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null); + } + + /** Represents an Attributes. */ + class Attributes implements IAttributes { + + /** + * Constructs a new Attributes. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IAttributes); + + /** Attributes cppLink. */ + public cppLink?: (string|null); + + /** Attributes cppMobileLink. */ + public cppMobileLink?: (string|null); + + /** Attributes cppAdsRedirect. */ + public cppAdsRedirect?: (string|null); + + /** Attributes lowPrice. */ + public lowPrice?: (google.shopping.type.IPrice|null); + + /** Attributes highPrice. */ + public highPrice?: (google.shopping.type.IPrice|null); + + /** Attributes numberOfOffers. */ + public numberOfOffers?: (number|Long|string|null); + + /** Attributes headlineOfferCondition. */ + public headlineOfferCondition?: (string|null); + + /** Attributes headlineOfferPrice. */ + public headlineOfferPrice?: (google.shopping.type.IPrice|null); + + /** Attributes headlineOfferLink. */ + public headlineOfferLink?: (string|null); + + /** Attributes headlineOfferMobileLink. */ + public headlineOfferMobileLink?: (string|null); + + /** Attributes headlineOfferShippingPrice. */ + public headlineOfferShippingPrice?: (google.shopping.type.IPrice|null); + + /** Attributes title. */ + public title?: (string|null); + + /** Attributes imageLink. */ + public imageLink?: (string|null); + + /** Attributes additionalImageLinks. */ + public additionalImageLinks: string[]; + + /** Attributes description. */ + public description?: (string|null); + + /** Attributes brand. */ + public brand?: (string|null); + + /** Attributes mpn. */ + public mpn?: (string|null); + + /** Attributes gtin. */ + public gtin?: (string|null); + + /** Attributes productTypes. */ + public productTypes: string[]; + + /** Attributes googleProductCategory. */ + public googleProductCategory?: (string|null); + + /** Attributes adult. */ + public adult?: (boolean|null); + + /** Attributes multipack. */ + public multipack?: (number|Long|string|null); + + /** Attributes isBundle. */ + public isBundle?: (boolean|null); + + /** Attributes ageGroup. */ + public ageGroup?: (string|null); + + /** Attributes color. */ + public color?: (string|null); + + /** Attributes gender. */ + public gender?: (string|null); + + /** Attributes material. */ + public material?: (string|null); + + /** Attributes pattern. */ + public pattern?: (string|null); + + /** Attributes size. */ + public size?: (string|null); + + /** Attributes sizeSystem. */ + public sizeSystem?: (string|null); + + /** Attributes sizeTypes. */ + public sizeTypes: string[]; + + /** Attributes itemGroupId. */ + public itemGroupId?: (string|null); + + /** Attributes productDetails. */ + public productDetails: google.shopping.css.v1.IProductDetail[]; + + /** Attributes productWeight. */ + public productWeight?: (google.shopping.css.v1.IProductWeight|null); + + /** Attributes productLength. */ + public productLength?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productWidth. */ + public productWidth?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productHeight. */ + public productHeight?: (google.shopping.css.v1.IProductDimension|null); + + /** Attributes productHighlights. */ + public productHighlights: string[]; + + /** Attributes certifications. */ + public certifications: google.shopping.css.v1.ICertification[]; + + /** Attributes expirationDate. */ + public expirationDate?: (google.protobuf.ITimestamp|null); + + /** Attributes includedDestinations. */ + public includedDestinations: string[]; + + /** Attributes excludedDestinations. */ + public excludedDestinations: string[]; + + /** Attributes pause. */ + public pause?: (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 headlineOfferInstallment. */ + public headlineOfferInstallment?: (google.shopping.css.v1.IHeadlineOfferInstallment|null); + + /** Attributes headlineOfferSubscriptionCost. */ + public headlineOfferSubscriptionCost?: (google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null); + + /** Attributes _cppLink. */ + public _cppLink?: "cppLink"; + + /** Attributes _cppMobileLink. */ + public _cppMobileLink?: "cppMobileLink"; + + /** Attributes _cppAdsRedirect. */ + public _cppAdsRedirect?: "cppAdsRedirect"; + + /** Attributes _numberOfOffers. */ + public _numberOfOffers?: "numberOfOffers"; + + /** Attributes _headlineOfferCondition. */ + public _headlineOfferCondition?: "headlineOfferCondition"; + + /** Attributes _headlineOfferLink. */ + public _headlineOfferLink?: "headlineOfferLink"; + + /** Attributes _headlineOfferMobileLink. */ + public _headlineOfferMobileLink?: "headlineOfferMobileLink"; + + /** Attributes _title. */ + public _title?: "title"; + + /** Attributes _imageLink. */ + public _imageLink?: "imageLink"; + + /** Attributes _description. */ + public _description?: "description"; + + /** Attributes _brand. */ + public _brand?: "brand"; + + /** Attributes _mpn. */ + public _mpn?: "mpn"; + + /** Attributes _gtin. */ + public _gtin?: "gtin"; + + /** Attributes _googleProductCategory. */ + public _googleProductCategory?: "googleProductCategory"; + + /** Attributes _adult. */ + public _adult?: "adult"; + + /** Attributes _multipack. */ + public _multipack?: "multipack"; + + /** Attributes _isBundle. */ + public _isBundle?: "isBundle"; + + /** Attributes _ageGroup. */ + public _ageGroup?: "ageGroup"; + + /** Attributes _color. */ + public _color?: "color"; + + /** Attributes _gender. */ + public _gender?: "gender"; + + /** Attributes _material. */ + public _material?: "material"; + + /** Attributes _pattern. */ + public _pattern?: "pattern"; + + /** Attributes _size. */ + public _size?: "size"; + + /** Attributes _sizeSystem. */ + public _sizeSystem?: "sizeSystem"; + + /** Attributes _itemGroupId. */ + public _itemGroupId?: "itemGroupId"; + + /** Attributes _pause. */ + public _pause?: "pause"; + + /** 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"; + + /** + * Creates a new Attributes instance using the specified properties. + * @param [properties] Properties to set + * @returns Attributes instance + */ + public static create(properties?: google.shopping.css.v1.IAttributes): google.shopping.css.v1.Attributes; + + /** + * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 Certification. */ + interface ICertification { + + /** Certification name */ + name?: (string|null); + + /** Certification authority */ + authority?: (string|null); + + /** Certification code */ + code?: (string|null); + } + + /** Represents a Certification. */ + class Certification implements ICertification { + + /** + * Constructs a new Certification. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.ICertification); + + /** Certification name. */ + public name: string; + + /** Certification authority. */ + public authority: string; + + /** Certification code. */ + public code: string; + + /** + * Creates a new Certification instance using the specified properties. + * @param [properties] Properties to set + * @returns Certification instance + */ + public static create(properties?: google.shopping.css.v1.ICertification): google.shopping.css.v1.Certification; + + /** + * Encodes the specified Certification message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 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.css.v1.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.css.v1.IProductDetail): google.shopping.css.v1.ProductDetail; + + /** + * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 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.css.v1.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.css.v1.IProductDimension): google.shopping.css.v1.ProductDimension; + + /** + * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.IProductWeight): google.shopping.css.v1.ProductWeight; + + /** + * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 CssProductStatus. */ + interface ICssProductStatus { + + /** CssProductStatus destinationStatuses */ + destinationStatuses?: (google.shopping.css.v1.CssProductStatus.IDestinationStatus[]|null); + + /** CssProductStatus itemLevelIssues */ + itemLevelIssues?: (google.shopping.css.v1.CssProductStatus.IItemLevelIssue[]|null); + + /** CssProductStatus creationDate */ + creationDate?: (google.protobuf.ITimestamp|null); + + /** CssProductStatus lastUpdateDate */ + lastUpdateDate?: (google.protobuf.ITimestamp|null); + + /** CssProductStatus googleExpirationDate */ + googleExpirationDate?: (google.protobuf.ITimestamp|null); + } + + /** Represents a CssProductStatus. */ + class CssProductStatus implements ICssProductStatus { + + /** + * Constructs a new CssProductStatus. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.ICssProductStatus); + + /** CssProductStatus destinationStatuses. */ + public destinationStatuses: google.shopping.css.v1.CssProductStatus.IDestinationStatus[]; + + /** CssProductStatus itemLevelIssues. */ + public itemLevelIssues: google.shopping.css.v1.CssProductStatus.IItemLevelIssue[]; + + /** CssProductStatus creationDate. */ + public creationDate?: (google.protobuf.ITimestamp|null); + + /** CssProductStatus lastUpdateDate. */ + public lastUpdateDate?: (google.protobuf.ITimestamp|null); + + /** CssProductStatus googleExpirationDate. */ + public googleExpirationDate?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new CssProductStatus instance using the specified properties. + * @param [properties] Properties to set + * @returns CssProductStatus instance + */ + public static create(properties?: google.shopping.css.v1.ICssProductStatus): google.shopping.css.v1.CssProductStatus; + + /** + * Encodes the specified CssProductStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. + * @param message CssProductStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.ICssProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CssProductStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. + * @param message CssProductStatus message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.ICssProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CssProductStatus message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CssProductStatus + * @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.css.v1.CssProductStatus; + + /** + * Decodes a CssProductStatus message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CssProductStatus + * @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.css.v1.CssProductStatus; + + /** + * Verifies a CssProductStatus 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 CssProductStatus message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CssProductStatus + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProductStatus; + + /** + * Creates a plain object from a CssProductStatus message. Also converts values to other types if specified. + * @param message CssProductStatus + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.CssProductStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CssProductStatus to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CssProductStatus + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace CssProductStatus { + + /** Properties of a DestinationStatus. */ + interface IDestinationStatus { + + /** DestinationStatus destination */ + destination?: (string|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.css.v1.CssProductStatus.IDestinationStatus); + + /** DestinationStatus destination. */ + public destination: string; + + /** 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.css.v1.CssProductStatus.IDestinationStatus): google.shopping.css.v1.CssProductStatus.DestinationStatus; + + /** + * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 servability */ + servability?: (string|null); + + /** ItemLevelIssue resolution */ + resolution?: (string|null); + + /** ItemLevelIssue attribute */ + attribute?: (string|null); + + /** ItemLevelIssue destination */ + destination?: (string|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.css.v1.CssProductStatus.IItemLevelIssue); + + /** ItemLevelIssue code. */ + public code: string; + + /** ItemLevelIssue servability. */ + public servability: string; + + /** ItemLevelIssue resolution. */ + public resolution: string; + + /** ItemLevelIssue attribute. */ + public attribute: string; + + /** ItemLevelIssue destination. */ + public destination: string; + + /** 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.css.v1.CssProductStatus.IItemLevelIssue): google.shopping.css.v1.CssProductStatus.ItemLevelIssue; + + /** + * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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; + } + } + + /** Properties of a HeadlineOfferSubscriptionCost. */ + interface IHeadlineOfferSubscriptionCost { + + /** HeadlineOfferSubscriptionCost period */ + period?: (google.shopping.css.v1.SubscriptionPeriod|keyof typeof google.shopping.css.v1.SubscriptionPeriod|null); + + /** HeadlineOfferSubscriptionCost periodLength */ + periodLength?: (number|Long|string|null); + + /** HeadlineOfferSubscriptionCost amount */ + amount?: (google.shopping.type.IPrice|null); + } + + /** Represents a HeadlineOfferSubscriptionCost. */ + class HeadlineOfferSubscriptionCost implements IHeadlineOfferSubscriptionCost { + + /** + * Constructs a new HeadlineOfferSubscriptionCost. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IHeadlineOfferSubscriptionCost); + + /** HeadlineOfferSubscriptionCost period. */ + public period: (google.shopping.css.v1.SubscriptionPeriod|keyof typeof google.shopping.css.v1.SubscriptionPeriod); + + /** HeadlineOfferSubscriptionCost periodLength. */ + public periodLength: (number|Long|string); + + /** HeadlineOfferSubscriptionCost amount. */ + public amount?: (google.shopping.type.IPrice|null); + + /** + * Creates a new HeadlineOfferSubscriptionCost instance using the specified properties. + * @param [properties] Properties to set + * @returns HeadlineOfferSubscriptionCost instance + */ + public static create(properties?: google.shopping.css.v1.IHeadlineOfferSubscriptionCost): google.shopping.css.v1.HeadlineOfferSubscriptionCost; + + /** + * Encodes the specified HeadlineOfferSubscriptionCost message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. + * @param message HeadlineOfferSubscriptionCost message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IHeadlineOfferSubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HeadlineOfferSubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. + * @param message HeadlineOfferSubscriptionCost message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IHeadlineOfferSubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HeadlineOfferSubscriptionCost + * @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.css.v1.HeadlineOfferSubscriptionCost; + + /** + * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HeadlineOfferSubscriptionCost + * @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.css.v1.HeadlineOfferSubscriptionCost; + + /** + * Verifies a HeadlineOfferSubscriptionCost 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 HeadlineOfferSubscriptionCost message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HeadlineOfferSubscriptionCost + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.HeadlineOfferSubscriptionCost; + + /** + * Creates a plain object from a HeadlineOfferSubscriptionCost message. Also converts values to other types if specified. + * @param message HeadlineOfferSubscriptionCost + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.HeadlineOfferSubscriptionCost, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HeadlineOfferSubscriptionCost to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HeadlineOfferSubscriptionCost + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a HeadlineOfferInstallment. */ + interface IHeadlineOfferInstallment { + + /** HeadlineOfferInstallment months */ + months?: (number|Long|string|null); + + /** HeadlineOfferInstallment amount */ + amount?: (google.shopping.type.IPrice|null); + + /** HeadlineOfferInstallment downpayment */ + downpayment?: (google.shopping.type.IPrice|null); + } + + /** Represents a HeadlineOfferInstallment. */ + class HeadlineOfferInstallment implements IHeadlineOfferInstallment { + + /** + * Constructs a new HeadlineOfferInstallment. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IHeadlineOfferInstallment); + + /** HeadlineOfferInstallment months. */ + public months: (number|Long|string); + + /** HeadlineOfferInstallment amount. */ + public amount?: (google.shopping.type.IPrice|null); + + /** HeadlineOfferInstallment downpayment. */ + public downpayment?: (google.shopping.type.IPrice|null); + + /** + * Creates a new HeadlineOfferInstallment instance using the specified properties. + * @param [properties] Properties to set + * @returns HeadlineOfferInstallment instance + */ + public static create(properties?: google.shopping.css.v1.IHeadlineOfferInstallment): google.shopping.css.v1.HeadlineOfferInstallment; + + /** + * Encodes the specified HeadlineOfferInstallment message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. + * @param message HeadlineOfferInstallment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IHeadlineOfferInstallment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HeadlineOfferInstallment message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. + * @param message HeadlineOfferInstallment message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IHeadlineOfferInstallment, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HeadlineOfferInstallment message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HeadlineOfferInstallment + * @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.css.v1.HeadlineOfferInstallment; + + /** + * Decodes a HeadlineOfferInstallment message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HeadlineOfferInstallment + * @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.css.v1.HeadlineOfferInstallment; + + /** + * Verifies a HeadlineOfferInstallment 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 HeadlineOfferInstallment message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HeadlineOfferInstallment + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.HeadlineOfferInstallment; + + /** + * Creates a plain object from a HeadlineOfferInstallment message. Also converts values to other types if specified. + * @param message HeadlineOfferInstallment + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.HeadlineOfferInstallment, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HeadlineOfferInstallment to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HeadlineOfferInstallment + * @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 + } + + /** Represents a CssProductInputsService */ + class CssProductInputsService extends $protobuf.rpc.Service { + + /** + * Constructs a new CssProductInputsService 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 CssProductInputsService 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): CssProductInputsService; + + /** + * Calls InsertCssProductInput. + * @param request InsertCssProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and CssProductInput + */ + public insertCssProductInput(request: google.shopping.css.v1.IInsertCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.InsertCssProductInputCallback): void; + + /** + * Calls InsertCssProductInput. + * @param request InsertCssProductInputRequest message or plain object + * @returns Promise + */ + public insertCssProductInput(request: google.shopping.css.v1.IInsertCssProductInputRequest): Promise; + + /** + * Calls UpdateCssProductInput. + * @param request UpdateCssProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and CssProductInput + */ + public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback): void; + + /** + * Calls UpdateCssProductInput. + * @param request UpdateCssProductInputRequest message or plain object + * @returns Promise + */ + public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest): Promise; + + /** + * Calls DeleteCssProductInput. + * @param request DeleteCssProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteCssProductInput(request: google.shopping.css.v1.IDeleteCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.DeleteCssProductInputCallback): void; + + /** + * Calls DeleteCssProductInput. + * @param request DeleteCssProductInputRequest message or plain object + * @returns Promise + */ + public deleteCssProductInput(request: google.shopping.css.v1.IDeleteCssProductInputRequest): Promise; + } + + namespace CssProductInputsService { + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|insertCssProductInput}. + * @param error Error, if any + * @param [response] CssProductInput + */ + type InsertCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. + * @param error Error, if any + * @param [response] CssProductInput + */ + type UpdateCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteCssProductInputCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + } + + /** Properties of a CssProductInput. */ + interface ICssProductInput { + + /** CssProductInput name */ + name?: (string|null); + + /** CssProductInput finalName */ + finalName?: (string|null); + + /** CssProductInput rawProvidedId */ + rawProvidedId?: (string|null); + + /** CssProductInput contentLanguage */ + contentLanguage?: (string|null); + + /** CssProductInput feedLabel */ + feedLabel?: (string|null); + + /** CssProductInput freshnessTime */ + freshnessTime?: (google.protobuf.ITimestamp|null); + + /** CssProductInput attributes */ + attributes?: (google.shopping.css.v1.IAttributes|null); + + /** CssProductInput customAttributes */ + customAttributes?: (google.shopping.type.ICustomAttribute[]|null); + } + + /** Represents a CssProductInput. */ + class CssProductInput implements ICssProductInput { + + /** + * Constructs a new CssProductInput. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.ICssProductInput); + + /** CssProductInput name. */ + public name: string; + + /** CssProductInput finalName. */ + public finalName: string; + + /** CssProductInput rawProvidedId. */ + public rawProvidedId: string; + + /** CssProductInput contentLanguage. */ + public contentLanguage: string; + + /** CssProductInput feedLabel. */ + public feedLabel: string; + + /** CssProductInput freshnessTime. */ + public freshnessTime?: (google.protobuf.ITimestamp|null); + + /** CssProductInput attributes. */ + public attributes?: (google.shopping.css.v1.IAttributes|null); + + /** CssProductInput customAttributes. */ + public customAttributes: google.shopping.type.ICustomAttribute[]; + + /** + * Creates a new CssProductInput instance using the specified properties. + * @param [properties] Properties to set + * @returns CssProductInput instance + */ + public static create(properties?: google.shopping.css.v1.ICssProductInput): google.shopping.css.v1.CssProductInput; + + /** + * Encodes the specified CssProductInput message. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. + * @param message CssProductInput message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.ICssProductInput, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CssProductInput message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. + * @param message CssProductInput message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.ICssProductInput, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CssProductInput message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CssProductInput + * @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.css.v1.CssProductInput; + + /** + * Decodes a CssProductInput message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CssProductInput + * @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.css.v1.CssProductInput; + + /** + * Verifies a CssProductInput 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 CssProductInput message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CssProductInput + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProductInput; + + /** + * Creates a plain object from a CssProductInput message. Also converts values to other types if specified. + * @param message CssProductInput + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.CssProductInput, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CssProductInput to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CssProductInput + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an InsertCssProductInputRequest. */ + interface IInsertCssProductInputRequest { + + /** InsertCssProductInputRequest parent */ + parent?: (string|null); + + /** InsertCssProductInputRequest cssProductInput */ + cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** InsertCssProductInputRequest feedId */ + feedId?: (number|Long|string|null); + } + + /** Represents an InsertCssProductInputRequest. */ + class InsertCssProductInputRequest implements IInsertCssProductInputRequest { + + /** + * Constructs a new InsertCssProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IInsertCssProductInputRequest); + + /** InsertCssProductInputRequest parent. */ + public parent: string; + + /** InsertCssProductInputRequest cssProductInput. */ + public cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** InsertCssProductInputRequest feedId. */ + public feedId: (number|Long|string); + + /** + * Creates a new InsertCssProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns InsertCssProductInputRequest instance + */ + public static create(properties?: google.shopping.css.v1.IInsertCssProductInputRequest): google.shopping.css.v1.InsertCssProductInputRequest; + + /** + * Encodes the specified InsertCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. + * @param message InsertCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IInsertCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InsertCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. + * @param message InsertCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IInsertCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InsertCssProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InsertCssProductInputRequest + * @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.css.v1.InsertCssProductInputRequest; + + /** + * Decodes an InsertCssProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InsertCssProductInputRequest + * @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.css.v1.InsertCssProductInputRequest; + + /** + * Verifies an InsertCssProductInputRequest 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 InsertCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InsertCssProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.InsertCssProductInputRequest; + + /** + * Creates a plain object from an InsertCssProductInputRequest message. Also converts values to other types if specified. + * @param message InsertCssProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.InsertCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InsertCssProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InsertCssProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateCssProductInputRequest. */ + interface IUpdateCssProductInputRequest { + + /** UpdateCssProductInputRequest cssProductInput */ + cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** UpdateCssProductInputRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateCssProductInputRequest. */ + class UpdateCssProductInputRequest implements IUpdateCssProductInputRequest { + + /** + * Constructs a new UpdateCssProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest); + + /** UpdateCssProductInputRequest cssProductInput. */ + public cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** UpdateCssProductInputRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateCssProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateCssProductInputRequest instance + */ + public static create(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest): google.shopping.css.v1.UpdateCssProductInputRequest; + + /** + * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @param message UpdateCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @param message UpdateCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateCssProductInputRequest + * @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.css.v1.UpdateCssProductInputRequest; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateCssProductInputRequest + * @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.css.v1.UpdateCssProductInputRequest; + + /** + * Verifies an UpdateCssProductInputRequest 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 UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateCssProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateCssProductInputRequest; + + /** + * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. + * @param message UpdateCssProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.UpdateCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateCssProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateCssProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteCssProductInputRequest. */ + interface IDeleteCssProductInputRequest { + + /** DeleteCssProductInputRequest name */ + name?: (string|null); + + /** DeleteCssProductInputRequest supplementalFeedId */ + supplementalFeedId?: (number|Long|string|null); + } + + /** Represents a DeleteCssProductInputRequest. */ + class DeleteCssProductInputRequest implements IDeleteCssProductInputRequest { + + /** + * Constructs a new DeleteCssProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IDeleteCssProductInputRequest); + + /** DeleteCssProductInputRequest name. */ + public name: string; + + /** DeleteCssProductInputRequest supplementalFeedId. */ + public supplementalFeedId?: (number|Long|string|null); + + /** DeleteCssProductInputRequest _supplementalFeedId. */ + public _supplementalFeedId?: "supplementalFeedId"; + + /** + * Creates a new DeleteCssProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteCssProductInputRequest instance + */ + public static create(properties?: google.shopping.css.v1.IDeleteCssProductInputRequest): google.shopping.css.v1.DeleteCssProductInputRequest; + + /** + * Encodes the specified DeleteCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. + * @param message DeleteCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IDeleteCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. + * @param message DeleteCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IDeleteCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteCssProductInputRequest + * @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.css.v1.DeleteCssProductInputRequest; + + /** + * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteCssProductInputRequest + * @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.css.v1.DeleteCssProductInputRequest; + + /** + * Verifies a DeleteCssProductInputRequest 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 DeleteCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteCssProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.DeleteCssProductInputRequest; + + /** + * Creates a plain object from a DeleteCssProductInputRequest message. Also converts values to other types if specified. + * @param message DeleteCssProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.DeleteCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteCssProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteCssProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Represents a CssProductsService */ + class CssProductsService extends $protobuf.rpc.Service { + + /** + * Constructs a new CssProductsService 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 CssProductsService 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): CssProductsService; + + /** + * Calls GetCssProduct. + * @param request GetCssProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and CssProduct + */ + public getCssProduct(request: google.shopping.css.v1.IGetCssProductRequest, callback: google.shopping.css.v1.CssProductsService.GetCssProductCallback): void; + + /** + * Calls GetCssProduct. + * @param request GetCssProductRequest message or plain object + * @returns Promise + */ + public getCssProduct(request: google.shopping.css.v1.IGetCssProductRequest): Promise; + + /** + * Calls ListCssProducts. + * @param request ListCssProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListCssProductsResponse + */ + public listCssProducts(request: google.shopping.css.v1.IListCssProductsRequest, callback: google.shopping.css.v1.CssProductsService.ListCssProductsCallback): void; + + /** + * Calls ListCssProducts. + * @param request ListCssProductsRequest message or plain object + * @returns Promise + */ + public listCssProducts(request: google.shopping.css.v1.IListCssProductsRequest): Promise; + } + + namespace CssProductsService { + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductsService|getCssProduct}. + * @param error Error, if any + * @param [response] CssProduct + */ + type GetCssProductCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProduct) => void; + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductsService|listCssProducts}. + * @param error Error, if any + * @param [response] ListCssProductsResponse + */ + type ListCssProductsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListCssProductsResponse) => void; + } + + /** Properties of a GetCssProductRequest. */ + interface IGetCssProductRequest { + + /** GetCssProductRequest name */ + name?: (string|null); + } + + /** Represents a GetCssProductRequest. */ + class GetCssProductRequest implements IGetCssProductRequest { + + /** + * Constructs a new GetCssProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IGetCssProductRequest); + + /** GetCssProductRequest name. */ + public name: string; + + /** + * Creates a new GetCssProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetCssProductRequest instance + */ + public static create(properties?: google.shopping.css.v1.IGetCssProductRequest): google.shopping.css.v1.GetCssProductRequest; + + /** + * Encodes the specified GetCssProductRequest message. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. + * @param message GetCssProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IGetCssProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetCssProductRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. + * @param message GetCssProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IGetCssProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetCssProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetCssProductRequest + * @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.css.v1.GetCssProductRequest; + + /** + * Decodes a GetCssProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetCssProductRequest + * @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.css.v1.GetCssProductRequest; + + /** + * Verifies a GetCssProductRequest 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 GetCssProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetCssProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.GetCssProductRequest; + + /** + * Creates a plain object from a GetCssProductRequest message. Also converts values to other types if specified. + * @param message GetCssProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.GetCssProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetCssProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetCssProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CssProduct. */ + interface ICssProduct { + + /** CssProduct name */ + name?: (string|null); + + /** CssProduct rawProvidedId */ + rawProvidedId?: (string|null); + + /** CssProduct contentLanguage */ + contentLanguage?: (string|null); + + /** CssProduct feedLabel */ + feedLabel?: (string|null); + + /** CssProduct attributes */ + attributes?: (google.shopping.css.v1.IAttributes|null); + + /** CssProduct customAttributes */ + customAttributes?: (google.shopping.type.ICustomAttribute[]|null); + + /** CssProduct cssProductStatus */ + cssProductStatus?: (google.shopping.css.v1.ICssProductStatus|null); + } + + /** Represents a CssProduct. */ + class CssProduct implements ICssProduct { + + /** + * Constructs a new CssProduct. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.ICssProduct); + + /** CssProduct name. */ + public name: string; + + /** CssProduct rawProvidedId. */ + public rawProvidedId: string; + + /** CssProduct contentLanguage. */ + public contentLanguage: string; + + /** CssProduct feedLabel. */ + public feedLabel: string; + + /** CssProduct attributes. */ + public attributes?: (google.shopping.css.v1.IAttributes|null); + + /** CssProduct customAttributes. */ + public customAttributes: google.shopping.type.ICustomAttribute[]; + + /** CssProduct cssProductStatus. */ + public cssProductStatus?: (google.shopping.css.v1.ICssProductStatus|null); + + /** + * Creates a new CssProduct instance using the specified properties. + * @param [properties] Properties to set + * @returns CssProduct instance + */ + public static create(properties?: google.shopping.css.v1.ICssProduct): google.shopping.css.v1.CssProduct; + + /** + * Encodes the specified CssProduct message. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. + * @param message CssProduct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.ICssProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CssProduct message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. + * @param message CssProduct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.ICssProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CssProduct message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CssProduct + * @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.css.v1.CssProduct; + + /** + * Decodes a CssProduct message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CssProduct + * @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.css.v1.CssProduct; + + /** + * Verifies a CssProduct 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 CssProduct message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CssProduct + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProduct; + + /** + * Creates a plain object from a CssProduct message. Also converts values to other types if specified. + * @param message CssProduct + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.CssProduct, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CssProduct to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CssProduct + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListCssProductsRequest. */ + interface IListCssProductsRequest { + + /** ListCssProductsRequest parent */ + parent?: (string|null); + + /** ListCssProductsRequest pageSize */ + pageSize?: (number|null); + + /** ListCssProductsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListCssProductsRequest. */ + class ListCssProductsRequest implements IListCssProductsRequest { + + /** + * Constructs a new ListCssProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListCssProductsRequest); + + /** ListCssProductsRequest parent. */ + public parent: string; + + /** ListCssProductsRequest pageSize. */ + public pageSize: number; + + /** ListCssProductsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListCssProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListCssProductsRequest instance + */ + public static create(properties?: google.shopping.css.v1.IListCssProductsRequest): google.shopping.css.v1.ListCssProductsRequest; + + /** + * Encodes the specified ListCssProductsRequest message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. + * @param message ListCssProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListCssProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListCssProductsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. + * @param message ListCssProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListCssProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListCssProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListCssProductsRequest + * @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.css.v1.ListCssProductsRequest; + + /** + * Decodes a ListCssProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListCssProductsRequest + * @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.css.v1.ListCssProductsRequest; + + /** + * Verifies a ListCssProductsRequest 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 ListCssProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListCssProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListCssProductsRequest; + + /** + * Creates a plain object from a ListCssProductsRequest message. Also converts values to other types if specified. + * @param message ListCssProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListCssProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListCssProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListCssProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListCssProductsResponse. */ + interface IListCssProductsResponse { + + /** ListCssProductsResponse cssProducts */ + cssProducts?: (google.shopping.css.v1.ICssProduct[]|null); + + /** ListCssProductsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListCssProductsResponse. */ + class ListCssProductsResponse implements IListCssProductsResponse { + + /** + * Constructs a new ListCssProductsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IListCssProductsResponse); + + /** ListCssProductsResponse cssProducts. */ + public cssProducts: google.shopping.css.v1.ICssProduct[]; + + /** ListCssProductsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListCssProductsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListCssProductsResponse instance + */ + public static create(properties?: google.shopping.css.v1.IListCssProductsResponse): google.shopping.css.v1.ListCssProductsResponse; + + /** + * Encodes the specified ListCssProductsResponse message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. + * @param message ListCssProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IListCssProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListCssProductsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. + * @param message ListCssProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IListCssProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListCssProductsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListCssProductsResponse + * @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.css.v1.ListCssProductsResponse; + + /** + * Decodes a ListCssProductsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListCssProductsResponse + * @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.css.v1.ListCssProductsResponse; + + /** + * Verifies a ListCssProductsResponse 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 ListCssProductsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListCssProductsResponse + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListCssProductsResponse; + + /** + * Creates a plain object from a ListCssProductsResponse message. Also converts values to other types if specified. + * @param message ListCssProductsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.ListCssProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListCssProductsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListCssProductsResponse + * @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; + } + + /** Properties of a FieldMask. */ + interface IFieldMask { + + /** FieldMask paths */ + paths?: (string[]|null); + } + + /** Represents a FieldMask. */ + class FieldMask implements IFieldMask { + + /** + * Constructs a new FieldMask. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldMask); + + /** FieldMask paths. */ + public paths: string[]; + + /** + * Creates a new FieldMask instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldMask instance + */ + public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldMask + * @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.FieldMask; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldMask + * @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.FieldMask; + + /** + * Verifies a FieldMask 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 FieldMask message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldMask + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @param message FieldMask + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldMask to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldMask + * @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-css/v1/protos/protos.js b/owl-bot-staging/google-shopping-css/v1/protos/protos.js new file mode 100644 index 00000000000..c6c7bd4a0f6 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/protos.js @@ -0,0 +1,30769 @@ +// 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_css_protos || ($protobuf.roots._google_shopping_css_protos = {}); + + $root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.shopping = (function() { + + /** + * Namespace shopping. + * @memberof google + * @namespace + */ + var shopping = {}; + + shopping.css = (function() { + + /** + * Namespace css. + * @memberof google.shopping + * @namespace + */ + var css = {}; + + css.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.shopping.css + * @namespace + */ + var v1 = {}; + + v1.AccountsService = (function() { + + /** + * Constructs a new AccountsService service. + * @memberof google.shopping.css.v1 + * @classdesc Represents an AccountsService + * @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 AccountsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (AccountsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AccountsService; + + /** + * Creates new AccountsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.css.v1.AccountsService + * @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 {AccountsService} RPC service. Useful where requests and/or responses are streamed. + */ + AccountsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|listChildAccounts}. + * @memberof google.shopping.css.v1.AccountsService + * @typedef ListChildAccountsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.ListChildAccountsResponse} [response] ListChildAccountsResponse + */ + + /** + * Calls ListChildAccounts. + * @function listChildAccounts + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IListChildAccountsRequest} request ListChildAccountsRequest message or plain object + * @param {google.shopping.css.v1.AccountsService.ListChildAccountsCallback} callback Node-style callback called with the error, if any, and ListChildAccountsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountsService.prototype.listChildAccounts = function listChildAccounts(request, callback) { + return this.rpcCall(listChildAccounts, $root.google.shopping.css.v1.ListChildAccountsRequest, $root.google.shopping.css.v1.ListChildAccountsResponse, request, callback); + }, "name", { value: "ListChildAccounts" }); + + /** + * Calls ListChildAccounts. + * @function listChildAccounts + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IListChildAccountsRequest} request ListChildAccountsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|getAccount}. + * @memberof google.shopping.css.v1.AccountsService + * @typedef GetAccountCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.Account} [response] Account + */ + + /** + * Calls GetAccount. + * @function getAccount + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IGetAccountRequest} request GetAccountRequest message or plain object + * @param {google.shopping.css.v1.AccountsService.GetAccountCallback} callback Node-style callback called with the error, if any, and Account + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountsService.prototype.getAccount = function getAccount(request, callback) { + return this.rpcCall(getAccount, $root.google.shopping.css.v1.GetAccountRequest, $root.google.shopping.css.v1.Account, request, callback); + }, "name", { value: "GetAccount" }); + + /** + * Calls GetAccount. + * @function getAccount + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IGetAccountRequest} request GetAccountRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.AccountsService|updateLabels}. + * @memberof google.shopping.css.v1.AccountsService + * @typedef UpdateLabelsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.Account} [response] Account + */ + + /** + * Calls UpdateLabels. + * @function updateLabels + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} request UpdateAccountLabelsRequest message or plain object + * @param {google.shopping.css.v1.AccountsService.UpdateLabelsCallback} callback Node-style callback called with the error, if any, and Account + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountsService.prototype.updateLabels = function updateLabels(request, callback) { + return this.rpcCall(updateLabels, $root.google.shopping.css.v1.UpdateAccountLabelsRequest, $root.google.shopping.css.v1.Account, request, callback); + }, "name", { value: "UpdateLabels" }); + + /** + * Calls UpdateLabels. + * @function updateLabels + * @memberof google.shopping.css.v1.AccountsService + * @instance + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} request UpdateAccountLabelsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return AccountsService; + })(); + + v1.ListChildAccountsRequest = (function() { + + /** + * Properties of a ListChildAccountsRequest. + * @memberof google.shopping.css.v1 + * @interface IListChildAccountsRequest + * @property {string|null} [parent] ListChildAccountsRequest parent + * @property {number|Long|null} [labelId] ListChildAccountsRequest labelId + * @property {string|null} [fullName] ListChildAccountsRequest fullName + * @property {number|null} [pageSize] ListChildAccountsRequest pageSize + * @property {string|null} [pageToken] ListChildAccountsRequest pageToken + */ + + /** + * Constructs a new ListChildAccountsRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListChildAccountsRequest. + * @implements IListChildAccountsRequest + * @constructor + * @param {google.shopping.css.v1.IListChildAccountsRequest=} [properties] Properties to set + */ + function ListChildAccountsRequest(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]]; + } + + /** + * ListChildAccountsRequest parent. + * @member {string} parent + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + ListChildAccountsRequest.prototype.parent = ""; + + /** + * ListChildAccountsRequest labelId. + * @member {number|Long|null|undefined} labelId + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + ListChildAccountsRequest.prototype.labelId = null; + + /** + * ListChildAccountsRequest fullName. + * @member {string|null|undefined} fullName + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + ListChildAccountsRequest.prototype.fullName = null; + + /** + * ListChildAccountsRequest pageSize. + * @member {number} pageSize + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + ListChildAccountsRequest.prototype.pageSize = 0; + + /** + * ListChildAccountsRequest pageToken. + * @member {string} pageToken + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + ListChildAccountsRequest.prototype.pageToken = ""; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ListChildAccountsRequest _labelId. + * @member {"labelId"|undefined} _labelId + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + Object.defineProperty(ListChildAccountsRequest.prototype, "_labelId", { + get: $util.oneOfGetter($oneOfFields = ["labelId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * ListChildAccountsRequest _fullName. + * @member {"fullName"|undefined} _fullName + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + */ + Object.defineProperty(ListChildAccountsRequest.prototype, "_fullName", { + get: $util.oneOfGetter($oneOfFields = ["fullName"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ListChildAccountsRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {google.shopping.css.v1.IListChildAccountsRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest instance + */ + ListChildAccountsRequest.create = function create(properties) { + return new ListChildAccountsRequest(properties); + }; + + /** + * Encodes the specified ListChildAccountsRequest message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {google.shopping.css.v1.IListChildAccountsRequest} message ListChildAccountsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListChildAccountsRequest.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.labelId != null && Object.hasOwnProperty.call(message, "labelId")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.labelId); + if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.fullName); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListChildAccountsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {google.shopping.css.v1.IListChildAccountsRequest} message ListChildAccountsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListChildAccountsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListChildAccountsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListChildAccountsRequest.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.css.v1.ListChildAccountsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.labelId = reader.int64(); + break; + } + case 3: { + message.fullName = reader.string(); + break; + } + case 4: { + message.pageSize = reader.int32(); + break; + } + case 5: { + message.pageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListChildAccountsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListChildAccountsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListChildAccountsRequest message. + * @function verify + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListChildAccountsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.labelId != null && message.hasOwnProperty("labelId")) { + properties._labelId = 1; + if (!$util.isInteger(message.labelId) && !(message.labelId && $util.isInteger(message.labelId.low) && $util.isInteger(message.labelId.high))) + return "labelId: integer|Long expected"; + } + if (message.fullName != null && message.hasOwnProperty("fullName")) { + properties._fullName = 1; + if (!$util.isString(message.fullName)) + return "fullName: 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 ListChildAccountsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest + */ + ListChildAccountsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListChildAccountsRequest) + return object; + var message = new $root.google.shopping.css.v1.ListChildAccountsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.labelId != null) + if ($util.Long) + (message.labelId = $util.Long.fromValue(object.labelId)).unsigned = false; + else if (typeof object.labelId === "string") + message.labelId = parseInt(object.labelId, 10); + else if (typeof object.labelId === "number") + message.labelId = object.labelId; + else if (typeof object.labelId === "object") + message.labelId = new $util.LongBits(object.labelId.low >>> 0, object.labelId.high >>> 0).toNumber(); + if (object.fullName != null) + message.fullName = String(object.fullName); + 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 ListChildAccountsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {google.shopping.css.v1.ListChildAccountsRequest} message ListChildAccountsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListChildAccountsRequest.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.labelId != null && message.hasOwnProperty("labelId")) { + if (typeof message.labelId === "number") + object.labelId = options.longs === String ? String(message.labelId) : message.labelId; + else + object.labelId = options.longs === String ? $util.Long.prototype.toString.call(message.labelId) : options.longs === Number ? new $util.LongBits(message.labelId.low >>> 0, message.labelId.high >>> 0).toNumber() : message.labelId; + if (options.oneofs) + object._labelId = "labelId"; + } + if (message.fullName != null && message.hasOwnProperty("fullName")) { + object.fullName = message.fullName; + if (options.oneofs) + object._fullName = "fullName"; + } + 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 ListChildAccountsRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @instance + * @returns {Object.} JSON object + */ + ListChildAccountsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListChildAccountsRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListChildAccountsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListChildAccountsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListChildAccountsRequest"; + }; + + return ListChildAccountsRequest; + })(); + + v1.ListChildAccountsResponse = (function() { + + /** + * Properties of a ListChildAccountsResponse. + * @memberof google.shopping.css.v1 + * @interface IListChildAccountsResponse + * @property {Array.|null} [accounts] ListChildAccountsResponse accounts + * @property {string|null} [nextPageToken] ListChildAccountsResponse nextPageToken + */ + + /** + * Constructs a new ListChildAccountsResponse. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListChildAccountsResponse. + * @implements IListChildAccountsResponse + * @constructor + * @param {google.shopping.css.v1.IListChildAccountsResponse=} [properties] Properties to set + */ + function ListChildAccountsResponse(properties) { + this.accounts = []; + 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]]; + } + + /** + * ListChildAccountsResponse accounts. + * @member {Array.} accounts + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @instance + */ + ListChildAccountsResponse.prototype.accounts = $util.emptyArray; + + /** + * ListChildAccountsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @instance + */ + ListChildAccountsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListChildAccountsResponse instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {google.shopping.css.v1.IListChildAccountsResponse=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse instance + */ + ListChildAccountsResponse.create = function create(properties) { + return new ListChildAccountsResponse(properties); + }; + + /** + * Encodes the specified ListChildAccountsResponse message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {google.shopping.css.v1.IListChildAccountsResponse} message ListChildAccountsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListChildAccountsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.accounts != null && message.accounts.length) + for (var i = 0; i < message.accounts.length; ++i) + $root.google.shopping.css.v1.Account.encode(message.accounts[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 ListChildAccountsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {google.shopping.css.v1.IListChildAccountsResponse} message ListChildAccountsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListChildAccountsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListChildAccountsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListChildAccountsResponse.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.css.v1.ListChildAccountsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.accounts && message.accounts.length)) + message.accounts = []; + message.accounts.push($root.google.shopping.css.v1.Account.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListChildAccountsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListChildAccountsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListChildAccountsResponse message. + * @function verify + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListChildAccountsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.accounts != null && message.hasOwnProperty("accounts")) { + if (!Array.isArray(message.accounts)) + return "accounts: array expected"; + for (var i = 0; i < message.accounts.length; ++i) { + var error = $root.google.shopping.css.v1.Account.verify(message.accounts[i]); + if (error) + return "accounts." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListChildAccountsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse + */ + ListChildAccountsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListChildAccountsResponse) + return object; + var message = new $root.google.shopping.css.v1.ListChildAccountsResponse(); + if (object.accounts) { + if (!Array.isArray(object.accounts)) + throw TypeError(".google.shopping.css.v1.ListChildAccountsResponse.accounts: array expected"); + message.accounts = []; + for (var i = 0; i < object.accounts.length; ++i) { + if (typeof object.accounts[i] !== "object") + throw TypeError(".google.shopping.css.v1.ListChildAccountsResponse.accounts: object expected"); + message.accounts[i] = $root.google.shopping.css.v1.Account.fromObject(object.accounts[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListChildAccountsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {google.shopping.css.v1.ListChildAccountsResponse} message ListChildAccountsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListChildAccountsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.accounts = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.accounts && message.accounts.length) { + object.accounts = []; + for (var j = 0; j < message.accounts.length; ++j) + object.accounts[j] = $root.google.shopping.css.v1.Account.toObject(message.accounts[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListChildAccountsResponse to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @instance + * @returns {Object.} JSON object + */ + ListChildAccountsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListChildAccountsResponse + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListChildAccountsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListChildAccountsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListChildAccountsResponse"; + }; + + return ListChildAccountsResponse; + })(); + + v1.GetAccountRequest = (function() { + + /** + * Properties of a GetAccountRequest. + * @memberof google.shopping.css.v1 + * @interface IGetAccountRequest + * @property {string|null} [name] GetAccountRequest name + * @property {string|null} [parent] GetAccountRequest parent + */ + + /** + * Constructs a new GetAccountRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a GetAccountRequest. + * @implements IGetAccountRequest + * @constructor + * @param {google.shopping.css.v1.IGetAccountRequest=} [properties] Properties to set + */ + function GetAccountRequest(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]]; + } + + /** + * GetAccountRequest name. + * @member {string} name + * @memberof google.shopping.css.v1.GetAccountRequest + * @instance + */ + GetAccountRequest.prototype.name = ""; + + /** + * GetAccountRequest parent. + * @member {string|null|undefined} parent + * @memberof google.shopping.css.v1.GetAccountRequest + * @instance + */ + GetAccountRequest.prototype.parent = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetAccountRequest _parent. + * @member {"parent"|undefined} _parent + * @memberof google.shopping.css.v1.GetAccountRequest + * @instance + */ + Object.defineProperty(GetAccountRequest.prototype, "_parent", { + get: $util.oneOfGetter($oneOfFields = ["parent"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetAccountRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {google.shopping.css.v1.IGetAccountRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest instance + */ + GetAccountRequest.create = function create(properties) { + return new GetAccountRequest(properties); + }; + + /** + * Encodes the specified GetAccountRequest message. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {google.shopping.css.v1.IGetAccountRequest} message GetAccountRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetAccountRequest.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.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.parent); + return writer; + }; + + /** + * Encodes the specified GetAccountRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {google.shopping.css.v1.IGetAccountRequest} message GetAccountRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetAccountRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetAccountRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetAccountRequest.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.css.v1.GetAccountRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.parent = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetAccountRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetAccountRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetAccountRequest message. + * @function verify + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetAccountRequest.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.parent != null && message.hasOwnProperty("parent")) { + properties._parent = 1; + if (!$util.isString(message.parent)) + return "parent: string expected"; + } + return null; + }; + + /** + * Creates a GetAccountRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest + */ + GetAccountRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.GetAccountRequest) + return object; + var message = new $root.google.shopping.css.v1.GetAccountRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a GetAccountRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {google.shopping.css.v1.GetAccountRequest} message GetAccountRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetAccountRequest.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; + if (message.parent != null && message.hasOwnProperty("parent")) { + object.parent = message.parent; + if (options.oneofs) + object._parent = "parent"; + } + return object; + }; + + /** + * Converts this GetAccountRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.GetAccountRequest + * @instance + * @returns {Object.} JSON object + */ + GetAccountRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetAccountRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.GetAccountRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetAccountRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.GetAccountRequest"; + }; + + return GetAccountRequest; + })(); + + v1.UpdateAccountLabelsRequest = (function() { + + /** + * Properties of an UpdateAccountLabelsRequest. + * @memberof google.shopping.css.v1 + * @interface IUpdateAccountLabelsRequest + * @property {string|null} [name] UpdateAccountLabelsRequest name + * @property {Array.|null} [labelIds] UpdateAccountLabelsRequest labelIds + * @property {string|null} [parent] UpdateAccountLabelsRequest parent + */ + + /** + * Constructs a new UpdateAccountLabelsRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents an UpdateAccountLabelsRequest. + * @implements IUpdateAccountLabelsRequest + * @constructor + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest=} [properties] Properties to set + */ + function UpdateAccountLabelsRequest(properties) { + this.labelIds = []; + 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]]; + } + + /** + * UpdateAccountLabelsRequest name. + * @member {string} name + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @instance + */ + UpdateAccountLabelsRequest.prototype.name = ""; + + /** + * UpdateAccountLabelsRequest labelIds. + * @member {Array.} labelIds + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @instance + */ + UpdateAccountLabelsRequest.prototype.labelIds = $util.emptyArray; + + /** + * UpdateAccountLabelsRequest parent. + * @member {string|null|undefined} parent + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @instance + */ + UpdateAccountLabelsRequest.prototype.parent = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * UpdateAccountLabelsRequest _parent. + * @member {"parent"|undefined} _parent + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @instance + */ + Object.defineProperty(UpdateAccountLabelsRequest.prototype, "_parent", { + get: $util.oneOfGetter($oneOfFields = ["parent"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new UpdateAccountLabelsRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest instance + */ + UpdateAccountLabelsRequest.create = function create(properties) { + return new UpdateAccountLabelsRequest(properties); + }; + + /** + * Encodes the specified UpdateAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} message UpdateAccountLabelsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAccountLabelsRequest.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.labelIds != null && message.labelIds.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.labelIds.length; ++i) + writer.int64(message.labelIds[i]); + writer.ldelim(); + } + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); + return writer; + }; + + /** + * Encodes the specified UpdateAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} message UpdateAccountLabelsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAccountLabelsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAccountLabelsRequest.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.css.v1.UpdateAccountLabelsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.labelIds && message.labelIds.length)) + message.labelIds = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.labelIds.push(reader.int64()); + } else + message.labelIds.push(reader.int64()); + break; + } + case 3: { + message.parent = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAccountLabelsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateAccountLabelsRequest message. + * @function verify + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateAccountLabelsRequest.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.labelIds != null && message.hasOwnProperty("labelIds")) { + if (!Array.isArray(message.labelIds)) + return "labelIds: array expected"; + for (var i = 0; i < message.labelIds.length; ++i) + if (!$util.isInteger(message.labelIds[i]) && !(message.labelIds[i] && $util.isInteger(message.labelIds[i].low) && $util.isInteger(message.labelIds[i].high))) + return "labelIds: integer|Long[] expected"; + } + if (message.parent != null && message.hasOwnProperty("parent")) { + properties._parent = 1; + if (!$util.isString(message.parent)) + return "parent: string expected"; + } + return null; + }; + + /** + * Creates an UpdateAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest + */ + UpdateAccountLabelsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.UpdateAccountLabelsRequest) + return object; + var message = new $root.google.shopping.css.v1.UpdateAccountLabelsRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.labelIds) { + if (!Array.isArray(object.labelIds)) + throw TypeError(".google.shopping.css.v1.UpdateAccountLabelsRequest.labelIds: array expected"); + message.labelIds = []; + for (var i = 0; i < object.labelIds.length; ++i) + if ($util.Long) + (message.labelIds[i] = $util.Long.fromValue(object.labelIds[i])).unsigned = false; + else if (typeof object.labelIds[i] === "string") + message.labelIds[i] = parseInt(object.labelIds[i], 10); + else if (typeof object.labelIds[i] === "number") + message.labelIds[i] = object.labelIds[i]; + else if (typeof object.labelIds[i] === "object") + message.labelIds[i] = new $util.LongBits(object.labelIds[i].low >>> 0, object.labelIds[i].high >>> 0).toNumber(); + } + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from an UpdateAccountLabelsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.UpdateAccountLabelsRequest} message UpdateAccountLabelsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateAccountLabelsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.labelIds = []; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.labelIds && message.labelIds.length) { + object.labelIds = []; + for (var j = 0; j < message.labelIds.length; ++j) + if (typeof message.labelIds[j] === "number") + object.labelIds[j] = options.longs === String ? String(message.labelIds[j]) : message.labelIds[j]; + else + object.labelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.labelIds[j]) : options.longs === Number ? new $util.LongBits(message.labelIds[j].low >>> 0, message.labelIds[j].high >>> 0).toNumber() : message.labelIds[j]; + } + if (message.parent != null && message.hasOwnProperty("parent")) { + object.parent = message.parent; + if (options.oneofs) + object._parent = "parent"; + } + return object; + }; + + /** + * Converts this UpdateAccountLabelsRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateAccountLabelsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateAccountLabelsRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateAccountLabelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.UpdateAccountLabelsRequest"; + }; + + return UpdateAccountLabelsRequest; + })(); + + v1.Account = (function() { + + /** + * Properties of an Account. + * @memberof google.shopping.css.v1 + * @interface IAccount + * @property {string|null} [name] Account name + * @property {string|null} [fullName] Account fullName + * @property {string|null} [displayName] Account displayName + * @property {string|null} [homepageUri] Account homepageUri + * @property {string|null} [parent] Account parent + * @property {Array.|null} [labelIds] Account labelIds + * @property {Array.|null} [automaticLabelIds] Account automaticLabelIds + * @property {google.shopping.css.v1.Account.AccountType|null} [accountType] Account accountType + */ + + /** + * Constructs a new Account. + * @memberof google.shopping.css.v1 + * @classdesc Represents an Account. + * @implements IAccount + * @constructor + * @param {google.shopping.css.v1.IAccount=} [properties] Properties to set + */ + function Account(properties) { + this.labelIds = []; + this.automaticLabelIds = []; + 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]]; + } + + /** + * Account name. + * @member {string} name + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.name = ""; + + /** + * Account fullName. + * @member {string} fullName + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.fullName = ""; + + /** + * Account displayName. + * @member {string|null|undefined} displayName + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.displayName = null; + + /** + * Account homepageUri. + * @member {string|null|undefined} homepageUri + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.homepageUri = null; + + /** + * Account parent. + * @member {string|null|undefined} parent + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.parent = null; + + /** + * Account labelIds. + * @member {Array.} labelIds + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.labelIds = $util.emptyArray; + + /** + * Account automaticLabelIds. + * @member {Array.} automaticLabelIds + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.automaticLabelIds = $util.emptyArray; + + /** + * Account accountType. + * @member {google.shopping.css.v1.Account.AccountType} accountType + * @memberof google.shopping.css.v1.Account + * @instance + */ + Account.prototype.accountType = 0; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Account _displayName. + * @member {"displayName"|undefined} _displayName + * @memberof google.shopping.css.v1.Account + * @instance + */ + Object.defineProperty(Account.prototype, "_displayName", { + get: $util.oneOfGetter($oneOfFields = ["displayName"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Account _homepageUri. + * @member {"homepageUri"|undefined} _homepageUri + * @memberof google.shopping.css.v1.Account + * @instance + */ + Object.defineProperty(Account.prototype, "_homepageUri", { + get: $util.oneOfGetter($oneOfFields = ["homepageUri"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Account _parent. + * @member {"parent"|undefined} _parent + * @memberof google.shopping.css.v1.Account + * @instance + */ + Object.defineProperty(Account.prototype, "_parent", { + get: $util.oneOfGetter($oneOfFields = ["parent"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Account instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.Account + * @static + * @param {google.shopping.css.v1.IAccount=} [properties] Properties to set + * @returns {google.shopping.css.v1.Account} Account instance + */ + Account.create = function create(properties) { + return new Account(properties); + }; + + /** + * Encodes the specified Account message. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.Account + * @static + * @param {google.shopping.css.v1.IAccount} message Account message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Account.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.fullName != null && Object.hasOwnProperty.call(message, "fullName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName); + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.displayName); + if (message.homepageUri != null && Object.hasOwnProperty.call(message, "homepageUri")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.homepageUri); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.parent); + if (message.labelIds != null && message.labelIds.length) { + writer.uint32(/* id 6, wireType 2 =*/50).fork(); + for (var i = 0; i < message.labelIds.length; ++i) + writer.int64(message.labelIds[i]); + writer.ldelim(); + } + if (message.automaticLabelIds != null && message.automaticLabelIds.length) { + writer.uint32(/* id 7, wireType 2 =*/58).fork(); + for (var i = 0; i < message.automaticLabelIds.length; ++i) + writer.int64(message.automaticLabelIds[i]); + writer.ldelim(); + } + if (message.accountType != null && Object.hasOwnProperty.call(message, "accountType")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.accountType); + return writer; + }; + + /** + * Encodes the specified Account message, length delimited. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.Account + * @static + * @param {google.shopping.css.v1.IAccount} message Account message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Account.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Account message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.Account + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.Account} Account + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Account.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.css.v1.Account(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.fullName = reader.string(); + break; + } + case 3: { + message.displayName = reader.string(); + break; + } + case 4: { + message.homepageUri = reader.string(); + break; + } + case 5: { + message.parent = reader.string(); + break; + } + case 6: { + if (!(message.labelIds && message.labelIds.length)) + message.labelIds = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.labelIds.push(reader.int64()); + } else + message.labelIds.push(reader.int64()); + break; + } + case 7: { + if (!(message.automaticLabelIds && message.automaticLabelIds.length)) + message.automaticLabelIds = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.automaticLabelIds.push(reader.int64()); + } else + message.automaticLabelIds.push(reader.int64()); + break; + } + case 8: { + message.accountType = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Account message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.Account + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.Account} Account + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Account.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Account message. + * @function verify + * @memberof google.shopping.css.v1.Account + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Account.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.fullName != null && message.hasOwnProperty("fullName")) + if (!$util.isString(message.fullName)) + return "fullName: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) { + properties._displayName = 1; + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + } + if (message.homepageUri != null && message.hasOwnProperty("homepageUri")) { + properties._homepageUri = 1; + if (!$util.isString(message.homepageUri)) + return "homepageUri: string expected"; + } + if (message.parent != null && message.hasOwnProperty("parent")) { + properties._parent = 1; + if (!$util.isString(message.parent)) + return "parent: string expected"; + } + if (message.labelIds != null && message.hasOwnProperty("labelIds")) { + if (!Array.isArray(message.labelIds)) + return "labelIds: array expected"; + for (var i = 0; i < message.labelIds.length; ++i) + if (!$util.isInteger(message.labelIds[i]) && !(message.labelIds[i] && $util.isInteger(message.labelIds[i].low) && $util.isInteger(message.labelIds[i].high))) + return "labelIds: integer|Long[] expected"; + } + if (message.automaticLabelIds != null && message.hasOwnProperty("automaticLabelIds")) { + if (!Array.isArray(message.automaticLabelIds)) + return "automaticLabelIds: array expected"; + for (var i = 0; i < message.automaticLabelIds.length; ++i) + if (!$util.isInteger(message.automaticLabelIds[i]) && !(message.automaticLabelIds[i] && $util.isInteger(message.automaticLabelIds[i].low) && $util.isInteger(message.automaticLabelIds[i].high))) + return "automaticLabelIds: integer|Long[] expected"; + } + if (message.accountType != null && message.hasOwnProperty("accountType")) + switch (message.accountType) { + default: + return "accountType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + return null; + }; + + /** + * Creates an Account message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.Account + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.Account} Account + */ + Account.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.Account) + return object; + var message = new $root.google.shopping.css.v1.Account(); + if (object.name != null) + message.name = String(object.name); + if (object.fullName != null) + message.fullName = String(object.fullName); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.homepageUri != null) + message.homepageUri = String(object.homepageUri); + if (object.parent != null) + message.parent = String(object.parent); + if (object.labelIds) { + if (!Array.isArray(object.labelIds)) + throw TypeError(".google.shopping.css.v1.Account.labelIds: array expected"); + message.labelIds = []; + for (var i = 0; i < object.labelIds.length; ++i) + if ($util.Long) + (message.labelIds[i] = $util.Long.fromValue(object.labelIds[i])).unsigned = false; + else if (typeof object.labelIds[i] === "string") + message.labelIds[i] = parseInt(object.labelIds[i], 10); + else if (typeof object.labelIds[i] === "number") + message.labelIds[i] = object.labelIds[i]; + else if (typeof object.labelIds[i] === "object") + message.labelIds[i] = new $util.LongBits(object.labelIds[i].low >>> 0, object.labelIds[i].high >>> 0).toNumber(); + } + if (object.automaticLabelIds) { + if (!Array.isArray(object.automaticLabelIds)) + throw TypeError(".google.shopping.css.v1.Account.automaticLabelIds: array expected"); + message.automaticLabelIds = []; + for (var i = 0; i < object.automaticLabelIds.length; ++i) + if ($util.Long) + (message.automaticLabelIds[i] = $util.Long.fromValue(object.automaticLabelIds[i])).unsigned = false; + else if (typeof object.automaticLabelIds[i] === "string") + message.automaticLabelIds[i] = parseInt(object.automaticLabelIds[i], 10); + else if (typeof object.automaticLabelIds[i] === "number") + message.automaticLabelIds[i] = object.automaticLabelIds[i]; + else if (typeof object.automaticLabelIds[i] === "object") + message.automaticLabelIds[i] = new $util.LongBits(object.automaticLabelIds[i].low >>> 0, object.automaticLabelIds[i].high >>> 0).toNumber(); + } + switch (object.accountType) { + default: + if (typeof object.accountType === "number") { + message.accountType = object.accountType; + break; + } + break; + case "ACCOUNT_TYPE_UNSPECIFIED": + case 0: + message.accountType = 0; + break; + case "CSS_GROUP": + case 1: + message.accountType = 1; + break; + case "CSS_DOMAIN": + case 2: + message.accountType = 2; + break; + case "MC_PRIMARY_CSS_MCA": + case 3: + message.accountType = 3; + break; + case "MC_CSS_MCA": + case 4: + message.accountType = 4; + break; + case "MC_MARKETPLACE_MCA": + case 5: + message.accountType = 5; + break; + case "MC_OTHER_MCA": + case 6: + message.accountType = 6; + break; + case "MC_STANDALONE": + case 7: + message.accountType = 7; + break; + case "MC_MCA_SUBACCOUNT": + case 8: + message.accountType = 8; + break; + } + return message; + }; + + /** + * Creates a plain object from an Account message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.Account + * @static + * @param {google.shopping.css.v1.Account} message Account + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Account.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.labelIds = []; + object.automaticLabelIds = []; + } + if (options.defaults) { + object.name = ""; + object.fullName = ""; + object.accountType = options.enums === String ? "ACCOUNT_TYPE_UNSPECIFIED" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.fullName != null && message.hasOwnProperty("fullName")) + object.fullName = message.fullName; + if (message.displayName != null && message.hasOwnProperty("displayName")) { + object.displayName = message.displayName; + if (options.oneofs) + object._displayName = "displayName"; + } + if (message.homepageUri != null && message.hasOwnProperty("homepageUri")) { + object.homepageUri = message.homepageUri; + if (options.oneofs) + object._homepageUri = "homepageUri"; + } + if (message.parent != null && message.hasOwnProperty("parent")) { + object.parent = message.parent; + if (options.oneofs) + object._parent = "parent"; + } + if (message.labelIds && message.labelIds.length) { + object.labelIds = []; + for (var j = 0; j < message.labelIds.length; ++j) + if (typeof message.labelIds[j] === "number") + object.labelIds[j] = options.longs === String ? String(message.labelIds[j]) : message.labelIds[j]; + else + object.labelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.labelIds[j]) : options.longs === Number ? new $util.LongBits(message.labelIds[j].low >>> 0, message.labelIds[j].high >>> 0).toNumber() : message.labelIds[j]; + } + if (message.automaticLabelIds && message.automaticLabelIds.length) { + object.automaticLabelIds = []; + for (var j = 0; j < message.automaticLabelIds.length; ++j) + if (typeof message.automaticLabelIds[j] === "number") + object.automaticLabelIds[j] = options.longs === String ? String(message.automaticLabelIds[j]) : message.automaticLabelIds[j]; + else + object.automaticLabelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.automaticLabelIds[j]) : options.longs === Number ? new $util.LongBits(message.automaticLabelIds[j].low >>> 0, message.automaticLabelIds[j].high >>> 0).toNumber() : message.automaticLabelIds[j]; + } + if (message.accountType != null && message.hasOwnProperty("accountType")) + object.accountType = options.enums === String ? $root.google.shopping.css.v1.Account.AccountType[message.accountType] === undefined ? message.accountType : $root.google.shopping.css.v1.Account.AccountType[message.accountType] : message.accountType; + return object; + }; + + /** + * Converts this Account to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.Account + * @instance + * @returns {Object.} JSON object + */ + Account.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Account + * @function getTypeUrl + * @memberof google.shopping.css.v1.Account + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Account.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.Account"; + }; + + /** + * AccountType enum. + * @name google.shopping.css.v1.Account.AccountType + * @enum {number} + * @property {number} ACCOUNT_TYPE_UNSPECIFIED=0 ACCOUNT_TYPE_UNSPECIFIED value + * @property {number} CSS_GROUP=1 CSS_GROUP value + * @property {number} CSS_DOMAIN=2 CSS_DOMAIN value + * @property {number} MC_PRIMARY_CSS_MCA=3 MC_PRIMARY_CSS_MCA value + * @property {number} MC_CSS_MCA=4 MC_CSS_MCA value + * @property {number} MC_MARKETPLACE_MCA=5 MC_MARKETPLACE_MCA value + * @property {number} MC_OTHER_MCA=6 MC_OTHER_MCA value + * @property {number} MC_STANDALONE=7 MC_STANDALONE value + * @property {number} MC_MCA_SUBACCOUNT=8 MC_MCA_SUBACCOUNT value + */ + Account.AccountType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ACCOUNT_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CSS_GROUP"] = 1; + values[valuesById[2] = "CSS_DOMAIN"] = 2; + values[valuesById[3] = "MC_PRIMARY_CSS_MCA"] = 3; + values[valuesById[4] = "MC_CSS_MCA"] = 4; + values[valuesById[5] = "MC_MARKETPLACE_MCA"] = 5; + values[valuesById[6] = "MC_OTHER_MCA"] = 6; + values[valuesById[7] = "MC_STANDALONE"] = 7; + values[valuesById[8] = "MC_MCA_SUBACCOUNT"] = 8; + return values; + })(); + + return Account; + })(); + + v1.AccountLabelsService = (function() { + + /** + * Constructs a new AccountLabelsService service. + * @memberof google.shopping.css.v1 + * @classdesc Represents an AccountLabelsService + * @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 AccountLabelsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (AccountLabelsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AccountLabelsService; + + /** + * Creates new AccountLabelsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.css.v1.AccountLabelsService + * @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 {AccountLabelsService} RPC service. Useful where requests and/or responses are streamed. + */ + AccountLabelsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|listAccountLabels}. + * @memberof google.shopping.css.v1.AccountLabelsService + * @typedef ListAccountLabelsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.ListAccountLabelsResponse} [response] ListAccountLabelsResponse + */ + + /** + * Calls ListAccountLabels. + * @function listAccountLabels + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IListAccountLabelsRequest} request ListAccountLabelsRequest message or plain object + * @param {google.shopping.css.v1.AccountLabelsService.ListAccountLabelsCallback} callback Node-style callback called with the error, if any, and ListAccountLabelsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountLabelsService.prototype.listAccountLabels = function listAccountLabels(request, callback) { + return this.rpcCall(listAccountLabels, $root.google.shopping.css.v1.ListAccountLabelsRequest, $root.google.shopping.css.v1.ListAccountLabelsResponse, request, callback); + }, "name", { value: "ListAccountLabels" }); + + /** + * Calls ListAccountLabels. + * @function listAccountLabels + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IListAccountLabelsRequest} request ListAccountLabelsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|createAccountLabel}. + * @memberof google.shopping.css.v1.AccountLabelsService + * @typedef CreateAccountLabelCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.AccountLabel} [response] AccountLabel + */ + + /** + * Calls CreateAccountLabel. + * @function createAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.ICreateAccountLabelRequest} request CreateAccountLabelRequest message or plain object + * @param {google.shopping.css.v1.AccountLabelsService.CreateAccountLabelCallback} callback Node-style callback called with the error, if any, and AccountLabel + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountLabelsService.prototype.createAccountLabel = function createAccountLabel(request, callback) { + return this.rpcCall(createAccountLabel, $root.google.shopping.css.v1.CreateAccountLabelRequest, $root.google.shopping.css.v1.AccountLabel, request, callback); + }, "name", { value: "CreateAccountLabel" }); + + /** + * Calls CreateAccountLabel. + * @function createAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.ICreateAccountLabelRequest} request CreateAccountLabelRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|updateAccountLabel}. + * @memberof google.shopping.css.v1.AccountLabelsService + * @typedef UpdateAccountLabelCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.AccountLabel} [response] AccountLabel + */ + + /** + * Calls UpdateAccountLabel. + * @function updateAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} request UpdateAccountLabelRequest message or plain object + * @param {google.shopping.css.v1.AccountLabelsService.UpdateAccountLabelCallback} callback Node-style callback called with the error, if any, and AccountLabel + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountLabelsService.prototype.updateAccountLabel = function updateAccountLabel(request, callback) { + return this.rpcCall(updateAccountLabel, $root.google.shopping.css.v1.UpdateAccountLabelRequest, $root.google.shopping.css.v1.AccountLabel, request, callback); + }, "name", { value: "UpdateAccountLabel" }); + + /** + * Calls UpdateAccountLabel. + * @function updateAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} request UpdateAccountLabelRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|deleteAccountLabel}. + * @memberof google.shopping.css.v1.AccountLabelsService + * @typedef DeleteAccountLabelCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteAccountLabel. + * @function deleteAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} request DeleteAccountLabelRequest message or plain object + * @param {google.shopping.css.v1.AccountLabelsService.DeleteAccountLabelCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AccountLabelsService.prototype.deleteAccountLabel = function deleteAccountLabel(request, callback) { + return this.rpcCall(deleteAccountLabel, $root.google.shopping.css.v1.DeleteAccountLabelRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteAccountLabel" }); + + /** + * Calls DeleteAccountLabel. + * @function deleteAccountLabel + * @memberof google.shopping.css.v1.AccountLabelsService + * @instance + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} request DeleteAccountLabelRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return AccountLabelsService; + })(); + + v1.AccountLabel = (function() { + + /** + * Properties of an AccountLabel. + * @memberof google.shopping.css.v1 + * @interface IAccountLabel + * @property {string|null} [name] AccountLabel name + * @property {number|Long|null} [labelId] AccountLabel labelId + * @property {number|Long|null} [accountId] AccountLabel accountId + * @property {string|null} [displayName] AccountLabel displayName + * @property {string|null} [description] AccountLabel description + * @property {google.shopping.css.v1.AccountLabel.LabelType|null} [labelType] AccountLabel labelType + */ + + /** + * Constructs a new AccountLabel. + * @memberof google.shopping.css.v1 + * @classdesc Represents an AccountLabel. + * @implements IAccountLabel + * @constructor + * @param {google.shopping.css.v1.IAccountLabel=} [properties] Properties to set + */ + function AccountLabel(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]]; + } + + /** + * AccountLabel name. + * @member {string} name + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.name = ""; + + /** + * AccountLabel labelId. + * @member {number|Long} labelId + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.labelId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * AccountLabel accountId. + * @member {number|Long} accountId + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.accountId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * AccountLabel displayName. + * @member {string|null|undefined} displayName + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.displayName = null; + + /** + * AccountLabel description. + * @member {string|null|undefined} description + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.description = null; + + /** + * AccountLabel labelType. + * @member {google.shopping.css.v1.AccountLabel.LabelType} labelType + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + AccountLabel.prototype.labelType = 0; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * AccountLabel _displayName. + * @member {"displayName"|undefined} _displayName + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + Object.defineProperty(AccountLabel.prototype, "_displayName", { + get: $util.oneOfGetter($oneOfFields = ["displayName"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * AccountLabel _description. + * @member {"description"|undefined} _description + * @memberof google.shopping.css.v1.AccountLabel + * @instance + */ + Object.defineProperty(AccountLabel.prototype, "_description", { + get: $util.oneOfGetter($oneOfFields = ["description"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new AccountLabel instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {google.shopping.css.v1.IAccountLabel=} [properties] Properties to set + * @returns {google.shopping.css.v1.AccountLabel} AccountLabel instance + */ + AccountLabel.create = function create(properties) { + return new AccountLabel(properties); + }; + + /** + * Encodes the specified AccountLabel message. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {google.shopping.css.v1.IAccountLabel} message AccountLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AccountLabel.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.labelId != null && Object.hasOwnProperty.call(message, "labelId")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.labelId); + if (message.accountId != null && Object.hasOwnProperty.call(message, "accountId")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.accountId); + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.displayName); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.description); + if (message.labelType != null && Object.hasOwnProperty.call(message, "labelType")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.labelType); + return writer; + }; + + /** + * Encodes the specified AccountLabel message, length delimited. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {google.shopping.css.v1.IAccountLabel} message AccountLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AccountLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AccountLabel message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.AccountLabel} AccountLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AccountLabel.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.css.v1.AccountLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.labelId = reader.int64(); + break; + } + case 3: { + message.accountId = reader.int64(); + break; + } + case 4: { + message.displayName = reader.string(); + break; + } + case 5: { + message.description = reader.string(); + break; + } + case 6: { + message.labelType = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AccountLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.AccountLabel} AccountLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AccountLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AccountLabel message. + * @function verify + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AccountLabel.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.labelId != null && message.hasOwnProperty("labelId")) + if (!$util.isInteger(message.labelId) && !(message.labelId && $util.isInteger(message.labelId.low) && $util.isInteger(message.labelId.high))) + return "labelId: integer|Long expected"; + if (message.accountId != null && message.hasOwnProperty("accountId")) + if (!$util.isInteger(message.accountId) && !(message.accountId && $util.isInteger(message.accountId.low) && $util.isInteger(message.accountId.high))) + return "accountId: integer|Long expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) { + properties._displayName = 1; + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + } + if (message.description != null && message.hasOwnProperty("description")) { + properties._description = 1; + if (!$util.isString(message.description)) + return "description: string expected"; + } + if (message.labelType != null && message.hasOwnProperty("labelType")) + switch (message.labelType) { + default: + return "labelType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates an AccountLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.AccountLabel} AccountLabel + */ + AccountLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.AccountLabel) + return object; + var message = new $root.google.shopping.css.v1.AccountLabel(); + if (object.name != null) + message.name = String(object.name); + if (object.labelId != null) + if ($util.Long) + (message.labelId = $util.Long.fromValue(object.labelId)).unsigned = false; + else if (typeof object.labelId === "string") + message.labelId = parseInt(object.labelId, 10); + else if (typeof object.labelId === "number") + message.labelId = object.labelId; + else if (typeof object.labelId === "object") + message.labelId = new $util.LongBits(object.labelId.low >>> 0, object.labelId.high >>> 0).toNumber(); + if (object.accountId != null) + if ($util.Long) + (message.accountId = $util.Long.fromValue(object.accountId)).unsigned = false; + else if (typeof object.accountId === "string") + message.accountId = parseInt(object.accountId, 10); + else if (typeof object.accountId === "number") + message.accountId = object.accountId; + else if (typeof object.accountId === "object") + message.accountId = new $util.LongBits(object.accountId.low >>> 0, object.accountId.high >>> 0).toNumber(); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + switch (object.labelType) { + default: + if (typeof object.labelType === "number") { + message.labelType = object.labelType; + break; + } + break; + case "LABEL_TYPE_UNSPECIFIED": + case 0: + message.labelType = 0; + break; + case "MANUAL": + case 1: + message.labelType = 1; + break; + case "AUTOMATIC": + case 2: + message.labelType = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from an AccountLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {google.shopping.css.v1.AccountLabel} message AccountLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AccountLabel.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.labelId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.labelId = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.accountId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.accountId = options.longs === String ? "0" : 0; + object.labelType = options.enums === String ? "LABEL_TYPE_UNSPECIFIED" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.labelId != null && message.hasOwnProperty("labelId")) + if (typeof message.labelId === "number") + object.labelId = options.longs === String ? String(message.labelId) : message.labelId; + else + object.labelId = options.longs === String ? $util.Long.prototype.toString.call(message.labelId) : options.longs === Number ? new $util.LongBits(message.labelId.low >>> 0, message.labelId.high >>> 0).toNumber() : message.labelId; + if (message.accountId != null && message.hasOwnProperty("accountId")) + if (typeof message.accountId === "number") + object.accountId = options.longs === String ? String(message.accountId) : message.accountId; + else + object.accountId = options.longs === String ? $util.Long.prototype.toString.call(message.accountId) : options.longs === Number ? new $util.LongBits(message.accountId.low >>> 0, message.accountId.high >>> 0).toNumber() : message.accountId; + if (message.displayName != null && message.hasOwnProperty("displayName")) { + object.displayName = message.displayName; + if (options.oneofs) + object._displayName = "displayName"; + } + if (message.description != null && message.hasOwnProperty("description")) { + object.description = message.description; + if (options.oneofs) + object._description = "description"; + } + if (message.labelType != null && message.hasOwnProperty("labelType")) + object.labelType = options.enums === String ? $root.google.shopping.css.v1.AccountLabel.LabelType[message.labelType] === undefined ? message.labelType : $root.google.shopping.css.v1.AccountLabel.LabelType[message.labelType] : message.labelType; + return object; + }; + + /** + * Converts this AccountLabel to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.AccountLabel + * @instance + * @returns {Object.} JSON object + */ + AccountLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AccountLabel + * @function getTypeUrl + * @memberof google.shopping.css.v1.AccountLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AccountLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.AccountLabel"; + }; + + /** + * LabelType enum. + * @name google.shopping.css.v1.AccountLabel.LabelType + * @enum {number} + * @property {number} LABEL_TYPE_UNSPECIFIED=0 LABEL_TYPE_UNSPECIFIED value + * @property {number} MANUAL=1 MANUAL value + * @property {number} AUTOMATIC=2 AUTOMATIC value + */ + AccountLabel.LabelType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LABEL_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "MANUAL"] = 1; + values[valuesById[2] = "AUTOMATIC"] = 2; + return values; + })(); + + return AccountLabel; + })(); + + v1.ListAccountLabelsRequest = (function() { + + /** + * Properties of a ListAccountLabelsRequest. + * @memberof google.shopping.css.v1 + * @interface IListAccountLabelsRequest + * @property {string|null} [parent] ListAccountLabelsRequest parent + * @property {number|null} [pageSize] ListAccountLabelsRequest pageSize + * @property {string|null} [pageToken] ListAccountLabelsRequest pageToken + */ + + /** + * Constructs a new ListAccountLabelsRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListAccountLabelsRequest. + * @implements IListAccountLabelsRequest + * @constructor + * @param {google.shopping.css.v1.IListAccountLabelsRequest=} [properties] Properties to set + */ + function ListAccountLabelsRequest(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]]; + } + + /** + * ListAccountLabelsRequest parent. + * @member {string} parent + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @instance + */ + ListAccountLabelsRequest.prototype.parent = ""; + + /** + * ListAccountLabelsRequest pageSize. + * @member {number} pageSize + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @instance + */ + ListAccountLabelsRequest.prototype.pageSize = 0; + + /** + * ListAccountLabelsRequest pageToken. + * @member {string} pageToken + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @instance + */ + ListAccountLabelsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListAccountLabelsRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IListAccountLabelsRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest instance + */ + ListAccountLabelsRequest.create = function create(properties) { + return new ListAccountLabelsRequest(properties); + }; + + /** + * Encodes the specified ListAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IListAccountLabelsRequest} message ListAccountLabelsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAccountLabelsRequest.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 ListAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.IListAccountLabelsRequest} message ListAccountLabelsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAccountLabelsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListAccountLabelsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAccountLabelsRequest.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.css.v1.ListAccountLabelsRequest(); + 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 ListAccountLabelsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAccountLabelsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListAccountLabelsRequest message. + * @function verify + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListAccountLabelsRequest.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 ListAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest + */ + ListAccountLabelsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListAccountLabelsRequest) + return object; + var message = new $root.google.shopping.css.v1.ListAccountLabelsRequest(); + 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 ListAccountLabelsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {google.shopping.css.v1.ListAccountLabelsRequest} message ListAccountLabelsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListAccountLabelsRequest.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 ListAccountLabelsRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @instance + * @returns {Object.} JSON object + */ + ListAccountLabelsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListAccountLabelsRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListAccountLabelsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListAccountLabelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListAccountLabelsRequest"; + }; + + return ListAccountLabelsRequest; + })(); + + v1.ListAccountLabelsResponse = (function() { + + /** + * Properties of a ListAccountLabelsResponse. + * @memberof google.shopping.css.v1 + * @interface IListAccountLabelsResponse + * @property {Array.|null} [accountLabels] ListAccountLabelsResponse accountLabels + * @property {string|null} [nextPageToken] ListAccountLabelsResponse nextPageToken + */ + + /** + * Constructs a new ListAccountLabelsResponse. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListAccountLabelsResponse. + * @implements IListAccountLabelsResponse + * @constructor + * @param {google.shopping.css.v1.IListAccountLabelsResponse=} [properties] Properties to set + */ + function ListAccountLabelsResponse(properties) { + this.accountLabels = []; + 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]]; + } + + /** + * ListAccountLabelsResponse accountLabels. + * @member {Array.} accountLabels + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @instance + */ + ListAccountLabelsResponse.prototype.accountLabels = $util.emptyArray; + + /** + * ListAccountLabelsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @instance + */ + ListAccountLabelsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListAccountLabelsResponse instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {google.shopping.css.v1.IListAccountLabelsResponse=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse instance + */ + ListAccountLabelsResponse.create = function create(properties) { + return new ListAccountLabelsResponse(properties); + }; + + /** + * Encodes the specified ListAccountLabelsResponse message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {google.shopping.css.v1.IListAccountLabelsResponse} message ListAccountLabelsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAccountLabelsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.accountLabels != null && message.accountLabels.length) + for (var i = 0; i < message.accountLabels.length; ++i) + $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabels[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 ListAccountLabelsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {google.shopping.css.v1.IListAccountLabelsResponse} message ListAccountLabelsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAccountLabelsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListAccountLabelsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAccountLabelsResponse.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.css.v1.ListAccountLabelsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.accountLabels && message.accountLabels.length)) + message.accountLabels = []; + message.accountLabels.push($root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListAccountLabelsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAccountLabelsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListAccountLabelsResponse message. + * @function verify + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListAccountLabelsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.accountLabels != null && message.hasOwnProperty("accountLabels")) { + if (!Array.isArray(message.accountLabels)) + return "accountLabels: array expected"; + for (var i = 0; i < message.accountLabels.length; ++i) { + var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabels[i]); + if (error) + return "accountLabels." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListAccountLabelsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse + */ + ListAccountLabelsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListAccountLabelsResponse) + return object; + var message = new $root.google.shopping.css.v1.ListAccountLabelsResponse(); + if (object.accountLabels) { + if (!Array.isArray(object.accountLabels)) + throw TypeError(".google.shopping.css.v1.ListAccountLabelsResponse.accountLabels: array expected"); + message.accountLabels = []; + for (var i = 0; i < object.accountLabels.length; ++i) { + if (typeof object.accountLabels[i] !== "object") + throw TypeError(".google.shopping.css.v1.ListAccountLabelsResponse.accountLabels: object expected"); + message.accountLabels[i] = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabels[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListAccountLabelsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {google.shopping.css.v1.ListAccountLabelsResponse} message ListAccountLabelsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListAccountLabelsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.accountLabels = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.accountLabels && message.accountLabels.length) { + object.accountLabels = []; + for (var j = 0; j < message.accountLabels.length; ++j) + object.accountLabels[j] = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabels[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListAccountLabelsResponse to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @instance + * @returns {Object.} JSON object + */ + ListAccountLabelsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListAccountLabelsResponse + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListAccountLabelsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListAccountLabelsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListAccountLabelsResponse"; + }; + + return ListAccountLabelsResponse; + })(); + + v1.CreateAccountLabelRequest = (function() { + + /** + * Properties of a CreateAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @interface ICreateAccountLabelRequest + * @property {string|null} [parent] CreateAccountLabelRequest parent + * @property {google.shopping.css.v1.IAccountLabel|null} [accountLabel] CreateAccountLabelRequest accountLabel + */ + + /** + * Constructs a new CreateAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CreateAccountLabelRequest. + * @implements ICreateAccountLabelRequest + * @constructor + * @param {google.shopping.css.v1.ICreateAccountLabelRequest=} [properties] Properties to set + */ + function CreateAccountLabelRequest(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]]; + } + + /** + * CreateAccountLabelRequest parent. + * @member {string} parent + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @instance + */ + CreateAccountLabelRequest.prototype.parent = ""; + + /** + * CreateAccountLabelRequest accountLabel. + * @member {google.shopping.css.v1.IAccountLabel|null|undefined} accountLabel + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @instance + */ + CreateAccountLabelRequest.prototype.accountLabel = null; + + /** + * Creates a new CreateAccountLabelRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.ICreateAccountLabelRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest instance + */ + CreateAccountLabelRequest.create = function create(properties) { + return new CreateAccountLabelRequest(properties); + }; + + /** + * Encodes the specified CreateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.ICreateAccountLabelRequest} message CreateAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAccountLabelRequest.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.accountLabel != null && Object.hasOwnProperty.call(message, "accountLabel")) + $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabel, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CreateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.ICreateAccountLabelRequest} message CreateAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateAccountLabelRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAccountLabelRequest.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.css.v1.CreateAccountLabelRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.accountLabel = $root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateAccountLabelRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateAccountLabelRequest message. + * @function verify + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateAccountLabelRequest.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.accountLabel != null && message.hasOwnProperty("accountLabel")) { + var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabel); + if (error) + return "accountLabel." + error; + } + return null; + }; + + /** + * Creates a CreateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest + */ + CreateAccountLabelRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CreateAccountLabelRequest) + return object; + var message = new $root.google.shopping.css.v1.CreateAccountLabelRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.accountLabel != null) { + if (typeof object.accountLabel !== "object") + throw TypeError(".google.shopping.css.v1.CreateAccountLabelRequest.accountLabel: object expected"); + message.accountLabel = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabel); + } + return message; + }; + + /** + * Creates a plain object from a CreateAccountLabelRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.CreateAccountLabelRequest} message CreateAccountLabelRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateAccountLabelRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.accountLabel = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) + object.accountLabel = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabel, options); + return object; + }; + + /** + * Converts this CreateAccountLabelRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @instance + * @returns {Object.} JSON object + */ + CreateAccountLabelRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CreateAccountLabelRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.CreateAccountLabelRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.CreateAccountLabelRequest"; + }; + + return CreateAccountLabelRequest; + })(); + + v1.UpdateAccountLabelRequest = (function() { + + /** + * Properties of an UpdateAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @interface IUpdateAccountLabelRequest + * @property {google.shopping.css.v1.IAccountLabel|null} [accountLabel] UpdateAccountLabelRequest accountLabel + */ + + /** + * Constructs a new UpdateAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents an UpdateAccountLabelRequest. + * @implements IUpdateAccountLabelRequest + * @constructor + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest=} [properties] Properties to set + */ + function UpdateAccountLabelRequest(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]]; + } + + /** + * UpdateAccountLabelRequest accountLabel. + * @member {google.shopping.css.v1.IAccountLabel|null|undefined} accountLabel + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @instance + */ + UpdateAccountLabelRequest.prototype.accountLabel = null; + + /** + * Creates a new UpdateAccountLabelRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest instance + */ + UpdateAccountLabelRequest.create = function create(properties) { + return new UpdateAccountLabelRequest(properties); + }; + + /** + * Encodes the specified UpdateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} message UpdateAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAccountLabelRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.accountLabel != null && Object.hasOwnProperty.call(message, "accountLabel")) + $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabel, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} message UpdateAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAccountLabelRequest.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.css.v1.UpdateAccountLabelRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.accountLabel = $root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateAccountLabelRequest message. + * @function verify + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateAccountLabelRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) { + var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabel); + if (error) + return "accountLabel." + error; + } + return null; + }; + + /** + * Creates an UpdateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest + */ + UpdateAccountLabelRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.UpdateAccountLabelRequest) + return object; + var message = new $root.google.shopping.css.v1.UpdateAccountLabelRequest(); + if (object.accountLabel != null) { + if (typeof object.accountLabel !== "object") + throw TypeError(".google.shopping.css.v1.UpdateAccountLabelRequest.accountLabel: object expected"); + message.accountLabel = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabel); + } + return message; + }; + + /** + * Creates a plain object from an UpdateAccountLabelRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {google.shopping.css.v1.UpdateAccountLabelRequest} message UpdateAccountLabelRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateAccountLabelRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.accountLabel = null; + if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) + object.accountLabel = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabel, options); + return object; + }; + + /** + * Converts this UpdateAccountLabelRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateAccountLabelRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateAccountLabelRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.UpdateAccountLabelRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.UpdateAccountLabelRequest"; + }; + + return UpdateAccountLabelRequest; + })(); + + v1.DeleteAccountLabelRequest = (function() { + + /** + * Properties of a DeleteAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @interface IDeleteAccountLabelRequest + * @property {string|null} [name] DeleteAccountLabelRequest name + */ + + /** + * Constructs a new DeleteAccountLabelRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a DeleteAccountLabelRequest. + * @implements IDeleteAccountLabelRequest + * @constructor + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest=} [properties] Properties to set + */ + function DeleteAccountLabelRequest(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]]; + } + + /** + * DeleteAccountLabelRequest name. + * @member {string} name + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @instance + */ + DeleteAccountLabelRequest.prototype.name = ""; + + /** + * Creates a new DeleteAccountLabelRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest instance + */ + DeleteAccountLabelRequest.create = function create(properties) { + return new DeleteAccountLabelRequest(properties); + }; + + /** + * Encodes the specified DeleteAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} message DeleteAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAccountLabelRequest.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 DeleteAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} message DeleteAccountLabelRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAccountLabelRequest.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.css.v1.DeleteAccountLabelRequest(); + 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 DeleteAccountLabelRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteAccountLabelRequest message. + * @function verify + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteAccountLabelRequest.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 DeleteAccountLabelRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest + */ + DeleteAccountLabelRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.DeleteAccountLabelRequest) + return object; + var message = new $root.google.shopping.css.v1.DeleteAccountLabelRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteAccountLabelRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {google.shopping.css.v1.DeleteAccountLabelRequest} message DeleteAccountLabelRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteAccountLabelRequest.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 DeleteAccountLabelRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteAccountLabelRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteAccountLabelRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.DeleteAccountLabelRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.DeleteAccountLabelRequest"; + }; + + return DeleteAccountLabelRequest; + })(); + + v1.Attributes = (function() { + + /** + * Properties of an Attributes. + * @memberof google.shopping.css.v1 + * @interface IAttributes + * @property {string|null} [cppLink] Attributes cppLink + * @property {string|null} [cppMobileLink] Attributes cppMobileLink + * @property {string|null} [cppAdsRedirect] Attributes cppAdsRedirect + * @property {google.shopping.type.IPrice|null} [lowPrice] Attributes lowPrice + * @property {google.shopping.type.IPrice|null} [highPrice] Attributes highPrice + * @property {number|Long|null} [numberOfOffers] Attributes numberOfOffers + * @property {string|null} [headlineOfferCondition] Attributes headlineOfferCondition + * @property {google.shopping.type.IPrice|null} [headlineOfferPrice] Attributes headlineOfferPrice + * @property {string|null} [headlineOfferLink] Attributes headlineOfferLink + * @property {string|null} [headlineOfferMobileLink] Attributes headlineOfferMobileLink + * @property {google.shopping.type.IPrice|null} [headlineOfferShippingPrice] Attributes headlineOfferShippingPrice + * @property {string|null} [title] Attributes title + * @property {string|null} [imageLink] Attributes imageLink + * @property {Array.|null} [additionalImageLinks] Attributes additionalImageLinks + * @property {string|null} [description] Attributes description + * @property {string|null} [brand] Attributes brand + * @property {string|null} [mpn] Attributes mpn + * @property {string|null} [gtin] Attributes gtin + * @property {Array.|null} [productTypes] Attributes productTypes + * @property {string|null} [googleProductCategory] Attributes googleProductCategory + * @property {boolean|null} [adult] Attributes adult + * @property {number|Long|null} [multipack] Attributes multipack + * @property {boolean|null} [isBundle] Attributes isBundle + * @property {string|null} [ageGroup] Attributes ageGroup + * @property {string|null} [color] Attributes color + * @property {string|null} [gender] Attributes gender + * @property {string|null} [material] Attributes material + * @property {string|null} [pattern] Attributes pattern + * @property {string|null} [size] Attributes size + * @property {string|null} [sizeSystem] Attributes sizeSystem + * @property {Array.|null} [sizeTypes] Attributes sizeTypes + * @property {string|null} [itemGroupId] Attributes itemGroupId + * @property {Array.|null} [productDetails] Attributes productDetails + * @property {google.shopping.css.v1.IProductWeight|null} [productWeight] Attributes productWeight + * @property {google.shopping.css.v1.IProductDimension|null} [productLength] Attributes productLength + * @property {google.shopping.css.v1.IProductDimension|null} [productWidth] Attributes productWidth + * @property {google.shopping.css.v1.IProductDimension|null} [productHeight] Attributes productHeight + * @property {Array.|null} [productHighlights] Attributes productHighlights + * @property {Array.|null} [certifications] Attributes certifications + * @property {google.protobuf.ITimestamp|null} [expirationDate] Attributes expirationDate + * @property {Array.|null} [includedDestinations] Attributes includedDestinations + * @property {Array.|null} [excludedDestinations] Attributes excludedDestinations + * @property {string|null} [pause] Attributes pause + * @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 {google.shopping.css.v1.IHeadlineOfferInstallment|null} [headlineOfferInstallment] Attributes headlineOfferInstallment + * @property {google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null} [headlineOfferSubscriptionCost] Attributes headlineOfferSubscriptionCost + */ + + /** + * Constructs a new Attributes. + * @memberof google.shopping.css.v1 + * @classdesc Represents an Attributes. + * @implements IAttributes + * @constructor + * @param {google.shopping.css.v1.IAttributes=} [properties] Properties to set + */ + function Attributes(properties) { + this.additionalImageLinks = []; + this.productTypes = []; + this.sizeTypes = []; + this.productDetails = []; + this.productHighlights = []; + this.certifications = []; + this.includedDestinations = []; + this.excludedDestinations = []; + 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 cppLink. + * @member {string|null|undefined} cppLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.cppLink = null; + + /** + * Attributes cppMobileLink. + * @member {string|null|undefined} cppMobileLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.cppMobileLink = null; + + /** + * Attributes cppAdsRedirect. + * @member {string|null|undefined} cppAdsRedirect + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.cppAdsRedirect = null; + + /** + * Attributes lowPrice. + * @member {google.shopping.type.IPrice|null|undefined} lowPrice + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.lowPrice = null; + + /** + * Attributes highPrice. + * @member {google.shopping.type.IPrice|null|undefined} highPrice + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.highPrice = null; + + /** + * Attributes numberOfOffers. + * @member {number|Long|null|undefined} numberOfOffers + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.numberOfOffers = null; + + /** + * Attributes headlineOfferCondition. + * @member {string|null|undefined} headlineOfferCondition + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferCondition = null; + + /** + * Attributes headlineOfferPrice. + * @member {google.shopping.type.IPrice|null|undefined} headlineOfferPrice + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferPrice = null; + + /** + * Attributes headlineOfferLink. + * @member {string|null|undefined} headlineOfferLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferLink = null; + + /** + * Attributes headlineOfferMobileLink. + * @member {string|null|undefined} headlineOfferMobileLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferMobileLink = null; + + /** + * Attributes headlineOfferShippingPrice. + * @member {google.shopping.type.IPrice|null|undefined} headlineOfferShippingPrice + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferShippingPrice = null; + + /** + * Attributes title. + * @member {string|null|undefined} title + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.title = null; + + /** + * Attributes imageLink. + * @member {string|null|undefined} imageLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.imageLink = null; + + /** + * Attributes additionalImageLinks. + * @member {Array.} additionalImageLinks + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.additionalImageLinks = $util.emptyArray; + + /** + * Attributes description. + * @member {string|null|undefined} description + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.description = null; + + /** + * Attributes brand. + * @member {string|null|undefined} brand + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.brand = null; + + /** + * Attributes mpn. + * @member {string|null|undefined} mpn + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.mpn = null; + + /** + * Attributes gtin. + * @member {string|null|undefined} gtin + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.gtin = null; + + /** + * Attributes productTypes. + * @member {Array.} productTypes + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productTypes = $util.emptyArray; + + /** + * Attributes googleProductCategory. + * @member {string|null|undefined} googleProductCategory + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.googleProductCategory = null; + + /** + * Attributes adult. + * @member {boolean|null|undefined} adult + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.adult = null; + + /** + * Attributes multipack. + * @member {number|Long|null|undefined} multipack + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.multipack = null; + + /** + * Attributes isBundle. + * @member {boolean|null|undefined} isBundle + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.isBundle = null; + + /** + * Attributes ageGroup. + * @member {string|null|undefined} ageGroup + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.ageGroup = null; + + /** + * Attributes color. + * @member {string|null|undefined} color + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.color = null; + + /** + * Attributes gender. + * @member {string|null|undefined} gender + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.gender = null; + + /** + * Attributes material. + * @member {string|null|undefined} material + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.material = null; + + /** + * Attributes pattern. + * @member {string|null|undefined} pattern + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.pattern = null; + + /** + * Attributes size. + * @member {string|null|undefined} size + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.size = null; + + /** + * Attributes sizeSystem. + * @member {string|null|undefined} sizeSystem + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.sizeSystem = null; + + /** + * Attributes sizeTypes. + * @member {Array.} sizeTypes + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.sizeTypes = $util.emptyArray; + + /** + * Attributes itemGroupId. + * @member {string|null|undefined} itemGroupId + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.itemGroupId = null; + + /** + * Attributes productDetails. + * @member {Array.} productDetails + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productDetails = $util.emptyArray; + + /** + * Attributes productWeight. + * @member {google.shopping.css.v1.IProductWeight|null|undefined} productWeight + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productWeight = null; + + /** + * Attributes productLength. + * @member {google.shopping.css.v1.IProductDimension|null|undefined} productLength + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productLength = null; + + /** + * Attributes productWidth. + * @member {google.shopping.css.v1.IProductDimension|null|undefined} productWidth + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productWidth = null; + + /** + * Attributes productHeight. + * @member {google.shopping.css.v1.IProductDimension|null|undefined} productHeight + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productHeight = null; + + /** + * Attributes productHighlights. + * @member {Array.} productHighlights + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.productHighlights = $util.emptyArray; + + /** + * Attributes certifications. + * @member {Array.} certifications + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.certifications = $util.emptyArray; + + /** + * Attributes expirationDate. + * @member {google.protobuf.ITimestamp|null|undefined} expirationDate + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.expirationDate = null; + + /** + * Attributes includedDestinations. + * @member {Array.} includedDestinations + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.includedDestinations = $util.emptyArray; + + /** + * Attributes excludedDestinations. + * @member {Array.} excludedDestinations + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.excludedDestinations = $util.emptyArray; + + /** + * Attributes pause. + * @member {string|null|undefined} pause + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.pause = null; + + /** + * Attributes customLabel_0. + * @member {string|null|undefined} customLabel_0 + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.customLabel_0 = null; + + /** + * Attributes customLabel_1. + * @member {string|null|undefined} customLabel_1 + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.customLabel_1 = null; + + /** + * Attributes customLabel_2. + * @member {string|null|undefined} customLabel_2 + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.customLabel_2 = null; + + /** + * Attributes customLabel_3. + * @member {string|null|undefined} customLabel_3 + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.customLabel_3 = null; + + /** + * Attributes customLabel_4. + * @member {string|null|undefined} customLabel_4 + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.customLabel_4 = null; + + /** + * Attributes headlineOfferInstallment. + * @member {google.shopping.css.v1.IHeadlineOfferInstallment|null|undefined} headlineOfferInstallment + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferInstallment = null; + + /** + * Attributes headlineOfferSubscriptionCost. + * @member {google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null|undefined} headlineOfferSubscriptionCost + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Attributes.prototype.headlineOfferSubscriptionCost = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Attributes _cppLink. + * @member {"cppLink"|undefined} _cppLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_cppLink", { + get: $util.oneOfGetter($oneOfFields = ["cppLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _cppMobileLink. + * @member {"cppMobileLink"|undefined} _cppMobileLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_cppMobileLink", { + get: $util.oneOfGetter($oneOfFields = ["cppMobileLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _cppAdsRedirect. + * @member {"cppAdsRedirect"|undefined} _cppAdsRedirect + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_cppAdsRedirect", { + get: $util.oneOfGetter($oneOfFields = ["cppAdsRedirect"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _numberOfOffers. + * @member {"numberOfOffers"|undefined} _numberOfOffers + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_numberOfOffers", { + get: $util.oneOfGetter($oneOfFields = ["numberOfOffers"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _headlineOfferCondition. + * @member {"headlineOfferCondition"|undefined} _headlineOfferCondition + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_headlineOfferCondition", { + get: $util.oneOfGetter($oneOfFields = ["headlineOfferCondition"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _headlineOfferLink. + * @member {"headlineOfferLink"|undefined} _headlineOfferLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_headlineOfferLink", { + get: $util.oneOfGetter($oneOfFields = ["headlineOfferLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _headlineOfferMobileLink. + * @member {"headlineOfferMobileLink"|undefined} _headlineOfferMobileLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_headlineOfferMobileLink", { + get: $util.oneOfGetter($oneOfFields = ["headlineOfferMobileLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _title. + * @member {"title"|undefined} _title + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_title", { + get: $util.oneOfGetter($oneOfFields = ["title"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _imageLink. + * @member {"imageLink"|undefined} _imageLink + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_imageLink", { + get: $util.oneOfGetter($oneOfFields = ["imageLink"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _description. + * @member {"description"|undefined} _description + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_description", { + get: $util.oneOfGetter($oneOfFields = ["description"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _brand. + * @member {"brand"|undefined} _brand + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_brand", { + get: $util.oneOfGetter($oneOfFields = ["brand"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _mpn. + * @member {"mpn"|undefined} _mpn + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_mpn", { + get: $util.oneOfGetter($oneOfFields = ["mpn"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _gtin. + * @member {"gtin"|undefined} _gtin + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_gtin", { + get: $util.oneOfGetter($oneOfFields = ["gtin"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _googleProductCategory. + * @member {"googleProductCategory"|undefined} _googleProductCategory + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_googleProductCategory", { + get: $util.oneOfGetter($oneOfFields = ["googleProductCategory"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _adult. + * @member {"adult"|undefined} _adult + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_adult", { + get: $util.oneOfGetter($oneOfFields = ["adult"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _multipack. + * @member {"multipack"|undefined} _multipack + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_multipack", { + get: $util.oneOfGetter($oneOfFields = ["multipack"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _isBundle. + * @member {"isBundle"|undefined} _isBundle + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_isBundle", { + get: $util.oneOfGetter($oneOfFields = ["isBundle"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _ageGroup. + * @member {"ageGroup"|undefined} _ageGroup + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_ageGroup", { + get: $util.oneOfGetter($oneOfFields = ["ageGroup"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _color. + * @member {"color"|undefined} _color + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_color", { + get: $util.oneOfGetter($oneOfFields = ["color"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _gender. + * @member {"gender"|undefined} _gender + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_gender", { + get: $util.oneOfGetter($oneOfFields = ["gender"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _material. + * @member {"material"|undefined} _material + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_material", { + get: $util.oneOfGetter($oneOfFields = ["material"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pattern. + * @member {"pattern"|undefined} _pattern + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pattern", { + get: $util.oneOfGetter($oneOfFields = ["pattern"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _size. + * @member {"size"|undefined} _size + * @memberof google.shopping.css.v1.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.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_sizeSystem", { + get: $util.oneOfGetter($oneOfFields = ["sizeSystem"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _itemGroupId. + * @member {"itemGroupId"|undefined} _itemGroupId + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_itemGroupId", { + get: $util.oneOfGetter($oneOfFields = ["itemGroupId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _pause. + * @member {"pause"|undefined} _pause + * @memberof google.shopping.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_pause", { + get: $util.oneOfGetter($oneOfFields = ["pause"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Attributes _customLabel_0. + * @member {"customLabel_0"|undefined} _customLabel_0 + * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.Attributes + * @instance + */ + Object.defineProperty(Attributes.prototype, "_customLabel_4", { + get: $util.oneOfGetter($oneOfFields = ["customLabel_4"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Attributes instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.Attributes + * @static + * @param {google.shopping.css.v1.IAttributes=} [properties] Properties to set + * @returns {google.shopping.css.v1.Attributes} Attributes instance + */ + Attributes.create = function create(properties) { + return new Attributes(properties); + }; + + /** + * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.css.v1.Attributes.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.Attributes + * @static + * @param {google.shopping.css.v1.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.cppLink != null && Object.hasOwnProperty.call(message, "cppLink")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.cppLink); + if (message.cppMobileLink != null && Object.hasOwnProperty.call(message, "cppMobileLink")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.cppMobileLink); + if (message.lowPrice != null && Object.hasOwnProperty.call(message, "lowPrice")) + $root.google.shopping.type.Price.encode(message.lowPrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.highPrice != null && Object.hasOwnProperty.call(message, "highPrice")) + $root.google.shopping.type.Price.encode(message.highPrice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.numberOfOffers != null && Object.hasOwnProperty.call(message, "numberOfOffers")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.numberOfOffers); + if (message.headlineOfferCondition != null && Object.hasOwnProperty.call(message, "headlineOfferCondition")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.headlineOfferCondition); + if (message.headlineOfferPrice != null && Object.hasOwnProperty.call(message, "headlineOfferPrice")) + $root.google.shopping.type.Price.encode(message.headlineOfferPrice, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.headlineOfferLink != null && Object.hasOwnProperty.call(message, "headlineOfferLink")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.headlineOfferLink); + if (message.headlineOfferMobileLink != null && Object.hasOwnProperty.call(message, "headlineOfferMobileLink")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.headlineOfferMobileLink); + if (message.title != null && Object.hasOwnProperty.call(message, "title")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.title); + 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.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.description); + if (message.brand != null && Object.hasOwnProperty.call(message, "brand")) + writer.uint32(/* id 14, wireType 2 =*/114).string(message.brand); + if (message.mpn != null && Object.hasOwnProperty.call(message, "mpn")) + writer.uint32(/* id 15, wireType 2 =*/122).string(message.mpn); + if (message.gtin != null && Object.hasOwnProperty.call(message, "gtin")) + writer.uint32(/* id 16, wireType 2 =*/130).string(message.gtin); + if (message.googleProductCategory != null && Object.hasOwnProperty.call(message, "googleProductCategory")) + writer.uint32(/* id 17, wireType 2 =*/138).string(message.googleProductCategory); + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.adult); + if (message.multipack != null && Object.hasOwnProperty.call(message, "multipack")) + writer.uint32(/* id 19, wireType 0 =*/152).int64(message.multipack); + if (message.isBundle != null && Object.hasOwnProperty.call(message, "isBundle")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.isBundle); + if (message.ageGroup != null && Object.hasOwnProperty.call(message, "ageGroup")) + writer.uint32(/* id 21, wireType 2 =*/170).string(message.ageGroup); + if (message.color != null && Object.hasOwnProperty.call(message, "color")) + writer.uint32(/* id 22, wireType 2 =*/178).string(message.color); + if (message.gender != null && Object.hasOwnProperty.call(message, "gender")) + writer.uint32(/* id 23, wireType 2 =*/186).string(message.gender); + if (message.material != null && Object.hasOwnProperty.call(message, "material")) + writer.uint32(/* id 24, wireType 2 =*/194).string(message.material); + if (message.pattern != null && Object.hasOwnProperty.call(message, "pattern")) + writer.uint32(/* id 25, wireType 2 =*/202).string(message.pattern); + if (message.size != null && Object.hasOwnProperty.call(message, "size")) + writer.uint32(/* id 26, wireType 2 =*/210).string(message.size); + if (message.sizeSystem != null && Object.hasOwnProperty.call(message, "sizeSystem")) + writer.uint32(/* id 27, wireType 2 =*/218).string(message.sizeSystem); + if (message.sizeTypes != null && message.sizeTypes.length) + for (var i = 0; i < message.sizeTypes.length; ++i) + writer.uint32(/* id 28, wireType 2 =*/226).string(message.sizeTypes[i]); + if (message.itemGroupId != null && Object.hasOwnProperty.call(message, "itemGroupId")) + writer.uint32(/* id 29, wireType 2 =*/234).string(message.itemGroupId); + if (message.productDetails != null && message.productDetails.length) + for (var i = 0; i < message.productDetails.length; ++i) + $root.google.shopping.css.v1.ProductDetail.encode(message.productDetails[i], writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); + if (message.productWeight != null && Object.hasOwnProperty.call(message, "productWeight")) + $root.google.shopping.css.v1.ProductWeight.encode(message.productWeight, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); + if (message.productLength != null && Object.hasOwnProperty.call(message, "productLength")) + $root.google.shopping.css.v1.ProductDimension.encode(message.productLength, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); + if (message.productWidth != null && Object.hasOwnProperty.call(message, "productWidth")) + $root.google.shopping.css.v1.ProductDimension.encode(message.productWidth, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); + if (message.productHeight != null && Object.hasOwnProperty.call(message, "productHeight")) + $root.google.shopping.css.v1.ProductDimension.encode(message.productHeight, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); + if (message.productHighlights != null && message.productHighlights.length) + for (var i = 0; i < message.productHighlights.length; ++i) + writer.uint32(/* id 35, wireType 2 =*/282).string(message.productHighlights[i]); + if (message.productTypes != null && message.productTypes.length) + for (var i = 0; i < message.productTypes.length; ++i) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.productTypes[i]); + if (message.certifications != null && message.certifications.length) + for (var i = 0; i < message.certifications.length; ++i) + $root.google.shopping.css.v1.Certification.encode(message.certifications[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); + if (message.expirationDate != null && Object.hasOwnProperty.call(message, "expirationDate")) + $root.google.protobuf.Timestamp.encode(message.expirationDate, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); + if (message.headlineOfferShippingPrice != null && Object.hasOwnProperty.call(message, "headlineOfferShippingPrice")) + $root.google.shopping.type.Price.encode(message.headlineOfferShippingPrice, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); + if (message.cppAdsRedirect != null && Object.hasOwnProperty.call(message, "cppAdsRedirect")) + writer.uint32(/* id 42, wireType 2 =*/338).string(message.cppAdsRedirect); + if (message.includedDestinations != null && message.includedDestinations.length) + for (var i = 0; i < message.includedDestinations.length; ++i) + writer.uint32(/* id 43, wireType 2 =*/346).string(message.includedDestinations[i]); + if (message.excludedDestinations != null && message.excludedDestinations.length) + for (var i = 0; i < message.excludedDestinations.length; ++i) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.excludedDestinations[i]); + if (message.pause != null && Object.hasOwnProperty.call(message, "pause")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.pause); + if (message.customLabel_0 != null && Object.hasOwnProperty.call(message, "customLabel_0")) + writer.uint32(/* id 46, wireType 2 =*/370).string(message.customLabel_0); + if (message.customLabel_1 != null && Object.hasOwnProperty.call(message, "customLabel_1")) + writer.uint32(/* id 47, wireType 2 =*/378).string(message.customLabel_1); + if (message.customLabel_2 != null && Object.hasOwnProperty.call(message, "customLabel_2")) + writer.uint32(/* id 48, wireType 2 =*/386).string(message.customLabel_2); + if (message.customLabel_3 != null && Object.hasOwnProperty.call(message, "customLabel_3")) + writer.uint32(/* id 49, wireType 2 =*/394).string(message.customLabel_3); + if (message.customLabel_4 != null && Object.hasOwnProperty.call(message, "customLabel_4")) + writer.uint32(/* id 50, wireType 2 =*/402).string(message.customLabel_4); + if (message.headlineOfferInstallment != null && Object.hasOwnProperty.call(message, "headlineOfferInstallment")) + $root.google.shopping.css.v1.HeadlineOfferInstallment.encode(message.headlineOfferInstallment, writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); + if (message.headlineOfferSubscriptionCost != null && Object.hasOwnProperty.call(message, "headlineOfferSubscriptionCost")) + $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.encode(message.headlineOfferSubscriptionCost, writer.uint32(/* id 52, wireType 2 =*/418).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.css.v1.Attributes.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.Attributes + * @static + * @param {google.shopping.css.v1.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.css.v1.Attributes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.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.css.v1.Attributes(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.cppLink = reader.string(); + break; + } + case 2: { + message.cppMobileLink = reader.string(); + break; + } + case 42: { + message.cppAdsRedirect = reader.string(); + break; + } + case 3: { + message.lowPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 4: { + message.highPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 5: { + message.numberOfOffers = reader.int64(); + break; + } + case 6: { + message.headlineOfferCondition = reader.string(); + break; + } + case 7: { + message.headlineOfferPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 8: { + message.headlineOfferLink = reader.string(); + break; + } + case 9: { + message.headlineOfferMobileLink = reader.string(); + break; + } + case 41: { + message.headlineOfferShippingPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); + break; + } + case 10: { + message.title = 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 13: { + message.description = reader.string(); + break; + } + case 14: { + message.brand = reader.string(); + break; + } + case 15: { + message.mpn = reader.string(); + break; + } + case 16: { + message.gtin = reader.string(); + break; + } + case 36: { + if (!(message.productTypes && message.productTypes.length)) + message.productTypes = []; + message.productTypes.push(reader.string()); + break; + } + case 17: { + message.googleProductCategory = reader.string(); + break; + } + case 18: { + message.adult = reader.bool(); + break; + } + case 19: { + message.multipack = reader.int64(); + break; + } + case 20: { + message.isBundle = reader.bool(); + break; + } + case 21: { + message.ageGroup = reader.string(); + break; + } + case 22: { + message.color = reader.string(); + break; + } + case 23: { + message.gender = reader.string(); + break; + } + case 24: { + message.material = reader.string(); + break; + } + case 25: { + message.pattern = reader.string(); + break; + } + case 26: { + message.size = reader.string(); + break; + } + case 27: { + message.sizeSystem = reader.string(); + break; + } + case 28: { + if (!(message.sizeTypes && message.sizeTypes.length)) + message.sizeTypes = []; + message.sizeTypes.push(reader.string()); + break; + } + case 29: { + message.itemGroupId = reader.string(); + break; + } + case 30: { + if (!(message.productDetails && message.productDetails.length)) + message.productDetails = []; + message.productDetails.push($root.google.shopping.css.v1.ProductDetail.decode(reader, reader.uint32())); + break; + } + case 31: { + message.productWeight = $root.google.shopping.css.v1.ProductWeight.decode(reader, reader.uint32()); + break; + } + case 32: { + message.productLength = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 33: { + message.productWidth = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 34: { + message.productHeight = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); + break; + } + case 35: { + if (!(message.productHighlights && message.productHighlights.length)) + message.productHighlights = []; + message.productHighlights.push(reader.string()); + break; + } + case 39: { + if (!(message.certifications && message.certifications.length)) + message.certifications = []; + message.certifications.push($root.google.shopping.css.v1.Certification.decode(reader, reader.uint32())); + break; + } + case 40: { + message.expirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 43: { + if (!(message.includedDestinations && message.includedDestinations.length)) + message.includedDestinations = []; + message.includedDestinations.push(reader.string()); + break; + } + case 44: { + if (!(message.excludedDestinations && message.excludedDestinations.length)) + message.excludedDestinations = []; + message.excludedDestinations.push(reader.string()); + break; + } + case 45: { + message.pause = reader.string(); + break; + } + case 46: { + message.customLabel_0 = reader.string(); + break; + } + case 47: { + message.customLabel_1 = reader.string(); + break; + } + case 48: { + message.customLabel_2 = reader.string(); + break; + } + case 49: { + message.customLabel_3 = reader.string(); + break; + } + case 50: { + message.customLabel_4 = reader.string(); + break; + } + case 51: { + message.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.decode(reader, reader.uint32()); + break; + } + case 52: { + message.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.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.css.v1.Attributes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.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.css.v1.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.cppLink != null && message.hasOwnProperty("cppLink")) { + properties._cppLink = 1; + if (!$util.isString(message.cppLink)) + return "cppLink: string expected"; + } + if (message.cppMobileLink != null && message.hasOwnProperty("cppMobileLink")) { + properties._cppMobileLink = 1; + if (!$util.isString(message.cppMobileLink)) + return "cppMobileLink: string expected"; + } + if (message.cppAdsRedirect != null && message.hasOwnProperty("cppAdsRedirect")) { + properties._cppAdsRedirect = 1; + if (!$util.isString(message.cppAdsRedirect)) + return "cppAdsRedirect: string expected"; + } + if (message.lowPrice != null && message.hasOwnProperty("lowPrice")) { + var error = $root.google.shopping.type.Price.verify(message.lowPrice); + if (error) + return "lowPrice." + error; + } + if (message.highPrice != null && message.hasOwnProperty("highPrice")) { + var error = $root.google.shopping.type.Price.verify(message.highPrice); + if (error) + return "highPrice." + error; + } + if (message.numberOfOffers != null && message.hasOwnProperty("numberOfOffers")) { + properties._numberOfOffers = 1; + if (!$util.isInteger(message.numberOfOffers) && !(message.numberOfOffers && $util.isInteger(message.numberOfOffers.low) && $util.isInteger(message.numberOfOffers.high))) + return "numberOfOffers: integer|Long expected"; + } + if (message.headlineOfferCondition != null && message.hasOwnProperty("headlineOfferCondition")) { + properties._headlineOfferCondition = 1; + if (!$util.isString(message.headlineOfferCondition)) + return "headlineOfferCondition: string expected"; + } + if (message.headlineOfferPrice != null && message.hasOwnProperty("headlineOfferPrice")) { + var error = $root.google.shopping.type.Price.verify(message.headlineOfferPrice); + if (error) + return "headlineOfferPrice." + error; + } + if (message.headlineOfferLink != null && message.hasOwnProperty("headlineOfferLink")) { + properties._headlineOfferLink = 1; + if (!$util.isString(message.headlineOfferLink)) + return "headlineOfferLink: string expected"; + } + if (message.headlineOfferMobileLink != null && message.hasOwnProperty("headlineOfferMobileLink")) { + properties._headlineOfferMobileLink = 1; + if (!$util.isString(message.headlineOfferMobileLink)) + return "headlineOfferMobileLink: string expected"; + } + if (message.headlineOfferShippingPrice != null && message.hasOwnProperty("headlineOfferShippingPrice")) { + var error = $root.google.shopping.type.Price.verify(message.headlineOfferShippingPrice); + if (error) + return "headlineOfferShippingPrice." + error; + } + if (message.title != null && message.hasOwnProperty("title")) { + properties._title = 1; + if (!$util.isString(message.title)) + return "title: 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.description != null && message.hasOwnProperty("description")) { + properties._description = 1; + if (!$util.isString(message.description)) + return "description: string expected"; + } + if (message.brand != null && message.hasOwnProperty("brand")) { + properties._brand = 1; + if (!$util.isString(message.brand)) + return "brand: string expected"; + } + if (message.mpn != null && message.hasOwnProperty("mpn")) { + properties._mpn = 1; + if (!$util.isString(message.mpn)) + return "mpn: string expected"; + } + if (message.gtin != null && message.hasOwnProperty("gtin")) { + properties._gtin = 1; + if (!$util.isString(message.gtin)) + return "gtin: string expected"; + } + 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.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { + properties._googleProductCategory = 1; + if (!$util.isString(message.googleProductCategory)) + return "googleProductCategory: string expected"; + } + if (message.adult != null && message.hasOwnProperty("adult")) { + properties._adult = 1; + if (typeof message.adult !== "boolean") + return "adult: boolean expected"; + } + 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.isBundle != null && message.hasOwnProperty("isBundle")) { + properties._isBundle = 1; + if (typeof message.isBundle !== "boolean") + return "isBundle: boolean expected"; + } + if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { + properties._ageGroup = 1; + if (!$util.isString(message.ageGroup)) + return "ageGroup: string expected"; + } + if (message.color != null && message.hasOwnProperty("color")) { + properties._color = 1; + if (!$util.isString(message.color)) + return "color: string expected"; + } + if (message.gender != null && message.hasOwnProperty("gender")) { + properties._gender = 1; + if (!$util.isString(message.gender)) + return "gender: string expected"; + } + if (message.material != null && message.hasOwnProperty("material")) { + properties._material = 1; + if (!$util.isString(message.material)) + return "material: string expected"; + } + if (message.pattern != null && message.hasOwnProperty("pattern")) { + properties._pattern = 1; + if (!$util.isString(message.pattern)) + return "pattern: 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.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { + properties._itemGroupId = 1; + if (!$util.isString(message.itemGroupId)) + return "itemGroupId: string expected"; + } + 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.css.v1.ProductDetail.verify(message.productDetails[i]); + if (error) + return "productDetails." + error; + } + } + if (message.productWeight != null && message.hasOwnProperty("productWeight")) { + var error = $root.google.shopping.css.v1.ProductWeight.verify(message.productWeight); + if (error) + return "productWeight." + error; + } + if (message.productLength != null && message.hasOwnProperty("productLength")) { + var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productLength); + if (error) + return "productLength." + error; + } + if (message.productWidth != null && message.hasOwnProperty("productWidth")) { + var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productWidth); + if (error) + return "productWidth." + error; + } + if (message.productHeight != null && message.hasOwnProperty("productHeight")) { + var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productHeight); + if (error) + return "productHeight." + 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.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.css.v1.Certification.verify(message.certifications[i]); + if (error) + return "certifications." + error; + } + } + if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) { + var error = $root.google.protobuf.Timestamp.verify(message.expirationDate); + if (error) + return "expirationDate." + error; + } + 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.pause != null && message.hasOwnProperty("pause")) { + properties._pause = 1; + if (!$util.isString(message.pause)) + return "pause: 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.headlineOfferInstallment != null && message.hasOwnProperty("headlineOfferInstallment")) { + var error = $root.google.shopping.css.v1.HeadlineOfferInstallment.verify(message.headlineOfferInstallment); + if (error) + return "headlineOfferInstallment." + error; + } + if (message.headlineOfferSubscriptionCost != null && message.hasOwnProperty("headlineOfferSubscriptionCost")) { + var error = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify(message.headlineOfferSubscriptionCost); + if (error) + return "headlineOfferSubscriptionCost." + error; + } + return null; + }; + + /** + * Creates an Attributes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.Attributes + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.Attributes} Attributes + */ + Attributes.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.Attributes) + return object; + var message = new $root.google.shopping.css.v1.Attributes(); + if (object.cppLink != null) + message.cppLink = String(object.cppLink); + if (object.cppMobileLink != null) + message.cppMobileLink = String(object.cppMobileLink); + if (object.cppAdsRedirect != null) + message.cppAdsRedirect = String(object.cppAdsRedirect); + if (object.lowPrice != null) { + if (typeof object.lowPrice !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.lowPrice: object expected"); + message.lowPrice = $root.google.shopping.type.Price.fromObject(object.lowPrice); + } + if (object.highPrice != null) { + if (typeof object.highPrice !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.highPrice: object expected"); + message.highPrice = $root.google.shopping.type.Price.fromObject(object.highPrice); + } + if (object.numberOfOffers != null) + if ($util.Long) + (message.numberOfOffers = $util.Long.fromValue(object.numberOfOffers)).unsigned = false; + else if (typeof object.numberOfOffers === "string") + message.numberOfOffers = parseInt(object.numberOfOffers, 10); + else if (typeof object.numberOfOffers === "number") + message.numberOfOffers = object.numberOfOffers; + else if (typeof object.numberOfOffers === "object") + message.numberOfOffers = new $util.LongBits(object.numberOfOffers.low >>> 0, object.numberOfOffers.high >>> 0).toNumber(); + if (object.headlineOfferCondition != null) + message.headlineOfferCondition = String(object.headlineOfferCondition); + if (object.headlineOfferPrice != null) { + if (typeof object.headlineOfferPrice !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferPrice: object expected"); + message.headlineOfferPrice = $root.google.shopping.type.Price.fromObject(object.headlineOfferPrice); + } + if (object.headlineOfferLink != null) + message.headlineOfferLink = String(object.headlineOfferLink); + if (object.headlineOfferMobileLink != null) + message.headlineOfferMobileLink = String(object.headlineOfferMobileLink); + if (object.headlineOfferShippingPrice != null) { + if (typeof object.headlineOfferShippingPrice !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferShippingPrice: object expected"); + message.headlineOfferShippingPrice = $root.google.shopping.type.Price.fromObject(object.headlineOfferShippingPrice); + } + if (object.title != null) + message.title = String(object.title); + if (object.imageLink != null) + message.imageLink = String(object.imageLink); + if (object.additionalImageLinks) { + if (!Array.isArray(object.additionalImageLinks)) + throw TypeError(".google.shopping.css.v1.Attributes.additionalImageLinks: array expected"); + message.additionalImageLinks = []; + for (var i = 0; i < object.additionalImageLinks.length; ++i) + message.additionalImageLinks[i] = String(object.additionalImageLinks[i]); + } + if (object.description != null) + message.description = String(object.description); + if (object.brand != null) + message.brand = String(object.brand); + if (object.mpn != null) + message.mpn = String(object.mpn); + if (object.gtin != null) + message.gtin = String(object.gtin); + if (object.productTypes) { + if (!Array.isArray(object.productTypes)) + throw TypeError(".google.shopping.css.v1.Attributes.productTypes: array expected"); + message.productTypes = []; + for (var i = 0; i < object.productTypes.length; ++i) + message.productTypes[i] = String(object.productTypes[i]); + } + if (object.googleProductCategory != null) + message.googleProductCategory = String(object.googleProductCategory); + if (object.adult != null) + message.adult = Boolean(object.adult); + 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.isBundle != null) + message.isBundle = Boolean(object.isBundle); + if (object.ageGroup != null) + message.ageGroup = String(object.ageGroup); + if (object.color != null) + message.color = String(object.color); + if (object.gender != null) + message.gender = String(object.gender); + if (object.material != null) + message.material = String(object.material); + if (object.pattern != null) + message.pattern = String(object.pattern); + 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.css.v1.Attributes.sizeTypes: array expected"); + message.sizeTypes = []; + for (var i = 0; i < object.sizeTypes.length; ++i) + message.sizeTypes[i] = String(object.sizeTypes[i]); + } + if (object.itemGroupId != null) + message.itemGroupId = String(object.itemGroupId); + if (object.productDetails) { + if (!Array.isArray(object.productDetails)) + throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.productDetails: object expected"); + message.productDetails[i] = $root.google.shopping.css.v1.ProductDetail.fromObject(object.productDetails[i]); + } + } + if (object.productWeight != null) { + if (typeof object.productWeight !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.productWeight: object expected"); + message.productWeight = $root.google.shopping.css.v1.ProductWeight.fromObject(object.productWeight); + } + if (object.productLength != null) { + if (typeof object.productLength !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.productLength: object expected"); + message.productLength = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productLength); + } + if (object.productWidth != null) { + if (typeof object.productWidth !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.productWidth: object expected"); + message.productWidth = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productWidth); + } + if (object.productHeight != null) { + if (typeof object.productHeight !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.productHeight: object expected"); + message.productHeight = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productHeight); + } + if (object.productHighlights) { + if (!Array.isArray(object.productHighlights)) + throw TypeError(".google.shopping.css.v1.Attributes.productHighlights: array expected"); + message.productHighlights = []; + for (var i = 0; i < object.productHighlights.length; ++i) + message.productHighlights[i] = String(object.productHighlights[i]); + } + if (object.certifications) { + if (!Array.isArray(object.certifications)) + throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.certifications: object expected"); + message.certifications[i] = $root.google.shopping.css.v1.Certification.fromObject(object.certifications[i]); + } + } + if (object.expirationDate != null) { + if (typeof object.expirationDate !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.expirationDate: object expected"); + message.expirationDate = $root.google.protobuf.Timestamp.fromObject(object.expirationDate); + } + if (object.includedDestinations) { + if (!Array.isArray(object.includedDestinations)) + throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.excludedDestinations: array expected"); + message.excludedDestinations = []; + for (var i = 0; i < object.excludedDestinations.length; ++i) + message.excludedDestinations[i] = String(object.excludedDestinations[i]); + } + if (object.pause != null) + message.pause = String(object.pause); + 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.headlineOfferInstallment != null) { + if (typeof object.headlineOfferInstallment !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferInstallment: object expected"); + message.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.fromObject(object.headlineOfferInstallment); + } + if (object.headlineOfferSubscriptionCost != null) { + if (typeof object.headlineOfferSubscriptionCost !== "object") + throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferSubscriptionCost: object expected"); + message.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.fromObject(object.headlineOfferSubscriptionCost); + } + return message; + }; + + /** + * Creates a plain object from an Attributes message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.Attributes + * @static + * @param {google.shopping.css.v1.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.sizeTypes = []; + object.productDetails = []; + object.productHighlights = []; + object.productTypes = []; + object.certifications = []; + object.includedDestinations = []; + object.excludedDestinations = []; + } + if (options.defaults) { + object.lowPrice = null; + object.highPrice = null; + object.headlineOfferPrice = null; + object.productWeight = null; + object.productLength = null; + object.productWidth = null; + object.productHeight = null; + object.expirationDate = null; + object.headlineOfferShippingPrice = null; + object.headlineOfferInstallment = null; + object.headlineOfferSubscriptionCost = null; + } + if (message.cppLink != null && message.hasOwnProperty("cppLink")) { + object.cppLink = message.cppLink; + if (options.oneofs) + object._cppLink = "cppLink"; + } + if (message.cppMobileLink != null && message.hasOwnProperty("cppMobileLink")) { + object.cppMobileLink = message.cppMobileLink; + if (options.oneofs) + object._cppMobileLink = "cppMobileLink"; + } + if (message.lowPrice != null && message.hasOwnProperty("lowPrice")) + object.lowPrice = $root.google.shopping.type.Price.toObject(message.lowPrice, options); + if (message.highPrice != null && message.hasOwnProperty("highPrice")) + object.highPrice = $root.google.shopping.type.Price.toObject(message.highPrice, options); + if (message.numberOfOffers != null && message.hasOwnProperty("numberOfOffers")) { + if (typeof message.numberOfOffers === "number") + object.numberOfOffers = options.longs === String ? String(message.numberOfOffers) : message.numberOfOffers; + else + object.numberOfOffers = options.longs === String ? $util.Long.prototype.toString.call(message.numberOfOffers) : options.longs === Number ? new $util.LongBits(message.numberOfOffers.low >>> 0, message.numberOfOffers.high >>> 0).toNumber() : message.numberOfOffers; + if (options.oneofs) + object._numberOfOffers = "numberOfOffers"; + } + if (message.headlineOfferCondition != null && message.hasOwnProperty("headlineOfferCondition")) { + object.headlineOfferCondition = message.headlineOfferCondition; + if (options.oneofs) + object._headlineOfferCondition = "headlineOfferCondition"; + } + if (message.headlineOfferPrice != null && message.hasOwnProperty("headlineOfferPrice")) + object.headlineOfferPrice = $root.google.shopping.type.Price.toObject(message.headlineOfferPrice, options); + if (message.headlineOfferLink != null && message.hasOwnProperty("headlineOfferLink")) { + object.headlineOfferLink = message.headlineOfferLink; + if (options.oneofs) + object._headlineOfferLink = "headlineOfferLink"; + } + if (message.headlineOfferMobileLink != null && message.hasOwnProperty("headlineOfferMobileLink")) { + object.headlineOfferMobileLink = message.headlineOfferMobileLink; + if (options.oneofs) + object._headlineOfferMobileLink = "headlineOfferMobileLink"; + } + if (message.title != null && message.hasOwnProperty("title")) { + object.title = message.title; + if (options.oneofs) + object._title = "title"; + } + 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.description != null && message.hasOwnProperty("description")) { + object.description = message.description; + if (options.oneofs) + object._description = "description"; + } + if (message.brand != null && message.hasOwnProperty("brand")) { + object.brand = message.brand; + if (options.oneofs) + object._brand = "brand"; + } + if (message.mpn != null && message.hasOwnProperty("mpn")) { + object.mpn = message.mpn; + if (options.oneofs) + object._mpn = "mpn"; + } + if (message.gtin != null && message.hasOwnProperty("gtin")) { + object.gtin = message.gtin; + if (options.oneofs) + object._gtin = "gtin"; + } + if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { + object.googleProductCategory = message.googleProductCategory; + if (options.oneofs) + object._googleProductCategory = "googleProductCategory"; + } + if (message.adult != null && message.hasOwnProperty("adult")) { + object.adult = message.adult; + if (options.oneofs) + object._adult = "adult"; + } + 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.isBundle != null && message.hasOwnProperty("isBundle")) { + object.isBundle = message.isBundle; + if (options.oneofs) + object._isBundle = "isBundle"; + } + if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { + object.ageGroup = message.ageGroup; + if (options.oneofs) + object._ageGroup = "ageGroup"; + } + if (message.color != null && message.hasOwnProperty("color")) { + object.color = message.color; + if (options.oneofs) + object._color = "color"; + } + if (message.gender != null && message.hasOwnProperty("gender")) { + object.gender = message.gender; + if (options.oneofs) + object._gender = "gender"; + } + if (message.material != null && message.hasOwnProperty("material")) { + object.material = message.material; + if (options.oneofs) + object._material = "material"; + } + if (message.pattern != null && message.hasOwnProperty("pattern")) { + object.pattern = message.pattern; + if (options.oneofs) + object._pattern = "pattern"; + } + 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.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { + object.itemGroupId = message.itemGroupId; + if (options.oneofs) + object._itemGroupId = "itemGroupId"; + } + if (message.productDetails && message.productDetails.length) { + object.productDetails = []; + for (var j = 0; j < message.productDetails.length; ++j) + object.productDetails[j] = $root.google.shopping.css.v1.ProductDetail.toObject(message.productDetails[j], options); + } + if (message.productWeight != null && message.hasOwnProperty("productWeight")) + object.productWeight = $root.google.shopping.css.v1.ProductWeight.toObject(message.productWeight, options); + if (message.productLength != null && message.hasOwnProperty("productLength")) + object.productLength = $root.google.shopping.css.v1.ProductDimension.toObject(message.productLength, options); + if (message.productWidth != null && message.hasOwnProperty("productWidth")) + object.productWidth = $root.google.shopping.css.v1.ProductDimension.toObject(message.productWidth, options); + if (message.productHeight != null && message.hasOwnProperty("productHeight")) + object.productHeight = $root.google.shopping.css.v1.ProductDimension.toObject(message.productHeight, 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.productTypes && message.productTypes.length) { + object.productTypes = []; + for (var j = 0; j < message.productTypes.length; ++j) + object.productTypes[j] = message.productTypes[j]; + } + if (message.certifications && message.certifications.length) { + object.certifications = []; + for (var j = 0; j < message.certifications.length; ++j) + object.certifications[j] = $root.google.shopping.css.v1.Certification.toObject(message.certifications[j], options); + } + if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) + object.expirationDate = $root.google.protobuf.Timestamp.toObject(message.expirationDate, options); + if (message.headlineOfferShippingPrice != null && message.hasOwnProperty("headlineOfferShippingPrice")) + object.headlineOfferShippingPrice = $root.google.shopping.type.Price.toObject(message.headlineOfferShippingPrice, options); + if (message.cppAdsRedirect != null && message.hasOwnProperty("cppAdsRedirect")) { + object.cppAdsRedirect = message.cppAdsRedirect; + if (options.oneofs) + object._cppAdsRedirect = "cppAdsRedirect"; + } + 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.pause != null && message.hasOwnProperty("pause")) { + object.pause = message.pause; + if (options.oneofs) + object._pause = "pause"; + } + 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.headlineOfferInstallment != null && message.hasOwnProperty("headlineOfferInstallment")) + object.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.toObject(message.headlineOfferInstallment, options); + if (message.headlineOfferSubscriptionCost != null && message.hasOwnProperty("headlineOfferSubscriptionCost")) + object.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.toObject(message.headlineOfferSubscriptionCost, options); + return object; + }; + + /** + * Converts this Attributes to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.Attributes"; + }; + + return Attributes; + })(); + + v1.Certification = (function() { + + /** + * Properties of a Certification. + * @memberof google.shopping.css.v1 + * @interface ICertification + * @property {string|null} [name] Certification name + * @property {string|null} [authority] Certification authority + * @property {string|null} [code] Certification code + */ + + /** + * Constructs a new Certification. + * @memberof google.shopping.css.v1 + * @classdesc Represents a Certification. + * @implements ICertification + * @constructor + * @param {google.shopping.css.v1.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 name. + * @member {string} name + * @memberof google.shopping.css.v1.Certification + * @instance + */ + Certification.prototype.name = ""; + + /** + * Certification authority. + * @member {string} authority + * @memberof google.shopping.css.v1.Certification + * @instance + */ + Certification.prototype.authority = ""; + + /** + * Certification code. + * @member {string} code + * @memberof google.shopping.css.v1.Certification + * @instance + */ + Certification.prototype.code = ""; + + /** + * Creates a new Certification instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.Certification + * @static + * @param {google.shopping.css.v1.ICertification=} [properties] Properties to set + * @returns {google.shopping.css.v1.Certification} Certification instance + */ + Certification.create = function create(properties) { + return new Certification(properties); + }; + + /** + * Encodes the specified Certification message. Does not implicitly {@link google.shopping.css.v1.Certification.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.Certification + * @static + * @param {google.shopping.css.v1.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.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.authority != null && Object.hasOwnProperty.call(message, "authority")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.authority); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.code); + return writer; + }; + + /** + * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.css.v1.Certification.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.Certification + * @static + * @param {google.shopping.css.v1.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.css.v1.Certification + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.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.css.v1.Certification(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.authority = reader.string(); + break; + } + case 3: { + message.code = 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.css.v1.Certification + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.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.css.v1.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"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.authority != null && message.hasOwnProperty("authority")) + if (!$util.isString(message.authority)) + return "authority: string expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isString(message.code)) + return "code: 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.css.v1.Certification + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.Certification} Certification + */ + Certification.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.Certification) + return object; + var message = new $root.google.shopping.css.v1.Certification(); + if (object.name != null) + message.name = String(object.name); + if (object.authority != null) + message.authority = String(object.authority); + if (object.code != null) + message.code = String(object.code); + return message; + }; + + /** + * Creates a plain object from a Certification message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.Certification + * @static + * @param {google.shopping.css.v1.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 (options.defaults) { + object.name = ""; + object.authority = ""; + object.code = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.authority != null && message.hasOwnProperty("authority")) + object.authority = message.authority; + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + return object; + }; + + /** + * Converts this Certification to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.Certification"; + }; + + return Certification; + })(); + + v1.ProductDetail = (function() { + + /** + * Properties of a ProductDetail. + * @memberof google.shopping.css.v1 + * @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.css.v1 + * @classdesc Represents a ProductDetail. + * @implements IProductDetail + * @constructor + * @param {google.shopping.css.v1.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.css.v1.ProductDetail + * @instance + */ + ProductDetail.prototype.sectionName = ""; + + /** + * ProductDetail attributeName. + * @member {string} attributeName + * @memberof google.shopping.css.v1.ProductDetail + * @instance + */ + ProductDetail.prototype.attributeName = ""; + + /** + * ProductDetail attributeValue. + * @member {string} attributeValue + * @memberof google.shopping.css.v1.ProductDetail + * @instance + */ + ProductDetail.prototype.attributeValue = ""; + + /** + * Creates a new ProductDetail instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ProductDetail + * @static + * @param {google.shopping.css.v1.IProductDetail=} [properties] Properties to set + * @returns {google.shopping.css.v1.ProductDetail} ProductDetail instance + */ + ProductDetail.create = function create(properties) { + return new ProductDetail(properties); + }; + + /** + * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.css.v1.ProductDetail.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ProductDetail + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductDetail.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ProductDetail + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductDetail + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDetail + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDetail + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ProductDetail} ProductDetail + */ + ProductDetail.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ProductDetail) + return object; + var message = new $root.google.shopping.css.v1.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.css.v1.ProductDetail + * @static + * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductDetail"; + }; + + return ProductDetail; + })(); + + v1.ProductDimension = (function() { + + /** + * Properties of a ProductDimension. + * @memberof google.shopping.css.v1 + * @interface IProductDimension + * @property {number|null} [value] ProductDimension value + * @property {string|null} [unit] ProductDimension unit + */ + + /** + * Constructs a new ProductDimension. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ProductDimension. + * @implements IProductDimension + * @constructor + * @param {google.shopping.css.v1.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.css.v1.ProductDimension + * @instance + */ + ProductDimension.prototype.value = 0; + + /** + * ProductDimension unit. + * @member {string} unit + * @memberof google.shopping.css.v1.ProductDimension + * @instance + */ + ProductDimension.prototype.unit = ""; + + /** + * Creates a new ProductDimension instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ProductDimension + * @static + * @param {google.shopping.css.v1.IProductDimension=} [properties] Properties to set + * @returns {google.shopping.css.v1.ProductDimension} ProductDimension instance + */ + ProductDimension.create = function create(properties) { + return new ProductDimension(properties); + }; + + /** + * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.css.v1.ProductDimension.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ProductDimension + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductDimension.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ProductDimension + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDimension + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDimension + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ProductDimension} ProductDimension + */ + ProductDimension.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ProductDimension) + return object; + var message = new $root.google.shopping.css.v1.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.css.v1.ProductDimension + * @static + * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductDimension"; + }; + + return ProductDimension; + })(); + + v1.ProductWeight = (function() { + + /** + * Properties of a ProductWeight. + * @memberof google.shopping.css.v1 + * @interface IProductWeight + * @property {number|null} [value] ProductWeight value + * @property {string|null} [unit] ProductWeight unit + */ + + /** + * Constructs a new ProductWeight. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ProductWeight. + * @implements IProductWeight + * @constructor + * @param {google.shopping.css.v1.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.css.v1.ProductWeight + * @instance + */ + ProductWeight.prototype.value = 0; + + /** + * ProductWeight unit. + * @member {string} unit + * @memberof google.shopping.css.v1.ProductWeight + * @instance + */ + ProductWeight.prototype.unit = ""; + + /** + * Creates a new ProductWeight instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ProductWeight + * @static + * @param {google.shopping.css.v1.IProductWeight=} [properties] Properties to set + * @returns {google.shopping.css.v1.ProductWeight} ProductWeight instance + */ + ProductWeight.create = function create(properties) { + return new ProductWeight(properties); + }; + + /** + * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.css.v1.ProductWeight.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ProductWeight + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductWeight.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ProductWeight + * @static + * @param {google.shopping.css.v1.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.css.v1.ProductWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductWeight + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductWeight + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ProductWeight} ProductWeight + */ + ProductWeight.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ProductWeight) + return object; + var message = new $root.google.shopping.css.v1.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.css.v1.ProductWeight + * @static + * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductWeight"; + }; + + return ProductWeight; + })(); + + v1.CssProductStatus = (function() { + + /** + * Properties of a CssProductStatus. + * @memberof google.shopping.css.v1 + * @interface ICssProductStatus + * @property {Array.|null} [destinationStatuses] CssProductStatus destinationStatuses + * @property {Array.|null} [itemLevelIssues] CssProductStatus itemLevelIssues + * @property {google.protobuf.ITimestamp|null} [creationDate] CssProductStatus creationDate + * @property {google.protobuf.ITimestamp|null} [lastUpdateDate] CssProductStatus lastUpdateDate + * @property {google.protobuf.ITimestamp|null} [googleExpirationDate] CssProductStatus googleExpirationDate + */ + + /** + * Constructs a new CssProductStatus. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CssProductStatus. + * @implements ICssProductStatus + * @constructor + * @param {google.shopping.css.v1.ICssProductStatus=} [properties] Properties to set + */ + function CssProductStatus(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]]; + } + + /** + * CssProductStatus destinationStatuses. + * @member {Array.} destinationStatuses + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + */ + CssProductStatus.prototype.destinationStatuses = $util.emptyArray; + + /** + * CssProductStatus itemLevelIssues. + * @member {Array.} itemLevelIssues + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + */ + CssProductStatus.prototype.itemLevelIssues = $util.emptyArray; + + /** + * CssProductStatus creationDate. + * @member {google.protobuf.ITimestamp|null|undefined} creationDate + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + */ + CssProductStatus.prototype.creationDate = null; + + /** + * CssProductStatus lastUpdateDate. + * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateDate + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + */ + CssProductStatus.prototype.lastUpdateDate = null; + + /** + * CssProductStatus googleExpirationDate. + * @member {google.protobuf.ITimestamp|null|undefined} googleExpirationDate + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + */ + CssProductStatus.prototype.googleExpirationDate = null; + + /** + * Creates a new CssProductStatus instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {google.shopping.css.v1.ICssProductStatus=} [properties] Properties to set + * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus instance + */ + CssProductStatus.create = function create(properties) { + return new CssProductStatus(properties); + }; + + /** + * Encodes the specified CssProductStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {google.shopping.css.v1.ICssProductStatus} message CssProductStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {google.shopping.css.v1.ICssProductStatus} message CssProductStatus message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProductStatus.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CssProductStatus message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProductStatus.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.css.v1.CssProductStatus(); + 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.css.v1.CssProductStatus.DestinationStatus.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.itemLevelIssues && message.itemLevelIssues.length)) + message.itemLevelIssues = []; + message.itemLevelIssues.push($root.google.shopping.css.v1.CssProductStatus.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 CssProductStatus message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProductStatus.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CssProductStatus message. + * @function verify + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus + */ + CssProductStatus.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CssProductStatus) + return object; + var message = new $root.google.shopping.css.v1.CssProductStatus(); + if (object.destinationStatuses) { + if (!Array.isArray(object.destinationStatuses)) + throw TypeError(".google.shopping.css.v1.CssProductStatus.destinationStatuses: array expected"); + message.destinationStatuses = []; + for (var i = 0; i < object.destinationStatuses.length; ++i) { + if (typeof object.destinationStatuses[i] !== "object") + throw TypeError(".google.shopping.css.v1.CssProductStatus.destinationStatuses: object expected"); + message.destinationStatuses[i] = $root.google.shopping.css.v1.CssProductStatus.DestinationStatus.fromObject(object.destinationStatuses[i]); + } + } + if (object.itemLevelIssues) { + if (!Array.isArray(object.itemLevelIssues)) + throw TypeError(".google.shopping.css.v1.CssProductStatus.itemLevelIssues: array expected"); + message.itemLevelIssues = []; + for (var i = 0; i < object.itemLevelIssues.length; ++i) { + if (typeof object.itemLevelIssues[i] !== "object") + throw TypeError(".google.shopping.css.v1.CssProductStatus.itemLevelIssues: object expected"); + message.itemLevelIssues[i] = $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue.fromObject(object.itemLevelIssues[i]); + } + } + if (object.creationDate != null) { + if (typeof object.creationDate !== "object") + throw TypeError(".google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.googleExpirationDate: object expected"); + message.googleExpirationDate = $root.google.protobuf.Timestamp.fromObject(object.googleExpirationDate); + } + return message; + }; + + /** + * Creates a plain object from a CssProductStatus message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {google.shopping.css.v1.CssProductStatus} message CssProductStatus + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.CssProductStatus + * @instance + * @returns {Object.} JSON object + */ + CssProductStatus.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CssProductStatus + * @function getTypeUrl + * @memberof google.shopping.css.v1.CssProductStatus + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CssProductStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.CssProductStatus"; + }; + + CssProductStatus.DestinationStatus = (function() { + + /** + * Properties of a DestinationStatus. + * @memberof google.shopping.css.v1.CssProductStatus + * @interface IDestinationStatus + * @property {string|null} [destination] DestinationStatus destination + * @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.css.v1.CssProductStatus + * @classdesc Represents a DestinationStatus. + * @implements IDestinationStatus + * @constructor + * @param {google.shopping.css.v1.CssProductStatus.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 destination. + * @member {string} destination + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.destination = ""; + + /** + * DestinationStatus approvedCountries. + * @member {Array.} approvedCountries + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.approvedCountries = $util.emptyArray; + + /** + * DestinationStatus pendingCountries. + * @member {Array.} pendingCountries + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.pendingCountries = $util.emptyArray; + + /** + * DestinationStatus disapprovedCountries. + * @member {Array.} disapprovedCountries + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @instance + */ + DestinationStatus.prototype.disapprovedCountries = $util.emptyArray; + + /** + * Creates a new DestinationStatus instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {google.shopping.css.v1.CssProductStatus.IDestinationStatus=} [properties] Properties to set + * @returns {google.shopping.css.v1.CssProductStatus.DestinationStatus} DestinationStatus instance + */ + DestinationStatus.create = function create(properties) { + return new DestinationStatus(properties); + }; + + /** + * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.DestinationStatus.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.destination != null && Object.hasOwnProperty.call(message, "destination")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.destination); + 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.css.v1.CssProductStatus.DestinationStatus.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.destination = reader.string(); + 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.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.destination != null && message.hasOwnProperty("destination")) + if (!$util.isString(message.destination)) + return "destination: string expected"; + 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.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CssProductStatus.DestinationStatus} DestinationStatus + */ + DestinationStatus.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CssProductStatus.DestinationStatus) + return object; + var message = new $root.google.shopping.css.v1.CssProductStatus.DestinationStatus(); + if (object.destination != null) + message.destination = String(object.destination); + if (object.approvedCountries) { + if (!Array.isArray(object.approvedCountries)) + throw TypeError(".google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.destination = ""; + if (message.destination != null && message.hasOwnProperty("destination")) + object.destination = message.destination; + 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus"; + }; + + return DestinationStatus; + })(); + + CssProductStatus.ItemLevelIssue = (function() { + + /** + * Properties of an ItemLevelIssue. + * @memberof google.shopping.css.v1.CssProductStatus + * @interface IItemLevelIssue + * @property {string|null} [code] ItemLevelIssue code + * @property {string|null} [servability] ItemLevelIssue servability + * @property {string|null} [resolution] ItemLevelIssue resolution + * @property {string|null} [attribute] ItemLevelIssue attribute + * @property {string|null} [destination] ItemLevelIssue destination + * @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.css.v1.CssProductStatus + * @classdesc Represents an ItemLevelIssue. + * @implements IItemLevelIssue + * @constructor + * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.code = ""; + + /** + * ItemLevelIssue servability. + * @member {string} servability + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.servability = ""; + + /** + * ItemLevelIssue resolution. + * @member {string} resolution + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.resolution = ""; + + /** + * ItemLevelIssue attribute. + * @member {string} attribute + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.attribute = ""; + + /** + * ItemLevelIssue destination. + * @member {string} destination + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.destination = ""; + + /** + * ItemLevelIssue description. + * @member {string} description + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.description = ""; + + /** + * ItemLevelIssue detail. + * @member {string} detail + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.detail = ""; + + /** + * ItemLevelIssue documentation. + * @member {string} documentation + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.documentation = ""; + + /** + * ItemLevelIssue applicableCountries. + * @member {Array.} applicableCountries + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @instance + */ + ItemLevelIssue.prototype.applicableCountries = $util.emptyArray; + + /** + * Creates a new ItemLevelIssue instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.css.v1.CssProductStatus.IItemLevelIssue=} [properties] Properties to set + * @returns {google.shopping.css.v1.CssProductStatus.ItemLevelIssue} ItemLevelIssue instance + */ + ItemLevelIssue.create = function create(properties) { + return new ItemLevelIssue(properties); + }; + + /** + * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.ItemLevelIssue.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.servability != null && Object.hasOwnProperty.call(message, "servability")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.servability); + 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.destination != null && Object.hasOwnProperty.call(message, "destination")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.destination); + 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.css.v1.CssProductStatus.ItemLevelIssue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.string(); + break; + } + case 2: { + message.servability = reader.string(); + break; + } + case 3: { + message.resolution = reader.string(); + break; + } + case 4: { + message.attribute = reader.string(); + break; + } + case 5: { + message.destination = reader.string(); + 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.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.servability != null && message.hasOwnProperty("servability")) + if (!$util.isString(message.servability)) + return "servability: string expected"; + 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.destination != null && message.hasOwnProperty("destination")) + if (!$util.isString(message.destination)) + return "destination: string expected"; + 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.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CssProductStatus.ItemLevelIssue} ItemLevelIssue + */ + ItemLevelIssue.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue) + return object; + var message = new $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue(); + if (object.code != null) + message.code = String(object.code); + if (object.servability != null) + message.servability = String(object.servability); + if (object.resolution != null) + message.resolution = String(object.resolution); + if (object.attribute != null) + message.attribute = String(object.attribute); + if (object.destination != null) + message.destination = String(object.destination); + 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue + * @static + * @param {google.shopping.css.v1.CssProductStatus.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.servability = ""; + object.resolution = ""; + object.attribute = ""; + object.destination = ""; + object.description = ""; + object.detail = ""; + object.documentation = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.servability != null && message.hasOwnProperty("servability")) + object.servability = message.servability; + if (message.resolution != null && message.hasOwnProperty("resolution")) + object.resolution = message.resolution; + if (message.attribute != null && message.hasOwnProperty("attribute")) + object.attribute = message.attribute; + if (message.destination != null && message.hasOwnProperty("destination")) + object.destination = message.destination; + 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue"; + }; + + return ItemLevelIssue; + })(); + + return CssProductStatus; + })(); + + v1.HeadlineOfferSubscriptionCost = (function() { + + /** + * Properties of a HeadlineOfferSubscriptionCost. + * @memberof google.shopping.css.v1 + * @interface IHeadlineOfferSubscriptionCost + * @property {google.shopping.css.v1.SubscriptionPeriod|null} [period] HeadlineOfferSubscriptionCost period + * @property {number|Long|null} [periodLength] HeadlineOfferSubscriptionCost periodLength + * @property {google.shopping.type.IPrice|null} [amount] HeadlineOfferSubscriptionCost amount + */ + + /** + * Constructs a new HeadlineOfferSubscriptionCost. + * @memberof google.shopping.css.v1 + * @classdesc Represents a HeadlineOfferSubscriptionCost. + * @implements IHeadlineOfferSubscriptionCost + * @constructor + * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost=} [properties] Properties to set + */ + function HeadlineOfferSubscriptionCost(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]]; + } + + /** + * HeadlineOfferSubscriptionCost period. + * @member {google.shopping.css.v1.SubscriptionPeriod} period + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @instance + */ + HeadlineOfferSubscriptionCost.prototype.period = 0; + + /** + * HeadlineOfferSubscriptionCost periodLength. + * @member {number|Long} periodLength + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @instance + */ + HeadlineOfferSubscriptionCost.prototype.periodLength = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * HeadlineOfferSubscriptionCost amount. + * @member {google.shopping.type.IPrice|null|undefined} amount + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @instance + */ + HeadlineOfferSubscriptionCost.prototype.amount = null; + + /** + * Creates a new HeadlineOfferSubscriptionCost instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost=} [properties] Properties to set + * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost instance + */ + HeadlineOfferSubscriptionCost.create = function create(properties) { + return new HeadlineOfferSubscriptionCost(properties); + }; + + /** + * Encodes the specified HeadlineOfferSubscriptionCost message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HeadlineOfferSubscriptionCost.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 HeadlineOfferSubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HeadlineOfferSubscriptionCost.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HeadlineOfferSubscriptionCost.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.css.v1.HeadlineOfferSubscriptionCost(); + 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 HeadlineOfferSubscriptionCost message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HeadlineOfferSubscriptionCost.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HeadlineOfferSubscriptionCost message. + * @function verify + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HeadlineOfferSubscriptionCost.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 HeadlineOfferSubscriptionCost message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost + */ + HeadlineOfferSubscriptionCost.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost) + return object; + var message = new $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost(); + 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.css.v1.HeadlineOfferSubscriptionCost.amount: object expected"); + message.amount = $root.google.shopping.type.Price.fromObject(object.amount); + } + return message; + }; + + /** + * Creates a plain object from a HeadlineOfferSubscriptionCost message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {google.shopping.css.v1.HeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HeadlineOfferSubscriptionCost.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.css.v1.SubscriptionPeriod[message.period] === undefined ? message.period : $root.google.shopping.css.v1.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 HeadlineOfferSubscriptionCost to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @instance + * @returns {Object.} JSON object + */ + HeadlineOfferSubscriptionCost.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HeadlineOfferSubscriptionCost + * @function getTypeUrl + * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HeadlineOfferSubscriptionCost.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.HeadlineOfferSubscriptionCost"; + }; + + return HeadlineOfferSubscriptionCost; + })(); + + v1.HeadlineOfferInstallment = (function() { + + /** + * Properties of a HeadlineOfferInstallment. + * @memberof google.shopping.css.v1 + * @interface IHeadlineOfferInstallment + * @property {number|Long|null} [months] HeadlineOfferInstallment months + * @property {google.shopping.type.IPrice|null} [amount] HeadlineOfferInstallment amount + * @property {google.shopping.type.IPrice|null} [downpayment] HeadlineOfferInstallment downpayment + */ + + /** + * Constructs a new HeadlineOfferInstallment. + * @memberof google.shopping.css.v1 + * @classdesc Represents a HeadlineOfferInstallment. + * @implements IHeadlineOfferInstallment + * @constructor + * @param {google.shopping.css.v1.IHeadlineOfferInstallment=} [properties] Properties to set + */ + function HeadlineOfferInstallment(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]]; + } + + /** + * HeadlineOfferInstallment months. + * @member {number|Long} months + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @instance + */ + HeadlineOfferInstallment.prototype.months = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * HeadlineOfferInstallment amount. + * @member {google.shopping.type.IPrice|null|undefined} amount + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @instance + */ + HeadlineOfferInstallment.prototype.amount = null; + + /** + * HeadlineOfferInstallment downpayment. + * @member {google.shopping.type.IPrice|null|undefined} downpayment + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @instance + */ + HeadlineOfferInstallment.prototype.downpayment = null; + + /** + * Creates a new HeadlineOfferInstallment instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {google.shopping.css.v1.IHeadlineOfferInstallment=} [properties] Properties to set + * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment instance + */ + HeadlineOfferInstallment.create = function create(properties) { + return new HeadlineOfferInstallment(properties); + }; + + /** + * Encodes the specified HeadlineOfferInstallment message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {google.shopping.css.v1.IHeadlineOfferInstallment} message HeadlineOfferInstallment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HeadlineOfferInstallment.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(); + return writer; + }; + + /** + * Encodes the specified HeadlineOfferInstallment message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {google.shopping.css.v1.IHeadlineOfferInstallment} message HeadlineOfferInstallment message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HeadlineOfferInstallment.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HeadlineOfferInstallment message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HeadlineOfferInstallment.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.css.v1.HeadlineOfferInstallment(); + 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; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HeadlineOfferInstallment message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HeadlineOfferInstallment.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HeadlineOfferInstallment message. + * @function verify + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HeadlineOfferInstallment.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + 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")) { + var error = $root.google.shopping.type.Price.verify(message.downpayment); + if (error) + return "downpayment." + error; + } + return null; + }; + + /** + * Creates a HeadlineOfferInstallment message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment + */ + HeadlineOfferInstallment.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.HeadlineOfferInstallment) + return object; + var message = new $root.google.shopping.css.v1.HeadlineOfferInstallment(); + 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.css.v1.HeadlineOfferInstallment.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.css.v1.HeadlineOfferInstallment.downpayment: object expected"); + message.downpayment = $root.google.shopping.type.Price.fromObject(object.downpayment); + } + return message; + }; + + /** + * Creates a plain object from a HeadlineOfferInstallment message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {google.shopping.css.v1.HeadlineOfferInstallment} message HeadlineOfferInstallment + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HeadlineOfferInstallment.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; + object.downpayment = 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); + return object; + }; + + /** + * Converts this HeadlineOfferInstallment to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @instance + * @returns {Object.} JSON object + */ + HeadlineOfferInstallment.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HeadlineOfferInstallment + * @function getTypeUrl + * @memberof google.shopping.css.v1.HeadlineOfferInstallment + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HeadlineOfferInstallment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.HeadlineOfferInstallment"; + }; + + return HeadlineOfferInstallment; + })(); + + /** + * SubscriptionPeriod enum. + * @name google.shopping.css.v1.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 + */ + v1.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; + })(); + + v1.CssProductInputsService = (function() { + + /** + * Constructs a new CssProductInputsService service. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CssProductInputsService + * @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 CssProductInputsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (CssProductInputsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CssProductInputsService; + + /** + * Creates new CssProductInputsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.css.v1.CssProductInputsService + * @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 {CssProductInputsService} RPC service. Useful where requests and/or responses are streamed. + */ + CssProductInputsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|insertCssProductInput}. + * @memberof google.shopping.css.v1.CssProductInputsService + * @typedef InsertCssProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.CssProductInput} [response] CssProductInput + */ + + /** + * Calls InsertCssProductInput. + * @function insertCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IInsertCssProductInputRequest} request InsertCssProductInputRequest message or plain object + * @param {google.shopping.css.v1.CssProductInputsService.InsertCssProductInputCallback} callback Node-style callback called with the error, if any, and CssProductInput + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductInputsService.prototype.insertCssProductInput = function insertCssProductInput(request, callback) { + return this.rpcCall(insertCssProductInput, $root.google.shopping.css.v1.InsertCssProductInputRequest, $root.google.shopping.css.v1.CssProductInput, request, callback); + }, "name", { value: "InsertCssProductInput" }); + + /** + * Calls InsertCssProductInput. + * @function insertCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IInsertCssProductInputRequest} request InsertCssProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. + * @memberof google.shopping.css.v1.CssProductInputsService + * @typedef UpdateCssProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.CssProductInput} [response] CssProductInput + */ + + /** + * Calls UpdateCssProductInput. + * @function updateCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object + * @param {google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback} callback Node-style callback called with the error, if any, and CssProductInput + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductInputsService.prototype.updateCssProductInput = function updateCssProductInput(request, callback) { + return this.rpcCall(updateCssProductInput, $root.google.shopping.css.v1.UpdateCssProductInputRequest, $root.google.shopping.css.v1.CssProductInput, request, callback); + }, "name", { value: "UpdateCssProductInput" }); + + /** + * Calls UpdateCssProductInput. + * @function updateCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. + * @memberof google.shopping.css.v1.CssProductInputsService + * @typedef DeleteCssProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteCssProductInput. + * @function deleteCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} request DeleteCssProductInputRequest message or plain object + * @param {google.shopping.css.v1.CssProductInputsService.DeleteCssProductInputCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductInputsService.prototype.deleteCssProductInput = function deleteCssProductInput(request, callback) { + return this.rpcCall(deleteCssProductInput, $root.google.shopping.css.v1.DeleteCssProductInputRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteCssProductInput" }); + + /** + * Calls DeleteCssProductInput. + * @function deleteCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} request DeleteCssProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return CssProductInputsService; + })(); + + v1.CssProductInput = (function() { + + /** + * Properties of a CssProductInput. + * @memberof google.shopping.css.v1 + * @interface ICssProductInput + * @property {string|null} [name] CssProductInput name + * @property {string|null} [finalName] CssProductInput finalName + * @property {string|null} [rawProvidedId] CssProductInput rawProvidedId + * @property {string|null} [contentLanguage] CssProductInput contentLanguage + * @property {string|null} [feedLabel] CssProductInput feedLabel + * @property {google.protobuf.ITimestamp|null} [freshnessTime] CssProductInput freshnessTime + * @property {google.shopping.css.v1.IAttributes|null} [attributes] CssProductInput attributes + * @property {Array.|null} [customAttributes] CssProductInput customAttributes + */ + + /** + * Constructs a new CssProductInput. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CssProductInput. + * @implements ICssProductInput + * @constructor + * @param {google.shopping.css.v1.ICssProductInput=} [properties] Properties to set + */ + function CssProductInput(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]]; + } + + /** + * CssProductInput name. + * @member {string} name + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.name = ""; + + /** + * CssProductInput finalName. + * @member {string} finalName + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.finalName = ""; + + /** + * CssProductInput rawProvidedId. + * @member {string} rawProvidedId + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.rawProvidedId = ""; + + /** + * CssProductInput contentLanguage. + * @member {string} contentLanguage + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.contentLanguage = ""; + + /** + * CssProductInput feedLabel. + * @member {string} feedLabel + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.feedLabel = ""; + + /** + * CssProductInput freshnessTime. + * @member {google.protobuf.ITimestamp|null|undefined} freshnessTime + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.freshnessTime = null; + + /** + * CssProductInput attributes. + * @member {google.shopping.css.v1.IAttributes|null|undefined} attributes + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.attributes = null; + + /** + * CssProductInput customAttributes. + * @member {Array.} customAttributes + * @memberof google.shopping.css.v1.CssProductInput + * @instance + */ + CssProductInput.prototype.customAttributes = $util.emptyArray; + + /** + * Creates a new CssProductInput instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {google.shopping.css.v1.ICssProductInput=} [properties] Properties to set + * @returns {google.shopping.css.v1.CssProductInput} CssProductInput instance + */ + CssProductInput.create = function create(properties) { + return new CssProductInput(properties); + }; + + /** + * Encodes the specified CssProductInput message. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {google.shopping.css.v1.ICssProductInput} message CssProductInput message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProductInput.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.finalName != null && Object.hasOwnProperty.call(message, "finalName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.finalName); + if (message.rawProvidedId != null && Object.hasOwnProperty.call(message, "rawProvidedId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.rawProvidedId); + 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.freshnessTime != null && Object.hasOwnProperty.call(message, "freshnessTime")) + $root.google.protobuf.Timestamp.encode(message.freshnessTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) + $root.google.shopping.css.v1.Attributes.encode(message.attributes, writer.uint32(/* id 7, wireType 2 =*/58).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 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CssProductInput message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {google.shopping.css.v1.ICssProductInput} message CssProductInput message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProductInput.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CssProductInput message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CssProductInput} CssProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProductInput.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.css.v1.CssProductInput(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.finalName = reader.string(); + break; + } + case 3: { + message.rawProvidedId = reader.string(); + break; + } + case 4: { + message.contentLanguage = reader.string(); + break; + } + case 5: { + message.feedLabel = reader.string(); + break; + } + case 6: { + message.freshnessTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 7: { + message.attributes = $root.google.shopping.css.v1.Attributes.decode(reader, reader.uint32()); + break; + } + case 8: { + 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 CssProductInput message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CssProductInput} CssProductInput + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProductInput.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CssProductInput message. + * @function verify + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CssProductInput.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.finalName != null && message.hasOwnProperty("finalName")) + if (!$util.isString(message.finalName)) + return "finalName: string expected"; + if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) + if (!$util.isString(message.rawProvidedId)) + return "rawProvidedId: 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.freshnessTime != null && message.hasOwnProperty("freshnessTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.freshnessTime); + if (error) + return "freshnessTime." + error; + } + if (message.attributes != null && message.hasOwnProperty("attributes")) { + var error = $root.google.shopping.css.v1.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 CssProductInput message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CssProductInput} CssProductInput + */ + CssProductInput.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CssProductInput) + return object; + var message = new $root.google.shopping.css.v1.CssProductInput(); + if (object.name != null) + message.name = String(object.name); + if (object.finalName != null) + message.finalName = String(object.finalName); + if (object.rawProvidedId != null) + message.rawProvidedId = String(object.rawProvidedId); + if (object.contentLanguage != null) + message.contentLanguage = String(object.contentLanguage); + if (object.feedLabel != null) + message.feedLabel = String(object.feedLabel); + if (object.freshnessTime != null) { + if (typeof object.freshnessTime !== "object") + throw TypeError(".google.shopping.css.v1.CssProductInput.freshnessTime: object expected"); + message.freshnessTime = $root.google.protobuf.Timestamp.fromObject(object.freshnessTime); + } + if (object.attributes != null) { + if (typeof object.attributes !== "object") + throw TypeError(".google.shopping.css.v1.CssProductInput.attributes: object expected"); + message.attributes = $root.google.shopping.css.v1.Attributes.fromObject(object.attributes); + } + if (object.customAttributes) { + if (!Array.isArray(object.customAttributes)) + throw TypeError(".google.shopping.css.v1.CssProductInput.customAttributes: array expected"); + message.customAttributes = []; + for (var i = 0; i < object.customAttributes.length; ++i) { + if (typeof object.customAttributes[i] !== "object") + throw TypeError(".google.shopping.css.v1.CssProductInput.customAttributes: object expected"); + message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CssProductInput message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {google.shopping.css.v1.CssProductInput} message CssProductInput + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CssProductInput.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.customAttributes = []; + if (options.defaults) { + object.name = ""; + object.finalName = ""; + object.rawProvidedId = ""; + object.contentLanguage = ""; + object.feedLabel = ""; + object.freshnessTime = null; + object.attributes = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.finalName != null && message.hasOwnProperty("finalName")) + object.finalName = message.finalName; + if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) + object.rawProvidedId = message.rawProvidedId; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + object.contentLanguage = message.contentLanguage; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + object.feedLabel = message.feedLabel; + if (message.freshnessTime != null && message.hasOwnProperty("freshnessTime")) + object.freshnessTime = $root.google.protobuf.Timestamp.toObject(message.freshnessTime, options); + if (message.attributes != null && message.hasOwnProperty("attributes")) + object.attributes = $root.google.shopping.css.v1.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 CssProductInput to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.CssProductInput + * @instance + * @returns {Object.} JSON object + */ + CssProductInput.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CssProductInput + * @function getTypeUrl + * @memberof google.shopping.css.v1.CssProductInput + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CssProductInput.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.CssProductInput"; + }; + + return CssProductInput; + })(); + + v1.InsertCssProductInputRequest = (function() { + + /** + * Properties of an InsertCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @interface IInsertCssProductInputRequest + * @property {string|null} [parent] InsertCssProductInputRequest parent + * @property {google.shopping.css.v1.ICssProductInput|null} [cssProductInput] InsertCssProductInputRequest cssProductInput + * @property {number|Long|null} [feedId] InsertCssProductInputRequest feedId + */ + + /** + * Constructs a new InsertCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents an InsertCssProductInputRequest. + * @implements IInsertCssProductInputRequest + * @constructor + * @param {google.shopping.css.v1.IInsertCssProductInputRequest=} [properties] Properties to set + */ + function InsertCssProductInputRequest(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]]; + } + + /** + * InsertCssProductInputRequest parent. + * @member {string} parent + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @instance + */ + InsertCssProductInputRequest.prototype.parent = ""; + + /** + * InsertCssProductInputRequest cssProductInput. + * @member {google.shopping.css.v1.ICssProductInput|null|undefined} cssProductInput + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @instance + */ + InsertCssProductInputRequest.prototype.cssProductInput = null; + + /** + * InsertCssProductInputRequest feedId. + * @member {number|Long} feedId + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @instance + */ + InsertCssProductInputRequest.prototype.feedId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new InsertCssProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IInsertCssProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest instance + */ + InsertCssProductInputRequest.create = function create(properties) { + return new InsertCssProductInputRequest(properties); + }; + + /** + * Encodes the specified InsertCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IInsertCssProductInputRequest} message InsertCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InsertCssProductInputRequest.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.cssProductInput != null && Object.hasOwnProperty.call(message, "cssProductInput")) + $root.google.shopping.css.v1.CssProductInput.encode(message.cssProductInput, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.feedId != null && Object.hasOwnProperty.call(message, "feedId")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.feedId); + return writer; + }; + + /** + * Encodes the specified InsertCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IInsertCssProductInputRequest} message InsertCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InsertCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InsertCssProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InsertCssProductInputRequest.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.css.v1.InsertCssProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.decode(reader, reader.uint32()); + break; + } + case 3: { + message.feedId = reader.int64(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InsertCssProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InsertCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InsertCssProductInputRequest message. + * @function verify + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InsertCssProductInputRequest.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.cssProductInput != null && message.hasOwnProperty("cssProductInput")) { + var error = $root.google.shopping.css.v1.CssProductInput.verify(message.cssProductInput); + if (error) + return "cssProductInput." + error; + } + if (message.feedId != null && message.hasOwnProperty("feedId")) + if (!$util.isInteger(message.feedId) && !(message.feedId && $util.isInteger(message.feedId.low) && $util.isInteger(message.feedId.high))) + return "feedId: integer|Long expected"; + return null; + }; + + /** + * Creates an InsertCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest + */ + InsertCssProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.InsertCssProductInputRequest) + return object; + var message = new $root.google.shopping.css.v1.InsertCssProductInputRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.cssProductInput != null) { + if (typeof object.cssProductInput !== "object") + throw TypeError(".google.shopping.css.v1.InsertCssProductInputRequest.cssProductInput: object expected"); + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.fromObject(object.cssProductInput); + } + if (object.feedId != null) + if ($util.Long) + (message.feedId = $util.Long.fromValue(object.feedId)).unsigned = false; + else if (typeof object.feedId === "string") + message.feedId = parseInt(object.feedId, 10); + else if (typeof object.feedId === "number") + message.feedId = object.feedId; + else if (typeof object.feedId === "object") + message.feedId = new $util.LongBits(object.feedId.low >>> 0, object.feedId.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from an InsertCssProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {google.shopping.css.v1.InsertCssProductInputRequest} message InsertCssProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InsertCssProductInputRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.cssProductInput = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.feedId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.feedId = options.longs === String ? "0" : 0; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) + object.cssProductInput = $root.google.shopping.css.v1.CssProductInput.toObject(message.cssProductInput, options); + if (message.feedId != null && message.hasOwnProperty("feedId")) + if (typeof message.feedId === "number") + object.feedId = options.longs === String ? String(message.feedId) : message.feedId; + else + object.feedId = options.longs === String ? $util.Long.prototype.toString.call(message.feedId) : options.longs === Number ? new $util.LongBits(message.feedId.low >>> 0, message.feedId.high >>> 0).toNumber() : message.feedId; + return object; + }; + + /** + * Converts this InsertCssProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + InsertCssProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for InsertCssProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.InsertCssProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InsertCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.InsertCssProductInputRequest"; + }; + + return InsertCssProductInputRequest; + })(); + + v1.UpdateCssProductInputRequest = (function() { + + /** + * Properties of an UpdateCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @interface IUpdateCssProductInputRequest + * @property {google.shopping.css.v1.ICssProductInput|null} [cssProductInput] UpdateCssProductInputRequest cssProductInput + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateCssProductInputRequest updateMask + */ + + /** + * Constructs a new UpdateCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents an UpdateCssProductInputRequest. + * @implements IUpdateCssProductInputRequest + * @constructor + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set + */ + function UpdateCssProductInputRequest(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]]; + } + + /** + * UpdateCssProductInputRequest cssProductInput. + * @member {google.shopping.css.v1.ICssProductInput|null|undefined} cssProductInput + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + */ + UpdateCssProductInputRequest.prototype.cssProductInput = null; + + /** + * UpdateCssProductInputRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + */ + UpdateCssProductInputRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateCssProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest instance + */ + UpdateCssProductInputRequest.create = function create(properties) { + return new UpdateCssProductInputRequest(properties); + }; + + /** + * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateCssProductInputRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cssProductInput != null && Object.hasOwnProperty.call(message, "cssProductInput")) + $root.google.shopping.css.v1.CssProductInput.encode(message.cssProductInput, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateCssProductInputRequest.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.css.v1.UpdateCssProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateCssProductInputRequest message. + * @function verify + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateCssProductInputRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) { + var error = $root.google.shopping.css.v1.CssProductInput.verify(message.cssProductInput); + if (error) + return "cssProductInput." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + */ + UpdateCssProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.UpdateCssProductInputRequest) + return object; + var message = new $root.google.shopping.css.v1.UpdateCssProductInputRequest(); + if (object.cssProductInput != null) { + if (typeof object.cssProductInput !== "object") + throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.cssProductInput: object expected"); + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.fromObject(object.cssProductInput); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.UpdateCssProductInputRequest} message UpdateCssProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateCssProductInputRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.cssProductInput = null; + object.updateMask = null; + } + if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) + object.cssProductInput = $root.google.shopping.css.v1.CssProductInput.toObject(message.cssProductInput, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateCssProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateCssProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateCssProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.UpdateCssProductInputRequest"; + }; + + return UpdateCssProductInputRequest; + })(); + + v1.DeleteCssProductInputRequest = (function() { + + /** + * Properties of a DeleteCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @interface IDeleteCssProductInputRequest + * @property {string|null} [name] DeleteCssProductInputRequest name + * @property {number|Long|null} [supplementalFeedId] DeleteCssProductInputRequest supplementalFeedId + */ + + /** + * Constructs a new DeleteCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a DeleteCssProductInputRequest. + * @implements IDeleteCssProductInputRequest + * @constructor + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest=} [properties] Properties to set + */ + function DeleteCssProductInputRequest(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]]; + } + + /** + * DeleteCssProductInputRequest name. + * @member {string} name + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @instance + */ + DeleteCssProductInputRequest.prototype.name = ""; + + /** + * DeleteCssProductInputRequest supplementalFeedId. + * @member {number|Long|null|undefined} supplementalFeedId + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @instance + */ + DeleteCssProductInputRequest.prototype.supplementalFeedId = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DeleteCssProductInputRequest _supplementalFeedId. + * @member {"supplementalFeedId"|undefined} _supplementalFeedId + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @instance + */ + Object.defineProperty(DeleteCssProductInputRequest.prototype, "_supplementalFeedId", { + get: $util.oneOfGetter($oneOfFields = ["supplementalFeedId"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DeleteCssProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest instance + */ + DeleteCssProductInputRequest.create = function create(properties) { + return new DeleteCssProductInputRequest(properties); + }; + + /** + * Encodes the specified DeleteCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} message DeleteCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteCssProductInputRequest.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.supplementalFeedId != null && Object.hasOwnProperty.call(message, "supplementalFeedId")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.supplementalFeedId); + return writer; + }; + + /** + * Encodes the specified DeleteCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} message DeleteCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteCssProductInputRequest.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.css.v1.DeleteCssProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.supplementalFeedId = reader.int64(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteCssProductInputRequest message. + * @function verify + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteCssProductInputRequest.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.supplementalFeedId != null && message.hasOwnProperty("supplementalFeedId")) { + properties._supplementalFeedId = 1; + if (!$util.isInteger(message.supplementalFeedId) && !(message.supplementalFeedId && $util.isInteger(message.supplementalFeedId.low) && $util.isInteger(message.supplementalFeedId.high))) + return "supplementalFeedId: integer|Long expected"; + } + return null; + }; + + /** + * Creates a DeleteCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest + */ + DeleteCssProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.DeleteCssProductInputRequest) + return object; + var message = new $root.google.shopping.css.v1.DeleteCssProductInputRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.supplementalFeedId != null) + if ($util.Long) + (message.supplementalFeedId = $util.Long.fromValue(object.supplementalFeedId)).unsigned = false; + else if (typeof object.supplementalFeedId === "string") + message.supplementalFeedId = parseInt(object.supplementalFeedId, 10); + else if (typeof object.supplementalFeedId === "number") + message.supplementalFeedId = object.supplementalFeedId; + else if (typeof object.supplementalFeedId === "object") + message.supplementalFeedId = new $util.LongBits(object.supplementalFeedId.low >>> 0, object.supplementalFeedId.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a DeleteCssProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {google.shopping.css.v1.DeleteCssProductInputRequest} message DeleteCssProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteCssProductInputRequest.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; + if (message.supplementalFeedId != null && message.hasOwnProperty("supplementalFeedId")) { + if (typeof message.supplementalFeedId === "number") + object.supplementalFeedId = options.longs === String ? String(message.supplementalFeedId) : message.supplementalFeedId; + else + object.supplementalFeedId = options.longs === String ? $util.Long.prototype.toString.call(message.supplementalFeedId) : options.longs === Number ? new $util.LongBits(message.supplementalFeedId.low >>> 0, message.supplementalFeedId.high >>> 0).toNumber() : message.supplementalFeedId; + if (options.oneofs) + object._supplementalFeedId = "supplementalFeedId"; + } + return object; + }; + + /** + * Converts this DeleteCssProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteCssProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteCssProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.DeleteCssProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.DeleteCssProductInputRequest"; + }; + + return DeleteCssProductInputRequest; + })(); + + v1.CssProductsService = (function() { + + /** + * Constructs a new CssProductsService service. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CssProductsService + * @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 CssProductsService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (CssProductsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CssProductsService; + + /** + * Creates new CssProductsService service using the specified rpc implementation. + * @function create + * @memberof google.shopping.css.v1.CssProductsService + * @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 {CssProductsService} RPC service. Useful where requests and/or responses are streamed. + */ + CssProductsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductsService|getCssProduct}. + * @memberof google.shopping.css.v1.CssProductsService + * @typedef GetCssProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.CssProduct} [response] CssProduct + */ + + /** + * Calls GetCssProduct. + * @function getCssProduct + * @memberof google.shopping.css.v1.CssProductsService + * @instance + * @param {google.shopping.css.v1.IGetCssProductRequest} request GetCssProductRequest message or plain object + * @param {google.shopping.css.v1.CssProductsService.GetCssProductCallback} callback Node-style callback called with the error, if any, and CssProduct + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductsService.prototype.getCssProduct = function getCssProduct(request, callback) { + return this.rpcCall(getCssProduct, $root.google.shopping.css.v1.GetCssProductRequest, $root.google.shopping.css.v1.CssProduct, request, callback); + }, "name", { value: "GetCssProduct" }); + + /** + * Calls GetCssProduct. + * @function getCssProduct + * @memberof google.shopping.css.v1.CssProductsService + * @instance + * @param {google.shopping.css.v1.IGetCssProductRequest} request GetCssProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.shopping.css.v1.CssProductsService|listCssProducts}. + * @memberof google.shopping.css.v1.CssProductsService + * @typedef ListCssProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.ListCssProductsResponse} [response] ListCssProductsResponse + */ + + /** + * Calls ListCssProducts. + * @function listCssProducts + * @memberof google.shopping.css.v1.CssProductsService + * @instance + * @param {google.shopping.css.v1.IListCssProductsRequest} request ListCssProductsRequest message or plain object + * @param {google.shopping.css.v1.CssProductsService.ListCssProductsCallback} callback Node-style callback called with the error, if any, and ListCssProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductsService.prototype.listCssProducts = function listCssProducts(request, callback) { + return this.rpcCall(listCssProducts, $root.google.shopping.css.v1.ListCssProductsRequest, $root.google.shopping.css.v1.ListCssProductsResponse, request, callback); + }, "name", { value: "ListCssProducts" }); + + /** + * Calls ListCssProducts. + * @function listCssProducts + * @memberof google.shopping.css.v1.CssProductsService + * @instance + * @param {google.shopping.css.v1.IListCssProductsRequest} request ListCssProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return CssProductsService; + })(); + + v1.GetCssProductRequest = (function() { + + /** + * Properties of a GetCssProductRequest. + * @memberof google.shopping.css.v1 + * @interface IGetCssProductRequest + * @property {string|null} [name] GetCssProductRequest name + */ + + /** + * Constructs a new GetCssProductRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a GetCssProductRequest. + * @implements IGetCssProductRequest + * @constructor + * @param {google.shopping.css.v1.IGetCssProductRequest=} [properties] Properties to set + */ + function GetCssProductRequest(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]]; + } + + /** + * GetCssProductRequest name. + * @member {string} name + * @memberof google.shopping.css.v1.GetCssProductRequest + * @instance + */ + GetCssProductRequest.prototype.name = ""; + + /** + * Creates a new GetCssProductRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {google.shopping.css.v1.IGetCssProductRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest instance + */ + GetCssProductRequest.create = function create(properties) { + return new GetCssProductRequest(properties); + }; + + /** + * Encodes the specified GetCssProductRequest message. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {google.shopping.css.v1.IGetCssProductRequest} message GetCssProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCssProductRequest.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 GetCssProductRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {google.shopping.css.v1.IGetCssProductRequest} message GetCssProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCssProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCssProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCssProductRequest.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.css.v1.GetCssProductRequest(); + 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 GetCssProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCssProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCssProductRequest message. + * @function verify + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCssProductRequest.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 GetCssProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest + */ + GetCssProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.GetCssProductRequest) + return object; + var message = new $root.google.shopping.css.v1.GetCssProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetCssProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {google.shopping.css.v1.GetCssProductRequest} message GetCssProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCssProductRequest.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 GetCssProductRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.GetCssProductRequest + * @instance + * @returns {Object.} JSON object + */ + GetCssProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetCssProductRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.GetCssProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetCssProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.GetCssProductRequest"; + }; + + return GetCssProductRequest; + })(); + + v1.CssProduct = (function() { + + /** + * Properties of a CssProduct. + * @memberof google.shopping.css.v1 + * @interface ICssProduct + * @property {string|null} [name] CssProduct name + * @property {string|null} [rawProvidedId] CssProduct rawProvidedId + * @property {string|null} [contentLanguage] CssProduct contentLanguage + * @property {string|null} [feedLabel] CssProduct feedLabel + * @property {google.shopping.css.v1.IAttributes|null} [attributes] CssProduct attributes + * @property {Array.|null} [customAttributes] CssProduct customAttributes + * @property {google.shopping.css.v1.ICssProductStatus|null} [cssProductStatus] CssProduct cssProductStatus + */ + + /** + * Constructs a new CssProduct. + * @memberof google.shopping.css.v1 + * @classdesc Represents a CssProduct. + * @implements ICssProduct + * @constructor + * @param {google.shopping.css.v1.ICssProduct=} [properties] Properties to set + */ + function CssProduct(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]]; + } + + /** + * CssProduct name. + * @member {string} name + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.name = ""; + + /** + * CssProduct rawProvidedId. + * @member {string} rawProvidedId + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.rawProvidedId = ""; + + /** + * CssProduct contentLanguage. + * @member {string} contentLanguage + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.contentLanguage = ""; + + /** + * CssProduct feedLabel. + * @member {string} feedLabel + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.feedLabel = ""; + + /** + * CssProduct attributes. + * @member {google.shopping.css.v1.IAttributes|null|undefined} attributes + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.attributes = null; + + /** + * CssProduct customAttributes. + * @member {Array.} customAttributes + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.customAttributes = $util.emptyArray; + + /** + * CssProduct cssProductStatus. + * @member {google.shopping.css.v1.ICssProductStatus|null|undefined} cssProductStatus + * @memberof google.shopping.css.v1.CssProduct + * @instance + */ + CssProduct.prototype.cssProductStatus = null; + + /** + * Creates a new CssProduct instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {google.shopping.css.v1.ICssProduct=} [properties] Properties to set + * @returns {google.shopping.css.v1.CssProduct} CssProduct instance + */ + CssProduct.create = function create(properties) { + return new CssProduct(properties); + }; + + /** + * Encodes the specified CssProduct message. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {google.shopping.css.v1.ICssProduct} message CssProduct message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProduct.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.rawProvidedId != null && Object.hasOwnProperty.call(message, "rawProvidedId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.rawProvidedId); + if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.contentLanguage); + if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.feedLabel); + if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) + $root.google.shopping.css.v1.Attributes.encode(message.attributes, writer.uint32(/* id 5, wireType 2 =*/42).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 6, wireType 2 =*/50).fork()).ldelim(); + if (message.cssProductStatus != null && Object.hasOwnProperty.call(message, "cssProductStatus")) + $root.google.shopping.css.v1.CssProductStatus.encode(message.cssProductStatus, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CssProduct message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {google.shopping.css.v1.ICssProduct} message CssProduct message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CssProduct.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CssProduct message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.CssProduct} CssProduct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProduct.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.css.v1.CssProduct(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.rawProvidedId = reader.string(); + break; + } + case 3: { + message.contentLanguage = reader.string(); + break; + } + case 4: { + message.feedLabel = reader.string(); + break; + } + case 5: { + message.attributes = $root.google.shopping.css.v1.Attributes.decode(reader, reader.uint32()); + break; + } + case 6: { + if (!(message.customAttributes && message.customAttributes.length)) + message.customAttributes = []; + message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); + break; + } + case 8: { + message.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CssProduct message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.CssProduct} CssProduct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CssProduct.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CssProduct message. + * @function verify + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CssProduct.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.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) + if (!$util.isString(message.rawProvidedId)) + return "rawProvidedId: 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.attributes != null && message.hasOwnProperty("attributes")) { + var error = $root.google.shopping.css.v1.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.cssProductStatus != null && message.hasOwnProperty("cssProductStatus")) { + var error = $root.google.shopping.css.v1.CssProductStatus.verify(message.cssProductStatus); + if (error) + return "cssProductStatus." + error; + } + return null; + }; + + /** + * Creates a CssProduct message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.CssProduct} CssProduct + */ + CssProduct.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.CssProduct) + return object; + var message = new $root.google.shopping.css.v1.CssProduct(); + if (object.name != null) + message.name = String(object.name); + if (object.rawProvidedId != null) + message.rawProvidedId = String(object.rawProvidedId); + if (object.contentLanguage != null) + message.contentLanguage = String(object.contentLanguage); + if (object.feedLabel != null) + message.feedLabel = String(object.feedLabel); + if (object.attributes != null) { + if (typeof object.attributes !== "object") + throw TypeError(".google.shopping.css.v1.CssProduct.attributes: object expected"); + message.attributes = $root.google.shopping.css.v1.Attributes.fromObject(object.attributes); + } + if (object.customAttributes) { + if (!Array.isArray(object.customAttributes)) + throw TypeError(".google.shopping.css.v1.CssProduct.customAttributes: array expected"); + message.customAttributes = []; + for (var i = 0; i < object.customAttributes.length; ++i) { + if (typeof object.customAttributes[i] !== "object") + throw TypeError(".google.shopping.css.v1.CssProduct.customAttributes: object expected"); + message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); + } + } + if (object.cssProductStatus != null) { + if (typeof object.cssProductStatus !== "object") + throw TypeError(".google.shopping.css.v1.CssProduct.cssProductStatus: object expected"); + message.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.fromObject(object.cssProductStatus); + } + return message; + }; + + /** + * Creates a plain object from a CssProduct message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {google.shopping.css.v1.CssProduct} message CssProduct + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CssProduct.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.customAttributes = []; + if (options.defaults) { + object.name = ""; + object.rawProvidedId = ""; + object.contentLanguage = ""; + object.feedLabel = ""; + object.attributes = null; + object.cssProductStatus = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) + object.rawProvidedId = message.rawProvidedId; + if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) + object.contentLanguage = message.contentLanguage; + if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) + object.feedLabel = message.feedLabel; + if (message.attributes != null && message.hasOwnProperty("attributes")) + object.attributes = $root.google.shopping.css.v1.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.cssProductStatus != null && message.hasOwnProperty("cssProductStatus")) + object.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.toObject(message.cssProductStatus, options); + return object; + }; + + /** + * Converts this CssProduct to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.CssProduct + * @instance + * @returns {Object.} JSON object + */ + CssProduct.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CssProduct + * @function getTypeUrl + * @memberof google.shopping.css.v1.CssProduct + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CssProduct.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.CssProduct"; + }; + + return CssProduct; + })(); + + v1.ListCssProductsRequest = (function() { + + /** + * Properties of a ListCssProductsRequest. + * @memberof google.shopping.css.v1 + * @interface IListCssProductsRequest + * @property {string|null} [parent] ListCssProductsRequest parent + * @property {number|null} [pageSize] ListCssProductsRequest pageSize + * @property {string|null} [pageToken] ListCssProductsRequest pageToken + */ + + /** + * Constructs a new ListCssProductsRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListCssProductsRequest. + * @implements IListCssProductsRequest + * @constructor + * @param {google.shopping.css.v1.IListCssProductsRequest=} [properties] Properties to set + */ + function ListCssProductsRequest(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]]; + } + + /** + * ListCssProductsRequest parent. + * @member {string} parent + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @instance + */ + ListCssProductsRequest.prototype.parent = ""; + + /** + * ListCssProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @instance + */ + ListCssProductsRequest.prototype.pageSize = 0; + + /** + * ListCssProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @instance + */ + ListCssProductsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListCssProductsRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {google.shopping.css.v1.IListCssProductsRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest instance + */ + ListCssProductsRequest.create = function create(properties) { + return new ListCssProductsRequest(properties); + }; + + /** + * Encodes the specified ListCssProductsRequest message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {google.shopping.css.v1.IListCssProductsRequest} message ListCssProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCssProductsRequest.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 ListCssProductsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {google.shopping.css.v1.IListCssProductsRequest} message ListCssProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCssProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListCssProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListCssProductsRequest.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.css.v1.ListCssProductsRequest(); + 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 ListCssProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListCssProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListCssProductsRequest message. + * @function verify + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListCssProductsRequest.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 ListCssProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest + */ + ListCssProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListCssProductsRequest) + return object; + var message = new $root.google.shopping.css.v1.ListCssProductsRequest(); + 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 ListCssProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {google.shopping.css.v1.ListCssProductsRequest} message ListCssProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListCssProductsRequest.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 ListCssProductsRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @instance + * @returns {Object.} JSON object + */ + ListCssProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListCssProductsRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListCssProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListCssProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListCssProductsRequest"; + }; + + return ListCssProductsRequest; + })(); + + v1.ListCssProductsResponse = (function() { + + /** + * Properties of a ListCssProductsResponse. + * @memberof google.shopping.css.v1 + * @interface IListCssProductsResponse + * @property {Array.|null} [cssProducts] ListCssProductsResponse cssProducts + * @property {string|null} [nextPageToken] ListCssProductsResponse nextPageToken + */ + + /** + * Constructs a new ListCssProductsResponse. + * @memberof google.shopping.css.v1 + * @classdesc Represents a ListCssProductsResponse. + * @implements IListCssProductsResponse + * @constructor + * @param {google.shopping.css.v1.IListCssProductsResponse=} [properties] Properties to set + */ + function ListCssProductsResponse(properties) { + this.cssProducts = []; + 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]]; + } + + /** + * ListCssProductsResponse cssProducts. + * @member {Array.} cssProducts + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @instance + */ + ListCssProductsResponse.prototype.cssProducts = $util.emptyArray; + + /** + * ListCssProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @instance + */ + ListCssProductsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListCssProductsResponse instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {google.shopping.css.v1.IListCssProductsResponse=} [properties] Properties to set + * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse instance + */ + ListCssProductsResponse.create = function create(properties) { + return new ListCssProductsResponse(properties); + }; + + /** + * Encodes the specified ListCssProductsResponse message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {google.shopping.css.v1.IListCssProductsResponse} message ListCssProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCssProductsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cssProducts != null && message.cssProducts.length) + for (var i = 0; i < message.cssProducts.length; ++i) + $root.google.shopping.css.v1.CssProduct.encode(message.cssProducts[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 ListCssProductsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {google.shopping.css.v1.IListCssProductsResponse} message ListCssProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCssProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListCssProductsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListCssProductsResponse.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.css.v1.ListCssProductsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.cssProducts && message.cssProducts.length)) + message.cssProducts = []; + message.cssProducts.push($root.google.shopping.css.v1.CssProduct.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListCssProductsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListCssProductsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListCssProductsResponse message. + * @function verify + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListCssProductsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cssProducts != null && message.hasOwnProperty("cssProducts")) { + if (!Array.isArray(message.cssProducts)) + return "cssProducts: array expected"; + for (var i = 0; i < message.cssProducts.length; ++i) { + var error = $root.google.shopping.css.v1.CssProduct.verify(message.cssProducts[i]); + if (error) + return "cssProducts." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListCssProductsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse + */ + ListCssProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.ListCssProductsResponse) + return object; + var message = new $root.google.shopping.css.v1.ListCssProductsResponse(); + if (object.cssProducts) { + if (!Array.isArray(object.cssProducts)) + throw TypeError(".google.shopping.css.v1.ListCssProductsResponse.cssProducts: array expected"); + message.cssProducts = []; + for (var i = 0; i < object.cssProducts.length; ++i) { + if (typeof object.cssProducts[i] !== "object") + throw TypeError(".google.shopping.css.v1.ListCssProductsResponse.cssProducts: object expected"); + message.cssProducts[i] = $root.google.shopping.css.v1.CssProduct.fromObject(object.cssProducts[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListCssProductsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {google.shopping.css.v1.ListCssProductsResponse} message ListCssProductsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListCssProductsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cssProducts = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.cssProducts && message.cssProducts.length) { + object.cssProducts = []; + for (var j = 0; j < message.cssProducts.length; ++j) + object.cssProducts[j] = $root.google.shopping.css.v1.CssProduct.toObject(message.cssProducts[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListCssProductsResponse to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @instance + * @returns {Object.} JSON object + */ + ListCssProductsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListCssProductsResponse + * @function getTypeUrl + * @memberof google.shopping.css.v1.ListCssProductsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListCssProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.ListCssProductsResponse"; + }; + + return ListCssProductsResponse; + })(); + + return v1; + })(); + + return css; + })(); + + 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; + })(); + + protobuf.FieldMask = (function() { + + /** + * Properties of a FieldMask. + * @memberof google.protobuf + * @interface IFieldMask + * @property {Array.|null} [paths] FieldMask paths + */ + + /** + * Constructs a new FieldMask. + * @memberof google.protobuf + * @classdesc Represents a FieldMask. + * @implements IFieldMask + * @constructor + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + */ + function FieldMask(properties) { + this.paths = []; + 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]]; + } + + /** + * FieldMask paths. + * @member {Array.} paths + * @memberof google.protobuf.FieldMask + * @instance + */ + FieldMask.prototype.paths = $util.emptyArray; + + /** + * Creates a new FieldMask instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + * @returns {google.protobuf.FieldMask} FieldMask instance + */ + FieldMask.create = function create(properties) { + return new FieldMask(properties); + }; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.paths != null && message.paths.length) + for (var i = 0; i < message.paths.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); + return writer; + }; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.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.FieldMask(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldMask message. + * @function verify + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldMask.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.paths != null && message.hasOwnProperty("paths")) { + if (!Array.isArray(message.paths)) + return "paths: array expected"; + for (var i = 0; i < message.paths.length; ++i) + if (!$util.isString(message.paths[i])) + return "paths: string[] expected"; + } + return null; + }; + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldMask} FieldMask + */ + FieldMask.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldMask) + return object; + var message = new $root.google.protobuf.FieldMask(); + if (object.paths) { + if (!Array.isArray(object.paths)) + throw TypeError(".google.protobuf.FieldMask.paths: array expected"); + message.paths = []; + for (var i = 0; i < object.paths.length; ++i) + message.paths[i] = String(object.paths[i]); + } + return message; + }; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.FieldMask} message FieldMask + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldMask.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paths = []; + if (message.paths && message.paths.length) { + object.paths = []; + for (var j = 0; j < message.paths.length; ++j) + object.paths[j] = message.paths[j]; + } + return object; + }; + + /** + * Converts this FieldMask to JSON. + * @function toJSON + * @memberof google.protobuf.FieldMask + * @instance + * @returns {Object.} JSON object + */ + FieldMask.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldMask + * @function getTypeUrl + * @memberof google.protobuf.FieldMask + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldMask"; + }; + + return FieldMask; + })(); + + return protobuf; + })(); + + return google; + })(); + + return $root; +}); diff --git a/owl-bot-staging/google-shopping-css/v1/protos/protos.json b/owl-bot-staging/google-shopping-css/v1/protos/protos.json new file mode 100644 index 00000000000..09612d145e5 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/protos/protos.json @@ -0,0 +1,3524 @@ +{ + "nested": { + "google": { + "nested": { + "shopping": { + "nested": { + "css": { + "nested": { + "v1": { + "options": { + "csharp_namespace": "Google.Shopping.Css.V1", + "go_package": "cloud.google.com/go/shopping/css/apiv1/csspb;csspb", + "java_multiple_files": true, + "java_outer_classname": "CssProductsProto", + "java_package": "com.google.shopping.css.v1", + "php_namespace": "Google\\Shopping\\Css\\V1", + "ruby_package": "Google::Shopping::Css::V1" + }, + "nested": { + "AccountsService": { + "options": { + "(google.api.default_host)": "css.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "ListChildAccounts": { + "requestType": "ListChildAccountsRequest", + "responseType": "ListChildAccountsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=accounts/*}:listChildAccounts", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=accounts/*}:listChildAccounts" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetAccount": { + "requestType": "GetAccountRequest", + "responseType": "Account", + "options": { + "(google.api.http).get": "/v1/{name=accounts/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=accounts/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "UpdateLabels": { + "requestType": "UpdateAccountLabelsRequest", + "responseType": "Account", + "options": { + "(google.api.http).post": "/v1/{name=accounts/*}:updateLabels", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=accounts/*}:updateLabels", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + } + } + }, + "ListChildAccountsRequest": { + "oneofs": { + "_labelId": { + "oneof": [ + "labelId" + ] + }, + "_fullName": { + "oneof": [ + "fullName" + ] + } + }, + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/Account" + } + }, + "labelId": { + "type": "int64", + "id": 2, + "options": { + "proto3_optional": true + } + }, + "fullName": { + "type": "string", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "pageSize": { + "type": "int32", + "id": 4, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "pageToken": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "ListChildAccountsResponse": { + "fields": { + "accounts": { + "rule": "repeated", + "type": "Account", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetAccountRequest": { + "oneofs": { + "_parent": { + "oneof": [ + "parent" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/Account" + } + }, + "parent": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "(google.api.resource_reference).type": "css.googleapis.com/Account", + "proto3_optional": true + } + } + } + }, + "UpdateAccountLabelsRequest": { + "oneofs": { + "_parent": { + "oneof": [ + "parent" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/Account" + } + }, + "labelIds": { + "rule": "repeated", + "type": "int64", + "id": 2 + }, + "parent": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL", + "(google.api.resource_reference).type": "css.googleapis.com/Account", + "proto3_optional": true + } + } + } + }, + "Account": { + "options": { + "(google.api.resource).type": "css.googleapis.com/Account", + "(google.api.resource).pattern": "accounts/{account}", + "(google.api.resource).plural": "accounts", + "(google.api.resource).singular": "account" + }, + "oneofs": { + "_displayName": { + "oneof": [ + "displayName" + ] + }, + "_homepageUri": { + "oneof": [ + "homepageUri" + ] + }, + "_parent": { + "oneof": [ + "parent" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "fullName": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "displayName": { + "type": "string", + "id": 3, + "options": { + "proto3_optional": true + } + }, + "homepageUri": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "IMMUTABLE", + "proto3_optional": true + } + }, + "parent": { + "type": "string", + "id": 5, + "options": { + "proto3_optional": true + } + }, + "labelIds": { + "rule": "repeated", + "type": "int64", + "id": 6 + }, + "automaticLabelIds": { + "rule": "repeated", + "type": "int64", + "id": 7 + }, + "accountType": { + "type": "AccountType", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "AccountType": { + "values": { + "ACCOUNT_TYPE_UNSPECIFIED": 0, + "CSS_GROUP": 1, + "CSS_DOMAIN": 2, + "MC_PRIMARY_CSS_MCA": 3, + "MC_CSS_MCA": 4, + "MC_MARKETPLACE_MCA": 5, + "MC_OTHER_MCA": 6, + "MC_STANDALONE": 7, + "MC_MCA_SUBACCOUNT": 8 + } + } + } + }, + "AccountLabelsService": { + "options": { + "(google.api.default_host)": "css.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "ListAccountLabels": { + "requestType": "ListAccountLabelsRequest", + "responseType": "ListAccountLabelsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=accounts/*}/labels", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=accounts/*}/labels" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "CreateAccountLabel": { + "requestType": "CreateAccountLabelRequest", + "responseType": "AccountLabel", + "options": { + "(google.api.http).post": "/v1/{parent=accounts/*}/labels", + "(google.api.http).body": "account_label", + "(google.api.method_signature)": "parent,account_label" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=accounts/*}/labels", + "body": "account_label" + } + }, + { + "(google.api.method_signature)": "parent,account_label" + } + ] + }, + "UpdateAccountLabel": { + "requestType": "UpdateAccountLabelRequest", + "responseType": "AccountLabel", + "options": { + "(google.api.http).patch": "/v1/{account_label.name=accounts/*/labels/*}", + "(google.api.http).body": "account_label", + "(google.api.method_signature)": "account_label" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{account_label.name=accounts/*/labels/*}", + "body": "account_label" + } + }, + { + "(google.api.method_signature)": "account_label" + } + ] + }, + "DeleteAccountLabel": { + "requestType": "DeleteAccountLabelRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=accounts/*/labels/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=accounts/*/labels/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + } + } + }, + "AccountLabel": { + "options": { + "(google.api.resource).type": "css.googleapis.com/AccountLabel", + "(google.api.resource).pattern": "accounts/{account}/labels/{label}", + "(google.api.resource).plural": "accountLabels", + "(google.api.resource).singular": "accountLabel" + }, + "oneofs": { + "_displayName": { + "oneof": [ + "displayName" + ] + }, + "_description": { + "oneof": [ + "description" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "labelId": { + "type": "int64", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "accountId": { + "type": "int64", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "displayName": { + "type": "string", + "id": 4, + "options": { + "proto3_optional": true + } + }, + "description": { + "type": "string", + "id": 5, + "options": { + "proto3_optional": true + } + }, + "labelType": { + "type": "LabelType", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "LabelType": { + "values": { + "LABEL_TYPE_UNSPECIFIED": 0, + "MANUAL": 1, + "AUTOMATIC": 2 + } + } + } + }, + "ListAccountLabelsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "css.googleapis.com/AccountLabel" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListAccountLabelsResponse": { + "fields": { + "accountLabels": { + "rule": "repeated", + "type": "AccountLabel", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CreateAccountLabelRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "css.googleapis.com/AccountLabel" + } + }, + "accountLabel": { + "type": "AccountLabel", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "UpdateAccountLabelRequest": { + "fields": { + "accountLabel": { + "type": "AccountLabel", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "DeleteAccountLabelRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/AccountLabel" + } + } + } + }, + "Attributes": { + "oneofs": { + "_cppLink": { + "oneof": [ + "cppLink" + ] + }, + "_cppMobileLink": { + "oneof": [ + "cppMobileLink" + ] + }, + "_cppAdsRedirect": { + "oneof": [ + "cppAdsRedirect" + ] + }, + "_numberOfOffers": { + "oneof": [ + "numberOfOffers" + ] + }, + "_headlineOfferCondition": { + "oneof": [ + "headlineOfferCondition" + ] + }, + "_headlineOfferLink": { + "oneof": [ + "headlineOfferLink" + ] + }, + "_headlineOfferMobileLink": { + "oneof": [ + "headlineOfferMobileLink" + ] + }, + "_title": { + "oneof": [ + "title" + ] + }, + "_imageLink": { + "oneof": [ + "imageLink" + ] + }, + "_description": { + "oneof": [ + "description" + ] + }, + "_brand": { + "oneof": [ + "brand" + ] + }, + "_mpn": { + "oneof": [ + "mpn" + ] + }, + "_gtin": { + "oneof": [ + "gtin" + ] + }, + "_googleProductCategory": { + "oneof": [ + "googleProductCategory" + ] + }, + "_adult": { + "oneof": [ + "adult" + ] + }, + "_multipack": { + "oneof": [ + "multipack" + ] + }, + "_isBundle": { + "oneof": [ + "isBundle" + ] + }, + "_ageGroup": { + "oneof": [ + "ageGroup" + ] + }, + "_color": { + "oneof": [ + "color" + ] + }, + "_gender": { + "oneof": [ + "gender" + ] + }, + "_material": { + "oneof": [ + "material" + ] + }, + "_pattern": { + "oneof": [ + "pattern" + ] + }, + "_size": { + "oneof": [ + "size" + ] + }, + "_sizeSystem": { + "oneof": [ + "sizeSystem" + ] + }, + "_itemGroupId": { + "oneof": [ + "itemGroupId" + ] + }, + "_pause": { + "oneof": [ + "pause" + ] + }, + "_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" + ] + } + }, + "fields": { + "cppLink": { + "type": "string", + "id": 1, + "options": { + "proto3_optional": true + } + }, + "cppMobileLink": { + "type": "string", + "id": 2, + "options": { + "proto3_optional": true + } + }, + "cppAdsRedirect": { + "type": "string", + "id": 42, + "options": { + "proto3_optional": true + } + }, + "lowPrice": { + "type": "google.shopping.type.Price", + "id": 3 + }, + "highPrice": { + "type": "google.shopping.type.Price", + "id": 4 + }, + "numberOfOffers": { + "type": "int64", + "id": 5, + "options": { + "proto3_optional": true + } + }, + "headlineOfferCondition": { + "type": "string", + "id": 6, + "options": { + "proto3_optional": true + } + }, + "headlineOfferPrice": { + "type": "google.shopping.type.Price", + "id": 7 + }, + "headlineOfferLink": { + "type": "string", + "id": 8, + "options": { + "proto3_optional": true + } + }, + "headlineOfferMobileLink": { + "type": "string", + "id": 9, + "options": { + "proto3_optional": true + } + }, + "headlineOfferShippingPrice": { + "type": "google.shopping.type.Price", + "id": 41 + }, + "title": { + "type": "string", + "id": 10, + "options": { + "proto3_optional": true + } + }, + "imageLink": { + "type": "string", + "id": 11, + "options": { + "proto3_optional": true + } + }, + "additionalImageLinks": { + "rule": "repeated", + "type": "string", + "id": 12 + }, + "description": { + "type": "string", + "id": 13, + "options": { + "proto3_optional": true + } + }, + "brand": { + "type": "string", + "id": 14, + "options": { + "proto3_optional": true + } + }, + "mpn": { + "type": "string", + "id": 15, + "options": { + "proto3_optional": true + } + }, + "gtin": { + "type": "string", + "id": 16, + "options": { + "proto3_optional": true + } + }, + "productTypes": { + "rule": "repeated", + "type": "string", + "id": 36 + }, + "googleProductCategory": { + "type": "string", + "id": 17, + "options": { + "proto3_optional": true + } + }, + "adult": { + "type": "bool", + "id": 18, + "options": { + "proto3_optional": true + } + }, + "multipack": { + "type": "int64", + "id": 19, + "options": { + "proto3_optional": true + } + }, + "isBundle": { + "type": "bool", + "id": 20, + "options": { + "proto3_optional": true + } + }, + "ageGroup": { + "type": "string", + "id": 21, + "options": { + "proto3_optional": true + } + }, + "color": { + "type": "string", + "id": 22, + "options": { + "proto3_optional": true + } + }, + "gender": { + "type": "string", + "id": 23, + "options": { + "proto3_optional": true + } + }, + "material": { + "type": "string", + "id": 24, + "options": { + "proto3_optional": true + } + }, + "pattern": { + "type": "string", + "id": 25, + "options": { + "proto3_optional": true + } + }, + "size": { + "type": "string", + "id": 26, + "options": { + "proto3_optional": true + } + }, + "sizeSystem": { + "type": "string", + "id": 27, + "options": { + "proto3_optional": true + } + }, + "sizeTypes": { + "rule": "repeated", + "type": "string", + "id": 28 + }, + "itemGroupId": { + "type": "string", + "id": 29, + "options": { + "proto3_optional": true + } + }, + "productDetails": { + "rule": "repeated", + "type": "ProductDetail", + "id": 30 + }, + "productWeight": { + "type": "ProductWeight", + "id": 31 + }, + "productLength": { + "type": "ProductDimension", + "id": 32 + }, + "productWidth": { + "type": "ProductDimension", + "id": 33 + }, + "productHeight": { + "type": "ProductDimension", + "id": 34 + }, + "productHighlights": { + "rule": "repeated", + "type": "string", + "id": 35 + }, + "certifications": { + "rule": "repeated", + "type": "Certification", + "id": 39 + }, + "expirationDate": { + "type": "google.protobuf.Timestamp", + "id": 40 + }, + "includedDestinations": { + "rule": "repeated", + "type": "string", + "id": 43 + }, + "excludedDestinations": { + "rule": "repeated", + "type": "string", + "id": 44 + }, + "pause": { + "type": "string", + "id": 45, + "options": { + "proto3_optional": true + } + }, + "customLabel_0": { + "type": "string", + "id": 46, + "options": { + "proto3_optional": true + } + }, + "customLabel_1": { + "type": "string", + "id": 47, + "options": { + "proto3_optional": true + } + }, + "customLabel_2": { + "type": "string", + "id": 48, + "options": { + "proto3_optional": true + } + }, + "customLabel_3": { + "type": "string", + "id": 49, + "options": { + "proto3_optional": true + } + }, + "customLabel_4": { + "type": "string", + "id": 50, + "options": { + "proto3_optional": true + } + }, + "headlineOfferInstallment": { + "type": "HeadlineOfferInstallment", + "id": 51 + }, + "headlineOfferSubscriptionCost": { + "type": "HeadlineOfferSubscriptionCost", + "id": 52 + } + } + }, + "Certification": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "authority": { + "type": "string", + "id": 2 + }, + "code": { + "type": "string", + "id": 3 + } + } + }, + "ProductDetail": { + "fields": { + "sectionName": { + "type": "string", + "id": 1 + }, + "attributeName": { + "type": "string", + "id": 2 + }, + "attributeValue": { + "type": "string", + "id": 3 + } + } + }, + "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" + } + } + } + }, + "CssProductStatus": { + "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": { + "destination": { + "type": "string", + "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 + }, + "servability": { + "type": "string", + "id": 2 + }, + "resolution": { + "type": "string", + "id": 3 + }, + "attribute": { + "type": "string", + "id": 4 + }, + "destination": { + "type": "string", + "id": 5 + }, + "description": { + "type": "string", + "id": 6 + }, + "detail": { + "type": "string", + "id": 7 + }, + "documentation": { + "type": "string", + "id": 8 + }, + "applicableCountries": { + "rule": "repeated", + "type": "string", + "id": 9 + } + } + } + } + }, + "HeadlineOfferSubscriptionCost": { + "fields": { + "period": { + "type": "SubscriptionPeriod", + "id": 1 + }, + "periodLength": { + "type": "int64", + "id": 2 + }, + "amount": { + "type": "google.shopping.type.Price", + "id": 3 + } + } + }, + "HeadlineOfferInstallment": { + "fields": { + "months": { + "type": "int64", + "id": 1 + }, + "amount": { + "type": "google.shopping.type.Price", + "id": 2 + }, + "downpayment": { + "type": "google.shopping.type.Price", + "id": 3 + } + } + }, + "SubscriptionPeriod": { + "values": { + "SUBSCRIPTION_PERIOD_UNSPECIFIED": 0, + "MONTH": 1, + "YEAR": 2 + } + }, + "CssProductInputsService": { + "options": { + "(google.api.default_host)": "css.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "InsertCssProductInput": { + "requestType": "InsertCssProductInputRequest", + "responseType": "CssProductInput", + "options": { + "(google.api.http).post": "/v1/{parent=accounts/*}/cssProductInputs:insert", + "(google.api.http).body": "css_product_input" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=accounts/*}/cssProductInputs:insert", + "body": "css_product_input" + } + } + ] + }, + "UpdateCssProductInput": { + "requestType": "UpdateCssProductInputRequest", + "responseType": "CssProductInput", + "options": { + "(google.api.http).patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", + "(google.api.http).body": "css_product_input", + "(google.api.method_signature)": "css_product_input,update_mask" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", + "body": "css_product_input" + } + }, + { + "(google.api.method_signature)": "css_product_input,update_mask" + } + ] + }, + "DeleteCssProductInput": { + "requestType": "DeleteCssProductInputRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=accounts/*/cssProductInputs/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=accounts/*/cssProductInputs/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + } + } + }, + "CssProductInput": { + "options": { + "(google.api.resource).type": "css.googleapis.com/CssProductInput", + "(google.api.resource).pattern": "accounts/{account}/cssProductInputs/{css_product_input}" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "finalName": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "rawProvidedId": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contentLanguage": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "feedLabel": { + "type": "string", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "freshnessTime": { + "type": "google.protobuf.Timestamp", + "id": 6, + "options": { + "deprecated": true + } + }, + "attributes": { + "type": "Attributes", + "id": 7 + }, + "customAttributes": { + "rule": "repeated", + "type": "google.shopping.type.CustomAttribute", + "id": 8 + } + } + }, + "InsertCssProductInputRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "css.googleapis.com/CssProductInput" + } + }, + "cssProductInput": { + "type": "CssProductInput", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "feedId": { + "type": "int64", + "id": 3, + "options": { + "deprecated": true, + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "UpdateCssProductInputRequest": { + "fields": { + "cssProductInput": { + "type": "CssProductInput", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteCssProductInputRequest": { + "oneofs": { + "_supplementalFeedId": { + "oneof": [ + "supplementalFeedId" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/CssProductInput" + } + }, + "supplementalFeedId": { + "type": "int64", + "id": 2, + "options": { + "proto3_optional": true + } + } + } + }, + "CssProductsService": { + "options": { + "(google.api.default_host)": "css.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" + }, + "methods": { + "GetCssProduct": { + "requestType": "GetCssProductRequest", + "responseType": "CssProduct", + "options": { + "(google.api.http).get": "/v1/{name=accounts/*/cssProducts/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=accounts/*/cssProducts/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "ListCssProducts": { + "requestType": "ListCssProductsRequest", + "responseType": "ListCssProductsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=accounts/*}/cssProducts", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=accounts/*}/cssProducts" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + } + } + }, + "GetCssProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "css.googleapis.com/CssProduct" + } + } + } + }, + "CssProduct": { + "options": { + "(google.api.resource).type": "css.googleapis.com/CssProduct", + "(google.api.resource).pattern": "accounts/{account}/cssProducts/{css_product}", + "(google.api.resource).plural": "cssProducts", + "(google.api.resource).singular": "cssProduct" + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "rawProvidedId": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "contentLanguage": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "feedLabel": { + "type": "string", + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "attributes": { + "type": "Attributes", + "id": 5, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "customAttributes": { + "rule": "repeated", + "type": "google.shopping.type.CustomAttribute", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "cssProductStatus": { + "type": "CssProductStatus", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "ListCssProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "css.googleapis.com/CssProduct" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListCssProductsResponse": { + "fields": { + "cssProducts": { + "rule": "repeated", + "type": "CssProduct", + "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 + } + } + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js new file mode 100644 index 00000000000..c06ed69259c --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js @@ -0,0 +1,67 @@ +// 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, accountLabel) { + // [START css_v1_generated_AccountLabelsService_CreateAccountLabel_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 parent account. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * Required. The label to create. + */ + // const accountLabel = {} + + // Imports the Css library + const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountLabelsServiceClient(); + + async function callCreateAccountLabel() { + // Construct request + const request = { + parent, + accountLabel, + }; + + // Run request + const response = await cssClient.createAccountLabel(request); + console.log(response); + } + + callCreateAccountLabel(); + // [END css_v1_generated_AccountLabelsService_CreateAccountLabel_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-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js new file mode 100644 index 00000000000..a8b1e05a4d8 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js @@ -0,0 +1,62 @@ +// 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 css_v1_generated_AccountLabelsService_DeleteAccountLabel_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 label to delete. + * Format: accounts/{account}/labels/{label} + */ + // const name = 'abc123' + + // Imports the Css library + const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountLabelsServiceClient(); + + async function callDeleteAccountLabel() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await cssClient.deleteAccountLabel(request); + console.log(response); + } + + callDeleteAccountLabel(); + // [END css_v1_generated_AccountLabelsService_DeleteAccountLabel_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-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js new file mode 100644 index 00000000000..5be3ba57fab --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.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 css_v1_generated_AccountLabelsService_ListAccountLabels_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 parent account. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * The maximum number of labels to return. The service may return fewer than + * this value. + * If unspecified, at most 50 labels will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + // const pageSize = 1234 + /** + * A page token, received from a previous `ListAccountLabels` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to `ListAccountLabels` must + * match the call that provided the page token. + */ + // const pageToken = 'abc123' + + // Imports the Css library + const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountLabelsServiceClient(); + + async function callListAccountLabels() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = cssClient.listAccountLabelsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListAccountLabels(); + // [END css_v1_generated_AccountLabelsService_ListAccountLabels_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-css/v1/samples/generated/v1/account_labels_service.update_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js new file mode 100644 index 00000000000..e8fd16dfec6 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js @@ -0,0 +1,61 @@ +// 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(accountLabel) { + // [START css_v1_generated_AccountLabelsService_UpdateAccountLabel_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 updated label. All fields must be provided. + */ + // const accountLabel = {} + + // Imports the Css library + const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountLabelsServiceClient(); + + async function callUpdateAccountLabel() { + // Construct request + const request = { + accountLabel, + }; + + // Run request + const response = await cssClient.updateAccountLabel(request); + console.log(response); + } + + callUpdateAccountLabel(); + // [END css_v1_generated_AccountLabelsService_UpdateAccountLabel_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-css/v1/samples/generated/v1/accounts_service.get_account.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js new file mode 100644 index 00000000000..272dcadbbf9 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js @@ -0,0 +1,68 @@ +// 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 css_v1_generated_AccountsService_GetAccount_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 managed CSS/MC account. + * Format: accounts/{account} + */ + // const name = 'abc123' + /** + * Optional. Only required when retrieving MC account information. + * The CSS domain that is the parent resource of the MC account. + * Format: accounts/{account} + */ + // const parent = 'abc123' + + // Imports the Css library + const {AccountsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountsServiceClient(); + + async function callGetAccount() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await cssClient.getAccount(request); + console.log(response); + } + + callGetAccount(); + // [END css_v1_generated_AccountsService_GetAccount_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-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js new file mode 100644 index 00000000000..980ee7a7e81 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js @@ -0,0 +1,87 @@ +// 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 css_v1_generated_AccountsService_ListChildAccounts_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 parent account. Must be a CSS group or domain. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * If set, only the MC accounts with the given label ID will be returned. + */ + // const labelId = 1234 + /** + * If set, only the MC accounts with the given name (case sensitive) will be + * returned. + */ + // const fullName = 'abc123' + /** + * Optional. The maximum number of accounts to return. The service may return + * fewer than this value. If unspecified, at most 50 accounts will be + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. + */ + // const pageSize = 1234 + /** + * Optional. A page token, received from a previous `ListChildAccounts` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to `ListChildAccounts` must + * match the call that provided the page token. + */ + // const pageToken = 'abc123' + + // Imports the Css library + const {AccountsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountsServiceClient(); + + async function callListChildAccounts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = cssClient.listChildAccountsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListChildAccounts(); + // [END css_v1_generated_AccountsService_ListChildAccounts_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-css/v1/samples/generated/v1/accounts_service.update_labels.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.js new file mode 100644 index 00000000000..66e9b13d8f4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.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) { + // [START css_v1_generated_AccountsService_UpdateLabels_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 label resource name. + * Format: accounts/{account} + */ + // const name = 'abc123' + /** + * The list of label IDs to overwrite the existing account label IDs. + * If the list is empty, all currently assigned label IDs will be deleted. + */ + // const labelIds = [1,2,3,4] + /** + * Optional. Only required when updating MC account labels. + * The CSS domain that is the parent resource of the MC account. + * Format: accounts/{account} + */ + // const parent = 'abc123' + + // Imports the Css library + const {AccountsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new AccountsServiceClient(); + + async function callUpdateLabels() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await cssClient.updateLabels(request); + console.log(response); + } + + callUpdateLabels(); + // [END css_v1_generated_AccountsService_UpdateLabels_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-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js new file mode 100644 index 00000000000..f56e21d7f0c --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js @@ -0,0 +1,69 @@ +// 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 css_v1_generated_CssProductInputsService_DeleteCssProductInput_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 CSS product input resource to delete. + * Format: accounts/{account}/cssProductInputs/{css_product_input} + */ + // const name = 'abc123' + /** + * The Content API Supplemental Feed ID. + * The field must not be set if the action applies to a primary feed. + * If the field is set, then product action applies to a supplemental feed + * instead of primary Content API feed. + */ + // const supplementalFeedId = 1234 + + // Imports the Css library + const {CssProductInputsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new CssProductInputsServiceClient(); + + async function callDeleteCssProductInput() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await cssClient.deleteCssProductInput(request); + console.log(response); + } + + callDeleteCssProductInput(); + // [END css_v1_generated_CssProductInputsService_DeleteCssProductInput_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-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js new file mode 100644 index 00000000000..31a23e571d2 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js @@ -0,0 +1,77 @@ +// 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, cssProductInput) { + // [START css_v1_generated_CssProductInputsService_InsertCssProductInput_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 CSS Product will be inserted. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * Required. The CSS Product Input to insert. + */ + // const cssProductInput = {} + /** + * Optional. DEPRECATED. Feed id is not required for CSS Products. + * The primary or supplemental feed id. If CSS Product already exists and + * feed id provided is different, then the CSS Product will be moved to a + * new feed. + * Note: For now, CSSs do not need to provide feed ids as we create + * feeds on the fly. + * We do not have supplemental feed support for CSS Products yet. + */ + // const feedId = 1234 + + // Imports the Css library + const {CssProductInputsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new CssProductInputsServiceClient(); + + async function callInsertCssProductInput() { + // Construct request + const request = { + parent, + cssProductInput, + }; + + // Run request + const response = await cssClient.insertCssProductInput(request); + console.log(response); + } + + callInsertCssProductInput(); + // [END css_v1_generated_CssProductInputsService_InsertCssProductInput_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-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js new file mode 100644 index 00000000000..31dc81d895a --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js @@ -0,0 +1,76 @@ +// 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(cssProductInput) { + // [START css_v1_generated_CssProductInputsService_UpdateCssProductInput_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 CSS product input resource to update. Information you submit + * will be applied to the processed CSS product as well. + */ + // const cssProductInput = {} + /** + * The list of CSS product attributes to be updated. + * If the update mask is omitted, then it is treated as implied field mask + * equivalent to all fields that are populated (have a non-empty value). + * Attributes specified in the update mask without a value specified in the + * body will be deleted from the CSS product. + * Update mask can only be specified for top level fields in + * attributes and custom attributes. + * To specify the update mask for custom attributes you need to add the + * `custom_attribute.` prefix. + * Providing special "*" value for full CSS product replacement is not + * supported. + */ + // const updateMask = {} + + // Imports the Css library + const {CssProductInputsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new CssProductInputsServiceClient(); + + async function callUpdateCssProductInput() { + // Construct request + const request = { + cssProductInput, + }; + + // Run request + const response = await cssClient.updateCssProductInput(request); + console.log(response); + } + + callUpdateCssProductInput(); + // [END css_v1_generated_CssProductInputsService_UpdateCssProductInput_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-css/v1/samples/generated/v1/css_products_service.get_css_product.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js new file mode 100644 index 00000000000..7bc6c584906 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js @@ -0,0 +1,61 @@ +// 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 css_v1_generated_CssProductsService_GetCssProduct_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 CSS product to retrieve. + */ + // const name = 'abc123' + + // Imports the Css library + const {CssProductsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new CssProductsServiceClient(); + + async function callGetCssProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await cssClient.getCssProduct(request); + console.log(response); + } + + callGetCssProduct(); + // [END css_v1_generated_CssProductsService_GetCssProduct_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-css/v1/samples/generated/v1/css_products_service.list_css_products.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_products.js new file mode 100644 index 00000000000..b9068f3408e --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_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 css_v1_generated_CssProductsService_ListCssProducts_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/domain to list processed CSS Products for. + * Format: accounts/{account} + */ + // const parent = 'abc123' + /** + * The maximum number of CSS Products to return. The service may return + * fewer than this value. + * The maximum value is 1000; values above 1000 will be coerced to 1000. If + * unspecified, the maximum number of CSS products will be returned. + */ + // const pageSize = 1234 + /** + * A page token, received from a previous `ListCssProducts` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to `ListCssProducts` + * must match the call that provided the page token. + */ + // const pageToken = 'abc123' + + // Imports the Css library + const {CssProductsServiceClient} = require('@google-shopping/css').v1; + + // Instantiates a client + const cssClient = new CssProductsServiceClient(); + + async function callListCssProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = cssClient.listCssProductsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListCssProducts(); + // [END css_v1_generated_CssProductsService_ListCssProducts_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-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json new file mode 100644 index 00000000000..202a93fce9b --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json @@ -0,0 +1,559 @@ +{ + "clientLibrary": { + "name": "nodejs-css", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.shopping.css.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "css_v1_generated_AccountLabelsService_ListAccountLabels_async", + "title": "AccountLabelsService listAccountLabels Sample", + "origin": "API_DEFINITION", + "description": " Lists the labels owned by an account.", + "canonical": true, + "file": "account_labels_service.list_account_labels.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 70, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAccountLabels", + "fullName": "google.shopping.css.v1.AccountLabelsService.ListAccountLabels", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.ListAccountLabelsResponse", + "client": { + "shortName": "AccountLabelsServiceClient", + "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" + }, + "method": { + "shortName": "ListAccountLabels", + "fullName": "google.shopping.css.v1.AccountLabelsService.ListAccountLabels", + "service": { + "shortName": "AccountLabelsService", + "fullName": "google.shopping.css.v1.AccountLabelsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountLabelsService_CreateAccountLabel_async", + "title": "AccountLabelsService createAccountLabel Sample", + "origin": "API_DEFINITION", + "description": " Creates a new label, not assigned to any account.", + "canonical": true, + "file": "account_labels_service.create_account_label.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.CreateAccountLabel", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "account_label", + "type": ".google.shopping.css.v1.AccountLabel" + } + ], + "resultType": ".google.shopping.css.v1.AccountLabel", + "client": { + "shortName": "AccountLabelsServiceClient", + "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" + }, + "method": { + "shortName": "CreateAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.CreateAccountLabel", + "service": { + "shortName": "AccountLabelsService", + "fullName": "google.shopping.css.v1.AccountLabelsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountLabelsService_UpdateAccountLabel_async", + "title": "AccountLabelsService updateAccountLabel Sample", + "origin": "API_DEFINITION", + "description": " Updates a label.", + "canonical": true, + "file": "account_labels_service.update_account_label.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 53, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.UpdateAccountLabel", + "async": true, + "parameters": [ + { + "name": "account_label", + "type": ".google.shopping.css.v1.AccountLabel" + } + ], + "resultType": ".google.shopping.css.v1.AccountLabel", + "client": { + "shortName": "AccountLabelsServiceClient", + "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" + }, + "method": { + "shortName": "UpdateAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.UpdateAccountLabel", + "service": { + "shortName": "AccountLabelsService", + "fullName": "google.shopping.css.v1.AccountLabelsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountLabelsService_DeleteAccountLabel_async", + "title": "AccountLabelsService deleteAccountLabel Sample", + "origin": "API_DEFINITION", + "description": " Deletes a label and removes it from all accounts to which it was assigned.", + "canonical": true, + "file": "account_labels_service.delete_account_label.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.DeleteAccountLabel", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "AccountLabelsServiceClient", + "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" + }, + "method": { + "shortName": "DeleteAccountLabel", + "fullName": "google.shopping.css.v1.AccountLabelsService.DeleteAccountLabel", + "service": { + "shortName": "AccountLabelsService", + "fullName": "google.shopping.css.v1.AccountLabelsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountsService_ListChildAccounts_async", + "title": "AccountLabelsService listChildAccounts Sample", + "origin": "API_DEFINITION", + "description": " Lists all the accounts under the specified CSS account ID, and optionally filters by label ID and account name.", + "canonical": true, + "file": "accounts_service.list_child_accounts.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 79, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListChildAccounts", + "fullName": "google.shopping.css.v1.AccountsService.ListChildAccounts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "label_id", + "type": "TYPE_INT64" + }, + { + "name": "full_name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.ListChildAccountsResponse", + "client": { + "shortName": "AccountsServiceClient", + "fullName": "google.shopping.css.v1.AccountsServiceClient" + }, + "method": { + "shortName": "ListChildAccounts", + "fullName": "google.shopping.css.v1.AccountsService.ListChildAccounts", + "service": { + "shortName": "AccountsService", + "fullName": "google.shopping.css.v1.AccountsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountsService_GetAccount_async", + "title": "AccountLabelsService getAccount Sample", + "origin": "API_DEFINITION", + "description": " Retrieves a single CSS/MC account by ID.", + "canonical": true, + "file": "accounts_service.get_account.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetAccount", + "fullName": "google.shopping.css.v1.AccountsService.GetAccount", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.Account", + "client": { + "shortName": "AccountsServiceClient", + "fullName": "google.shopping.css.v1.AccountsServiceClient" + }, + "method": { + "shortName": "GetAccount", + "fullName": "google.shopping.css.v1.AccountsService.GetAccount", + "service": { + "shortName": "AccountsService", + "fullName": "google.shopping.css.v1.AccountsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_AccountsService_UpdateLabels_async", + "title": "AccountLabelsService updateLabels Sample", + "origin": "API_DEFINITION", + "description": " Updates labels assigned to CSS/MC accounts by a CSS domain.", + "canonical": true, + "file": "accounts_service.update_labels.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateLabels", + "fullName": "google.shopping.css.v1.AccountsService.UpdateLabels", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "label_ids", + "type": "TYPE_INT64[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.Account", + "client": { + "shortName": "AccountsServiceClient", + "fullName": "google.shopping.css.v1.AccountsServiceClient" + }, + "method": { + "shortName": "UpdateLabels", + "fullName": "google.shopping.css.v1.AccountsService.UpdateLabels", + "service": { + "shortName": "AccountsService", + "fullName": "google.shopping.css.v1.AccountsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_CssProductInputsService_InsertCssProductInput_async", + "title": "AccountLabelsService insertCssProductInput Sample", + "origin": "API_DEFINITION", + "description": " Uploads a CssProductInput to your CSS Center account. If an input with the same contentLanguage, identity, feedLabel and feedId already exists, this method replaces that entry. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed CSS Product can be retrieved.", + "canonical": true, + "file": "css_product_inputs_service.insert_css_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "InsertCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.InsertCssProductInput", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "css_product_input", + "type": ".google.shopping.css.v1.CssProductInput" + }, + { + "name": "feed_id", + "type": "TYPE_INT64" + } + ], + "resultType": ".google.shopping.css.v1.CssProductInput", + "client": { + "shortName": "CssProductInputsServiceClient", + "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" + }, + "method": { + "shortName": "InsertCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.InsertCssProductInput", + "service": { + "shortName": "CssProductInputsService", + "fullName": "google.shopping.css.v1.CssProductInputsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_CssProductInputsService_UpdateCssProductInput_async", + "title": "AccountLabelsService updateCssProductInput Sample", + "origin": "API_DEFINITION", + "description": " Updates the existing Css Product input in your CSS Center account. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed Css Product can be retrieved.", + "canonical": true, + "file": "css_product_inputs_service.update_css_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", + "async": true, + "parameters": [ + { + "name": "css_product_input", + "type": ".google.shopping.css.v1.CssProductInput" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.shopping.css.v1.CssProductInput", + "client": { + "shortName": "CssProductInputsServiceClient", + "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" + }, + "method": { + "shortName": "UpdateCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", + "service": { + "shortName": "CssProductInputsService", + "fullName": "google.shopping.css.v1.CssProductInputsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_CssProductInputsService_DeleteCssProductInput_async", + "title": "AccountLabelsService deleteCssProductInput Sample", + "origin": "API_DEFINITION", + "description": " Deletes a CSS Product input from your CSS Center account. After a delete it may take several minutes until the input is no longer available.", + "canonical": true, + "file": "css_product_inputs_service.delete_css_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.DeleteCssProductInput", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "supplemental_feed_id", + "type": "TYPE_INT64" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "CssProductInputsServiceClient", + "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" + }, + "method": { + "shortName": "DeleteCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.DeleteCssProductInput", + "service": { + "shortName": "CssProductInputsService", + "fullName": "google.shopping.css.v1.CssProductInputsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_CssProductsService_GetCssProduct_async", + "title": "AccountLabelsService getCssProduct Sample", + "origin": "API_DEFINITION", + "description": " Retrieves the processed CSS Product from your CSS 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": "css_products_service.get_css_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 53, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetCssProduct", + "fullName": "google.shopping.css.v1.CssProductsService.GetCssProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.CssProduct", + "client": { + "shortName": "CssProductsServiceClient", + "fullName": "google.shopping.css.v1.CssProductsServiceClient" + }, + "method": { + "shortName": "GetCssProduct", + "fullName": "google.shopping.css.v1.CssProductsService.GetCssProduct", + "service": { + "shortName": "CssProductsService", + "fullName": "google.shopping.css.v1.CssProductsService" + } + } + } + }, + { + "regionTag": "css_v1_generated_CssProductsService_ListCssProducts_async", + "title": "AccountLabelsService listCssProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists the processed CSS Products in your CSS 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 CSS product input, it may take several minutes before the updated processed CSS product can be retrieved.", + "canonical": true, + "file": "css_products_service.list_css_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 70, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListCssProducts", + "fullName": "google.shopping.css.v1.CssProductsService.ListCssProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.shopping.css.v1.ListCssProductsResponse", + "client": { + "shortName": "CssProductsServiceClient", + "fullName": "google.shopping.css.v1.CssProductsServiceClient" + }, + "method": { + "shortName": "ListCssProducts", + "fullName": "google.shopping.css.v1.CssProductsService.ListCssProducts", + "service": { + "shortName": "CssProductsService", + "fullName": "google.shopping.css.v1.CssProductsService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/index.ts b/owl-bot-staging/google-shopping-css/v1/src/index.ts new file mode 100644 index 00000000000..258a6280140 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/index.ts @@ -0,0 +1,31 @@ +// 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 v1 from './v1'; +const AccountLabelsServiceClient = v1.AccountLabelsServiceClient; +type AccountLabelsServiceClient = v1.AccountLabelsServiceClient; +const AccountsServiceClient = v1.AccountsServiceClient; +type AccountsServiceClient = v1.AccountsServiceClient; +const CssProductInputsServiceClient = v1.CssProductInputsServiceClient; +type CssProductInputsServiceClient = v1.CssProductInputsServiceClient; +const CssProductsServiceClient = v1.CssProductsServiceClient; +type CssProductsServiceClient = v1.CssProductsServiceClient; +export {v1, AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient}; +export default {v1, AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts new file mode 100644 index 00000000000..987f67fe9c2 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts @@ -0,0 +1,904 @@ +// 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/v1/account_labels_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './account_labels_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Manages Merchant Center and CSS accounts labels. + * @class + * @memberof v1 + */ +export class AccountLabelsServiceClient { + 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}; + accountLabelsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of AccountLabelsServiceClient. + * + * @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 AccountLabelsServiceClient({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 AccountLabelsServiceClient; + 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 = 'css.' + 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}' + ), + accountLabelPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/labels/{label}' + ), + cssProductPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProducts/{css_product}' + ), + cssProductInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProductInputs/{css_product_input}' + ), + }; + + // 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 = { + listAccountLabels: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'accountLabels') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.css.v1.AccountLabelsService', 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.accountLabelsServiceStub) { + return this.accountLabelsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.css.v1.AccountLabelsService. + this.accountLabelsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.AccountLabelsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.css.v1.AccountLabelsService, + 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 accountLabelsServiceStubMethods = + ['listAccountLabels', 'createAccountLabel', 'updateAccountLabel', 'deleteAccountLabel']; + for (const methodName of accountLabelsServiceStubMethods) { + const callPromise = this.accountLabelsServiceStub.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.accountLabelsServiceStub; + } + + /** + * 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 'css.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 'css.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 -- + // ------------------- +/** + * Creates a new label, not assigned to any account. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent account. + * Format: accounts/{account} + * @param {google.shopping.css.v1.AccountLabel} request.accountLabel + * Required. The label to create. + * @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.css.v1.AccountLabel|AccountLabel}. + * 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/v1/account_labels_service.create_account_label.js + * region_tag:css_v1_generated_AccountLabelsService_CreateAccountLabel_async + */ + createAccountLabel( + request?: protos.google.shopping.css.v1.ICreateAccountLabelRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|undefined, {}|undefined + ]>; + createAccountLabel( + request: protos.google.shopping.css.v1.ICreateAccountLabelRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + createAccountLabel( + request: protos.google.shopping.css.v1.ICreateAccountLabelRequest, + callback: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + createAccountLabel( + request?: protos.google.shopping.css.v1.ICreateAccountLabelRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.ICreateAccountLabelRequest|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.createAccountLabel(request, options, callback); + } +/** + * Updates a label. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.shopping.css.v1.AccountLabel} request.accountLabel + * Required. The updated label. All fields must be provided. + * @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.css.v1.AccountLabel|AccountLabel}. + * 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/v1/account_labels_service.update_account_label.js + * region_tag:css_v1_generated_AccountLabelsService_UpdateAccountLabel_async + */ + updateAccountLabel( + request?: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|undefined, {}|undefined + ]>; + updateAccountLabel( + request: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + updateAccountLabel( + request: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, + callback: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + updateAccountLabel( + request?: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel, + protos.google.shopping.css.v1.IUpdateAccountLabelRequest|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({ + 'account_label.name': request.accountLabel!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateAccountLabel(request, options, callback); + } +/** + * Deletes a label and removes it from all accounts to which it was assigned. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the label to delete. + * Format: accounts/{account}/labels/{label} + * @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/v1/account_labels_service.delete_account_label.js + * region_tag:css_v1_generated_AccountLabelsService_DeleteAccountLabel_async + */ + deleteAccountLabel( + request?: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|undefined, {}|undefined + ]>; + deleteAccountLabel( + request: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + deleteAccountLabel( + request: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, + {}|null|undefined>): void; + deleteAccountLabel( + request?: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteAccountLabelRequest|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.deleteAccountLabel(request, options, callback); + } + + /** + * Lists the labels owned by an account. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent account. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of labels to return. The service may return fewer than + * this value. + * If unspecified, at most 50 labels will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} request.pageToken + * A page token, received from a previous `ListAccountLabels` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel}. + * 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 `listAccountLabelsAsync()` + * 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. + */ + listAccountLabels( + request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel[], + protos.google.shopping.css.v1.IListAccountLabelsRequest|null, + protos.google.shopping.css.v1.IListAccountLabelsResponse + ]>; + listAccountLabels( + request: protos.google.shopping.css.v1.IListAccountLabelsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListAccountLabelsRequest, + protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, + protos.google.shopping.css.v1.IAccountLabel>): void; + listAccountLabels( + request: protos.google.shopping.css.v1.IListAccountLabelsRequest, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListAccountLabelsRequest, + protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, + protos.google.shopping.css.v1.IAccountLabel>): void; + listAccountLabels( + request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.shopping.css.v1.IListAccountLabelsRequest, + protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, + protos.google.shopping.css.v1.IAccountLabel>, + callback?: PaginationCallback< + protos.google.shopping.css.v1.IListAccountLabelsRequest, + protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, + protos.google.shopping.css.v1.IAccountLabel>): + Promise<[ + protos.google.shopping.css.v1.IAccountLabel[], + protos.google.shopping.css.v1.IListAccountLabelsRequest|null, + protos.google.shopping.css.v1.IListAccountLabelsResponse + ]>|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.listAccountLabels(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 parent account. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of labels to return. The service may return fewer than + * this value. + * If unspecified, at most 50 labels will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} request.pageToken + * A page token, received from a previous `ListAccountLabels` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel} 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 `listAccountLabelsAsync()` + * 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. + */ + listAccountLabelsStream( + request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, + 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['listAccountLabels']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAccountLabels.createStream( + this.innerApiCalls.listAccountLabels as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listAccountLabels`, 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 parent account. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of labels to return. The service may return fewer than + * this value. + * If unspecified, at most 50 labels will be returned. + * The maximum value is 1000; values above 1000 will be coerced to 1000. + * @param {string} request.pageToken + * A page token, received from a previous `ListAccountLabels` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel}. 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/v1/account_labels_service.list_account_labels.js + * region_tag:css_v1_generated_AccountLabelsService_ListAccountLabels_async + */ + listAccountLabelsAsync( + request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, + 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['listAccountLabels']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAccountLabels.asyncIterate( + this.innerApiCalls['listAccountLabels'] 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 accountLabel resource name string. + * + * @param {string} account + * @param {string} label + * @returns {string} Resource name string. + */ + accountLabelPath(account:string,label:string) { + return this.pathTemplates.accountLabelPathTemplate.render({ + account: account, + label: label, + }); + } + + /** + * Parse the account from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; + } + + /** + * Parse the label from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the label. + */ + matchLabelFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; + } + + /** + * Return a fully-qualified cssProduct resource name string. + * + * @param {string} account + * @param {string} css_product + * @returns {string} Resource name string. + */ + cssProductPath(account:string,cssProduct:string) { + return this.pathTemplates.cssProductPathTemplate.render({ + account: account, + css_product: cssProduct, + }); + } + + /** + * Parse the account from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; + } + + /** + * Parse the css_product from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the css_product. + */ + matchCssProductFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; + } + + /** + * Return a fully-qualified cssProductInput resource name string. + * + * @param {string} account + * @param {string} css_product_input + * @returns {string} Resource name string. + */ + cssProductInputPath(account:string,cssProductInput:string) { + return this.pathTemplates.cssProductInputPathTemplate.render({ + account: account, + css_product_input: cssProductInput, + }); + } + + /** + * Parse the account from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; + } + + /** + * Parse the css_product_input from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the css_product_input. + */ + matchCssProductInputFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; + } + + /** + * 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.accountLabelsServiceStub && !this._terminated) { + return this.accountLabelsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json new file mode 100644 index 00000000000..4a6a500bd94 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json @@ -0,0 +1,58 @@ +{ + "interfaces": { + "google.shopping.css.v1.AccountLabelsService": { + "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": { + "ListAccountLabels": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "CreateAccountLabel": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateAccountLabel": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteAccountLabel": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json new file mode 100644 index 00000000000..4c0ad1e48a4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json @@ -0,0 +1,8 @@ +[ + "../../protos/google/shopping/css/v1/accounts.proto", + "../../protos/google/shopping/css/v1/accounts_labels.proto", + "../../protos/google/shopping/css/v1/css_product_common.proto", + "../../protos/google/shopping/css/v1/css_product_inputs.proto", + "../../protos/google/shopping/css/v1/css_products.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts new file mode 100644 index 00000000000..7c0aaafb96c --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts @@ -0,0 +1,859 @@ +// 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/v1/accounts_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './accounts_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service for managing CSS/MC account information. + * @class + * @memberof v1 + */ +export class AccountsServiceClient { + 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}; + accountsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of AccountsServiceClient. + * + * @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 AccountsServiceClient({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 AccountsServiceClient; + 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 = 'css.' + 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}' + ), + accountLabelPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/labels/{label}' + ), + cssProductPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProducts/{css_product}' + ), + cssProductInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProductInputs/{css_product_input}' + ), + }; + + // 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 = { + listChildAccounts: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'accounts') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.css.v1.AccountsService', 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.accountsServiceStub) { + return this.accountsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.css.v1.AccountsService. + this.accountsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.AccountsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.css.v1.AccountsService, + 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 accountsServiceStubMethods = + ['listChildAccounts', 'getAccount', 'updateLabels']; + for (const methodName of accountsServiceStubMethods) { + const callPromise = this.accountsServiceStub.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.accountsServiceStub; + } + + /** + * 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 'css.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 'css.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 a single CSS/MC account by ID. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the managed CSS/MC account. + * Format: accounts/{account} + * @param {string} [request.parent] + * Optional. Only required when retrieving MC account information. + * The CSS domain that is the parent resource of the MC account. + * Format: accounts/{account} + * @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.css.v1.Account|Account}. + * 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/v1/accounts_service.get_account.js + * region_tag:css_v1_generated_AccountsService_GetAccount_async + */ + getAccount( + request?: protos.google.shopping.css.v1.IGetAccountRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|undefined, {}|undefined + ]>; + getAccount( + request: protos.google.shopping.css.v1.IGetAccountRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, + {}|null|undefined>): void; + getAccount( + request: protos.google.shopping.css.v1.IGetAccountRequest, + callback: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, + {}|null|undefined>): void; + getAccount( + request?: protos.google.shopping.css.v1.IGetAccountRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IGetAccountRequest|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.getAccount(request, options, callback); + } +/** + * Updates labels assigned to CSS/MC accounts by a CSS domain. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The label resource name. + * Format: accounts/{account} + * @param {number[]} request.labelIds + * The list of label IDs to overwrite the existing account label IDs. + * If the list is empty, all currently assigned label IDs will be deleted. + * @param {string} [request.parent] + * Optional. Only required when updating MC account labels. + * The CSS domain that is the parent resource of the MC account. + * Format: accounts/{account} + * @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.css.v1.Account|Account}. + * 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/v1/accounts_service.update_labels.js + * region_tag:css_v1_generated_AccountsService_UpdateLabels_async + */ + updateLabels( + request?: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|undefined, {}|undefined + ]>; + updateLabels( + request: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, + {}|null|undefined>): void; + updateLabels( + request: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, + callback: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, + {}|null|undefined>): void; + updateLabels( + request?: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.IAccount, + protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|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.updateLabels(request, options, callback); + } + + /** + * Lists all the accounts under the specified CSS account ID, and + * optionally filters by label ID and account name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent account. Must be a CSS group or domain. + * Format: accounts/{account} + * @param {number} request.labelId + * If set, only the MC accounts with the given label ID will be returned. + * @param {string} request.fullName + * If set, only the MC accounts with the given name (case sensitive) will be + * returned. + * @param {number} [request.pageSize] + * Optional. The maximum number of accounts to return. The service may return + * fewer than this value. If unspecified, at most 50 accounts will be + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListChildAccounts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account}. + * 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 `listChildAccountsAsync()` + * 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. + */ + listChildAccounts( + request?: protos.google.shopping.css.v1.IListChildAccountsRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.IAccount[], + protos.google.shopping.css.v1.IListChildAccountsRequest|null, + protos.google.shopping.css.v1.IListChildAccountsResponse + ]>; + listChildAccounts( + request: protos.google.shopping.css.v1.IListChildAccountsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListChildAccountsRequest, + protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, + protos.google.shopping.css.v1.IAccount>): void; + listChildAccounts( + request: protos.google.shopping.css.v1.IListChildAccountsRequest, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListChildAccountsRequest, + protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, + protos.google.shopping.css.v1.IAccount>): void; + listChildAccounts( + request?: protos.google.shopping.css.v1.IListChildAccountsRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.shopping.css.v1.IListChildAccountsRequest, + protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, + protos.google.shopping.css.v1.IAccount>, + callback?: PaginationCallback< + protos.google.shopping.css.v1.IListChildAccountsRequest, + protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, + protos.google.shopping.css.v1.IAccount>): + Promise<[ + protos.google.shopping.css.v1.IAccount[], + protos.google.shopping.css.v1.IListChildAccountsRequest|null, + protos.google.shopping.css.v1.IListChildAccountsResponse + ]>|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.listChildAccounts(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 parent account. Must be a CSS group or domain. + * Format: accounts/{account} + * @param {number} request.labelId + * If set, only the MC accounts with the given label ID will be returned. + * @param {string} request.fullName + * If set, only the MC accounts with the given name (case sensitive) will be + * returned. + * @param {number} [request.pageSize] + * Optional. The maximum number of accounts to return. The service may return + * fewer than this value. If unspecified, at most 50 accounts will be + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListChildAccounts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account} 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 `listChildAccountsAsync()` + * 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. + */ + listChildAccountsStream( + request?: protos.google.shopping.css.v1.IListChildAccountsRequest, + 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['listChildAccounts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listChildAccounts.createStream( + this.innerApiCalls.listChildAccounts as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listChildAccounts`, 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 parent account. Must be a CSS group or domain. + * Format: accounts/{account} + * @param {number} request.labelId + * If set, only the MC accounts with the given label ID will be returned. + * @param {string} request.fullName + * If set, only the MC accounts with the given name (case sensitive) will be + * returned. + * @param {number} [request.pageSize] + * Optional. The maximum number of accounts to return. The service may return + * fewer than this value. If unspecified, at most 50 accounts will be + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. + * @param {string} [request.pageToken] + * Optional. A page token, received from a previous `ListChildAccounts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account}. 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/v1/accounts_service.list_child_accounts.js + * region_tag:css_v1_generated_AccountsService_ListChildAccounts_async + */ + listChildAccountsAsync( + request?: protos.google.shopping.css.v1.IListChildAccountsRequest, + 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['listChildAccounts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listChildAccounts.asyncIterate( + this.innerApiCalls['listChildAccounts'] 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 accountLabel resource name string. + * + * @param {string} account + * @param {string} label + * @returns {string} Resource name string. + */ + accountLabelPath(account:string,label:string) { + return this.pathTemplates.accountLabelPathTemplate.render({ + account: account, + label: label, + }); + } + + /** + * Parse the account from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; + } + + /** + * Parse the label from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the label. + */ + matchLabelFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; + } + + /** + * Return a fully-qualified cssProduct resource name string. + * + * @param {string} account + * @param {string} css_product + * @returns {string} Resource name string. + */ + cssProductPath(account:string,cssProduct:string) { + return this.pathTemplates.cssProductPathTemplate.render({ + account: account, + css_product: cssProduct, + }); + } + + /** + * Parse the account from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; + } + + /** + * Parse the css_product from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the css_product. + */ + matchCssProductFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; + } + + /** + * Return a fully-qualified cssProductInput resource name string. + * + * @param {string} account + * @param {string} css_product_input + * @returns {string} Resource name string. + */ + cssProductInputPath(account:string,cssProductInput:string) { + return this.pathTemplates.cssProductInputPathTemplate.render({ + account: account, + css_product_input: cssProductInput, + }); + } + + /** + * Parse the account from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; + } + + /** + * Parse the css_product_input from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the css_product_input. + */ + matchCssProductInputFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; + } + + /** + * 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.accountsServiceStub && !this._terminated) { + return this.accountsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json new file mode 100644 index 00000000000..d77ef2748f0 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json @@ -0,0 +1,53 @@ +{ + "interfaces": { + "google.shopping.css.v1.AccountsService": { + "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": { + "ListChildAccounts": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetAccount": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "UpdateLabels": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json new file mode 100644 index 00000000000..4c0ad1e48a4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json @@ -0,0 +1,8 @@ +[ + "../../protos/google/shopping/css/v1/accounts.proto", + "../../protos/google/shopping/css/v1/accounts_labels.proto", + "../../protos/google/shopping/css/v1/css_product_common.proto", + "../../protos/google/shopping/css/v1/css_product_inputs.proto", + "../../protos/google/shopping/css/v1/css_products.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts new file mode 100644 index 00000000000..ba17e209a9a --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts @@ -0,0 +1,744 @@ +// 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/v1/css_product_inputs_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './css_product_inputs_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service to use CssProductInput resource. + * This service helps to insert/update/delete CSS Products. + * @class + * @memberof v1 + */ +export class CssProductInputsServiceClient { + 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}; + cssProductInputsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of CssProductInputsServiceClient. + * + * @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 CssProductInputsServiceClient({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 CssProductInputsServiceClient; + 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 = 'css.' + 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}' + ), + accountLabelPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/labels/{label}' + ), + cssProductPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProducts/{css_product}' + ), + cssProductInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProductInputs/{css_product_input}' + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.css.v1.CssProductInputsService', 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.cssProductInputsServiceStub) { + return this.cssProductInputsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.css.v1.CssProductInputsService. + this.cssProductInputsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.CssProductInputsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.css.v1.CssProductInputsService, + 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 cssProductInputsServiceStubMethods = + ['insertCssProductInput', 'updateCssProductInput', 'deleteCssProductInput']; + for (const methodName of cssProductInputsServiceStubMethods) { + const callPromise = this.cssProductInputsServiceStub.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.cssProductInputsServiceStub; + } + + /** + * 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 'css.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 'css.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 CssProductInput to your CSS Center account. If an + * input with the same contentLanguage, identity, feedLabel and feedId already + * exists, this method replaces that entry. + * + * After inserting, updating, or deleting a CSS Product input, it may + * take several minutes before the processed CSS Product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account where this CSS Product will be inserted. + * Format: accounts/{account} + * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput + * Required. The CSS Product Input to insert. + * @param {number} [request.feedId] + * Optional. DEPRECATED. Feed id is not required for CSS Products. + * The primary or supplemental feed id. If CSS Product already exists and + * feed id provided is different, then the CSS Product will be moved to a + * new feed. + * Note: For now, CSSs do not need to provide feed ids as we create + * feeds on the fly. + * We do not have supplemental feed support for CSS Products yet. + * @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.css.v1.CssProductInput|CssProductInput}. + * 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/v1/css_product_inputs_service.insert_css_product_input.js + * region_tag:css_v1_generated_CssProductInputsService_InsertCssProductInput_async + */ + insertCssProductInput( + request?: protos.google.shopping.css.v1.IInsertCssProductInputRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|undefined, {}|undefined + ]>; + insertCssProductInput( + request: protos.google.shopping.css.v1.IInsertCssProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + insertCssProductInput( + request: protos.google.shopping.css.v1.IInsertCssProductInputRequest, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + insertCssProductInput( + request?: protos.google.shopping.css.v1.IInsertCssProductInputRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IInsertCssProductInputRequest|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.insertCssProductInput(request, options, callback); + } +/** + * Updates the existing Css Product input in your CSS Center account. + * + * After inserting, updating, or deleting a CSS Product input, it may take + * several minutes before the processed Css Product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput + * Required. The CSS product input resource to update. Information you submit + * will be applied to the processed CSS product as well. + * @param {google.protobuf.FieldMask} request.updateMask + * The list of CSS product attributes to be updated. + * + * If the update mask is omitted, then it is treated as implied field mask + * equivalent to all fields that are populated (have a non-empty value). + * + * Attributes specified in the update mask without a value specified in the + * body will be deleted from the CSS product. + * + * Update mask can only be specified for top level fields in + * attributes and custom attributes. + * + * To specify the update mask for custom attributes you need to add the + * `custom_attribute.` prefix. + * + * Providing special "*" value for full CSS product replacement is not + * supported. + * @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.css.v1.CssProductInput|CssProductInput}. + * 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/v1/css_product_inputs_service.update_css_product_input.js + * region_tag:css_v1_generated_CssProductInputsService_UpdateCssProductInput_async + */ + updateCssProductInput( + request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|undefined, {}|undefined + ]>; + updateCssProductInput( + request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + updateCssProductInput( + request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + updateCssProductInput( + request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest|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({ + 'css_product_input.name': request.cssProductInput!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateCssProductInput(request, options, callback); + } +/** + * Deletes a CSS Product input from your CSS Center account. + * + * After a delete it may take several minutes until the input is no longer + * available. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the CSS product input resource to delete. + * Format: accounts/{account}/cssProductInputs/{css_product_input} + * @param {number} request.supplementalFeedId + * The Content API Supplemental Feed ID. + * The field must not be set if the action applies to a primary feed. + * If the field is set, then product action applies to a supplemental feed + * instead of primary Content API feed. + * @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/v1/css_product_inputs_service.delete_css_product_input.js + * region_tag:css_v1_generated_CssProductInputsService_DeleteCssProductInput_async + */ + deleteCssProductInput( + request?: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|undefined, {}|undefined + ]>; + deleteCssProductInput( + request: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + deleteCssProductInput( + request: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, + {}|null|undefined>): void; + deleteCssProductInput( + request?: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.shopping.css.v1.IDeleteCssProductInputRequest|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.deleteCssProductInput(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 accountLabel resource name string. + * + * @param {string} account + * @param {string} label + * @returns {string} Resource name string. + */ + accountLabelPath(account:string,label:string) { + return this.pathTemplates.accountLabelPathTemplate.render({ + account: account, + label: label, + }); + } + + /** + * Parse the account from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; + } + + /** + * Parse the label from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the label. + */ + matchLabelFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; + } + + /** + * Return a fully-qualified cssProduct resource name string. + * + * @param {string} account + * @param {string} css_product + * @returns {string} Resource name string. + */ + cssProductPath(account:string,cssProduct:string) { + return this.pathTemplates.cssProductPathTemplate.render({ + account: account, + css_product: cssProduct, + }); + } + + /** + * Parse the account from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; + } + + /** + * Parse the css_product from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the css_product. + */ + matchCssProductFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; + } + + /** + * Return a fully-qualified cssProductInput resource name string. + * + * @param {string} account + * @param {string} css_product_input + * @returns {string} Resource name string. + */ + cssProductInputPath(account:string,cssProductInput:string) { + return this.pathTemplates.cssProductInputPathTemplate.render({ + account: account, + css_product_input: cssProductInput, + }); + } + + /** + * Parse the account from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; + } + + /** + * Parse the css_product_input from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the css_product_input. + */ + matchCssProductInputFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; + } + + /** + * 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.cssProductInputsServiceStub && !this._terminated) { + return this.cssProductInputsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json new file mode 100644 index 00000000000..ea39a70de80 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json @@ -0,0 +1,41 @@ +{ + "interfaces": { + "google.shopping.css.v1.CssProductInputsService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "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 + } + }, + "methods": { + "InsertCssProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateCssProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteCssProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json new file mode 100644 index 00000000000..4c0ad1e48a4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json @@ -0,0 +1,8 @@ +[ + "../../protos/google/shopping/css/v1/accounts.proto", + "../../protos/google/shopping/css/v1/accounts_labels.proto", + "../../protos/google/shopping/css/v1/css_product_common.proto", + "../../protos/google/shopping/css/v1/css_product_inputs.proto", + "../../protos/google/shopping/css/v1/css_products.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts new file mode 100644 index 00000000000..8aca0f65acb --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts @@ -0,0 +1,769 @@ +// 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/v1/css_products_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './css_products_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service for doing get and list on Css Products(a.k.a Aggregate Offers + * internally). + * @class + * @memberof v1 + */ +export class CssProductsServiceClient { + 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}; + cssProductsServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of CssProductsServiceClient. + * + * @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 CssProductsServiceClient({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 CssProductsServiceClient; + 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 = 'css.' + 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}' + ), + accountLabelPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/labels/{label}' + ), + cssProductPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProducts/{css_product}' + ), + cssProductInputPathTemplate: new this._gaxModule.PathTemplate( + 'accounts/{account}/cssProductInputs/{css_product_input}' + ), + }; + + // 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 = { + listCssProducts: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'cssProducts') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.shopping.css.v1.CssProductsService', 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.cssProductsServiceStub) { + return this.cssProductsServiceStub; + } + + // Put together the "service stub" for + // google.shopping.css.v1.CssProductsService. + this.cssProductsServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.CssProductsService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.shopping.css.v1.CssProductsService, + 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 cssProductsServiceStubMethods = + ['getCssProduct', 'listCssProducts']; + for (const methodName of cssProductsServiceStubMethods) { + const callPromise = this.cssProductsServiceStub.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.cssProductsServiceStub; + } + + /** + * 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 'css.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 'css.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 CSS Product from your CSS 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 CSS product to retrieve. + * @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.css.v1.CssProduct|CssProduct}. + * 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/v1/css_products_service.get_css_product.js + * region_tag:css_v1_generated_CssProductsService_GetCssProduct_async + */ + getCssProduct( + request?: protos.google.shopping.css.v1.IGetCssProductRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|undefined, {}|undefined + ]>; + getCssProduct( + request: protos.google.shopping.css.v1.IGetCssProductRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, + {}|null|undefined>): void; + getCssProduct( + request: protos.google.shopping.css.v1.IGetCssProductRequest, + callback: Callback< + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, + {}|null|undefined>): void; + getCssProduct( + request?: protos.google.shopping.css.v1.IGetCssProductRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.shopping.css.v1.ICssProduct, + protos.google.shopping.css.v1.IGetCssProductRequest|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.getCssProduct(request, options, callback); + } + + /** + * Lists the processed CSS Products in your CSS 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 CSS product input, it may + * take several minutes before the updated processed CSS product can be + * retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The account/domain to list processed CSS Products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of CSS Products to return. The service may return + * fewer than this value. + * The maximum value is 1000; values above 1000 will be coerced to 1000. If + * unspecified, the maximum number of CSS products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListCssProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListCssProducts` + * 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.css.v1.CssProduct|CssProduct}. + * 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 `listCssProductsAsync()` + * 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. + */ + listCssProducts( + request?: protos.google.shopping.css.v1.IListCssProductsRequest, + options?: CallOptions): + Promise<[ + protos.google.shopping.css.v1.ICssProduct[], + protos.google.shopping.css.v1.IListCssProductsRequest|null, + protos.google.shopping.css.v1.IListCssProductsResponse + ]>; + listCssProducts( + request: protos.google.shopping.css.v1.IListCssProductsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListCssProductsRequest, + protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, + protos.google.shopping.css.v1.ICssProduct>): void; + listCssProducts( + request: protos.google.shopping.css.v1.IListCssProductsRequest, + callback: PaginationCallback< + protos.google.shopping.css.v1.IListCssProductsRequest, + protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, + protos.google.shopping.css.v1.ICssProduct>): void; + listCssProducts( + request?: protos.google.shopping.css.v1.IListCssProductsRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.shopping.css.v1.IListCssProductsRequest, + protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, + protos.google.shopping.css.v1.ICssProduct>, + callback?: PaginationCallback< + protos.google.shopping.css.v1.IListCssProductsRequest, + protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, + protos.google.shopping.css.v1.ICssProduct>): + Promise<[ + protos.google.shopping.css.v1.ICssProduct[], + protos.google.shopping.css.v1.IListCssProductsRequest|null, + protos.google.shopping.css.v1.IListCssProductsResponse + ]>|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.listCssProducts(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/domain to list processed CSS Products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of CSS Products to return. The service may return + * fewer than this value. + * The maximum value is 1000; values above 1000 will be coerced to 1000. If + * unspecified, the maximum number of CSS products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListCssProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListCssProducts` + * 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.css.v1.CssProduct|CssProduct} 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 `listCssProductsAsync()` + * 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. + */ + listCssProductsStream( + request?: protos.google.shopping.css.v1.IListCssProductsRequest, + 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['listCssProducts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listCssProducts.createStream( + this.innerApiCalls.listCssProducts as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listCssProducts`, 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/domain to list processed CSS Products for. + * Format: accounts/{account} + * @param {number} request.pageSize + * The maximum number of CSS Products to return. The service may return + * fewer than this value. + * The maximum value is 1000; values above 1000 will be coerced to 1000. If + * unspecified, the maximum number of CSS products will be returned. + * @param {string} request.pageToken + * A page token, received from a previous `ListCssProducts` call. + * Provide this to retrieve the subsequent page. + * + * When paginating, all other parameters provided to `ListCssProducts` + * 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.css.v1.CssProduct|CssProduct}. 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/v1/css_products_service.list_css_products.js + * region_tag:css_v1_generated_CssProductsService_ListCssProducts_async + */ + listCssProductsAsync( + request?: protos.google.shopping.css.v1.IListCssProductsRequest, + 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['listCssProducts']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listCssProducts.asyncIterate( + this.innerApiCalls['listCssProducts'] 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 accountLabel resource name string. + * + * @param {string} account + * @param {string} label + * @returns {string} Resource name string. + */ + accountLabelPath(account:string,label:string) { + return this.pathTemplates.accountLabelPathTemplate.render({ + account: account, + label: label, + }); + } + + /** + * Parse the account from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the account. + */ + matchAccountFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; + } + + /** + * Parse the label from AccountLabel resource. + * + * @param {string} accountLabelName + * A fully-qualified path representing AccountLabel resource. + * @returns {string} A string representing the label. + */ + matchLabelFromAccountLabelName(accountLabelName: string) { + return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; + } + + /** + * Return a fully-qualified cssProduct resource name string. + * + * @param {string} account + * @param {string} css_product + * @returns {string} Resource name string. + */ + cssProductPath(account:string,cssProduct:string) { + return this.pathTemplates.cssProductPathTemplate.render({ + account: account, + css_product: cssProduct, + }); + } + + /** + * Parse the account from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; + } + + /** + * Parse the css_product from CssProduct resource. + * + * @param {string} cssProductName + * A fully-qualified path representing CssProduct resource. + * @returns {string} A string representing the css_product. + */ + matchCssProductFromCssProductName(cssProductName: string) { + return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; + } + + /** + * Return a fully-qualified cssProductInput resource name string. + * + * @param {string} account + * @param {string} css_product_input + * @returns {string} Resource name string. + */ + cssProductInputPath(account:string,cssProductInput:string) { + return this.pathTemplates.cssProductInputPathTemplate.render({ + account: account, + css_product_input: cssProductInput, + }); + } + + /** + * Parse the account from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the account. + */ + matchAccountFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; + } + + /** + * Parse the css_product_input from CssProductInput resource. + * + * @param {string} cssProductInputName + * A fully-qualified path representing CssProductInput resource. + * @returns {string} A string representing the css_product_input. + */ + matchCssProductInputFromCssProductInputName(cssProductInputName: string) { + return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; + } + + /** + * 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.cssProductsServiceStub && !this._terminated) { + return this.cssProductsServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json new file mode 100644 index 00000000000..21cf3e23ac1 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json @@ -0,0 +1,48 @@ +{ + "interfaces": { + "google.shopping.css.v1.CssProductsService": { + "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": { + "GetCssProduct": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListCssProducts": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json new file mode 100644 index 00000000000..4c0ad1e48a4 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json @@ -0,0 +1,8 @@ +[ + "../../protos/google/shopping/css/v1/accounts.proto", + "../../protos/google/shopping/css/v1/accounts_labels.proto", + "../../protos/google/shopping/css/v1/css_product_common.proto", + "../../protos/google/shopping/css/v1/css_product_inputs.proto", + "../../protos/google/shopping/css/v1/css_products.proto", + "../../protos/google/shopping/type/types.proto" +] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json b/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..17c8d82aa3b --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json @@ -0,0 +1,197 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.shopping.css.v1", + "libraryPackage": "@google-shopping/css", + "services": { + "AccountLabelsService": { + "clients": { + "grpc": { + "libraryClient": "AccountLabelsServiceClient", + "rpcs": { + "CreateAccountLabel": { + "methods": [ + "createAccountLabel" + ] + }, + "UpdateAccountLabel": { + "methods": [ + "updateAccountLabel" + ] + }, + "DeleteAccountLabel": { + "methods": [ + "deleteAccountLabel" + ] + }, + "ListAccountLabels": { + "methods": [ + "listAccountLabels", + "listAccountLabelsStream", + "listAccountLabelsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "AccountLabelsServiceClient", + "rpcs": { + "CreateAccountLabel": { + "methods": [ + "createAccountLabel" + ] + }, + "UpdateAccountLabel": { + "methods": [ + "updateAccountLabel" + ] + }, + "DeleteAccountLabel": { + "methods": [ + "deleteAccountLabel" + ] + }, + "ListAccountLabels": { + "methods": [ + "listAccountLabels", + "listAccountLabelsStream", + "listAccountLabelsAsync" + ] + } + } + } + } + }, + "AccountsService": { + "clients": { + "grpc": { + "libraryClient": "AccountsServiceClient", + "rpcs": { + "GetAccount": { + "methods": [ + "getAccount" + ] + }, + "UpdateLabels": { + "methods": [ + "updateLabels" + ] + }, + "ListChildAccounts": { + "methods": [ + "listChildAccounts", + "listChildAccountsStream", + "listChildAccountsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "AccountsServiceClient", + "rpcs": { + "GetAccount": { + "methods": [ + "getAccount" + ] + }, + "UpdateLabels": { + "methods": [ + "updateLabels" + ] + }, + "ListChildAccounts": { + "methods": [ + "listChildAccounts", + "listChildAccountsStream", + "listChildAccountsAsync" + ] + } + } + } + } + }, + "CssProductInputsService": { + "clients": { + "grpc": { + "libraryClient": "CssProductInputsServiceClient", + "rpcs": { + "InsertCssProductInput": { + "methods": [ + "insertCssProductInput" + ] + }, + "UpdateCssProductInput": { + "methods": [ + "updateCssProductInput" + ] + }, + "DeleteCssProductInput": { + "methods": [ + "deleteCssProductInput" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "CssProductInputsServiceClient", + "rpcs": { + "InsertCssProductInput": { + "methods": [ + "insertCssProductInput" + ] + }, + "UpdateCssProductInput": { + "methods": [ + "updateCssProductInput" + ] + }, + "DeleteCssProductInput": { + "methods": [ + "deleteCssProductInput" + ] + } + } + } + } + }, + "CssProductsService": { + "clients": { + "grpc": { + "libraryClient": "CssProductsServiceClient", + "rpcs": { + "GetCssProduct": { + "methods": [ + "getCssProduct" + ] + }, + "ListCssProducts": { + "methods": [ + "listCssProducts", + "listCssProductsStream", + "listCssProductsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "CssProductsServiceClient", + "rpcs": { + "GetCssProduct": { + "methods": [ + "getCssProduct" + ] + }, + "ListCssProducts": { + "methods": [ + "listCssProducts", + "listCssProductsStream", + "listCssProductsAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts new file mode 100644 index 00000000000..c5b49b05f24 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts @@ -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. ** + +export {AccountLabelsServiceClient} from './account_labels_service_client'; +export {AccountsServiceClient} from './accounts_service_client'; +export {CssProductInputsServiceClient} from './css_product_inputs_service_client'; +export {CssProductsServiceClient} from './css_products_service_client'; diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..ad4595261a2 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,30 @@ +// 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 css = require('@google-shopping/css'); + +function main() { + const accountLabelsServiceClient = new css.AccountLabelsServiceClient(); + const accountsServiceClient = new css.AccountsServiceClient(); + const cssProductInputsServiceClient = new css.CssProductInputsServiceClient(); + const cssProductsServiceClient = new css.CssProductsServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..564f450e5d1 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,50 @@ +// 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 {AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient} from '@google-shopping/css'; + +// check that the client class type name can be used +function doStuffWithAccountLabelsServiceClient(client: AccountLabelsServiceClient) { + client.close(); +} +function doStuffWithAccountsServiceClient(client: AccountsServiceClient) { + client.close(); +} +function doStuffWithCssProductInputsServiceClient(client: CssProductInputsServiceClient) { + client.close(); +} +function doStuffWithCssProductsServiceClient(client: CssProductsServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const accountLabelsServiceClient = new AccountLabelsServiceClient(); + doStuffWithAccountLabelsServiceClient(accountLabelsServiceClient); + // check that the client instance can be created + const accountsServiceClient = new AccountsServiceClient(); + doStuffWithAccountsServiceClient(accountsServiceClient); + // check that the client instance can be created + const cssProductInputsServiceClient = new CssProductInputsServiceClient(); + doStuffWithCssProductInputsServiceClient(cssProductInputsServiceClient); + // check that the client instance can be created + const cssProductsServiceClient = new CssProductsServiceClient(); + doStuffWithCssProductsServiceClient(cssProductsServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/install.ts b/owl-bot-staging/google-shopping-css/v1/system-test/install.ts new file mode 100644 index 00000000000..fd5bfdc71d5 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/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-css/v1/test/gapic_account_labels_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts new file mode 100644 index 00000000000..aa86b50758b --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts @@ -0,0 +1,981 @@ +// 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 accountlabelsserviceModule 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('v1.AccountLabelsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); + 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 = accountlabelsserviceModule.v1.AccountLabelsServiceClient.servicePath; + assert.strictEqual(servicePath, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = accountlabelsserviceModule.v1.AccountLabelsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = accountlabelsserviceModule.v1.AccountLabelsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.accountLabelsServiceStub, undefined); + await client.initialize(); + assert(client.accountLabelsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.accountLabelsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.accountLabelsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + 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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + 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('createAccountLabel', () => { + it('invokes createAccountLabel without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.CreateAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.AccountLabel() + ); + client.innerApiCalls.createAccountLabel = stubSimpleCall(expectedResponse); + const [response] = await client.createAccountLabel(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAccountLabel without error using callback', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.CreateAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.AccountLabel() + ); + client.innerApiCalls.createAccountLabel = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createAccountLabel( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAccountLabel with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.CreateAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createAccountLabel = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createAccountLabel(request), expectedError); + const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAccountLabel with closed client', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.CreateAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createAccountLabel(request), expectedError); + }); + }); + + describe('updateAccountLabel', () => { + it('invokes updateAccountLabel without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelRequest() + ); + request.accountLabel ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); + request.accountLabel.name = defaultValue1; + const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.AccountLabel() + ); + client.innerApiCalls.updateAccountLabel = stubSimpleCall(expectedResponse); + const [response] = await client.updateAccountLabel(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAccountLabel without error using callback', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelRequest() + ); + request.accountLabel ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); + request.accountLabel.name = defaultValue1; + const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.AccountLabel() + ); + client.innerApiCalls.updateAccountLabel = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateAccountLabel( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAccountLabel with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelRequest() + ); + request.accountLabel ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); + request.accountLabel.name = defaultValue1; + const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateAccountLabel = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateAccountLabel(request), expectedError); + const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAccountLabel with closed client', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelRequest() + ); + request.accountLabel ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); + request.accountLabel.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateAccountLabel(request), expectedError); + }); + }); + + describe('deleteAccountLabel', () => { + it('invokes deleteAccountLabel without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteAccountLabel = stubSimpleCall(expectedResponse); + const [response] = await client.deleteAccountLabel(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAccountLabel without error using callback', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteAccountLabel = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteAccountLabel( + 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.deleteAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAccountLabel with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteAccountLabel = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteAccountLabel(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteAccountLabel as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAccountLabel with closed client', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteAccountLabelRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteAccountLabel(request), expectedError); + }); + }); + + describe('listAccountLabels', () => { + it('invokes listAccountLabels without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + ]; + client.innerApiCalls.listAccountLabels = stubSimpleCall(expectedResponse); + const [response] = await client.listAccountLabels(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAccountLabels without error using callback', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + ]; + client.innerApiCalls.listAccountLabels = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listAccountLabels( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAccountLabels with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listAccountLabels = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listAccountLabels(request), expectedError); + const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAccountLabelsStream without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + ]; + client.descriptors.page.listAccountLabels.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listAccountLabelsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.AccountLabel[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.AccountLabel) => { + 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.listAccountLabels.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listAccountLabels, request)); + assert( + (client.descriptors.page.listAccountLabels.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listAccountLabelsStream with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listAccountLabels.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listAccountLabelsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.AccountLabel[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.AccountLabel) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listAccountLabels.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listAccountLabels, request)); + assert( + (client.descriptors.page.listAccountLabels.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listAccountLabels without error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), + ]; + client.descriptors.page.listAccountLabels.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.shopping.css.v1.IAccountLabel[] = []; + const iterable = client.listAccountLabelsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listAccountLabels with error', async () => { + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listAccountLabels.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listAccountLabelsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.shopping.css.v1.IAccountLabel[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listAccountLabels.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + 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('accountLabel', () => { + const fakePath = "/rendered/path/accountLabel"; + const expectedParameters = { + account: "accountValue", + label: "labelValue", + }; + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountLabelPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountLabelPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountLabelPath', () => { + const result = client.accountLabelPath("accountValue", "labelValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountLabelName', () => { + const result = client.matchAccountFromAccountLabelName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLabelFromAccountLabelName', () => { + const result = client.matchLabelFromAccountLabelName(fakePath); + assert.strictEqual(result, "labelValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProduct', () => { + const fakePath = "/rendered/path/cssProduct"; + const expectedParameters = { + account: "accountValue", + css_product: "cssProductValue", + }; + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductPath', () => { + const result = client.cssProductPath("accountValue", "cssProductValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductName', () => { + const result = client.matchAccountFromCssProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductFromCssProductName', () => { + const result = client.matchCssProductFromCssProductName(fakePath); + assert.strictEqual(result, "cssProductValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProductInput', () => { + const fakePath = "/rendered/path/cssProductInput"; + const expectedParameters = { + account: "accountValue", + css_product_input: "cssProductInputValue", + }; + const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductInputPath', () => { + const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductInputName', () => { + const result = client.matchAccountFromCssProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductInputFromCssProductInputName', () => { + const result = client.matchCssProductInputFromCssProductInputName(fakePath); + assert.strictEqual(result, "cssProductInputValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts new file mode 100644 index 00000000000..fca9eb49bca --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts @@ -0,0 +1,869 @@ +// 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 accountsserviceModule 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('v1.AccountsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient(); + 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 = accountsserviceModule.v1.AccountsServiceClient.servicePath; + assert.strictEqual(servicePath, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = accountsserviceModule.v1.AccountsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = accountsserviceModule.v1.AccountsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.accountsServiceStub, undefined); + await client.initialize(); + assert(client.accountsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.accountsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.accountsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new accountsserviceModule.v1.AccountsServiceClient({ + 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 accountsserviceModule.v1.AccountsServiceClient({ + 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('getAccount', () => { + it('invokes getAccount without error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetAccountRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.Account() + ); + client.innerApiCalls.getAccount = stubSimpleCall(expectedResponse); + const [response] = await client.getAccount(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getAccount without error using callback', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetAccountRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.Account() + ); + client.innerApiCalls.getAccount = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getAccount( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getAccount with error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetAccountRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getAccount = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getAccount(request), expectedError); + const actualRequest = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getAccount with closed client', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetAccountRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getAccount(request), expectedError); + }); + }); + + describe('updateLabels', () => { + it('invokes updateLabels without error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.Account() + ); + client.innerApiCalls.updateLabels = stubSimpleCall(expectedResponse); + const [response] = await client.updateLabels(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateLabels without error using callback', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.Account() + ); + client.innerApiCalls.updateLabels = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateLabels( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateLabels with error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateLabels = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateLabels(request), expectedError); + const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateLabels with closed client', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateLabels(request), expectedError); + }); + }); + + describe('listChildAccounts', () => { + it('invokes listChildAccounts without error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + ]; + client.innerApiCalls.listChildAccounts = stubSimpleCall(expectedResponse); + const [response] = await client.listChildAccounts(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listChildAccounts without error using callback', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + ]; + client.innerApiCalls.listChildAccounts = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listChildAccounts( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listChildAccounts with error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listChildAccounts = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listChildAccounts(request), expectedError); + const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listChildAccountsStream without error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + ]; + client.descriptors.page.listChildAccounts.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listChildAccountsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.Account[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.Account) => { + 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.listChildAccounts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listChildAccounts, request)); + assert( + (client.descriptors.page.listChildAccounts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listChildAccountsStream with error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listChildAccounts.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listChildAccountsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.Account[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.Account) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listChildAccounts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listChildAccounts, request)); + assert( + (client.descriptors.page.listChildAccounts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listChildAccounts without error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + generateSampleMessage(new protos.google.shopping.css.v1.Account()), + ]; + client.descriptors.page.listChildAccounts.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.shopping.css.v1.IAccount[] = []; + const iterable = client.listChildAccountsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listChildAccounts with error', async () => { + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListChildAccountsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listChildAccounts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listChildAccountsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.shopping.css.v1.IAccount[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listChildAccounts.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 accountsserviceModule.v1.AccountsServiceClient({ + 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('accountLabel', () => { + const fakePath = "/rendered/path/accountLabel"; + const expectedParameters = { + account: "accountValue", + label: "labelValue", + }; + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountLabelPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountLabelPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountLabelPath', () => { + const result = client.accountLabelPath("accountValue", "labelValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountLabelName', () => { + const result = client.matchAccountFromAccountLabelName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLabelFromAccountLabelName', () => { + const result = client.matchLabelFromAccountLabelName(fakePath); + assert.strictEqual(result, "labelValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProduct', () => { + const fakePath = "/rendered/path/cssProduct"; + const expectedParameters = { + account: "accountValue", + css_product: "cssProductValue", + }; + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductPath', () => { + const result = client.cssProductPath("accountValue", "cssProductValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductName', () => { + const result = client.matchAccountFromCssProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductFromCssProductName', () => { + const result = client.matchCssProductFromCssProductName(fakePath); + assert.strictEqual(result, "cssProductValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProductInput', () => { + const fakePath = "/rendered/path/cssProductInput"; + const expectedParameters = { + account: "accountValue", + css_product_input: "cssProductInputValue", + }; + const client = new accountsserviceModule.v1.AccountsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductInputPath', () => { + const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductInputName', () => { + const result = client.matchAccountFromCssProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductInputFromCssProductInputName', () => { + const result = client.matchCssProductInputFromCssProductInputName(fakePath); + assert.strictEqual(result, "cssProductInputValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts new file mode 100644 index 00000000000..039faf2984a --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts @@ -0,0 +1,689 @@ +// 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 cssproductinputsserviceModule 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('v1.CssProductInputsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); + 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 = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.servicePath; + assert.strictEqual(servicePath, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.cssProductInputsServiceStub, undefined); + await client.initialize(); + assert(client.cssProductInputsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.cssProductInputsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.cssProductInputsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + 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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + 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('insertCssProductInput', () => { + it('invokes insertCssProductInput without error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.InsertCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.insertCssProductInput = stubSimpleCall(expectedResponse); + const [response] = await client.insertCssProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertCssProductInput without error using callback', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.InsertCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.insertCssProductInput = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.insertCssProductInput( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProductInput|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertCssProductInput with error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.InsertCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.insertCssProductInput = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.insertCssProductInput(request), expectedError); + const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes insertCssProductInput with closed client', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.InsertCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.insertCssProductInput(request), expectedError); + }); + }); + + describe('updateCssProductInput', () => { + it('invokes updateCssProductInput without error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.updateCssProductInput = stubSimpleCall(expectedResponse); + const [response] = await client.updateCssProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput without error using callback', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.updateCssProductInput = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCssProductInput( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProductInput|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput with error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCssProductInput = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateCssProductInput(request), expectedError); + const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput with closed client', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); + request.cssProductInput.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateCssProductInput(request), expectedError); + }); + }); + + describe('deleteCssProductInput', () => { + it('invokes deleteCssProductInput without error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteCssProductInput = stubSimpleCall(expectedResponse); + const [response] = await client.deleteCssProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteCssProductInput without error using callback', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteCssProductInput = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteCssProductInput( + 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.deleteCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteCssProductInput with error', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteCssProductInput = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteCssProductInput(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteCssProductInput as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteCssProductInput with closed client', async () => { + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.DeleteCssProductInputRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteCssProductInput(request), expectedError); + }); + }); + + describe('Path templates', () => { + + describe('account', () => { + const fakePath = "/rendered/path/account"; + const expectedParameters = { + account: "accountValue", + }; + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + 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('accountLabel', () => { + const fakePath = "/rendered/path/accountLabel"; + const expectedParameters = { + account: "accountValue", + label: "labelValue", + }; + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountLabelPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountLabelPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountLabelPath', () => { + const result = client.accountLabelPath("accountValue", "labelValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountLabelName', () => { + const result = client.matchAccountFromAccountLabelName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLabelFromAccountLabelName', () => { + const result = client.matchLabelFromAccountLabelName(fakePath); + assert.strictEqual(result, "labelValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProduct', () => { + const fakePath = "/rendered/path/cssProduct"; + const expectedParameters = { + account: "accountValue", + css_product: "cssProductValue", + }; + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductPath', () => { + const result = client.cssProductPath("accountValue", "cssProductValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductName', () => { + const result = client.matchAccountFromCssProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductFromCssProductName', () => { + const result = client.matchCssProductFromCssProductName(fakePath); + assert.strictEqual(result, "cssProductValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProductInput', () => { + const fakePath = "/rendered/path/cssProductInput"; + const expectedParameters = { + account: "accountValue", + css_product_input: "cssProductInputValue", + }; + const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductInputPath', () => { + const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductInputName', () => { + const result = client.matchAccountFromCssProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductInputFromCssProductInputName', () => { + const result = client.matchCssProductInputFromCssProductInputName(fakePath); + assert.strictEqual(result, "cssProductInputValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts new file mode 100644 index 00000000000..5a3d933db0f --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts @@ -0,0 +1,761 @@ +// 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 cssproductsserviceModule 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('v1.CssProductsServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); + 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 = cssproductsserviceModule.v1.CssProductsServiceClient.servicePath; + assert.strictEqual(servicePath, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = cssproductsserviceModule.v1.CssProductsServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'css.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({universeDomain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({universe_domain: 'example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient({universeDomain: 'configured.example.com'}); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); + }); + + it('has port', () => { + const port = cssproductsserviceModule.v1.CssProductsServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.cssProductsServiceStub, undefined); + await client.initialize(); + assert(client.cssProductsServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.cssProductsServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.cssProductsServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + 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 cssproductsserviceModule.v1.CssProductsServiceClient({ + 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('getCssProduct', () => { + it('invokes getCssProduct without error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetCssProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProduct() + ); + client.innerApiCalls.getCssProduct = stubSimpleCall(expectedResponse); + const [response] = await client.getCssProduct(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getCssProduct without error using callback', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetCssProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProduct() + ); + client.innerApiCalls.getCssProduct = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getCssProduct( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProduct|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getCssProduct with error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetCssProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getCssProduct = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getCssProduct(request), expectedError); + const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getCssProduct with closed client', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.GetCssProductRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getCssProduct(request), expectedError); + }); + }); + + describe('listCssProducts', () => { + it('invokes listCssProducts without error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + ]; + client.innerApiCalls.listCssProducts = stubSimpleCall(expectedResponse); + const [response] = await client.listCssProducts(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listCssProducts without error using callback', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + ]; + client.innerApiCalls.listCssProducts = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listCssProducts( + request, + (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProduct[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listCssProducts with error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listCssProducts = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listCssProducts(request), expectedError); + const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listCssProductsStream without error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + ]; + client.descriptors.page.listCssProducts.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listCssProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.CssProduct[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.CssProduct) => { + 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.listCssProducts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listCssProducts, request)); + assert( + (client.descriptors.page.listCssProducts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listCssProductsStream with error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listCssProducts.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listCssProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.shopping.css.v1.CssProduct[] = []; + stream.on('data', (response: protos.google.shopping.css.v1.CssProduct) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listCssProducts.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listCssProducts, request)); + assert( + (client.descriptors.page.listCssProducts.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listCssProducts without error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), + ]; + client.descriptors.page.listCssProducts.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.shopping.css.v1.ICssProduct[] = []; + const iterable = client.listCssProductsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listCssProducts with error', async () => { + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.ListCssProductsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listCssProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listCssProductsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.shopping.css.v1.ICssProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listCssProducts.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 cssproductsserviceModule.v1.CssProductsServiceClient({ + 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('accountLabel', () => { + const fakePath = "/rendered/path/accountLabel"; + const expectedParameters = { + account: "accountValue", + label: "labelValue", + }; + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.accountLabelPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.accountLabelPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('accountLabelPath', () => { + const result = client.accountLabelPath("accountValue", "labelValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromAccountLabelName', () => { + const result = client.matchAccountFromAccountLabelName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLabelFromAccountLabelName', () => { + const result = client.matchLabelFromAccountLabelName(fakePath); + assert.strictEqual(result, "labelValue"); + assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProduct', () => { + const fakePath = "/rendered/path/cssProduct"; + const expectedParameters = { + account: "accountValue", + css_product: "cssProductValue", + }; + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductPath', () => { + const result = client.cssProductPath("accountValue", "cssProductValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductName', () => { + const result = client.matchAccountFromCssProductName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductFromCssProductName', () => { + const result = client.matchCssProductFromCssProductName(fakePath); + assert.strictEqual(result, "cssProductValue"); + assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('cssProductInput', () => { + const fakePath = "/rendered/path/cssProductInput"; + const expectedParameters = { + account: "accountValue", + css_product_input: "cssProductInputValue", + }; + const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.cssProductInputPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.cssProductInputPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('cssProductInputPath', () => { + const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchAccountFromCssProductInputName', () => { + const result = client.matchAccountFromCssProductInputName(fakePath); + assert.strictEqual(result, "accountValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchCssProductInputFromCssProductInputName', () => { + const result = client.matchCssProductInputFromCssProductInputName(fakePath); + assert.strictEqual(result, "cssProductInputValue"); + assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-shopping-css/v1/tsconfig.json b/owl-bot-staging/google-shopping-css/v1/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/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-css/v1/webpack.config.js b/owl-bot-staging/google-shopping-css/v1/webpack.config.js new file mode 100644 index 00000000000..5ee8d90aac1 --- /dev/null +++ b/owl-bot-staging/google-shopping-css/v1/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: 'AccountLabelsService', + filename: './account-labels-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 a9c6bdaf0f274840ad1643ad4586a05983db0ce2 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Fri, 20 Dec 2024 23:11:10 +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 --- .../google-shopping-css/v1/.eslintignore | 7 - .../google-shopping-css/v1/.eslintrc.json | 3 - .../google-shopping-css/v1/.gitignore | 14 - .../google-shopping-css/v1/.jsdoc.js | 55 - .../google-shopping-css/v1/.mocharc.js | 33 - .../google-shopping-css/v1/.prettierrc.js | 22 - .../google-shopping-css/v1/README.md | 1 - .../google-shopping-css/v1/package.json | 61 - .../google/shopping/css/v1/accounts.proto | 218 - .../shopping/css/v1/accounts_labels.proto | 182 - .../shopping/css/v1/css_product_common.proto | 384 - .../shopping/css/v1/css_product_inputs.proto | 221 - .../google/shopping/css/v1/css_products.proto | 152 - .../protos/google/shopping/type/types.proto | 193 - .../google-shopping-css/v1/protos/protos.d.ts | 11347 ------ .../google-shopping-css/v1/protos/protos.js | 30769 ---------------- .../google-shopping-css/v1/protos/protos.json | 3524 -- ...unt_labels_service.create_account_label.js | 67 - ...unt_labels_service.delete_account_label.js | 62 - ...ount_labels_service.list_account_labels.js | 78 - ...unt_labels_service.update_account_label.js | 61 - .../v1/accounts_service.get_account.js | 68 - .../accounts_service.list_child_accounts.js | 87 - .../v1/accounts_service.update_labels.js | 73 - ...inputs_service.delete_css_product_input.js | 69 - ...inputs_service.insert_css_product_input.js | 77 - .../css_products_service.get_css_product.js | 61 - .../css_products_service.list_css_products.js | 78 - ...ippet_metadata_google.shopping.css.v1.json | 559 - .../google-shopping-css/v1/src/index.ts | 31 - .../src/v1/account_labels_service_client.ts | 904 - .../account_labels_service_client_config.json | 58 - .../v1/account_labels_service_proto_list.json | 8 - .../v1/src/v1/accounts_service_client.ts | 859 - .../v1/accounts_service_client_config.json | 53 - .../src/v1/accounts_service_proto_list.json | 8 - .../v1/css_product_inputs_service_client.ts | 744 - ..._product_inputs_service_client_config.json | 41 - ...css_product_inputs_service_proto_list.json | 8 - .../v1/src/v1/css_products_service_client.ts | 769 - .../css_products_service_client_config.json | 48 - .../v1/css_products_service_proto_list.json | 8 - .../v1/src/v1/gapic_metadata.json | 197 - .../google-shopping-css/v1/src/v1/index.ts | 22 - .../system-test/fixtures/sample/src/index.js | 30 - .../system-test/fixtures/sample/src/index.ts | 50 - .../v1/system-test/install.ts | 49 - .../test/gapic_account_labels_service_v1.ts | 981 - .../v1/test/gapic_accounts_service_v1.ts | 869 - .../gapic_css_product_inputs_service_v1.ts | 689 - .../v1/test/gapic_css_products_service_v1.ts | 761 - .../google-shopping-css/v1/tsconfig.json | 19 - .../google-shopping-css/v1/webpack.config.js | 64 - packages/google-shopping-css/README.md | 1 + .../google/shopping/css/v1/accounts.proto | 4 +- .../shopping/css/v1/css_product_common.proto | 20 +- .../shopping/css/v1/css_product_inputs.proto | 57 +- .../google/shopping/css/v1/css_products.proto | 2 +- .../google-shopping-css/protos/protos.d.ts | 221 + packages/google-shopping-css/protos/protos.js | 489 + .../google-shopping-css/protos/protos.json | 50 +- .../google-shopping-css/samples/README.md | 18 + .../accounts_service.list_child_accounts.js | 4 +- ...inputs_service.insert_css_product_input.js | 15 +- ...inputs_service.update_css_product_input.js | 0 ...ippet_metadata_google.shopping.css.v1.json | 46 +- .../src/v1/accounts_service_client.ts | 12 +- .../v1/css_product_inputs_service_client.ts | 126 +- ..._product_inputs_service_client_config.json | 5 + .../src/v1/gapic_metadata.json | 10 + .../gapic_css_product_inputs_service_v1.ts | 145 + 71 files changed, 1182 insertions(+), 55839 deletions(-) delete mode 100644 owl-bot-staging/google-shopping-css/v1/.eslintignore delete mode 100644 owl-bot-staging/google-shopping-css/v1/.eslintrc.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/.gitignore delete mode 100644 owl-bot-staging/google-shopping-css/v1/.jsdoc.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/.mocharc.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/.prettierrc.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/README.md delete mode 100644 owl-bot-staging/google-shopping-css/v1/package.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/google/shopping/type/types.proto delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/protos/protos.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_products.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/index.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/src/v1/index.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/system-test/install.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts delete mode 100644 owl-bot-staging/google-shopping-css/v1/tsconfig.json delete mode 100644 owl-bot-staging/google-shopping-css/v1/webpack.config.js rename {owl-bot-staging/google-shopping-css/v1 => packages/google-shopping-css}/samples/generated/v1/css_product_inputs_service.update_css_product_input.js (100%) diff --git a/owl-bot-staging/google-shopping-css/v1/.eslintignore b/owl-bot-staging/google-shopping-css/v1/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.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-css/v1/.eslintrc.json b/owl-bot-staging/google-shopping-css/v1/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-shopping-css/v1/.gitignore b/owl-bot-staging/google-shopping-css/v1/.gitignore deleted file mode 100644 index d4f03a0df2e..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.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-css/v1/.jsdoc.js b/owl-bot-staging/google-shopping-css/v1/.jsdoc.js deleted file mode 100644 index 2af88d1aac4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.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/css', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-shopping-css/v1/.mocharc.js b/owl-bot-staging/google-shopping-css/v1/.mocharc.js deleted file mode 100644 index 13b67c34edc..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.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-css/v1/.prettierrc.js b/owl-bot-staging/google-shopping-css/v1/.prettierrc.js deleted file mode 100644 index 9a8fd690982..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/.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-css/v1/README.md b/owl-bot-staging/google-shopping-css/v1/README.md deleted file mode 100644 index e6a60452553..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/README.md +++ /dev/null @@ -1 +0,0 @@ -Css: Nodejs Client diff --git a/owl-bot-staging/google-shopping-css/v1/package.json b/owl-bot-staging/google-shopping-css/v1/package.json deleted file mode 100644 index 9a9d82c936e..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "@google-shopping/css", - "version": "0.1.0", - "description": "Css client for Node.js", - "repository": "googleapis/nodejs-css", - "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 css", - "css", - "account labels service", - "accounts service", - "css product inputs service", - "css 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-css/v1/protos/google/shopping/css/v1/accounts.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto deleted file mode 100644 index 91c596b2053..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts.proto +++ /dev/null @@ -1,218 +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.css.v1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; - -option csharp_namespace = "Google.Shopping.Css.V1"; -option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; -option java_multiple_files = true; -option java_outer_classname = "AccountsProto"; -option java_package = "com.google.shopping.css.v1"; -option php_namespace = "Google\\Shopping\\Css\\V1"; -option ruby_package = "Google::Shopping::Css::V1"; - -// Service for managing CSS/MC account information. -service AccountsService { - option (google.api.default_host) = "css.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Lists all the accounts under the specified CSS account ID, and - // optionally filters by label ID and account name. - rpc ListChildAccounts(ListChildAccountsRequest) - returns (ListChildAccountsResponse) { - option (google.api.http) = { - get: "/v1/{parent=accounts/*}:listChildAccounts" - }; - option (google.api.method_signature) = "parent"; - } - - // Retrieves a single CSS/MC account by ID. - rpc GetAccount(GetAccountRequest) returns (Account) { - option (google.api.http) = { - get: "/v1/{name=accounts/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Updates labels assigned to CSS/MC accounts by a CSS domain. - rpc UpdateLabels(UpdateAccountLabelsRequest) returns (Account) { - option (google.api.http) = { - post: "/v1/{name=accounts/*}:updateLabels" - body: "*" - }; - option (google.api.method_signature) = "name"; - } -} - -// The request message for the `ListChildAccounts` method. -message ListChildAccountsRequest { - // Required. The parent account. Must be a CSS group or domain. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { type: "css.googleapis.com/Account" } - ]; - - // If set, only the MC accounts with the given label ID will be returned. - optional int64 label_id = 2; - - // If set, only the MC accounts with the given name (case sensitive) will be - // returned. - optional string full_name = 3; - - // Optional. The maximum number of accounts to return. The service may return - // fewer than this value. If unspecified, at most 50 accounts will be - // returned. The maximum value is 100; values above 100 will be coerced to - // 100. - int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. A page token, received from a previous `ListChildAccounts` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListChildAccounts` must - // match the call that provided the page token. - string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -// Response message for the `ListChildAccounts` method. -message ListChildAccountsResponse { - // The CSS/MC accounts returned for the specified CSS parent account. - repeated Account accounts = 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; -} - -// The request message for the `GetAccount` method. -message GetAccountRequest { - // Required. The name of the managed CSS/MC account. - // Format: accounts/{account} - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { type: "css.googleapis.com/Account" } - ]; - - // Optional. Only required when retrieving MC account information. - // The CSS domain that is the parent resource of the MC account. - // Format: accounts/{account} - optional string parent = 2 [ - (google.api.field_behavior) = OPTIONAL, - (google.api.resource_reference) = { type: "css.googleapis.com/Account" } - ]; -} - -// The request message for the `UpdateLabels` method. -message UpdateAccountLabelsRequest { - // Required. The label resource name. - // Format: accounts/{account} - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { type: "css.googleapis.com/Account" } - ]; - - // The list of label IDs to overwrite the existing account label IDs. - // If the list is empty, all currently assigned label IDs will be deleted. - repeated int64 label_ids = 2; - - // Optional. Only required when updating MC account labels. - // The CSS domain that is the parent resource of the MC account. - // Format: accounts/{account} - optional string parent = 3 [ - (google.api.field_behavior) = OPTIONAL, - (google.api.resource_reference) = { type: "css.googleapis.com/Account" } - ]; -} - -// Information about CSS/MC account. -message Account { - option (google.api.resource) = { - type: "css.googleapis.com/Account" - pattern: "accounts/{account}" - plural: "accounts" - singular: "account" - }; - - // The account type. - enum AccountType { - // Unknown account type. - ACCOUNT_TYPE_UNSPECIFIED = 0; - - // CSS group account. - CSS_GROUP = 1; - - // CSS domain account. - CSS_DOMAIN = 2; - - // MC Primary CSS MCA account. - MC_PRIMARY_CSS_MCA = 3; - - // MC CSS MCA account. - MC_CSS_MCA = 4; - - // MC Marketplace MCA account. - MC_MARKETPLACE_MCA = 5; - - // MC Other MCA account. - MC_OTHER_MCA = 6; - - // MC Standalone account. - MC_STANDALONE = 7; - - // MC MCA sub-account. - MC_MCA_SUBACCOUNT = 8; - } - - // The label resource name. - // Format: accounts/{account} - string name = 1; - - // Output only. Immutable. The CSS/MC account's full name. - string full_name = 2 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.field_behavior) = IMMUTABLE - ]; - - // The CSS/MC account's short display name. - optional string display_name = 3; - - // Output only. Immutable. The CSS/MC account's homepage. - optional string homepage_uri = 4 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.field_behavior) = IMMUTABLE - ]; - - // The CSS/MC account's parent resource. CSS group for CSS domains; CSS - // domain for MC accounts. Returned only if the user has access to the - // parent account. - optional string parent = 5; - - // Manually created label IDs assigned to the CSS/MC account by a CSS parent - // account. - repeated int64 label_ids = 6; - - // Automatically created label IDs assigned to the MC account by - // CSS Center. - repeated int64 automatic_label_ids = 7; - - // Output only. The type of this account. - AccountType account_type = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; -} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto deleted file mode 100644 index 969c301d07c..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/accounts_labels.proto +++ /dev/null @@ -1,182 +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.css.v1; - -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"; - -option csharp_namespace = "Google.Shopping.Css.V1"; -option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; -option java_multiple_files = true; -option java_outer_classname = "AccountsLabelsProto"; -option java_package = "com.google.shopping.css.v1"; -option php_namespace = "Google\\Shopping\\Css\\V1"; -option ruby_package = "Google::Shopping::Css::V1"; - -// Manages Merchant Center and CSS accounts labels. -service AccountLabelsService { - option (google.api.default_host) = "css.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Lists the labels owned by an account. - rpc ListAccountLabels(ListAccountLabelsRequest) - returns (ListAccountLabelsResponse) { - option (google.api.http) = { - get: "/v1/{parent=accounts/*}/labels" - }; - option (google.api.method_signature) = "parent"; - } - - // Creates a new label, not assigned to any account. - rpc CreateAccountLabel(CreateAccountLabelRequest) returns (AccountLabel) { - option (google.api.http) = { - post: "/v1/{parent=accounts/*}/labels" - body: "account_label" - }; - option (google.api.method_signature) = "parent,account_label"; - } - - // Updates a label. - rpc UpdateAccountLabel(UpdateAccountLabelRequest) returns (AccountLabel) { - option (google.api.http) = { - patch: "/v1/{account_label.name=accounts/*/labels/*}" - body: "account_label" - }; - option (google.api.method_signature) = "account_label"; - } - - // Deletes a label and removes it from all accounts to which it was assigned. - rpc DeleteAccountLabel(DeleteAccountLabelRequest) - returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=accounts/*/labels/*}" - }; - option (google.api.method_signature) = "name"; - } -} - -// Label assigned by CSS domain or CSS group to one of its sub-accounts. -message AccountLabel { - option (google.api.resource) = { - type: "css.googleapis.com/AccountLabel" - pattern: "accounts/{account}/labels/{label}" - plural: "accountLabels" - singular: "accountLabel" - }; - - // The label type. - enum LabelType { - // Unknown label type. - LABEL_TYPE_UNSPECIFIED = 0; - - // Indicates that the label was created manually. - MANUAL = 1; - - // Indicates that the label was created automatically by CSS Center. - AUTOMATIC = 2; - } - - // The resource name of the label. - // Format: accounts/{account}/labels/{label} - string name = 1; - - // Output only. The ID of the label. - int64 label_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The ID of account this label belongs to. - int64 account_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // The display name of this label. - optional string display_name = 4; - - // The description of this label. - optional string description = 5; - - // Output only. The type of this label. - LabelType label_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Request message for the `ListAccountLabels` method. -message ListAccountLabelsRequest { - // Required. The parent account. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "css.googleapis.com/AccountLabel" - } - ]; - - // The maximum number of labels to return. The service may return fewer than - // this value. - // If unspecified, at most 50 labels will be returned. - // The maximum value is 1000; values above 1000 will be coerced to 1000. - int32 page_size = 2; - - // A page token, received from a previous `ListAccountLabels` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListAccountLabels` must - // match the call that provided the page token. - string page_token = 3; -} - -// Response message for the `ListAccountLabels` method. -message ListAccountLabelsResponse { - // The labels from the specified account. - repeated AccountLabel account_labels = 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; -} - -// Request message for the 'CreateAccountLanel' method. -message CreateAccountLabelRequest { - // Required. The parent account. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "css.googleapis.com/AccountLabel" - } - ]; - - // Required. The label to create. - AccountLabel account_label = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for the `UpdateAccountLabel` method. -message UpdateAccountLabelRequest { - // Required. The updated label. All fields must be provided. - AccountLabel account_label = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for the 'DeleteAccountLabel' method. -message DeleteAccountLabelRequest { - // Required. The name of the label to delete. - // Format: accounts/{account}/labels/{label} - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "css.googleapis.com/AccountLabel" - } - ]; -} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto deleted file mode 100644 index f5a9fbe844b..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_common.proto +++ /dev/null @@ -1,384 +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.css.v1; - -import "google/api/field_behavior.proto"; -import "google/protobuf/timestamp.proto"; -import "google/shopping/type/types.proto"; - -option csharp_namespace = "Google.Shopping.Css.V1"; -option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; -option java_multiple_files = true; -option java_outer_classname = "CssProductCommonProto"; -option java_package = "com.google.shopping.css.v1"; -option php_namespace = "Google\\Shopping\\Css\\V1"; -option ruby_package = "Google::Shopping::Css::V1"; - -// Attributes for CSS Product. -message Attributes { - // URL directly linking to your the Product Detail Page of the CSS. - optional string cpp_link = 1; - - // URL for the mobile-optimized version of the Product Detail Page of the CSS. - optional string cpp_mobile_link = 2; - - // Allows advertisers to override the item URL when the product is shown - // within the context of Product Ads. - optional string cpp_ads_redirect = 42; - - // Low Price of the CSS Product. - google.shopping.type.Price low_price = 3; - - // High Price of the CSS Product. - google.shopping.type.Price high_price = 4; - - // The number of CSS Products. - optional int64 number_of_offers = 5; - - // Condition of the headline offer. - optional string headline_offer_condition = 6; - - // Headline Price of the CSS Product. - google.shopping.type.Price headline_offer_price = 7; - - // Link to the headline offer. - optional string headline_offer_link = 8; - - // Mobile Link to the headline offer. - optional string headline_offer_mobile_link = 9; - - // Headline Price of the CSS Product. - google.shopping.type.Price headline_offer_shipping_price = 41; - - // Title of the item. - optional string title = 10; - - // URL of an image of the item. - optional string image_link = 11; - - // Additional URL of images of the item. - repeated string additional_image_links = 12; - - // Description of the item. - optional string description = 13; - - // Product Related Attributes.[14-36] - // Brand of the item. - optional string brand = 14; - - // Manufacturer Part Number - // ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the - // item. - optional string mpn = 15; - - // Global Trade Item Number - // ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the - // item. - optional string gtin = 16; - - // Categories of the item (formatted as in [products data - // specification](https://support.google.com/merchants/answer/6324406)). - repeated string product_types = 36; - - // 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 = 17; - - // Set to true if the item is targeted towards adults. - optional bool adult = 18; - - // The number of identical products in a merchant-defined multipack. - optional int64 multipack = 19; - - // 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 = 20; - - // Target age group of the item. - optional string age_group = 21; - - // Color of the item. - optional string color = 22; - - // Target gender of the item. - optional string gender = 23; - - // The material of which the item is made. - optional string material = 24; - - // The item's pattern (e.g. polka dots). - optional string pattern = 25; - - // 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 = 26; - - // System in which the size is specified. Recommended for apparel items. - optional string size_system = 27; - - // 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 = 28; - - // Shared identifier for all variants of the same product. - optional string item_group_id = 29; - - // Technical specification or additional product details. - repeated ProductDetail product_details = 30; - - // The weight of the product in the units provided. The value must be - // between 0 (exclusive) and 2000 (inclusive). - ProductWeight product_weight = 31; - - // The length of the product in the units provided. The value must be - // between 0 (exclusive) and 3000 (inclusive). - ProductDimension product_length = 32; - - // The width of the product in the units provided. The value must be between - // 0 (exclusive) and 3000 (inclusive). - ProductDimension product_width = 33; - - // The height of the product in the units provided. The value must be - // between - // 0 (exclusive) and 3000 (inclusive). - ProductDimension product_height = 34; - - // Bullet points describing the most relevant highlights of a product. - repeated string product_highlights = 35; - - // A list of certificates claimed by the CSS for the given product. - repeated Certification certifications = 39; - - // 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. - // Note: It may take 2+ days from the expiration date for the item to - // actually get deleted. - google.protobuf.Timestamp expiration_date = 40; - - // 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 = 43; - - // The list of destinations to exclude for this target (corresponds to - // unchecked check boxes in Merchant Center). - repeated string excluded_destinations = 44; - - // Publication of this item will be temporarily paused. - optional string pause = 45; - - // Custom label 0 for custom grouping of items in a Shopping campaign. - optional string custom_label_0 = 46; - - // Custom label 1 for custom grouping of items in a Shopping campaign. - optional string custom_label_1 = 47; - - // Custom label 2 for custom grouping of items in a Shopping campaign. - optional string custom_label_2 = 48; - - // Custom label 3 for custom grouping of items in a Shopping campaign. - optional string custom_label_3 = 49; - - // Custom label 4 for custom grouping of items in a Shopping campaign. - optional string custom_label_4 = 50; - - // Number and amount of installments to pay for an item. - HeadlineOfferInstallment headline_offer_installment = 51; - - // Number of periods (months or years) and amount of payment per period - // for an item with an associated subscription contract. - HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; -} - -// The certification for the product. Use the this attribute to describe -// certifications, such as energy efficiency ratings, associated with a product. -message Certification { - // The name of the certification. At this time, the most common value is - // "EPREL", which represents energy efficiency certifications in the EU - // European Registry for Energy Labeling (EPREL) database. - string name = 1; - - // The authority or certification body responsible for issuing the - // certification. At this time, the most common value is "EC" or - // “European_Commission” for energy labels in the EU. - string authority = 2; - - // The code of the certification. For example, for the EPREL certificate with - // the link https://eprel.ec.europa.eu/screen/product/dishwashers2019/123456 - // the code is 123456. The code is required for European Energy Labels. - string code = 3; -} - -// 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; -} - -// 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 the Css Product, data validation issues, that is, -// information about the Css Product computed asynchronously. -message CssProductStatus { - // The destination status of the product status. - message DestinationStatus { - // The name of the destination - string destination = 1; - - // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is - // approved. - repeated string approved_countries = 2; - - // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is - // pending approval. - repeated string pending_countries = 3; - - // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is - // disapproved. - repeated string disapproved_countries = 4; - } - - // The ItemLevelIssue of the product status. - message ItemLevelIssue { - // The error code of the issue. - string code = 1; - - // How this issue affects serving of the CSS Product. - string servability = 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 destination the issue applies to. - string destination = 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 - // CSS Product. - 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; -} - -// The SubscriptionCost of the product. -message HeadlineOfferSubscriptionCost { - // 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 HeadlineOfferInstallment { - // 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. - google.shopping.type.Price downpayment = 3; -} - -// 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; -} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto deleted file mode 100644 index b2ebc6f6c1d..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_product_inputs.proto +++ /dev/null @@ -1,221 +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.css.v1; - -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/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; -import "google/shopping/css/v1/css_product_common.proto"; -import "google/shopping/type/types.proto"; - -option csharp_namespace = "Google.Shopping.Css.V1"; -option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; -option java_multiple_files = true; -option java_outer_classname = "CssProductInputsProto"; -option java_package = "com.google.shopping.css.v1"; -option php_namespace = "Google\\Shopping\\Css\\V1"; -option ruby_package = "Google::Shopping::Css::V1"; - -// Service to use CssProductInput resource. -// This service helps to insert/update/delete CSS Products. -service CssProductInputsService { - option (google.api.default_host) = "css.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Uploads a CssProductInput to your CSS Center account. If an - // input with the same contentLanguage, identity, feedLabel and feedId already - // exists, this method replaces that entry. - // - // After inserting, updating, or deleting a CSS Product input, it may - // take several minutes before the processed CSS Product can be retrieved. - rpc InsertCssProductInput(InsertCssProductInputRequest) - returns (CssProductInput) { - option (google.api.http) = { - post: "/v1/{parent=accounts/*}/cssProductInputs:insert" - body: "css_product_input" - }; - } - - // Updates the existing Css Product input in your CSS Center account. - // - // After inserting, updating, or deleting a CSS Product input, it may take - // several minutes before the processed Css Product can be retrieved. - rpc UpdateCssProductInput(UpdateCssProductInputRequest) - returns (CssProductInput) { - option (google.api.http) = { - patch: "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}" - body: "css_product_input" - }; - option (google.api.method_signature) = "css_product_input,update_mask"; - } - - // Deletes a CSS Product input from your CSS Center account. - // - // After a delete it may take several minutes until the input is no longer - // available. - rpc DeleteCssProductInput(DeleteCssProductInputRequest) - returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=accounts/*/cssProductInputs/*}" - }; - option (google.api.method_signature) = "name"; - } -} - -// This resource represents input data you submit for a CSS Product, not -// the processed CSS Product that you see in CSS Center, in Shopping Ads, or -// across Google surfaces. -message CssProductInput { - option (google.api.resource) = { - type: "css.googleapis.com/CssProductInput" - pattern: "accounts/{account}/cssProductInputs/{css_product_input}" - }; - - // The name of the CSS Product input. - // Format: - // `accounts/{account}/cssProductInputs/{css_product_input}` - string name = 1; - - // Output only. The name of the processed CSS Product. - // Format: - // `accounts/{account}/cssProducts/{css_product}` - // " - string final_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Required. Your unique identifier for the CSS Product. This is the same for - // the CSS Product input and processed CSS Product. We only allow ids with - // alphanumerics, underscores and dashes. See the [products feed - // specification](https://support.google.com/merchants/answer/188494#id) for - // details. - string raw_provided_id = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. The two-letter [ISO - // 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the CSS - // Product. - string content_language = 4 [(google.api.field_behavior) = REQUIRED]; - - // Required. The [feed - // label](https://developers.google.com/shopping-content/guides/products/feed-labels) - // for the CSS Product. - // Feed Label is synonymous to "target country" and hence should always be a - // valid region code. For example: 'DE' for Germany, 'FR' for France. - string feed_label = 5 [(google.api.field_behavior) = REQUIRED]; - - // DEPRECATED. Use expiration_date instead. - // Represents the existing version (freshness) of the CSS Product, which - // can be used to preserve the right order when multiple updates are done at - // the same time. - // - // This field must not be set to the future time. - // - // If set, the update is prevented if a newer version of the item already - // exists in our system (that is the last update time of the existing - // CSS products is later than the freshness time set in the update). If - // the update happens, the last update time is then set to this freshness - // time. - // - // If not set, the update will not be prevented and the last update time will - // default to when this request was received by the CSS API. - // - // If the operation is prevented, the aborted exception will be - // thrown. - google.protobuf.Timestamp freshness_time = 6 [deprecated = true]; - - // A list of CSS Product attributes. - Attributes attributes = 7; - - // A list of custom (CSS-provided) attributes. It can also be used for - // submitting any attribute of the feed 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 = 8; -} - -// Request message for the InsertCssProductInput method. -message InsertCssProductInputRequest { - // Required. The account where this CSS Product will be inserted. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "css.googleapis.com/CssProductInput" - } - ]; - - // Required. The CSS Product Input to insert. - CssProductInput css_product_input = 2 - [(google.api.field_behavior) = REQUIRED]; - - // Optional. DEPRECATED. Feed id is not required for CSS Products. - // The primary or supplemental feed id. If CSS Product already exists and - // feed id provided is different, then the CSS Product will be moved to a - // new feed. - // Note: For now, CSSs do not need to provide feed ids as we create - // feeds on the fly. - // We do not have supplemental feed support for CSS Products yet. - int64 feed_id = 3 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; -} - -// Request message for the UpdateCssProductInput method. -message UpdateCssProductInputRequest { - // Required. The CSS product input resource to update. Information you submit - // will be applied to the processed CSS product as well. - CssProductInput css_product_input = 1 - [(google.api.field_behavior) = REQUIRED]; - - // The list of CSS product attributes to be updated. - // - // If the update mask is omitted, then it is treated as implied field mask - // equivalent to all fields that are populated (have a non-empty value). - // - // Attributes specified in the update mask without a value specified in the - // body will be deleted from the CSS product. - // - // Update mask can only be specified for top level fields in - // attributes and custom attributes. - // - // To specify the update mask for custom attributes you need to add the - // `custom_attribute.` prefix. - // - // Providing special "*" value for full CSS product replacement is not - // supported. - google.protobuf.FieldMask update_mask = 2; -} - -// Request message for the DeleteCssProductInput method. -message DeleteCssProductInputRequest { - // Required. The name of the CSS product input resource to delete. - // Format: accounts/{account}/cssProductInputs/{css_product_input} - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "css.googleapis.com/CssProductInput" - } - ]; - - // The Content API Supplemental Feed ID. - // The field must not be set if the action applies to a primary feed. - // If the field is set, then product action applies to a supplemental feed - // instead of primary Content API feed. - optional int64 supplemental_feed_id = 2; -} diff --git a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto deleted file mode 100644 index d0c30aa06c8..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/css/v1/css_products.proto +++ /dev/null @@ -1,152 +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.css.v1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/shopping/css/v1/css_product_common.proto"; -import "google/shopping/type/types.proto"; - -option csharp_namespace = "Google.Shopping.Css.V1"; -option go_package = "cloud.google.com/go/shopping/css/apiv1/csspb;csspb"; -option java_multiple_files = true; -option java_outer_classname = "CssProductsProto"; -option java_package = "com.google.shopping.css.v1"; -option php_namespace = "Google\\Shopping\\Css\\V1"; -option ruby_package = "Google::Shopping::Css::V1"; - -// Service for doing get and list on Css Products(a.k.a Aggregate Offers -// internally). -service CssProductsService { - option (google.api.default_host) = "css.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content"; - - // Retrieves the processed CSS Product from your CSS Center account. After - // inserting, updating, or deleting a product input, it may take several - // minutes before the updated final product can be retrieved. - rpc GetCssProduct(GetCssProductRequest) returns (CssProduct) { - option (google.api.http) = { - get: "/v1/{name=accounts/*/cssProducts/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Lists the processed CSS Products in your CSS 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 CSS product input, it may - // take several minutes before the updated processed CSS product can be - // retrieved. - rpc ListCssProducts(ListCssProductsRequest) - returns (ListCssProductsResponse) { - option (google.api.http) = { - get: "/v1/{parent=accounts/*}/cssProducts" - }; - option (google.api.method_signature) = "parent"; - } -} - -// The request message for the `GetCssProduct` method. -message GetCssProductRequest { - // Required. The name of the CSS product to retrieve. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { type: "css.googleapis.com/CssProduct" } - ]; -} - -// The processed CSS Product. -message CssProduct { - option (google.api.resource) = { - type: "css.googleapis.com/CssProduct" - pattern: "accounts/{account}/cssProducts/{css_product}" - plural: "cssProducts" - singular: "cssProduct" - }; - - // The name of the CSS Product. - // Format: - // `"accounts/{account}/cssProducts/{css_product}"` - string name = 1; - - // Output only. Your unique raw identifier for the product. - string raw_provided_id = 2 [(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 = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The feed label for the product. - string feed_label = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. A list of product attributes. - Attributes attributes = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. A list of custom (CSS-provided) attributes. It can also be - // used to submit any attribute of the feed 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 = 6 - [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The status of a product, data validation issues, that is, - // information about a product computed asynchronously. - CssProductStatus css_product_status = 8 - [(google.api.field_behavior) = OUTPUT_ONLY]; -} - -// Request message for the ListCssProducts method. -message ListCssProductsRequest { - // Required. The account/domain to list processed CSS Products for. - // Format: accounts/{account} - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "css.googleapis.com/CssProduct" - } - ]; - - // The maximum number of CSS Products to return. The service may return - // fewer than this value. - // The maximum value is 1000; values above 1000 will be coerced to 1000. If - // unspecified, the maximum number of CSS products will be returned. - int32 page_size = 2; - - // A page token, received from a previous `ListCssProducts` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListCssProducts` - // must match the call that provided the page token. - string page_token = 3; -} - -// Response message for the ListCssProducts method. -message ListCssProductsResponse { - // The processed CSS products from the specified account. These are your - // processed CSS products after applying rules and supplemental feeds. - repeated CssProduct css_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-css/v1/protos/google/shopping/type/types.proto b/owl-bot-staging/google-shopping-css/v1/protos/google/shopping/type/types.proto deleted file mode 100644 index 0d219e72d6a..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/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-css/v1/protos/protos.d.ts b/owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts deleted file mode 100644 index f651c6a51c6..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/protos.d.ts +++ /dev/null @@ -1,11347 +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 css. */ - namespace css { - - /** Namespace v1. */ - namespace v1 { - - /** Represents an AccountsService */ - class AccountsService extends $protobuf.rpc.Service { - - /** - * Constructs a new AccountsService 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 AccountsService 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): AccountsService; - - /** - * Calls ListChildAccounts. - * @param request ListChildAccountsRequest message or plain object - * @param callback Node-style callback called with the error, if any, and ListChildAccountsResponse - */ - public listChildAccounts(request: google.shopping.css.v1.IListChildAccountsRequest, callback: google.shopping.css.v1.AccountsService.ListChildAccountsCallback): void; - - /** - * Calls ListChildAccounts. - * @param request ListChildAccountsRequest message or plain object - * @returns Promise - */ - public listChildAccounts(request: google.shopping.css.v1.IListChildAccountsRequest): Promise; - - /** - * Calls GetAccount. - * @param request GetAccountRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Account - */ - public getAccount(request: google.shopping.css.v1.IGetAccountRequest, callback: google.shopping.css.v1.AccountsService.GetAccountCallback): void; - - /** - * Calls GetAccount. - * @param request GetAccountRequest message or plain object - * @returns Promise - */ - public getAccount(request: google.shopping.css.v1.IGetAccountRequest): Promise; - - /** - * Calls UpdateLabels. - * @param request UpdateAccountLabelsRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Account - */ - public updateLabels(request: google.shopping.css.v1.IUpdateAccountLabelsRequest, callback: google.shopping.css.v1.AccountsService.UpdateLabelsCallback): void; - - /** - * Calls UpdateLabels. - * @param request UpdateAccountLabelsRequest message or plain object - * @returns Promise - */ - public updateLabels(request: google.shopping.css.v1.IUpdateAccountLabelsRequest): Promise; - } - - namespace AccountsService { - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|listChildAccounts}. - * @param error Error, if any - * @param [response] ListChildAccountsResponse - */ - type ListChildAccountsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListChildAccountsResponse) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|getAccount}. - * @param error Error, if any - * @param [response] Account - */ - type GetAccountCallback = (error: (Error|null), response?: google.shopping.css.v1.Account) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|updateLabels}. - * @param error Error, if any - * @param [response] Account - */ - type UpdateLabelsCallback = (error: (Error|null), response?: google.shopping.css.v1.Account) => void; - } - - /** Properties of a ListChildAccountsRequest. */ - interface IListChildAccountsRequest { - - /** ListChildAccountsRequest parent */ - parent?: (string|null); - - /** ListChildAccountsRequest labelId */ - labelId?: (number|Long|string|null); - - /** ListChildAccountsRequest fullName */ - fullName?: (string|null); - - /** ListChildAccountsRequest pageSize */ - pageSize?: (number|null); - - /** ListChildAccountsRequest pageToken */ - pageToken?: (string|null); - } - - /** Represents a ListChildAccountsRequest. */ - class ListChildAccountsRequest implements IListChildAccountsRequest { - - /** - * Constructs a new ListChildAccountsRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListChildAccountsRequest); - - /** ListChildAccountsRequest parent. */ - public parent: string; - - /** ListChildAccountsRequest labelId. */ - public labelId?: (number|Long|string|null); - - /** ListChildAccountsRequest fullName. */ - public fullName?: (string|null); - - /** ListChildAccountsRequest pageSize. */ - public pageSize: number; - - /** ListChildAccountsRequest pageToken. */ - public pageToken: string; - - /** ListChildAccountsRequest _labelId. */ - public _labelId?: "labelId"; - - /** ListChildAccountsRequest _fullName. */ - public _fullName?: "fullName"; - - /** - * Creates a new ListChildAccountsRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns ListChildAccountsRequest instance - */ - public static create(properties?: google.shopping.css.v1.IListChildAccountsRequest): google.shopping.css.v1.ListChildAccountsRequest; - - /** - * Encodes the specified ListChildAccountsRequest message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. - * @param message ListChildAccountsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListChildAccountsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListChildAccountsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. - * @param message ListChildAccountsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListChildAccountsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListChildAccountsRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListChildAccountsRequest - * @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.css.v1.ListChildAccountsRequest; - - /** - * Decodes a ListChildAccountsRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListChildAccountsRequest - * @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.css.v1.ListChildAccountsRequest; - - /** - * Verifies a ListChildAccountsRequest 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 ListChildAccountsRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListChildAccountsRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListChildAccountsRequest; - - /** - * Creates a plain object from a ListChildAccountsRequest message. Also converts values to other types if specified. - * @param message ListChildAccountsRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListChildAccountsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListChildAccountsRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListChildAccountsRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListChildAccountsResponse. */ - interface IListChildAccountsResponse { - - /** ListChildAccountsResponse accounts */ - accounts?: (google.shopping.css.v1.IAccount[]|null); - - /** ListChildAccountsResponse nextPageToken */ - nextPageToken?: (string|null); - } - - /** Represents a ListChildAccountsResponse. */ - class ListChildAccountsResponse implements IListChildAccountsResponse { - - /** - * Constructs a new ListChildAccountsResponse. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListChildAccountsResponse); - - /** ListChildAccountsResponse accounts. */ - public accounts: google.shopping.css.v1.IAccount[]; - - /** ListChildAccountsResponse nextPageToken. */ - public nextPageToken: string; - - /** - * Creates a new ListChildAccountsResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns ListChildAccountsResponse instance - */ - public static create(properties?: google.shopping.css.v1.IListChildAccountsResponse): google.shopping.css.v1.ListChildAccountsResponse; - - /** - * Encodes the specified ListChildAccountsResponse message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. - * @param message ListChildAccountsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListChildAccountsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListChildAccountsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. - * @param message ListChildAccountsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListChildAccountsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListChildAccountsResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListChildAccountsResponse - * @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.css.v1.ListChildAccountsResponse; - - /** - * Decodes a ListChildAccountsResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListChildAccountsResponse - * @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.css.v1.ListChildAccountsResponse; - - /** - * Verifies a ListChildAccountsResponse 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 ListChildAccountsResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListChildAccountsResponse - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListChildAccountsResponse; - - /** - * Creates a plain object from a ListChildAccountsResponse message. Also converts values to other types if specified. - * @param message ListChildAccountsResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListChildAccountsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListChildAccountsResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListChildAccountsResponse - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a GetAccountRequest. */ - interface IGetAccountRequest { - - /** GetAccountRequest name */ - name?: (string|null); - - /** GetAccountRequest parent */ - parent?: (string|null); - } - - /** Represents a GetAccountRequest. */ - class GetAccountRequest implements IGetAccountRequest { - - /** - * Constructs a new GetAccountRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IGetAccountRequest); - - /** GetAccountRequest name. */ - public name: string; - - /** GetAccountRequest parent. */ - public parent?: (string|null); - - /** GetAccountRequest _parent. */ - public _parent?: "parent"; - - /** - * Creates a new GetAccountRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns GetAccountRequest instance - */ - public static create(properties?: google.shopping.css.v1.IGetAccountRequest): google.shopping.css.v1.GetAccountRequest; - - /** - * Encodes the specified GetAccountRequest message. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. - * @param message GetAccountRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IGetAccountRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GetAccountRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. - * @param message GetAccountRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IGetAccountRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GetAccountRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GetAccountRequest - * @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.css.v1.GetAccountRequest; - - /** - * Decodes a GetAccountRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GetAccountRequest - * @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.css.v1.GetAccountRequest; - - /** - * Verifies a GetAccountRequest 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 GetAccountRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GetAccountRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.GetAccountRequest; - - /** - * Creates a plain object from a GetAccountRequest message. Also converts values to other types if specified. - * @param message GetAccountRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.GetAccountRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GetAccountRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for GetAccountRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an UpdateAccountLabelsRequest. */ - interface IUpdateAccountLabelsRequest { - - /** UpdateAccountLabelsRequest name */ - name?: (string|null); - - /** UpdateAccountLabelsRequest labelIds */ - labelIds?: ((number|Long|string)[]|null); - - /** UpdateAccountLabelsRequest parent */ - parent?: (string|null); - } - - /** Represents an UpdateAccountLabelsRequest. */ - class UpdateAccountLabelsRequest implements IUpdateAccountLabelsRequest { - - /** - * Constructs a new UpdateAccountLabelsRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IUpdateAccountLabelsRequest); - - /** UpdateAccountLabelsRequest name. */ - public name: string; - - /** UpdateAccountLabelsRequest labelIds. */ - public labelIds: (number|Long|string)[]; - - /** UpdateAccountLabelsRequest parent. */ - public parent?: (string|null); - - /** UpdateAccountLabelsRequest _parent. */ - public _parent?: "parent"; - - /** - * Creates a new UpdateAccountLabelsRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns UpdateAccountLabelsRequest instance - */ - public static create(properties?: google.shopping.css.v1.IUpdateAccountLabelsRequest): google.shopping.css.v1.UpdateAccountLabelsRequest; - - /** - * Encodes the specified UpdateAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. - * @param message UpdateAccountLabelsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IUpdateAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UpdateAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. - * @param message UpdateAccountLabelsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IUpdateAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UpdateAccountLabelsRequest - * @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.css.v1.UpdateAccountLabelsRequest; - - /** - * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UpdateAccountLabelsRequest - * @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.css.v1.UpdateAccountLabelsRequest; - - /** - * Verifies an UpdateAccountLabelsRequest 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 UpdateAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UpdateAccountLabelsRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateAccountLabelsRequest; - - /** - * Creates a plain object from an UpdateAccountLabelsRequest message. Also converts values to other types if specified. - * @param message UpdateAccountLabelsRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.UpdateAccountLabelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UpdateAccountLabelsRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UpdateAccountLabelsRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an Account. */ - interface IAccount { - - /** Account name */ - name?: (string|null); - - /** Account fullName */ - fullName?: (string|null); - - /** Account displayName */ - displayName?: (string|null); - - /** Account homepageUri */ - homepageUri?: (string|null); - - /** Account parent */ - parent?: (string|null); - - /** Account labelIds */ - labelIds?: ((number|Long|string)[]|null); - - /** Account automaticLabelIds */ - automaticLabelIds?: ((number|Long|string)[]|null); - - /** Account accountType */ - accountType?: (google.shopping.css.v1.Account.AccountType|keyof typeof google.shopping.css.v1.Account.AccountType|null); - } - - /** Represents an Account. */ - class Account implements IAccount { - - /** - * Constructs a new Account. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IAccount); - - /** Account name. */ - public name: string; - - /** Account fullName. */ - public fullName: string; - - /** Account displayName. */ - public displayName?: (string|null); - - /** Account homepageUri. */ - public homepageUri?: (string|null); - - /** Account parent. */ - public parent?: (string|null); - - /** Account labelIds. */ - public labelIds: (number|Long|string)[]; - - /** Account automaticLabelIds. */ - public automaticLabelIds: (number|Long|string)[]; - - /** Account accountType. */ - public accountType: (google.shopping.css.v1.Account.AccountType|keyof typeof google.shopping.css.v1.Account.AccountType); - - /** Account _displayName. */ - public _displayName?: "displayName"; - - /** Account _homepageUri. */ - public _homepageUri?: "homepageUri"; - - /** Account _parent. */ - public _parent?: "parent"; - - /** - * Creates a new Account instance using the specified properties. - * @param [properties] Properties to set - * @returns Account instance - */ - public static create(properties?: google.shopping.css.v1.IAccount): google.shopping.css.v1.Account; - - /** - * Encodes the specified Account message. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. - * @param message Account message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IAccount, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Account message, length delimited. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. - * @param message Account message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IAccount, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an Account message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Account - * @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.css.v1.Account; - - /** - * Decodes an Account message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Account - * @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.css.v1.Account; - - /** - * Verifies an Account 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 Account message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Account - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.Account; - - /** - * Creates a plain object from an Account message. Also converts values to other types if specified. - * @param message Account - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.Account, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Account to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Account - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace Account { - - /** AccountType enum. */ - enum AccountType { - ACCOUNT_TYPE_UNSPECIFIED = 0, - CSS_GROUP = 1, - CSS_DOMAIN = 2, - MC_PRIMARY_CSS_MCA = 3, - MC_CSS_MCA = 4, - MC_MARKETPLACE_MCA = 5, - MC_OTHER_MCA = 6, - MC_STANDALONE = 7, - MC_MCA_SUBACCOUNT = 8 - } - } - - /** Represents an AccountLabelsService */ - class AccountLabelsService extends $protobuf.rpc.Service { - - /** - * Constructs a new AccountLabelsService 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 AccountLabelsService 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): AccountLabelsService; - - /** - * Calls ListAccountLabels. - * @param request ListAccountLabelsRequest message or plain object - * @param callback Node-style callback called with the error, if any, and ListAccountLabelsResponse - */ - public listAccountLabels(request: google.shopping.css.v1.IListAccountLabelsRequest, callback: google.shopping.css.v1.AccountLabelsService.ListAccountLabelsCallback): void; - - /** - * Calls ListAccountLabels. - * @param request ListAccountLabelsRequest message or plain object - * @returns Promise - */ - public listAccountLabels(request: google.shopping.css.v1.IListAccountLabelsRequest): Promise; - - /** - * Calls CreateAccountLabel. - * @param request CreateAccountLabelRequest message or plain object - * @param callback Node-style callback called with the error, if any, and AccountLabel - */ - public createAccountLabel(request: google.shopping.css.v1.ICreateAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.CreateAccountLabelCallback): void; - - /** - * Calls CreateAccountLabel. - * @param request CreateAccountLabelRequest message or plain object - * @returns Promise - */ - public createAccountLabel(request: google.shopping.css.v1.ICreateAccountLabelRequest): Promise; - - /** - * Calls UpdateAccountLabel. - * @param request UpdateAccountLabelRequest message or plain object - * @param callback Node-style callback called with the error, if any, and AccountLabel - */ - public updateAccountLabel(request: google.shopping.css.v1.IUpdateAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.UpdateAccountLabelCallback): void; - - /** - * Calls UpdateAccountLabel. - * @param request UpdateAccountLabelRequest message or plain object - * @returns Promise - */ - public updateAccountLabel(request: google.shopping.css.v1.IUpdateAccountLabelRequest): Promise; - - /** - * Calls DeleteAccountLabel. - * @param request DeleteAccountLabelRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Empty - */ - public deleteAccountLabel(request: google.shopping.css.v1.IDeleteAccountLabelRequest, callback: google.shopping.css.v1.AccountLabelsService.DeleteAccountLabelCallback): void; - - /** - * Calls DeleteAccountLabel. - * @param request DeleteAccountLabelRequest message or plain object - * @returns Promise - */ - public deleteAccountLabel(request: google.shopping.css.v1.IDeleteAccountLabelRequest): Promise; - } - - namespace AccountLabelsService { - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|listAccountLabels}. - * @param error Error, if any - * @param [response] ListAccountLabelsResponse - */ - type ListAccountLabelsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListAccountLabelsResponse) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|createAccountLabel}. - * @param error Error, if any - * @param [response] AccountLabel - */ - type CreateAccountLabelCallback = (error: (Error|null), response?: google.shopping.css.v1.AccountLabel) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|updateAccountLabel}. - * @param error Error, if any - * @param [response] AccountLabel - */ - type UpdateAccountLabelCallback = (error: (Error|null), response?: google.shopping.css.v1.AccountLabel) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|deleteAccountLabel}. - * @param error Error, if any - * @param [response] Empty - */ - type DeleteAccountLabelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; - } - - /** Properties of an AccountLabel. */ - interface IAccountLabel { - - /** AccountLabel name */ - name?: (string|null); - - /** AccountLabel labelId */ - labelId?: (number|Long|string|null); - - /** AccountLabel accountId */ - accountId?: (number|Long|string|null); - - /** AccountLabel displayName */ - displayName?: (string|null); - - /** AccountLabel description */ - description?: (string|null); - - /** AccountLabel labelType */ - labelType?: (google.shopping.css.v1.AccountLabel.LabelType|keyof typeof google.shopping.css.v1.AccountLabel.LabelType|null); - } - - /** Represents an AccountLabel. */ - class AccountLabel implements IAccountLabel { - - /** - * Constructs a new AccountLabel. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IAccountLabel); - - /** AccountLabel name. */ - public name: string; - - /** AccountLabel labelId. */ - public labelId: (number|Long|string); - - /** AccountLabel accountId. */ - public accountId: (number|Long|string); - - /** AccountLabel displayName. */ - public displayName?: (string|null); - - /** AccountLabel description. */ - public description?: (string|null); - - /** AccountLabel labelType. */ - public labelType: (google.shopping.css.v1.AccountLabel.LabelType|keyof typeof google.shopping.css.v1.AccountLabel.LabelType); - - /** AccountLabel _displayName. */ - public _displayName?: "displayName"; - - /** AccountLabel _description. */ - public _description?: "description"; - - /** - * Creates a new AccountLabel instance using the specified properties. - * @param [properties] Properties to set - * @returns AccountLabel instance - */ - public static create(properties?: google.shopping.css.v1.IAccountLabel): google.shopping.css.v1.AccountLabel; - - /** - * Encodes the specified AccountLabel message. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. - * @param message AccountLabel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IAccountLabel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified AccountLabel message, length delimited. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. - * @param message AccountLabel message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IAccountLabel, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an AccountLabel message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns AccountLabel - * @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.css.v1.AccountLabel; - - /** - * Decodes an AccountLabel message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns AccountLabel - * @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.css.v1.AccountLabel; - - /** - * Verifies an AccountLabel 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 AccountLabel message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns AccountLabel - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.AccountLabel; - - /** - * Creates a plain object from an AccountLabel message. Also converts values to other types if specified. - * @param message AccountLabel - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.AccountLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this AccountLabel to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for AccountLabel - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace AccountLabel { - - /** LabelType enum. */ - enum LabelType { - LABEL_TYPE_UNSPECIFIED = 0, - MANUAL = 1, - AUTOMATIC = 2 - } - } - - /** Properties of a ListAccountLabelsRequest. */ - interface IListAccountLabelsRequest { - - /** ListAccountLabelsRequest parent */ - parent?: (string|null); - - /** ListAccountLabelsRequest pageSize */ - pageSize?: (number|null); - - /** ListAccountLabelsRequest pageToken */ - pageToken?: (string|null); - } - - /** Represents a ListAccountLabelsRequest. */ - class ListAccountLabelsRequest implements IListAccountLabelsRequest { - - /** - * Constructs a new ListAccountLabelsRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListAccountLabelsRequest); - - /** ListAccountLabelsRequest parent. */ - public parent: string; - - /** ListAccountLabelsRequest pageSize. */ - public pageSize: number; - - /** ListAccountLabelsRequest pageToken. */ - public pageToken: string; - - /** - * Creates a new ListAccountLabelsRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns ListAccountLabelsRequest instance - */ - public static create(properties?: google.shopping.css.v1.IListAccountLabelsRequest): google.shopping.css.v1.ListAccountLabelsRequest; - - /** - * Encodes the specified ListAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. - * @param message ListAccountLabelsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. - * @param message ListAccountLabelsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListAccountLabelsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListAccountLabelsRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListAccountLabelsRequest - * @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.css.v1.ListAccountLabelsRequest; - - /** - * Decodes a ListAccountLabelsRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListAccountLabelsRequest - * @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.css.v1.ListAccountLabelsRequest; - - /** - * Verifies a ListAccountLabelsRequest 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 ListAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListAccountLabelsRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListAccountLabelsRequest; - - /** - * Creates a plain object from a ListAccountLabelsRequest message. Also converts values to other types if specified. - * @param message ListAccountLabelsRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListAccountLabelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListAccountLabelsRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListAccountLabelsRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListAccountLabelsResponse. */ - interface IListAccountLabelsResponse { - - /** ListAccountLabelsResponse accountLabels */ - accountLabels?: (google.shopping.css.v1.IAccountLabel[]|null); - - /** ListAccountLabelsResponse nextPageToken */ - nextPageToken?: (string|null); - } - - /** Represents a ListAccountLabelsResponse. */ - class ListAccountLabelsResponse implements IListAccountLabelsResponse { - - /** - * Constructs a new ListAccountLabelsResponse. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListAccountLabelsResponse); - - /** ListAccountLabelsResponse accountLabels. */ - public accountLabels: google.shopping.css.v1.IAccountLabel[]; - - /** ListAccountLabelsResponse nextPageToken. */ - public nextPageToken: string; - - /** - * Creates a new ListAccountLabelsResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns ListAccountLabelsResponse instance - */ - public static create(properties?: google.shopping.css.v1.IListAccountLabelsResponse): google.shopping.css.v1.ListAccountLabelsResponse; - - /** - * Encodes the specified ListAccountLabelsResponse message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. - * @param message ListAccountLabelsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListAccountLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListAccountLabelsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. - * @param message ListAccountLabelsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListAccountLabelsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListAccountLabelsResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListAccountLabelsResponse - * @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.css.v1.ListAccountLabelsResponse; - - /** - * Decodes a ListAccountLabelsResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListAccountLabelsResponse - * @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.css.v1.ListAccountLabelsResponse; - - /** - * Verifies a ListAccountLabelsResponse 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 ListAccountLabelsResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListAccountLabelsResponse - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListAccountLabelsResponse; - - /** - * Creates a plain object from a ListAccountLabelsResponse message. Also converts values to other types if specified. - * @param message ListAccountLabelsResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListAccountLabelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListAccountLabelsResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListAccountLabelsResponse - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CreateAccountLabelRequest. */ - interface ICreateAccountLabelRequest { - - /** CreateAccountLabelRequest parent */ - parent?: (string|null); - - /** CreateAccountLabelRequest accountLabel */ - accountLabel?: (google.shopping.css.v1.IAccountLabel|null); - } - - /** Represents a CreateAccountLabelRequest. */ - class CreateAccountLabelRequest implements ICreateAccountLabelRequest { - - /** - * Constructs a new CreateAccountLabelRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.ICreateAccountLabelRequest); - - /** CreateAccountLabelRequest parent. */ - public parent: string; - - /** CreateAccountLabelRequest accountLabel. */ - public accountLabel?: (google.shopping.css.v1.IAccountLabel|null); - - /** - * Creates a new CreateAccountLabelRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns CreateAccountLabelRequest instance - */ - public static create(properties?: google.shopping.css.v1.ICreateAccountLabelRequest): google.shopping.css.v1.CreateAccountLabelRequest; - - /** - * Encodes the specified CreateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. - * @param message CreateAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.ICreateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CreateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. - * @param message CreateAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.ICreateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CreateAccountLabelRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CreateAccountLabelRequest - * @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.css.v1.CreateAccountLabelRequest; - - /** - * Decodes a CreateAccountLabelRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CreateAccountLabelRequest - * @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.css.v1.CreateAccountLabelRequest; - - /** - * Verifies a CreateAccountLabelRequest 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 CreateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CreateAccountLabelRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CreateAccountLabelRequest; - - /** - * Creates a plain object from a CreateAccountLabelRequest message. Also converts values to other types if specified. - * @param message CreateAccountLabelRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.CreateAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CreateAccountLabelRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CreateAccountLabelRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an UpdateAccountLabelRequest. */ - interface IUpdateAccountLabelRequest { - - /** UpdateAccountLabelRequest accountLabel */ - accountLabel?: (google.shopping.css.v1.IAccountLabel|null); - } - - /** Represents an UpdateAccountLabelRequest. */ - class UpdateAccountLabelRequest implements IUpdateAccountLabelRequest { - - /** - * Constructs a new UpdateAccountLabelRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IUpdateAccountLabelRequest); - - /** UpdateAccountLabelRequest accountLabel. */ - public accountLabel?: (google.shopping.css.v1.IAccountLabel|null); - - /** - * Creates a new UpdateAccountLabelRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns UpdateAccountLabelRequest instance - */ - public static create(properties?: google.shopping.css.v1.IUpdateAccountLabelRequest): google.shopping.css.v1.UpdateAccountLabelRequest; - - /** - * Encodes the specified UpdateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. - * @param message UpdateAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IUpdateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UpdateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. - * @param message UpdateAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IUpdateAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UpdateAccountLabelRequest - * @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.css.v1.UpdateAccountLabelRequest; - - /** - * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UpdateAccountLabelRequest - * @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.css.v1.UpdateAccountLabelRequest; - - /** - * Verifies an UpdateAccountLabelRequest 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 UpdateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UpdateAccountLabelRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateAccountLabelRequest; - - /** - * Creates a plain object from an UpdateAccountLabelRequest message. Also converts values to other types if specified. - * @param message UpdateAccountLabelRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.UpdateAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UpdateAccountLabelRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UpdateAccountLabelRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a DeleteAccountLabelRequest. */ - interface IDeleteAccountLabelRequest { - - /** DeleteAccountLabelRequest name */ - name?: (string|null); - } - - /** Represents a DeleteAccountLabelRequest. */ - class DeleteAccountLabelRequest implements IDeleteAccountLabelRequest { - - /** - * Constructs a new DeleteAccountLabelRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IDeleteAccountLabelRequest); - - /** DeleteAccountLabelRequest name. */ - public name: string; - - /** - * Creates a new DeleteAccountLabelRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns DeleteAccountLabelRequest instance - */ - public static create(properties?: google.shopping.css.v1.IDeleteAccountLabelRequest): google.shopping.css.v1.DeleteAccountLabelRequest; - - /** - * Encodes the specified DeleteAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. - * @param message DeleteAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IDeleteAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DeleteAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. - * @param message DeleteAccountLabelRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IDeleteAccountLabelRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DeleteAccountLabelRequest - * @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.css.v1.DeleteAccountLabelRequest; - - /** - * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DeleteAccountLabelRequest - * @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.css.v1.DeleteAccountLabelRequest; - - /** - * Verifies a DeleteAccountLabelRequest 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 DeleteAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DeleteAccountLabelRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.DeleteAccountLabelRequest; - - /** - * Creates a plain object from a DeleteAccountLabelRequest message. Also converts values to other types if specified. - * @param message DeleteAccountLabelRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.DeleteAccountLabelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DeleteAccountLabelRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DeleteAccountLabelRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an Attributes. */ - interface IAttributes { - - /** Attributes cppLink */ - cppLink?: (string|null); - - /** Attributes cppMobileLink */ - cppMobileLink?: (string|null); - - /** Attributes cppAdsRedirect */ - cppAdsRedirect?: (string|null); - - /** Attributes lowPrice */ - lowPrice?: (google.shopping.type.IPrice|null); - - /** Attributes highPrice */ - highPrice?: (google.shopping.type.IPrice|null); - - /** Attributes numberOfOffers */ - numberOfOffers?: (number|Long|string|null); - - /** Attributes headlineOfferCondition */ - headlineOfferCondition?: (string|null); - - /** Attributes headlineOfferPrice */ - headlineOfferPrice?: (google.shopping.type.IPrice|null); - - /** Attributes headlineOfferLink */ - headlineOfferLink?: (string|null); - - /** Attributes headlineOfferMobileLink */ - headlineOfferMobileLink?: (string|null); - - /** Attributes headlineOfferShippingPrice */ - headlineOfferShippingPrice?: (google.shopping.type.IPrice|null); - - /** Attributes title */ - title?: (string|null); - - /** Attributes imageLink */ - imageLink?: (string|null); - - /** Attributes additionalImageLinks */ - additionalImageLinks?: (string[]|null); - - /** Attributes description */ - description?: (string|null); - - /** Attributes brand */ - brand?: (string|null); - - /** Attributes mpn */ - mpn?: (string|null); - - /** Attributes gtin */ - gtin?: (string|null); - - /** Attributes productTypes */ - productTypes?: (string[]|null); - - /** Attributes googleProductCategory */ - googleProductCategory?: (string|null); - - /** Attributes adult */ - adult?: (boolean|null); - - /** Attributes multipack */ - multipack?: (number|Long|string|null); - - /** Attributes isBundle */ - isBundle?: (boolean|null); - - /** Attributes ageGroup */ - ageGroup?: (string|null); - - /** Attributes color */ - color?: (string|null); - - /** Attributes gender */ - gender?: (string|null); - - /** Attributes material */ - material?: (string|null); - - /** Attributes pattern */ - pattern?: (string|null); - - /** Attributes size */ - size?: (string|null); - - /** Attributes sizeSystem */ - sizeSystem?: (string|null); - - /** Attributes sizeTypes */ - sizeTypes?: (string[]|null); - - /** Attributes itemGroupId */ - itemGroupId?: (string|null); - - /** Attributes productDetails */ - productDetails?: (google.shopping.css.v1.IProductDetail[]|null); - - /** Attributes productWeight */ - productWeight?: (google.shopping.css.v1.IProductWeight|null); - - /** Attributes productLength */ - productLength?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productWidth */ - productWidth?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productHeight */ - productHeight?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productHighlights */ - productHighlights?: (string[]|null); - - /** Attributes certifications */ - certifications?: (google.shopping.css.v1.ICertification[]|null); - - /** Attributes expirationDate */ - expirationDate?: (google.protobuf.ITimestamp|null); - - /** Attributes includedDestinations */ - includedDestinations?: (string[]|null); - - /** Attributes excludedDestinations */ - excludedDestinations?: (string[]|null); - - /** Attributes pause */ - pause?: (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 headlineOfferInstallment */ - headlineOfferInstallment?: (google.shopping.css.v1.IHeadlineOfferInstallment|null); - - /** Attributes headlineOfferSubscriptionCost */ - headlineOfferSubscriptionCost?: (google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null); - } - - /** Represents an Attributes. */ - class Attributes implements IAttributes { - - /** - * Constructs a new Attributes. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IAttributes); - - /** Attributes cppLink. */ - public cppLink?: (string|null); - - /** Attributes cppMobileLink. */ - public cppMobileLink?: (string|null); - - /** Attributes cppAdsRedirect. */ - public cppAdsRedirect?: (string|null); - - /** Attributes lowPrice. */ - public lowPrice?: (google.shopping.type.IPrice|null); - - /** Attributes highPrice. */ - public highPrice?: (google.shopping.type.IPrice|null); - - /** Attributes numberOfOffers. */ - public numberOfOffers?: (number|Long|string|null); - - /** Attributes headlineOfferCondition. */ - public headlineOfferCondition?: (string|null); - - /** Attributes headlineOfferPrice. */ - public headlineOfferPrice?: (google.shopping.type.IPrice|null); - - /** Attributes headlineOfferLink. */ - public headlineOfferLink?: (string|null); - - /** Attributes headlineOfferMobileLink. */ - public headlineOfferMobileLink?: (string|null); - - /** Attributes headlineOfferShippingPrice. */ - public headlineOfferShippingPrice?: (google.shopping.type.IPrice|null); - - /** Attributes title. */ - public title?: (string|null); - - /** Attributes imageLink. */ - public imageLink?: (string|null); - - /** Attributes additionalImageLinks. */ - public additionalImageLinks: string[]; - - /** Attributes description. */ - public description?: (string|null); - - /** Attributes brand. */ - public brand?: (string|null); - - /** Attributes mpn. */ - public mpn?: (string|null); - - /** Attributes gtin. */ - public gtin?: (string|null); - - /** Attributes productTypes. */ - public productTypes: string[]; - - /** Attributes googleProductCategory. */ - public googleProductCategory?: (string|null); - - /** Attributes adult. */ - public adult?: (boolean|null); - - /** Attributes multipack. */ - public multipack?: (number|Long|string|null); - - /** Attributes isBundle. */ - public isBundle?: (boolean|null); - - /** Attributes ageGroup. */ - public ageGroup?: (string|null); - - /** Attributes color. */ - public color?: (string|null); - - /** Attributes gender. */ - public gender?: (string|null); - - /** Attributes material. */ - public material?: (string|null); - - /** Attributes pattern. */ - public pattern?: (string|null); - - /** Attributes size. */ - public size?: (string|null); - - /** Attributes sizeSystem. */ - public sizeSystem?: (string|null); - - /** Attributes sizeTypes. */ - public sizeTypes: string[]; - - /** Attributes itemGroupId. */ - public itemGroupId?: (string|null); - - /** Attributes productDetails. */ - public productDetails: google.shopping.css.v1.IProductDetail[]; - - /** Attributes productWeight. */ - public productWeight?: (google.shopping.css.v1.IProductWeight|null); - - /** Attributes productLength. */ - public productLength?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productWidth. */ - public productWidth?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productHeight. */ - public productHeight?: (google.shopping.css.v1.IProductDimension|null); - - /** Attributes productHighlights. */ - public productHighlights: string[]; - - /** Attributes certifications. */ - public certifications: google.shopping.css.v1.ICertification[]; - - /** Attributes expirationDate. */ - public expirationDate?: (google.protobuf.ITimestamp|null); - - /** Attributes includedDestinations. */ - public includedDestinations: string[]; - - /** Attributes excludedDestinations. */ - public excludedDestinations: string[]; - - /** Attributes pause. */ - public pause?: (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 headlineOfferInstallment. */ - public headlineOfferInstallment?: (google.shopping.css.v1.IHeadlineOfferInstallment|null); - - /** Attributes headlineOfferSubscriptionCost. */ - public headlineOfferSubscriptionCost?: (google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null); - - /** Attributes _cppLink. */ - public _cppLink?: "cppLink"; - - /** Attributes _cppMobileLink. */ - public _cppMobileLink?: "cppMobileLink"; - - /** Attributes _cppAdsRedirect. */ - public _cppAdsRedirect?: "cppAdsRedirect"; - - /** Attributes _numberOfOffers. */ - public _numberOfOffers?: "numberOfOffers"; - - /** Attributes _headlineOfferCondition. */ - public _headlineOfferCondition?: "headlineOfferCondition"; - - /** Attributes _headlineOfferLink. */ - public _headlineOfferLink?: "headlineOfferLink"; - - /** Attributes _headlineOfferMobileLink. */ - public _headlineOfferMobileLink?: "headlineOfferMobileLink"; - - /** Attributes _title. */ - public _title?: "title"; - - /** Attributes _imageLink. */ - public _imageLink?: "imageLink"; - - /** Attributes _description. */ - public _description?: "description"; - - /** Attributes _brand. */ - public _brand?: "brand"; - - /** Attributes _mpn. */ - public _mpn?: "mpn"; - - /** Attributes _gtin. */ - public _gtin?: "gtin"; - - /** Attributes _googleProductCategory. */ - public _googleProductCategory?: "googleProductCategory"; - - /** Attributes _adult. */ - public _adult?: "adult"; - - /** Attributes _multipack. */ - public _multipack?: "multipack"; - - /** Attributes _isBundle. */ - public _isBundle?: "isBundle"; - - /** Attributes _ageGroup. */ - public _ageGroup?: "ageGroup"; - - /** Attributes _color. */ - public _color?: "color"; - - /** Attributes _gender. */ - public _gender?: "gender"; - - /** Attributes _material. */ - public _material?: "material"; - - /** Attributes _pattern. */ - public _pattern?: "pattern"; - - /** Attributes _size. */ - public _size?: "size"; - - /** Attributes _sizeSystem. */ - public _sizeSystem?: "sizeSystem"; - - /** Attributes _itemGroupId. */ - public _itemGroupId?: "itemGroupId"; - - /** Attributes _pause. */ - public _pause?: "pause"; - - /** 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"; - - /** - * Creates a new Attributes instance using the specified properties. - * @param [properties] Properties to set - * @returns Attributes instance - */ - public static create(properties?: google.shopping.css.v1.IAttributes): google.shopping.css.v1.Attributes; - - /** - * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IAttributes, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 Certification. */ - interface ICertification { - - /** Certification name */ - name?: (string|null); - - /** Certification authority */ - authority?: (string|null); - - /** Certification code */ - code?: (string|null); - } - - /** Represents a Certification. */ - class Certification implements ICertification { - - /** - * Constructs a new Certification. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.ICertification); - - /** Certification name. */ - public name: string; - - /** Certification authority. */ - public authority: string; - - /** Certification code. */ - public code: string; - - /** - * Creates a new Certification instance using the specified properties. - * @param [properties] Properties to set - * @returns Certification instance - */ - public static create(properties?: google.shopping.css.v1.ICertification): google.shopping.css.v1.Certification; - - /** - * Encodes the specified Certification message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.ICertification, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 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.css.v1.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.css.v1.IProductDetail): google.shopping.css.v1.ProductDetail; - - /** - * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 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.css.v1.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.css.v1.IProductDimension): google.shopping.css.v1.ProductDimension; - - /** - * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductDimension, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductDimension message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.IProductWeight): google.shopping.css.v1.ProductWeight; - - /** - * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.css.v1.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.css.v1.IProductWeight, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ProductWeight message, length delimited. Does not implicitly {@link google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.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 CssProductStatus. */ - interface ICssProductStatus { - - /** CssProductStatus destinationStatuses */ - destinationStatuses?: (google.shopping.css.v1.CssProductStatus.IDestinationStatus[]|null); - - /** CssProductStatus itemLevelIssues */ - itemLevelIssues?: (google.shopping.css.v1.CssProductStatus.IItemLevelIssue[]|null); - - /** CssProductStatus creationDate */ - creationDate?: (google.protobuf.ITimestamp|null); - - /** CssProductStatus lastUpdateDate */ - lastUpdateDate?: (google.protobuf.ITimestamp|null); - - /** CssProductStatus googleExpirationDate */ - googleExpirationDate?: (google.protobuf.ITimestamp|null); - } - - /** Represents a CssProductStatus. */ - class CssProductStatus implements ICssProductStatus { - - /** - * Constructs a new CssProductStatus. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.ICssProductStatus); - - /** CssProductStatus destinationStatuses. */ - public destinationStatuses: google.shopping.css.v1.CssProductStatus.IDestinationStatus[]; - - /** CssProductStatus itemLevelIssues. */ - public itemLevelIssues: google.shopping.css.v1.CssProductStatus.IItemLevelIssue[]; - - /** CssProductStatus creationDate. */ - public creationDate?: (google.protobuf.ITimestamp|null); - - /** CssProductStatus lastUpdateDate. */ - public lastUpdateDate?: (google.protobuf.ITimestamp|null); - - /** CssProductStatus googleExpirationDate. */ - public googleExpirationDate?: (google.protobuf.ITimestamp|null); - - /** - * Creates a new CssProductStatus instance using the specified properties. - * @param [properties] Properties to set - * @returns CssProductStatus instance - */ - public static create(properties?: google.shopping.css.v1.ICssProductStatus): google.shopping.css.v1.CssProductStatus; - - /** - * Encodes the specified CssProductStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. - * @param message CssProductStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.ICssProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CssProductStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. - * @param message CssProductStatus message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.ICssProductStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CssProductStatus message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CssProductStatus - * @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.css.v1.CssProductStatus; - - /** - * Decodes a CssProductStatus message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CssProductStatus - * @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.css.v1.CssProductStatus; - - /** - * Verifies a CssProductStatus 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 CssProductStatus message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CssProductStatus - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProductStatus; - - /** - * Creates a plain object from a CssProductStatus message. Also converts values to other types if specified. - * @param message CssProductStatus - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.CssProductStatus, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CssProductStatus to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CssProductStatus - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - namespace CssProductStatus { - - /** Properties of a DestinationStatus. */ - interface IDestinationStatus { - - /** DestinationStatus destination */ - destination?: (string|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.css.v1.CssProductStatus.IDestinationStatus); - - /** DestinationStatus destination. */ - public destination: string; - - /** 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.css.v1.CssProductStatus.IDestinationStatus): google.shopping.css.v1.CssProductStatus.DestinationStatus; - - /** - * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.IDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DestinationStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 servability */ - servability?: (string|null); - - /** ItemLevelIssue resolution */ - resolution?: (string|null); - - /** ItemLevelIssue attribute */ - attribute?: (string|null); - - /** ItemLevelIssue destination */ - destination?: (string|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.css.v1.CssProductStatus.IItemLevelIssue); - - /** ItemLevelIssue code. */ - public code: string; - - /** ItemLevelIssue servability. */ - public servability: string; - - /** ItemLevelIssue resolution. */ - public resolution: string; - - /** ItemLevelIssue attribute. */ - public attribute: string; - - /** ItemLevelIssue destination. */ - public destination: string; - - /** 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.css.v1.CssProductStatus.IItemLevelIssue): google.shopping.css.v1.CssProductStatus.ItemLevelIssue; - - /** - * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.IItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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; - } - } - - /** Properties of a HeadlineOfferSubscriptionCost. */ - interface IHeadlineOfferSubscriptionCost { - - /** HeadlineOfferSubscriptionCost period */ - period?: (google.shopping.css.v1.SubscriptionPeriod|keyof typeof google.shopping.css.v1.SubscriptionPeriod|null); - - /** HeadlineOfferSubscriptionCost periodLength */ - periodLength?: (number|Long|string|null); - - /** HeadlineOfferSubscriptionCost amount */ - amount?: (google.shopping.type.IPrice|null); - } - - /** Represents a HeadlineOfferSubscriptionCost. */ - class HeadlineOfferSubscriptionCost implements IHeadlineOfferSubscriptionCost { - - /** - * Constructs a new HeadlineOfferSubscriptionCost. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IHeadlineOfferSubscriptionCost); - - /** HeadlineOfferSubscriptionCost period. */ - public period: (google.shopping.css.v1.SubscriptionPeriod|keyof typeof google.shopping.css.v1.SubscriptionPeriod); - - /** HeadlineOfferSubscriptionCost periodLength. */ - public periodLength: (number|Long|string); - - /** HeadlineOfferSubscriptionCost amount. */ - public amount?: (google.shopping.type.IPrice|null); - - /** - * Creates a new HeadlineOfferSubscriptionCost instance using the specified properties. - * @param [properties] Properties to set - * @returns HeadlineOfferSubscriptionCost instance - */ - public static create(properties?: google.shopping.css.v1.IHeadlineOfferSubscriptionCost): google.shopping.css.v1.HeadlineOfferSubscriptionCost; - - /** - * Encodes the specified HeadlineOfferSubscriptionCost message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. - * @param message HeadlineOfferSubscriptionCost message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IHeadlineOfferSubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified HeadlineOfferSubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. - * @param message HeadlineOfferSubscriptionCost message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IHeadlineOfferSubscriptionCost, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns HeadlineOfferSubscriptionCost - * @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.css.v1.HeadlineOfferSubscriptionCost; - - /** - * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns HeadlineOfferSubscriptionCost - * @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.css.v1.HeadlineOfferSubscriptionCost; - - /** - * Verifies a HeadlineOfferSubscriptionCost 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 HeadlineOfferSubscriptionCost message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns HeadlineOfferSubscriptionCost - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.HeadlineOfferSubscriptionCost; - - /** - * Creates a plain object from a HeadlineOfferSubscriptionCost message. Also converts values to other types if specified. - * @param message HeadlineOfferSubscriptionCost - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.HeadlineOfferSubscriptionCost, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this HeadlineOfferSubscriptionCost to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for HeadlineOfferSubscriptionCost - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a HeadlineOfferInstallment. */ - interface IHeadlineOfferInstallment { - - /** HeadlineOfferInstallment months */ - months?: (number|Long|string|null); - - /** HeadlineOfferInstallment amount */ - amount?: (google.shopping.type.IPrice|null); - - /** HeadlineOfferInstallment downpayment */ - downpayment?: (google.shopping.type.IPrice|null); - } - - /** Represents a HeadlineOfferInstallment. */ - class HeadlineOfferInstallment implements IHeadlineOfferInstallment { - - /** - * Constructs a new HeadlineOfferInstallment. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IHeadlineOfferInstallment); - - /** HeadlineOfferInstallment months. */ - public months: (number|Long|string); - - /** HeadlineOfferInstallment amount. */ - public amount?: (google.shopping.type.IPrice|null); - - /** HeadlineOfferInstallment downpayment. */ - public downpayment?: (google.shopping.type.IPrice|null); - - /** - * Creates a new HeadlineOfferInstallment instance using the specified properties. - * @param [properties] Properties to set - * @returns HeadlineOfferInstallment instance - */ - public static create(properties?: google.shopping.css.v1.IHeadlineOfferInstallment): google.shopping.css.v1.HeadlineOfferInstallment; - - /** - * Encodes the specified HeadlineOfferInstallment message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. - * @param message HeadlineOfferInstallment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IHeadlineOfferInstallment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified HeadlineOfferInstallment message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. - * @param message HeadlineOfferInstallment message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IHeadlineOfferInstallment, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a HeadlineOfferInstallment message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns HeadlineOfferInstallment - * @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.css.v1.HeadlineOfferInstallment; - - /** - * Decodes a HeadlineOfferInstallment message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns HeadlineOfferInstallment - * @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.css.v1.HeadlineOfferInstallment; - - /** - * Verifies a HeadlineOfferInstallment 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 HeadlineOfferInstallment message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns HeadlineOfferInstallment - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.HeadlineOfferInstallment; - - /** - * Creates a plain object from a HeadlineOfferInstallment message. Also converts values to other types if specified. - * @param message HeadlineOfferInstallment - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.HeadlineOfferInstallment, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this HeadlineOfferInstallment to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for HeadlineOfferInstallment - * @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 - } - - /** Represents a CssProductInputsService */ - class CssProductInputsService extends $protobuf.rpc.Service { - - /** - * Constructs a new CssProductInputsService 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 CssProductInputsService 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): CssProductInputsService; - - /** - * Calls InsertCssProductInput. - * @param request InsertCssProductInputRequest message or plain object - * @param callback Node-style callback called with the error, if any, and CssProductInput - */ - public insertCssProductInput(request: google.shopping.css.v1.IInsertCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.InsertCssProductInputCallback): void; - - /** - * Calls InsertCssProductInput. - * @param request InsertCssProductInputRequest message or plain object - * @returns Promise - */ - public insertCssProductInput(request: google.shopping.css.v1.IInsertCssProductInputRequest): Promise; - - /** - * Calls UpdateCssProductInput. - * @param request UpdateCssProductInputRequest message or plain object - * @param callback Node-style callback called with the error, if any, and CssProductInput - */ - public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback): void; - - /** - * Calls UpdateCssProductInput. - * @param request UpdateCssProductInputRequest message or plain object - * @returns Promise - */ - public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest): Promise; - - /** - * Calls DeleteCssProductInput. - * @param request DeleteCssProductInputRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Empty - */ - public deleteCssProductInput(request: google.shopping.css.v1.IDeleteCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.DeleteCssProductInputCallback): void; - - /** - * Calls DeleteCssProductInput. - * @param request DeleteCssProductInputRequest message or plain object - * @returns Promise - */ - public deleteCssProductInput(request: google.shopping.css.v1.IDeleteCssProductInputRequest): Promise; - } - - namespace CssProductInputsService { - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|insertCssProductInput}. - * @param error Error, if any - * @param [response] CssProductInput - */ - type InsertCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. - * @param error Error, if any - * @param [response] CssProductInput - */ - type UpdateCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. - * @param error Error, if any - * @param [response] Empty - */ - type DeleteCssProductInputCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; - } - - /** Properties of a CssProductInput. */ - interface ICssProductInput { - - /** CssProductInput name */ - name?: (string|null); - - /** CssProductInput finalName */ - finalName?: (string|null); - - /** CssProductInput rawProvidedId */ - rawProvidedId?: (string|null); - - /** CssProductInput contentLanguage */ - contentLanguage?: (string|null); - - /** CssProductInput feedLabel */ - feedLabel?: (string|null); - - /** CssProductInput freshnessTime */ - freshnessTime?: (google.protobuf.ITimestamp|null); - - /** CssProductInput attributes */ - attributes?: (google.shopping.css.v1.IAttributes|null); - - /** CssProductInput customAttributes */ - customAttributes?: (google.shopping.type.ICustomAttribute[]|null); - } - - /** Represents a CssProductInput. */ - class CssProductInput implements ICssProductInput { - - /** - * Constructs a new CssProductInput. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.ICssProductInput); - - /** CssProductInput name. */ - public name: string; - - /** CssProductInput finalName. */ - public finalName: string; - - /** CssProductInput rawProvidedId. */ - public rawProvidedId: string; - - /** CssProductInput contentLanguage. */ - public contentLanguage: string; - - /** CssProductInput feedLabel. */ - public feedLabel: string; - - /** CssProductInput freshnessTime. */ - public freshnessTime?: (google.protobuf.ITimestamp|null); - - /** CssProductInput attributes. */ - public attributes?: (google.shopping.css.v1.IAttributes|null); - - /** CssProductInput customAttributes. */ - public customAttributes: google.shopping.type.ICustomAttribute[]; - - /** - * Creates a new CssProductInput instance using the specified properties. - * @param [properties] Properties to set - * @returns CssProductInput instance - */ - public static create(properties?: google.shopping.css.v1.ICssProductInput): google.shopping.css.v1.CssProductInput; - - /** - * Encodes the specified CssProductInput message. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. - * @param message CssProductInput message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.ICssProductInput, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CssProductInput message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. - * @param message CssProductInput message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.ICssProductInput, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CssProductInput message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CssProductInput - * @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.css.v1.CssProductInput; - - /** - * Decodes a CssProductInput message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CssProductInput - * @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.css.v1.CssProductInput; - - /** - * Verifies a CssProductInput 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 CssProductInput message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CssProductInput - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProductInput; - - /** - * Creates a plain object from a CssProductInput message. Also converts values to other types if specified. - * @param message CssProductInput - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.CssProductInput, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CssProductInput to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CssProductInput - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an InsertCssProductInputRequest. */ - interface IInsertCssProductInputRequest { - - /** InsertCssProductInputRequest parent */ - parent?: (string|null); - - /** InsertCssProductInputRequest cssProductInput */ - cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); - - /** InsertCssProductInputRequest feedId */ - feedId?: (number|Long|string|null); - } - - /** Represents an InsertCssProductInputRequest. */ - class InsertCssProductInputRequest implements IInsertCssProductInputRequest { - - /** - * Constructs a new InsertCssProductInputRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IInsertCssProductInputRequest); - - /** InsertCssProductInputRequest parent. */ - public parent: string; - - /** InsertCssProductInputRequest cssProductInput. */ - public cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); - - /** InsertCssProductInputRequest feedId. */ - public feedId: (number|Long|string); - - /** - * Creates a new InsertCssProductInputRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns InsertCssProductInputRequest instance - */ - public static create(properties?: google.shopping.css.v1.IInsertCssProductInputRequest): google.shopping.css.v1.InsertCssProductInputRequest; - - /** - * Encodes the specified InsertCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. - * @param message InsertCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IInsertCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified InsertCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. - * @param message InsertCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IInsertCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an InsertCssProductInputRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns InsertCssProductInputRequest - * @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.css.v1.InsertCssProductInputRequest; - - /** - * Decodes an InsertCssProductInputRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns InsertCssProductInputRequest - * @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.css.v1.InsertCssProductInputRequest; - - /** - * Verifies an InsertCssProductInputRequest 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 InsertCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns InsertCssProductInputRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.InsertCssProductInputRequest; - - /** - * Creates a plain object from an InsertCssProductInputRequest message. Also converts values to other types if specified. - * @param message InsertCssProductInputRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.InsertCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this InsertCssProductInputRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for InsertCssProductInputRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of an UpdateCssProductInputRequest. */ - interface IUpdateCssProductInputRequest { - - /** UpdateCssProductInputRequest cssProductInput */ - cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); - - /** UpdateCssProductInputRequest updateMask */ - updateMask?: (google.protobuf.IFieldMask|null); - } - - /** Represents an UpdateCssProductInputRequest. */ - class UpdateCssProductInputRequest implements IUpdateCssProductInputRequest { - - /** - * Constructs a new UpdateCssProductInputRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest); - - /** UpdateCssProductInputRequest cssProductInput. */ - public cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); - - /** UpdateCssProductInputRequest updateMask. */ - public updateMask?: (google.protobuf.IFieldMask|null); - - /** - * Creates a new UpdateCssProductInputRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns UpdateCssProductInputRequest instance - */ - public static create(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest): google.shopping.css.v1.UpdateCssProductInputRequest; - - /** - * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. - * @param message UpdateCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. - * @param message UpdateCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns UpdateCssProductInputRequest - * @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.css.v1.UpdateCssProductInputRequest; - - /** - * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns UpdateCssProductInputRequest - * @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.css.v1.UpdateCssProductInputRequest; - - /** - * Verifies an UpdateCssProductInputRequest 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 UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns UpdateCssProductInputRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateCssProductInputRequest; - - /** - * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. - * @param message UpdateCssProductInputRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.UpdateCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this UpdateCssProductInputRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for UpdateCssProductInputRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a DeleteCssProductInputRequest. */ - interface IDeleteCssProductInputRequest { - - /** DeleteCssProductInputRequest name */ - name?: (string|null); - - /** DeleteCssProductInputRequest supplementalFeedId */ - supplementalFeedId?: (number|Long|string|null); - } - - /** Represents a DeleteCssProductInputRequest. */ - class DeleteCssProductInputRequest implements IDeleteCssProductInputRequest { - - /** - * Constructs a new DeleteCssProductInputRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IDeleteCssProductInputRequest); - - /** DeleteCssProductInputRequest name. */ - public name: string; - - /** DeleteCssProductInputRequest supplementalFeedId. */ - public supplementalFeedId?: (number|Long|string|null); - - /** DeleteCssProductInputRequest _supplementalFeedId. */ - public _supplementalFeedId?: "supplementalFeedId"; - - /** - * Creates a new DeleteCssProductInputRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns DeleteCssProductInputRequest instance - */ - public static create(properties?: google.shopping.css.v1.IDeleteCssProductInputRequest): google.shopping.css.v1.DeleteCssProductInputRequest; - - /** - * Encodes the specified DeleteCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. - * @param message DeleteCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IDeleteCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified DeleteCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. - * @param message DeleteCssProductInputRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IDeleteCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns DeleteCssProductInputRequest - * @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.css.v1.DeleteCssProductInputRequest; - - /** - * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns DeleteCssProductInputRequest - * @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.css.v1.DeleteCssProductInputRequest; - - /** - * Verifies a DeleteCssProductInputRequest 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 DeleteCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns DeleteCssProductInputRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.DeleteCssProductInputRequest; - - /** - * Creates a plain object from a DeleteCssProductInputRequest message. Also converts values to other types if specified. - * @param message DeleteCssProductInputRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.DeleteCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this DeleteCssProductInputRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for DeleteCssProductInputRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Represents a CssProductsService */ - class CssProductsService extends $protobuf.rpc.Service { - - /** - * Constructs a new CssProductsService 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 CssProductsService 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): CssProductsService; - - /** - * Calls GetCssProduct. - * @param request GetCssProductRequest message or plain object - * @param callback Node-style callback called with the error, if any, and CssProduct - */ - public getCssProduct(request: google.shopping.css.v1.IGetCssProductRequest, callback: google.shopping.css.v1.CssProductsService.GetCssProductCallback): void; - - /** - * Calls GetCssProduct. - * @param request GetCssProductRequest message or plain object - * @returns Promise - */ - public getCssProduct(request: google.shopping.css.v1.IGetCssProductRequest): Promise; - - /** - * Calls ListCssProducts. - * @param request ListCssProductsRequest message or plain object - * @param callback Node-style callback called with the error, if any, and ListCssProductsResponse - */ - public listCssProducts(request: google.shopping.css.v1.IListCssProductsRequest, callback: google.shopping.css.v1.CssProductsService.ListCssProductsCallback): void; - - /** - * Calls ListCssProducts. - * @param request ListCssProductsRequest message or plain object - * @returns Promise - */ - public listCssProducts(request: google.shopping.css.v1.IListCssProductsRequest): Promise; - } - - namespace CssProductsService { - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductsService|getCssProduct}. - * @param error Error, if any - * @param [response] CssProduct - */ - type GetCssProductCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProduct) => void; - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductsService|listCssProducts}. - * @param error Error, if any - * @param [response] ListCssProductsResponse - */ - type ListCssProductsCallback = (error: (Error|null), response?: google.shopping.css.v1.ListCssProductsResponse) => void; - } - - /** Properties of a GetCssProductRequest. */ - interface IGetCssProductRequest { - - /** GetCssProductRequest name */ - name?: (string|null); - } - - /** Represents a GetCssProductRequest. */ - class GetCssProductRequest implements IGetCssProductRequest { - - /** - * Constructs a new GetCssProductRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IGetCssProductRequest); - - /** GetCssProductRequest name. */ - public name: string; - - /** - * Creates a new GetCssProductRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns GetCssProductRequest instance - */ - public static create(properties?: google.shopping.css.v1.IGetCssProductRequest): google.shopping.css.v1.GetCssProductRequest; - - /** - * Encodes the specified GetCssProductRequest message. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. - * @param message GetCssProductRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IGetCssProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified GetCssProductRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. - * @param message GetCssProductRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IGetCssProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a GetCssProductRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns GetCssProductRequest - * @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.css.v1.GetCssProductRequest; - - /** - * Decodes a GetCssProductRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns GetCssProductRequest - * @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.css.v1.GetCssProductRequest; - - /** - * Verifies a GetCssProductRequest 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 GetCssProductRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns GetCssProductRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.GetCssProductRequest; - - /** - * Creates a plain object from a GetCssProductRequest message. Also converts values to other types if specified. - * @param message GetCssProductRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.GetCssProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this GetCssProductRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for GetCssProductRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a CssProduct. */ - interface ICssProduct { - - /** CssProduct name */ - name?: (string|null); - - /** CssProduct rawProvidedId */ - rawProvidedId?: (string|null); - - /** CssProduct contentLanguage */ - contentLanguage?: (string|null); - - /** CssProduct feedLabel */ - feedLabel?: (string|null); - - /** CssProduct attributes */ - attributes?: (google.shopping.css.v1.IAttributes|null); - - /** CssProduct customAttributes */ - customAttributes?: (google.shopping.type.ICustomAttribute[]|null); - - /** CssProduct cssProductStatus */ - cssProductStatus?: (google.shopping.css.v1.ICssProductStatus|null); - } - - /** Represents a CssProduct. */ - class CssProduct implements ICssProduct { - - /** - * Constructs a new CssProduct. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.ICssProduct); - - /** CssProduct name. */ - public name: string; - - /** CssProduct rawProvidedId. */ - public rawProvidedId: string; - - /** CssProduct contentLanguage. */ - public contentLanguage: string; - - /** CssProduct feedLabel. */ - public feedLabel: string; - - /** CssProduct attributes. */ - public attributes?: (google.shopping.css.v1.IAttributes|null); - - /** CssProduct customAttributes. */ - public customAttributes: google.shopping.type.ICustomAttribute[]; - - /** CssProduct cssProductStatus. */ - public cssProductStatus?: (google.shopping.css.v1.ICssProductStatus|null); - - /** - * Creates a new CssProduct instance using the specified properties. - * @param [properties] Properties to set - * @returns CssProduct instance - */ - public static create(properties?: google.shopping.css.v1.ICssProduct): google.shopping.css.v1.CssProduct; - - /** - * Encodes the specified CssProduct message. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. - * @param message CssProduct message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.ICssProduct, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified CssProduct message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. - * @param message CssProduct message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.ICssProduct, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CssProduct message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns CssProduct - * @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.css.v1.CssProduct; - - /** - * Decodes a CssProduct message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns CssProduct - * @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.css.v1.CssProduct; - - /** - * Verifies a CssProduct 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 CssProduct message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns CssProduct - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.CssProduct; - - /** - * Creates a plain object from a CssProduct message. Also converts values to other types if specified. - * @param message CssProduct - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.CssProduct, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CssProduct to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for CssProduct - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListCssProductsRequest. */ - interface IListCssProductsRequest { - - /** ListCssProductsRequest parent */ - parent?: (string|null); - - /** ListCssProductsRequest pageSize */ - pageSize?: (number|null); - - /** ListCssProductsRequest pageToken */ - pageToken?: (string|null); - } - - /** Represents a ListCssProductsRequest. */ - class ListCssProductsRequest implements IListCssProductsRequest { - - /** - * Constructs a new ListCssProductsRequest. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListCssProductsRequest); - - /** ListCssProductsRequest parent. */ - public parent: string; - - /** ListCssProductsRequest pageSize. */ - public pageSize: number; - - /** ListCssProductsRequest pageToken. */ - public pageToken: string; - - /** - * Creates a new ListCssProductsRequest instance using the specified properties. - * @param [properties] Properties to set - * @returns ListCssProductsRequest instance - */ - public static create(properties?: google.shopping.css.v1.IListCssProductsRequest): google.shopping.css.v1.ListCssProductsRequest; - - /** - * Encodes the specified ListCssProductsRequest message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. - * @param message ListCssProductsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListCssProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListCssProductsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. - * @param message ListCssProductsRequest message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListCssProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListCssProductsRequest message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListCssProductsRequest - * @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.css.v1.ListCssProductsRequest; - - /** - * Decodes a ListCssProductsRequest message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListCssProductsRequest - * @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.css.v1.ListCssProductsRequest; - - /** - * Verifies a ListCssProductsRequest 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 ListCssProductsRequest message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListCssProductsRequest - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListCssProductsRequest; - - /** - * Creates a plain object from a ListCssProductsRequest message. Also converts values to other types if specified. - * @param message ListCssProductsRequest - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListCssProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListCssProductsRequest to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListCssProductsRequest - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - - /** Properties of a ListCssProductsResponse. */ - interface IListCssProductsResponse { - - /** ListCssProductsResponse cssProducts */ - cssProducts?: (google.shopping.css.v1.ICssProduct[]|null); - - /** ListCssProductsResponse nextPageToken */ - nextPageToken?: (string|null); - } - - /** Represents a ListCssProductsResponse. */ - class ListCssProductsResponse implements IListCssProductsResponse { - - /** - * Constructs a new ListCssProductsResponse. - * @param [properties] Properties to set - */ - constructor(properties?: google.shopping.css.v1.IListCssProductsResponse); - - /** ListCssProductsResponse cssProducts. */ - public cssProducts: google.shopping.css.v1.ICssProduct[]; - - /** ListCssProductsResponse nextPageToken. */ - public nextPageToken: string; - - /** - * Creates a new ListCssProductsResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns ListCssProductsResponse instance - */ - public static create(properties?: google.shopping.css.v1.IListCssProductsResponse): google.shopping.css.v1.ListCssProductsResponse; - - /** - * Encodes the specified ListCssProductsResponse message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. - * @param message ListCssProductsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.shopping.css.v1.IListCssProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified ListCssProductsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. - * @param message ListCssProductsResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.shopping.css.v1.IListCssProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ListCssProductsResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns ListCssProductsResponse - * @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.css.v1.ListCssProductsResponse; - - /** - * Decodes a ListCssProductsResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ListCssProductsResponse - * @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.css.v1.ListCssProductsResponse; - - /** - * Verifies a ListCssProductsResponse 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 ListCssProductsResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ListCssProductsResponse - */ - public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.ListCssProductsResponse; - - /** - * Creates a plain object from a ListCssProductsResponse message. Also converts values to other types if specified. - * @param message ListCssProductsResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.shopping.css.v1.ListCssProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ListCssProductsResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for ListCssProductsResponse - * @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; - } - - /** Properties of a FieldMask. */ - interface IFieldMask { - - /** FieldMask paths */ - paths?: (string[]|null); - } - - /** Represents a FieldMask. */ - class FieldMask implements IFieldMask { - - /** - * Constructs a new FieldMask. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.IFieldMask); - - /** FieldMask paths. */ - public paths: string[]; - - /** - * Creates a new FieldMask instance using the specified properties. - * @param [properties] Properties to set - * @returns FieldMask instance - */ - public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask; - - /** - * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. - * @param message FieldMask message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. - * @param message FieldMask message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a FieldMask message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns FieldMask - * @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.FieldMask; - - /** - * Decodes a FieldMask message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns FieldMask - * @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.FieldMask; - - /** - * Verifies a FieldMask 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 FieldMask message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns FieldMask - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask; - - /** - * Creates a plain object from a FieldMask message. Also converts values to other types if specified. - * @param message FieldMask - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this FieldMask to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for FieldMask - * @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-css/v1/protos/protos.js b/owl-bot-staging/google-shopping-css/v1/protos/protos.js deleted file mode 100644 index c6c7bd4a0f6..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/protos.js +++ /dev/null @@ -1,30769 +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_css_protos || ($protobuf.roots._google_shopping_css_protos = {}); - - $root.google = (function() { - - /** - * Namespace google. - * @exports google - * @namespace - */ - var google = {}; - - google.shopping = (function() { - - /** - * Namespace shopping. - * @memberof google - * @namespace - */ - var shopping = {}; - - shopping.css = (function() { - - /** - * Namespace css. - * @memberof google.shopping - * @namespace - */ - var css = {}; - - css.v1 = (function() { - - /** - * Namespace v1. - * @memberof google.shopping.css - * @namespace - */ - var v1 = {}; - - v1.AccountsService = (function() { - - /** - * Constructs a new AccountsService service. - * @memberof google.shopping.css.v1 - * @classdesc Represents an AccountsService - * @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 AccountsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (AccountsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AccountsService; - - /** - * Creates new AccountsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.css.v1.AccountsService - * @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 {AccountsService} RPC service. Useful where requests and/or responses are streamed. - */ - AccountsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|listChildAccounts}. - * @memberof google.shopping.css.v1.AccountsService - * @typedef ListChildAccountsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.ListChildAccountsResponse} [response] ListChildAccountsResponse - */ - - /** - * Calls ListChildAccounts. - * @function listChildAccounts - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IListChildAccountsRequest} request ListChildAccountsRequest message or plain object - * @param {google.shopping.css.v1.AccountsService.ListChildAccountsCallback} callback Node-style callback called with the error, if any, and ListChildAccountsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountsService.prototype.listChildAccounts = function listChildAccounts(request, callback) { - return this.rpcCall(listChildAccounts, $root.google.shopping.css.v1.ListChildAccountsRequest, $root.google.shopping.css.v1.ListChildAccountsResponse, request, callback); - }, "name", { value: "ListChildAccounts" }); - - /** - * Calls ListChildAccounts. - * @function listChildAccounts - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IListChildAccountsRequest} request ListChildAccountsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|getAccount}. - * @memberof google.shopping.css.v1.AccountsService - * @typedef GetAccountCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.Account} [response] Account - */ - - /** - * Calls GetAccount. - * @function getAccount - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IGetAccountRequest} request GetAccountRequest message or plain object - * @param {google.shopping.css.v1.AccountsService.GetAccountCallback} callback Node-style callback called with the error, if any, and Account - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountsService.prototype.getAccount = function getAccount(request, callback) { - return this.rpcCall(getAccount, $root.google.shopping.css.v1.GetAccountRequest, $root.google.shopping.css.v1.Account, request, callback); - }, "name", { value: "GetAccount" }); - - /** - * Calls GetAccount. - * @function getAccount - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IGetAccountRequest} request GetAccountRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.AccountsService|updateLabels}. - * @memberof google.shopping.css.v1.AccountsService - * @typedef UpdateLabelsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.Account} [response] Account - */ - - /** - * Calls UpdateLabels. - * @function updateLabels - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} request UpdateAccountLabelsRequest message or plain object - * @param {google.shopping.css.v1.AccountsService.UpdateLabelsCallback} callback Node-style callback called with the error, if any, and Account - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountsService.prototype.updateLabels = function updateLabels(request, callback) { - return this.rpcCall(updateLabels, $root.google.shopping.css.v1.UpdateAccountLabelsRequest, $root.google.shopping.css.v1.Account, request, callback); - }, "name", { value: "UpdateLabels" }); - - /** - * Calls UpdateLabels. - * @function updateLabels - * @memberof google.shopping.css.v1.AccountsService - * @instance - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} request UpdateAccountLabelsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return AccountsService; - })(); - - v1.ListChildAccountsRequest = (function() { - - /** - * Properties of a ListChildAccountsRequest. - * @memberof google.shopping.css.v1 - * @interface IListChildAccountsRequest - * @property {string|null} [parent] ListChildAccountsRequest parent - * @property {number|Long|null} [labelId] ListChildAccountsRequest labelId - * @property {string|null} [fullName] ListChildAccountsRequest fullName - * @property {number|null} [pageSize] ListChildAccountsRequest pageSize - * @property {string|null} [pageToken] ListChildAccountsRequest pageToken - */ - - /** - * Constructs a new ListChildAccountsRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListChildAccountsRequest. - * @implements IListChildAccountsRequest - * @constructor - * @param {google.shopping.css.v1.IListChildAccountsRequest=} [properties] Properties to set - */ - function ListChildAccountsRequest(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]]; - } - - /** - * ListChildAccountsRequest parent. - * @member {string} parent - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - ListChildAccountsRequest.prototype.parent = ""; - - /** - * ListChildAccountsRequest labelId. - * @member {number|Long|null|undefined} labelId - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - ListChildAccountsRequest.prototype.labelId = null; - - /** - * ListChildAccountsRequest fullName. - * @member {string|null|undefined} fullName - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - ListChildAccountsRequest.prototype.fullName = null; - - /** - * ListChildAccountsRequest pageSize. - * @member {number} pageSize - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - ListChildAccountsRequest.prototype.pageSize = 0; - - /** - * ListChildAccountsRequest pageToken. - * @member {string} pageToken - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - ListChildAccountsRequest.prototype.pageToken = ""; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * ListChildAccountsRequest _labelId. - * @member {"labelId"|undefined} _labelId - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - Object.defineProperty(ListChildAccountsRequest.prototype, "_labelId", { - get: $util.oneOfGetter($oneOfFields = ["labelId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * ListChildAccountsRequest _fullName. - * @member {"fullName"|undefined} _fullName - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - */ - Object.defineProperty(ListChildAccountsRequest.prototype, "_fullName", { - get: $util.oneOfGetter($oneOfFields = ["fullName"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ListChildAccountsRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {google.shopping.css.v1.IListChildAccountsRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest instance - */ - ListChildAccountsRequest.create = function create(properties) { - return new ListChildAccountsRequest(properties); - }; - - /** - * Encodes the specified ListChildAccountsRequest message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {google.shopping.css.v1.IListChildAccountsRequest} message ListChildAccountsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListChildAccountsRequest.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.labelId != null && Object.hasOwnProperty.call(message, "labelId")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.labelId); - if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.fullName); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.pageToken); - return writer; - }; - - /** - * Encodes the specified ListChildAccountsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {google.shopping.css.v1.IListChildAccountsRequest} message ListChildAccountsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListChildAccountsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListChildAccountsRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListChildAccountsRequest.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.css.v1.ListChildAccountsRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.parent = reader.string(); - break; - } - case 2: { - message.labelId = reader.int64(); - break; - } - case 3: { - message.fullName = reader.string(); - break; - } - case 4: { - message.pageSize = reader.int32(); - break; - } - case 5: { - message.pageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListChildAccountsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListChildAccountsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListChildAccountsRequest message. - * @function verify - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListChildAccountsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.parent != null && message.hasOwnProperty("parent")) - if (!$util.isString(message.parent)) - return "parent: string expected"; - if (message.labelId != null && message.hasOwnProperty("labelId")) { - properties._labelId = 1; - if (!$util.isInteger(message.labelId) && !(message.labelId && $util.isInteger(message.labelId.low) && $util.isInteger(message.labelId.high))) - return "labelId: integer|Long expected"; - } - if (message.fullName != null && message.hasOwnProperty("fullName")) { - properties._fullName = 1; - if (!$util.isString(message.fullName)) - return "fullName: 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 ListChildAccountsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListChildAccountsRequest} ListChildAccountsRequest - */ - ListChildAccountsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListChildAccountsRequest) - return object; - var message = new $root.google.shopping.css.v1.ListChildAccountsRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.labelId != null) - if ($util.Long) - (message.labelId = $util.Long.fromValue(object.labelId)).unsigned = false; - else if (typeof object.labelId === "string") - message.labelId = parseInt(object.labelId, 10); - else if (typeof object.labelId === "number") - message.labelId = object.labelId; - else if (typeof object.labelId === "object") - message.labelId = new $util.LongBits(object.labelId.low >>> 0, object.labelId.high >>> 0).toNumber(); - if (object.fullName != null) - message.fullName = String(object.fullName); - 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 ListChildAccountsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {google.shopping.css.v1.ListChildAccountsRequest} message ListChildAccountsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListChildAccountsRequest.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.labelId != null && message.hasOwnProperty("labelId")) { - if (typeof message.labelId === "number") - object.labelId = options.longs === String ? String(message.labelId) : message.labelId; - else - object.labelId = options.longs === String ? $util.Long.prototype.toString.call(message.labelId) : options.longs === Number ? new $util.LongBits(message.labelId.low >>> 0, message.labelId.high >>> 0).toNumber() : message.labelId; - if (options.oneofs) - object._labelId = "labelId"; - } - if (message.fullName != null && message.hasOwnProperty("fullName")) { - object.fullName = message.fullName; - if (options.oneofs) - object._fullName = "fullName"; - } - 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 ListChildAccountsRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @instance - * @returns {Object.} JSON object - */ - ListChildAccountsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListChildAccountsRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListChildAccountsRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListChildAccountsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListChildAccountsRequest"; - }; - - return ListChildAccountsRequest; - })(); - - v1.ListChildAccountsResponse = (function() { - - /** - * Properties of a ListChildAccountsResponse. - * @memberof google.shopping.css.v1 - * @interface IListChildAccountsResponse - * @property {Array.|null} [accounts] ListChildAccountsResponse accounts - * @property {string|null} [nextPageToken] ListChildAccountsResponse nextPageToken - */ - - /** - * Constructs a new ListChildAccountsResponse. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListChildAccountsResponse. - * @implements IListChildAccountsResponse - * @constructor - * @param {google.shopping.css.v1.IListChildAccountsResponse=} [properties] Properties to set - */ - function ListChildAccountsResponse(properties) { - this.accounts = []; - 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]]; - } - - /** - * ListChildAccountsResponse accounts. - * @member {Array.} accounts - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @instance - */ - ListChildAccountsResponse.prototype.accounts = $util.emptyArray; - - /** - * ListChildAccountsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @instance - */ - ListChildAccountsResponse.prototype.nextPageToken = ""; - - /** - * Creates a new ListChildAccountsResponse instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {google.shopping.css.v1.IListChildAccountsResponse=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse instance - */ - ListChildAccountsResponse.create = function create(properties) { - return new ListChildAccountsResponse(properties); - }; - - /** - * Encodes the specified ListChildAccountsResponse message. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {google.shopping.css.v1.IListChildAccountsResponse} message ListChildAccountsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListChildAccountsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.accounts != null && message.accounts.length) - for (var i = 0; i < message.accounts.length; ++i) - $root.google.shopping.css.v1.Account.encode(message.accounts[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 ListChildAccountsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListChildAccountsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {google.shopping.css.v1.IListChildAccountsResponse} message ListChildAccountsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListChildAccountsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListChildAccountsResponse message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListChildAccountsResponse.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.css.v1.ListChildAccountsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.accounts && message.accounts.length)) - message.accounts = []; - message.accounts.push($root.google.shopping.css.v1.Account.decode(reader, reader.uint32())); - break; - } - case 2: { - message.nextPageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListChildAccountsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListChildAccountsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListChildAccountsResponse message. - * @function verify - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListChildAccountsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.accounts != null && message.hasOwnProperty("accounts")) { - if (!Array.isArray(message.accounts)) - return "accounts: array expected"; - for (var i = 0; i < message.accounts.length; ++i) { - var error = $root.google.shopping.css.v1.Account.verify(message.accounts[i]); - if (error) - return "accounts." + error; - } - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; - return null; - }; - - /** - * Creates a ListChildAccountsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListChildAccountsResponse} ListChildAccountsResponse - */ - ListChildAccountsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListChildAccountsResponse) - return object; - var message = new $root.google.shopping.css.v1.ListChildAccountsResponse(); - if (object.accounts) { - if (!Array.isArray(object.accounts)) - throw TypeError(".google.shopping.css.v1.ListChildAccountsResponse.accounts: array expected"); - message.accounts = []; - for (var i = 0; i < object.accounts.length; ++i) { - if (typeof object.accounts[i] !== "object") - throw TypeError(".google.shopping.css.v1.ListChildAccountsResponse.accounts: object expected"); - message.accounts[i] = $root.google.shopping.css.v1.Account.fromObject(object.accounts[i]); - } - } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); - return message; - }; - - /** - * Creates a plain object from a ListChildAccountsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {google.shopping.css.v1.ListChildAccountsResponse} message ListChildAccountsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListChildAccountsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.accounts = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.accounts && message.accounts.length) { - object.accounts = []; - for (var j = 0; j < message.accounts.length; ++j) - object.accounts[j] = $root.google.shopping.css.v1.Account.toObject(message.accounts[j], options); - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; - return object; - }; - - /** - * Converts this ListChildAccountsResponse to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @instance - * @returns {Object.} JSON object - */ - ListChildAccountsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListChildAccountsResponse - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListChildAccountsResponse - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListChildAccountsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListChildAccountsResponse"; - }; - - return ListChildAccountsResponse; - })(); - - v1.GetAccountRequest = (function() { - - /** - * Properties of a GetAccountRequest. - * @memberof google.shopping.css.v1 - * @interface IGetAccountRequest - * @property {string|null} [name] GetAccountRequest name - * @property {string|null} [parent] GetAccountRequest parent - */ - - /** - * Constructs a new GetAccountRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a GetAccountRequest. - * @implements IGetAccountRequest - * @constructor - * @param {google.shopping.css.v1.IGetAccountRequest=} [properties] Properties to set - */ - function GetAccountRequest(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]]; - } - - /** - * GetAccountRequest name. - * @member {string} name - * @memberof google.shopping.css.v1.GetAccountRequest - * @instance - */ - GetAccountRequest.prototype.name = ""; - - /** - * GetAccountRequest parent. - * @member {string|null|undefined} parent - * @memberof google.shopping.css.v1.GetAccountRequest - * @instance - */ - GetAccountRequest.prototype.parent = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetAccountRequest _parent. - * @member {"parent"|undefined} _parent - * @memberof google.shopping.css.v1.GetAccountRequest - * @instance - */ - Object.defineProperty(GetAccountRequest.prototype, "_parent", { - get: $util.oneOfGetter($oneOfFields = ["parent"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetAccountRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {google.shopping.css.v1.IGetAccountRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest instance - */ - GetAccountRequest.create = function create(properties) { - return new GetAccountRequest(properties); - }; - - /** - * Encodes the specified GetAccountRequest message. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {google.shopping.css.v1.IGetAccountRequest} message GetAccountRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetAccountRequest.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.parent != null && Object.hasOwnProperty.call(message, "parent")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.parent); - return writer; - }; - - /** - * Encodes the specified GetAccountRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetAccountRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {google.shopping.css.v1.IGetAccountRequest} message GetAccountRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetAccountRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetAccountRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetAccountRequest.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.css.v1.GetAccountRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.parent = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetAccountRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetAccountRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetAccountRequest message. - * @function verify - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetAccountRequest.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.parent != null && message.hasOwnProperty("parent")) { - properties._parent = 1; - if (!$util.isString(message.parent)) - return "parent: string expected"; - } - return null; - }; - - /** - * Creates a GetAccountRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.GetAccountRequest} GetAccountRequest - */ - GetAccountRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.GetAccountRequest) - return object; - var message = new $root.google.shopping.css.v1.GetAccountRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.parent != null) - message.parent = String(object.parent); - return message; - }; - - /** - * Creates a plain object from a GetAccountRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {google.shopping.css.v1.GetAccountRequest} message GetAccountRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetAccountRequest.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; - if (message.parent != null && message.hasOwnProperty("parent")) { - object.parent = message.parent; - if (options.oneofs) - object._parent = "parent"; - } - return object; - }; - - /** - * Converts this GetAccountRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.GetAccountRequest - * @instance - * @returns {Object.} JSON object - */ - GetAccountRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for GetAccountRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.GetAccountRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - GetAccountRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.GetAccountRequest"; - }; - - return GetAccountRequest; - })(); - - v1.UpdateAccountLabelsRequest = (function() { - - /** - * Properties of an UpdateAccountLabelsRequest. - * @memberof google.shopping.css.v1 - * @interface IUpdateAccountLabelsRequest - * @property {string|null} [name] UpdateAccountLabelsRequest name - * @property {Array.|null} [labelIds] UpdateAccountLabelsRequest labelIds - * @property {string|null} [parent] UpdateAccountLabelsRequest parent - */ - - /** - * Constructs a new UpdateAccountLabelsRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents an UpdateAccountLabelsRequest. - * @implements IUpdateAccountLabelsRequest - * @constructor - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest=} [properties] Properties to set - */ - function UpdateAccountLabelsRequest(properties) { - this.labelIds = []; - 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]]; - } - - /** - * UpdateAccountLabelsRequest name. - * @member {string} name - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @instance - */ - UpdateAccountLabelsRequest.prototype.name = ""; - - /** - * UpdateAccountLabelsRequest labelIds. - * @member {Array.} labelIds - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @instance - */ - UpdateAccountLabelsRequest.prototype.labelIds = $util.emptyArray; - - /** - * UpdateAccountLabelsRequest parent. - * @member {string|null|undefined} parent - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @instance - */ - UpdateAccountLabelsRequest.prototype.parent = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * UpdateAccountLabelsRequest _parent. - * @member {"parent"|undefined} _parent - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @instance - */ - Object.defineProperty(UpdateAccountLabelsRequest.prototype, "_parent", { - get: $util.oneOfGetter($oneOfFields = ["parent"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new UpdateAccountLabelsRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest instance - */ - UpdateAccountLabelsRequest.create = function create(properties) { - return new UpdateAccountLabelsRequest(properties); - }; - - /** - * Encodes the specified UpdateAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} message UpdateAccountLabelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateAccountLabelsRequest.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.labelIds != null && message.labelIds.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (var i = 0; i < message.labelIds.length; ++i) - writer.int64(message.labelIds[i]); - writer.ldelim(); - } - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); - return writer; - }; - - /** - * Encodes the specified UpdateAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelsRequest} message UpdateAccountLabelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateAccountLabelsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateAccountLabelsRequest.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.css.v1.UpdateAccountLabelsRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - if (!(message.labelIds && message.labelIds.length)) - message.labelIds = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.labelIds.push(reader.int64()); - } else - message.labelIds.push(reader.int64()); - break; - } - case 3: { - message.parent = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UpdateAccountLabelsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateAccountLabelsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UpdateAccountLabelsRequest message. - * @function verify - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UpdateAccountLabelsRequest.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.labelIds != null && message.hasOwnProperty("labelIds")) { - if (!Array.isArray(message.labelIds)) - return "labelIds: array expected"; - for (var i = 0; i < message.labelIds.length; ++i) - if (!$util.isInteger(message.labelIds[i]) && !(message.labelIds[i] && $util.isInteger(message.labelIds[i].low) && $util.isInteger(message.labelIds[i].high))) - return "labelIds: integer|Long[] expected"; - } - if (message.parent != null && message.hasOwnProperty("parent")) { - properties._parent = 1; - if (!$util.isString(message.parent)) - return "parent: string expected"; - } - return null; - }; - - /** - * Creates an UpdateAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.UpdateAccountLabelsRequest} UpdateAccountLabelsRequest - */ - UpdateAccountLabelsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.UpdateAccountLabelsRequest) - return object; - var message = new $root.google.shopping.css.v1.UpdateAccountLabelsRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.labelIds) { - if (!Array.isArray(object.labelIds)) - throw TypeError(".google.shopping.css.v1.UpdateAccountLabelsRequest.labelIds: array expected"); - message.labelIds = []; - for (var i = 0; i < object.labelIds.length; ++i) - if ($util.Long) - (message.labelIds[i] = $util.Long.fromValue(object.labelIds[i])).unsigned = false; - else if (typeof object.labelIds[i] === "string") - message.labelIds[i] = parseInt(object.labelIds[i], 10); - else if (typeof object.labelIds[i] === "number") - message.labelIds[i] = object.labelIds[i]; - else if (typeof object.labelIds[i] === "object") - message.labelIds[i] = new $util.LongBits(object.labelIds[i].low >>> 0, object.labelIds[i].high >>> 0).toNumber(); - } - if (object.parent != null) - message.parent = String(object.parent); - return message; - }; - - /** - * Creates a plain object from an UpdateAccountLabelsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.UpdateAccountLabelsRequest} message UpdateAccountLabelsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UpdateAccountLabelsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.labelIds = []; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.labelIds && message.labelIds.length) { - object.labelIds = []; - for (var j = 0; j < message.labelIds.length; ++j) - if (typeof message.labelIds[j] === "number") - object.labelIds[j] = options.longs === String ? String(message.labelIds[j]) : message.labelIds[j]; - else - object.labelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.labelIds[j]) : options.longs === Number ? new $util.LongBits(message.labelIds[j].low >>> 0, message.labelIds[j].high >>> 0).toNumber() : message.labelIds[j]; - } - if (message.parent != null && message.hasOwnProperty("parent")) { - object.parent = message.parent; - if (options.oneofs) - object._parent = "parent"; - } - return object; - }; - - /** - * Converts this UpdateAccountLabelsRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @instance - * @returns {Object.} JSON object - */ - UpdateAccountLabelsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UpdateAccountLabelsRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.UpdateAccountLabelsRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UpdateAccountLabelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.UpdateAccountLabelsRequest"; - }; - - return UpdateAccountLabelsRequest; - })(); - - v1.Account = (function() { - - /** - * Properties of an Account. - * @memberof google.shopping.css.v1 - * @interface IAccount - * @property {string|null} [name] Account name - * @property {string|null} [fullName] Account fullName - * @property {string|null} [displayName] Account displayName - * @property {string|null} [homepageUri] Account homepageUri - * @property {string|null} [parent] Account parent - * @property {Array.|null} [labelIds] Account labelIds - * @property {Array.|null} [automaticLabelIds] Account automaticLabelIds - * @property {google.shopping.css.v1.Account.AccountType|null} [accountType] Account accountType - */ - - /** - * Constructs a new Account. - * @memberof google.shopping.css.v1 - * @classdesc Represents an Account. - * @implements IAccount - * @constructor - * @param {google.shopping.css.v1.IAccount=} [properties] Properties to set - */ - function Account(properties) { - this.labelIds = []; - this.automaticLabelIds = []; - 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]]; - } - - /** - * Account name. - * @member {string} name - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.name = ""; - - /** - * Account fullName. - * @member {string} fullName - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.fullName = ""; - - /** - * Account displayName. - * @member {string|null|undefined} displayName - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.displayName = null; - - /** - * Account homepageUri. - * @member {string|null|undefined} homepageUri - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.homepageUri = null; - - /** - * Account parent. - * @member {string|null|undefined} parent - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.parent = null; - - /** - * Account labelIds. - * @member {Array.} labelIds - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.labelIds = $util.emptyArray; - - /** - * Account automaticLabelIds. - * @member {Array.} automaticLabelIds - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.automaticLabelIds = $util.emptyArray; - - /** - * Account accountType. - * @member {google.shopping.css.v1.Account.AccountType} accountType - * @memberof google.shopping.css.v1.Account - * @instance - */ - Account.prototype.accountType = 0; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Account _displayName. - * @member {"displayName"|undefined} _displayName - * @memberof google.shopping.css.v1.Account - * @instance - */ - Object.defineProperty(Account.prototype, "_displayName", { - get: $util.oneOfGetter($oneOfFields = ["displayName"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Account _homepageUri. - * @member {"homepageUri"|undefined} _homepageUri - * @memberof google.shopping.css.v1.Account - * @instance - */ - Object.defineProperty(Account.prototype, "_homepageUri", { - get: $util.oneOfGetter($oneOfFields = ["homepageUri"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Account _parent. - * @member {"parent"|undefined} _parent - * @memberof google.shopping.css.v1.Account - * @instance - */ - Object.defineProperty(Account.prototype, "_parent", { - get: $util.oneOfGetter($oneOfFields = ["parent"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Account instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.Account - * @static - * @param {google.shopping.css.v1.IAccount=} [properties] Properties to set - * @returns {google.shopping.css.v1.Account} Account instance - */ - Account.create = function create(properties) { - return new Account(properties); - }; - - /** - * Encodes the specified Account message. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.Account - * @static - * @param {google.shopping.css.v1.IAccount} message Account message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Account.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.fullName != null && Object.hasOwnProperty.call(message, "fullName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.fullName); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.displayName); - if (message.homepageUri != null && Object.hasOwnProperty.call(message, "homepageUri")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.homepageUri); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.parent); - if (message.labelIds != null && message.labelIds.length) { - writer.uint32(/* id 6, wireType 2 =*/50).fork(); - for (var i = 0; i < message.labelIds.length; ++i) - writer.int64(message.labelIds[i]); - writer.ldelim(); - } - if (message.automaticLabelIds != null && message.automaticLabelIds.length) { - writer.uint32(/* id 7, wireType 2 =*/58).fork(); - for (var i = 0; i < message.automaticLabelIds.length; ++i) - writer.int64(message.automaticLabelIds[i]); - writer.ldelim(); - } - if (message.accountType != null && Object.hasOwnProperty.call(message, "accountType")) - writer.uint32(/* id 8, wireType 0 =*/64).int32(message.accountType); - return writer; - }; - - /** - * Encodes the specified Account message, length delimited. Does not implicitly {@link google.shopping.css.v1.Account.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.Account - * @static - * @param {google.shopping.css.v1.IAccount} message Account message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Account.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Account message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.Account - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.Account} Account - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Account.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.css.v1.Account(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.fullName = reader.string(); - break; - } - case 3: { - message.displayName = reader.string(); - break; - } - case 4: { - message.homepageUri = reader.string(); - break; - } - case 5: { - message.parent = reader.string(); - break; - } - case 6: { - if (!(message.labelIds && message.labelIds.length)) - message.labelIds = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.labelIds.push(reader.int64()); - } else - message.labelIds.push(reader.int64()); - break; - } - case 7: { - if (!(message.automaticLabelIds && message.automaticLabelIds.length)) - message.automaticLabelIds = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.automaticLabelIds.push(reader.int64()); - } else - message.automaticLabelIds.push(reader.int64()); - break; - } - case 8: { - message.accountType = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Account message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.Account - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.Account} Account - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Account.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Account message. - * @function verify - * @memberof google.shopping.css.v1.Account - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Account.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.fullName != null && message.hasOwnProperty("fullName")) - if (!$util.isString(message.fullName)) - return "fullName: string expected"; - if (message.displayName != null && message.hasOwnProperty("displayName")) { - properties._displayName = 1; - if (!$util.isString(message.displayName)) - return "displayName: string expected"; - } - if (message.homepageUri != null && message.hasOwnProperty("homepageUri")) { - properties._homepageUri = 1; - if (!$util.isString(message.homepageUri)) - return "homepageUri: string expected"; - } - if (message.parent != null && message.hasOwnProperty("parent")) { - properties._parent = 1; - if (!$util.isString(message.parent)) - return "parent: string expected"; - } - if (message.labelIds != null && message.hasOwnProperty("labelIds")) { - if (!Array.isArray(message.labelIds)) - return "labelIds: array expected"; - for (var i = 0; i < message.labelIds.length; ++i) - if (!$util.isInteger(message.labelIds[i]) && !(message.labelIds[i] && $util.isInteger(message.labelIds[i].low) && $util.isInteger(message.labelIds[i].high))) - return "labelIds: integer|Long[] expected"; - } - if (message.automaticLabelIds != null && message.hasOwnProperty("automaticLabelIds")) { - if (!Array.isArray(message.automaticLabelIds)) - return "automaticLabelIds: array expected"; - for (var i = 0; i < message.automaticLabelIds.length; ++i) - if (!$util.isInteger(message.automaticLabelIds[i]) && !(message.automaticLabelIds[i] && $util.isInteger(message.automaticLabelIds[i].low) && $util.isInteger(message.automaticLabelIds[i].high))) - return "automaticLabelIds: integer|Long[] expected"; - } - if (message.accountType != null && message.hasOwnProperty("accountType")) - switch (message.accountType) { - default: - return "accountType: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - break; - } - return null; - }; - - /** - * Creates an Account message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.Account - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.Account} Account - */ - Account.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.Account) - return object; - var message = new $root.google.shopping.css.v1.Account(); - if (object.name != null) - message.name = String(object.name); - if (object.fullName != null) - message.fullName = String(object.fullName); - if (object.displayName != null) - message.displayName = String(object.displayName); - if (object.homepageUri != null) - message.homepageUri = String(object.homepageUri); - if (object.parent != null) - message.parent = String(object.parent); - if (object.labelIds) { - if (!Array.isArray(object.labelIds)) - throw TypeError(".google.shopping.css.v1.Account.labelIds: array expected"); - message.labelIds = []; - for (var i = 0; i < object.labelIds.length; ++i) - if ($util.Long) - (message.labelIds[i] = $util.Long.fromValue(object.labelIds[i])).unsigned = false; - else if (typeof object.labelIds[i] === "string") - message.labelIds[i] = parseInt(object.labelIds[i], 10); - else if (typeof object.labelIds[i] === "number") - message.labelIds[i] = object.labelIds[i]; - else if (typeof object.labelIds[i] === "object") - message.labelIds[i] = new $util.LongBits(object.labelIds[i].low >>> 0, object.labelIds[i].high >>> 0).toNumber(); - } - if (object.automaticLabelIds) { - if (!Array.isArray(object.automaticLabelIds)) - throw TypeError(".google.shopping.css.v1.Account.automaticLabelIds: array expected"); - message.automaticLabelIds = []; - for (var i = 0; i < object.automaticLabelIds.length; ++i) - if ($util.Long) - (message.automaticLabelIds[i] = $util.Long.fromValue(object.automaticLabelIds[i])).unsigned = false; - else if (typeof object.automaticLabelIds[i] === "string") - message.automaticLabelIds[i] = parseInt(object.automaticLabelIds[i], 10); - else if (typeof object.automaticLabelIds[i] === "number") - message.automaticLabelIds[i] = object.automaticLabelIds[i]; - else if (typeof object.automaticLabelIds[i] === "object") - message.automaticLabelIds[i] = new $util.LongBits(object.automaticLabelIds[i].low >>> 0, object.automaticLabelIds[i].high >>> 0).toNumber(); - } - switch (object.accountType) { - default: - if (typeof object.accountType === "number") { - message.accountType = object.accountType; - break; - } - break; - case "ACCOUNT_TYPE_UNSPECIFIED": - case 0: - message.accountType = 0; - break; - case "CSS_GROUP": - case 1: - message.accountType = 1; - break; - case "CSS_DOMAIN": - case 2: - message.accountType = 2; - break; - case "MC_PRIMARY_CSS_MCA": - case 3: - message.accountType = 3; - break; - case "MC_CSS_MCA": - case 4: - message.accountType = 4; - break; - case "MC_MARKETPLACE_MCA": - case 5: - message.accountType = 5; - break; - case "MC_OTHER_MCA": - case 6: - message.accountType = 6; - break; - case "MC_STANDALONE": - case 7: - message.accountType = 7; - break; - case "MC_MCA_SUBACCOUNT": - case 8: - message.accountType = 8; - break; - } - return message; - }; - - /** - * Creates a plain object from an Account message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.Account - * @static - * @param {google.shopping.css.v1.Account} message Account - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Account.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.labelIds = []; - object.automaticLabelIds = []; - } - if (options.defaults) { - object.name = ""; - object.fullName = ""; - object.accountType = options.enums === String ? "ACCOUNT_TYPE_UNSPECIFIED" : 0; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.fullName != null && message.hasOwnProperty("fullName")) - object.fullName = message.fullName; - if (message.displayName != null && message.hasOwnProperty("displayName")) { - object.displayName = message.displayName; - if (options.oneofs) - object._displayName = "displayName"; - } - if (message.homepageUri != null && message.hasOwnProperty("homepageUri")) { - object.homepageUri = message.homepageUri; - if (options.oneofs) - object._homepageUri = "homepageUri"; - } - if (message.parent != null && message.hasOwnProperty("parent")) { - object.parent = message.parent; - if (options.oneofs) - object._parent = "parent"; - } - if (message.labelIds && message.labelIds.length) { - object.labelIds = []; - for (var j = 0; j < message.labelIds.length; ++j) - if (typeof message.labelIds[j] === "number") - object.labelIds[j] = options.longs === String ? String(message.labelIds[j]) : message.labelIds[j]; - else - object.labelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.labelIds[j]) : options.longs === Number ? new $util.LongBits(message.labelIds[j].low >>> 0, message.labelIds[j].high >>> 0).toNumber() : message.labelIds[j]; - } - if (message.automaticLabelIds && message.automaticLabelIds.length) { - object.automaticLabelIds = []; - for (var j = 0; j < message.automaticLabelIds.length; ++j) - if (typeof message.automaticLabelIds[j] === "number") - object.automaticLabelIds[j] = options.longs === String ? String(message.automaticLabelIds[j]) : message.automaticLabelIds[j]; - else - object.automaticLabelIds[j] = options.longs === String ? $util.Long.prototype.toString.call(message.automaticLabelIds[j]) : options.longs === Number ? new $util.LongBits(message.automaticLabelIds[j].low >>> 0, message.automaticLabelIds[j].high >>> 0).toNumber() : message.automaticLabelIds[j]; - } - if (message.accountType != null && message.hasOwnProperty("accountType")) - object.accountType = options.enums === String ? $root.google.shopping.css.v1.Account.AccountType[message.accountType] === undefined ? message.accountType : $root.google.shopping.css.v1.Account.AccountType[message.accountType] : message.accountType; - return object; - }; - - /** - * Converts this Account to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.Account - * @instance - * @returns {Object.} JSON object - */ - Account.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Account - * @function getTypeUrl - * @memberof google.shopping.css.v1.Account - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Account.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.Account"; - }; - - /** - * AccountType enum. - * @name google.shopping.css.v1.Account.AccountType - * @enum {number} - * @property {number} ACCOUNT_TYPE_UNSPECIFIED=0 ACCOUNT_TYPE_UNSPECIFIED value - * @property {number} CSS_GROUP=1 CSS_GROUP value - * @property {number} CSS_DOMAIN=2 CSS_DOMAIN value - * @property {number} MC_PRIMARY_CSS_MCA=3 MC_PRIMARY_CSS_MCA value - * @property {number} MC_CSS_MCA=4 MC_CSS_MCA value - * @property {number} MC_MARKETPLACE_MCA=5 MC_MARKETPLACE_MCA value - * @property {number} MC_OTHER_MCA=6 MC_OTHER_MCA value - * @property {number} MC_STANDALONE=7 MC_STANDALONE value - * @property {number} MC_MCA_SUBACCOUNT=8 MC_MCA_SUBACCOUNT value - */ - Account.AccountType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "ACCOUNT_TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "CSS_GROUP"] = 1; - values[valuesById[2] = "CSS_DOMAIN"] = 2; - values[valuesById[3] = "MC_PRIMARY_CSS_MCA"] = 3; - values[valuesById[4] = "MC_CSS_MCA"] = 4; - values[valuesById[5] = "MC_MARKETPLACE_MCA"] = 5; - values[valuesById[6] = "MC_OTHER_MCA"] = 6; - values[valuesById[7] = "MC_STANDALONE"] = 7; - values[valuesById[8] = "MC_MCA_SUBACCOUNT"] = 8; - return values; - })(); - - return Account; - })(); - - v1.AccountLabelsService = (function() { - - /** - * Constructs a new AccountLabelsService service. - * @memberof google.shopping.css.v1 - * @classdesc Represents an AccountLabelsService - * @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 AccountLabelsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (AccountLabelsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AccountLabelsService; - - /** - * Creates new AccountLabelsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.css.v1.AccountLabelsService - * @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 {AccountLabelsService} RPC service. Useful where requests and/or responses are streamed. - */ - AccountLabelsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|listAccountLabels}. - * @memberof google.shopping.css.v1.AccountLabelsService - * @typedef ListAccountLabelsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.ListAccountLabelsResponse} [response] ListAccountLabelsResponse - */ - - /** - * Calls ListAccountLabels. - * @function listAccountLabels - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IListAccountLabelsRequest} request ListAccountLabelsRequest message or plain object - * @param {google.shopping.css.v1.AccountLabelsService.ListAccountLabelsCallback} callback Node-style callback called with the error, if any, and ListAccountLabelsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountLabelsService.prototype.listAccountLabels = function listAccountLabels(request, callback) { - return this.rpcCall(listAccountLabels, $root.google.shopping.css.v1.ListAccountLabelsRequest, $root.google.shopping.css.v1.ListAccountLabelsResponse, request, callback); - }, "name", { value: "ListAccountLabels" }); - - /** - * Calls ListAccountLabels. - * @function listAccountLabels - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IListAccountLabelsRequest} request ListAccountLabelsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|createAccountLabel}. - * @memberof google.shopping.css.v1.AccountLabelsService - * @typedef CreateAccountLabelCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.AccountLabel} [response] AccountLabel - */ - - /** - * Calls CreateAccountLabel. - * @function createAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.ICreateAccountLabelRequest} request CreateAccountLabelRequest message or plain object - * @param {google.shopping.css.v1.AccountLabelsService.CreateAccountLabelCallback} callback Node-style callback called with the error, if any, and AccountLabel - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountLabelsService.prototype.createAccountLabel = function createAccountLabel(request, callback) { - return this.rpcCall(createAccountLabel, $root.google.shopping.css.v1.CreateAccountLabelRequest, $root.google.shopping.css.v1.AccountLabel, request, callback); - }, "name", { value: "CreateAccountLabel" }); - - /** - * Calls CreateAccountLabel. - * @function createAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.ICreateAccountLabelRequest} request CreateAccountLabelRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|updateAccountLabel}. - * @memberof google.shopping.css.v1.AccountLabelsService - * @typedef UpdateAccountLabelCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.AccountLabel} [response] AccountLabel - */ - - /** - * Calls UpdateAccountLabel. - * @function updateAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} request UpdateAccountLabelRequest message or plain object - * @param {google.shopping.css.v1.AccountLabelsService.UpdateAccountLabelCallback} callback Node-style callback called with the error, if any, and AccountLabel - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountLabelsService.prototype.updateAccountLabel = function updateAccountLabel(request, callback) { - return this.rpcCall(updateAccountLabel, $root.google.shopping.css.v1.UpdateAccountLabelRequest, $root.google.shopping.css.v1.AccountLabel, request, callback); - }, "name", { value: "UpdateAccountLabel" }); - - /** - * Calls UpdateAccountLabel. - * @function updateAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} request UpdateAccountLabelRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.AccountLabelsService|deleteAccountLabel}. - * @memberof google.shopping.css.v1.AccountLabelsService - * @typedef DeleteAccountLabelCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty - */ - - /** - * Calls DeleteAccountLabel. - * @function deleteAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} request DeleteAccountLabelRequest message or plain object - * @param {google.shopping.css.v1.AccountLabelsService.DeleteAccountLabelCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(AccountLabelsService.prototype.deleteAccountLabel = function deleteAccountLabel(request, callback) { - return this.rpcCall(deleteAccountLabel, $root.google.shopping.css.v1.DeleteAccountLabelRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteAccountLabel" }); - - /** - * Calls DeleteAccountLabel. - * @function deleteAccountLabel - * @memberof google.shopping.css.v1.AccountLabelsService - * @instance - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} request DeleteAccountLabelRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return AccountLabelsService; - })(); - - v1.AccountLabel = (function() { - - /** - * Properties of an AccountLabel. - * @memberof google.shopping.css.v1 - * @interface IAccountLabel - * @property {string|null} [name] AccountLabel name - * @property {number|Long|null} [labelId] AccountLabel labelId - * @property {number|Long|null} [accountId] AccountLabel accountId - * @property {string|null} [displayName] AccountLabel displayName - * @property {string|null} [description] AccountLabel description - * @property {google.shopping.css.v1.AccountLabel.LabelType|null} [labelType] AccountLabel labelType - */ - - /** - * Constructs a new AccountLabel. - * @memberof google.shopping.css.v1 - * @classdesc Represents an AccountLabel. - * @implements IAccountLabel - * @constructor - * @param {google.shopping.css.v1.IAccountLabel=} [properties] Properties to set - */ - function AccountLabel(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]]; - } - - /** - * AccountLabel name. - * @member {string} name - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.name = ""; - - /** - * AccountLabel labelId. - * @member {number|Long} labelId - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.labelId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * AccountLabel accountId. - * @member {number|Long} accountId - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.accountId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * AccountLabel displayName. - * @member {string|null|undefined} displayName - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.displayName = null; - - /** - * AccountLabel description. - * @member {string|null|undefined} description - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.description = null; - - /** - * AccountLabel labelType. - * @member {google.shopping.css.v1.AccountLabel.LabelType} labelType - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - AccountLabel.prototype.labelType = 0; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * AccountLabel _displayName. - * @member {"displayName"|undefined} _displayName - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - Object.defineProperty(AccountLabel.prototype, "_displayName", { - get: $util.oneOfGetter($oneOfFields = ["displayName"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * AccountLabel _description. - * @member {"description"|undefined} _description - * @memberof google.shopping.css.v1.AccountLabel - * @instance - */ - Object.defineProperty(AccountLabel.prototype, "_description", { - get: $util.oneOfGetter($oneOfFields = ["description"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new AccountLabel instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {google.shopping.css.v1.IAccountLabel=} [properties] Properties to set - * @returns {google.shopping.css.v1.AccountLabel} AccountLabel instance - */ - AccountLabel.create = function create(properties) { - return new AccountLabel(properties); - }; - - /** - * Encodes the specified AccountLabel message. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {google.shopping.css.v1.IAccountLabel} message AccountLabel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AccountLabel.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.labelId != null && Object.hasOwnProperty.call(message, "labelId")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.labelId); - if (message.accountId != null && Object.hasOwnProperty.call(message, "accountId")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.accountId); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.displayName); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.description); - if (message.labelType != null && Object.hasOwnProperty.call(message, "labelType")) - writer.uint32(/* id 6, wireType 0 =*/48).int32(message.labelType); - return writer; - }; - - /** - * Encodes the specified AccountLabel message, length delimited. Does not implicitly {@link google.shopping.css.v1.AccountLabel.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {google.shopping.css.v1.IAccountLabel} message AccountLabel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AccountLabel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AccountLabel message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.AccountLabel} AccountLabel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AccountLabel.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.css.v1.AccountLabel(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.labelId = reader.int64(); - break; - } - case 3: { - message.accountId = reader.int64(); - break; - } - case 4: { - message.displayName = reader.string(); - break; - } - case 5: { - message.description = reader.string(); - break; - } - case 6: { - message.labelType = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AccountLabel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.AccountLabel} AccountLabel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AccountLabel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AccountLabel message. - * @function verify - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AccountLabel.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.labelId != null && message.hasOwnProperty("labelId")) - if (!$util.isInteger(message.labelId) && !(message.labelId && $util.isInteger(message.labelId.low) && $util.isInteger(message.labelId.high))) - return "labelId: integer|Long expected"; - if (message.accountId != null && message.hasOwnProperty("accountId")) - if (!$util.isInteger(message.accountId) && !(message.accountId && $util.isInteger(message.accountId.low) && $util.isInteger(message.accountId.high))) - return "accountId: integer|Long expected"; - if (message.displayName != null && message.hasOwnProperty("displayName")) { - properties._displayName = 1; - if (!$util.isString(message.displayName)) - return "displayName: string expected"; - } - if (message.description != null && message.hasOwnProperty("description")) { - properties._description = 1; - if (!$util.isString(message.description)) - return "description: string expected"; - } - if (message.labelType != null && message.hasOwnProperty("labelType")) - switch (message.labelType) { - default: - return "labelType: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; - - /** - * Creates an AccountLabel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.AccountLabel} AccountLabel - */ - AccountLabel.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.AccountLabel) - return object; - var message = new $root.google.shopping.css.v1.AccountLabel(); - if (object.name != null) - message.name = String(object.name); - if (object.labelId != null) - if ($util.Long) - (message.labelId = $util.Long.fromValue(object.labelId)).unsigned = false; - else if (typeof object.labelId === "string") - message.labelId = parseInt(object.labelId, 10); - else if (typeof object.labelId === "number") - message.labelId = object.labelId; - else if (typeof object.labelId === "object") - message.labelId = new $util.LongBits(object.labelId.low >>> 0, object.labelId.high >>> 0).toNumber(); - if (object.accountId != null) - if ($util.Long) - (message.accountId = $util.Long.fromValue(object.accountId)).unsigned = false; - else if (typeof object.accountId === "string") - message.accountId = parseInt(object.accountId, 10); - else if (typeof object.accountId === "number") - message.accountId = object.accountId; - else if (typeof object.accountId === "object") - message.accountId = new $util.LongBits(object.accountId.low >>> 0, object.accountId.high >>> 0).toNumber(); - if (object.displayName != null) - message.displayName = String(object.displayName); - if (object.description != null) - message.description = String(object.description); - switch (object.labelType) { - default: - if (typeof object.labelType === "number") { - message.labelType = object.labelType; - break; - } - break; - case "LABEL_TYPE_UNSPECIFIED": - case 0: - message.labelType = 0; - break; - case "MANUAL": - case 1: - message.labelType = 1; - break; - case "AUTOMATIC": - case 2: - message.labelType = 2; - break; - } - return message; - }; - - /** - * Creates a plain object from an AccountLabel message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {google.shopping.css.v1.AccountLabel} message AccountLabel - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AccountLabel.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.labelId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.labelId = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.accountId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.accountId = options.longs === String ? "0" : 0; - object.labelType = options.enums === String ? "LABEL_TYPE_UNSPECIFIED" : 0; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.labelId != null && message.hasOwnProperty("labelId")) - if (typeof message.labelId === "number") - object.labelId = options.longs === String ? String(message.labelId) : message.labelId; - else - object.labelId = options.longs === String ? $util.Long.prototype.toString.call(message.labelId) : options.longs === Number ? new $util.LongBits(message.labelId.low >>> 0, message.labelId.high >>> 0).toNumber() : message.labelId; - if (message.accountId != null && message.hasOwnProperty("accountId")) - if (typeof message.accountId === "number") - object.accountId = options.longs === String ? String(message.accountId) : message.accountId; - else - object.accountId = options.longs === String ? $util.Long.prototype.toString.call(message.accountId) : options.longs === Number ? new $util.LongBits(message.accountId.low >>> 0, message.accountId.high >>> 0).toNumber() : message.accountId; - if (message.displayName != null && message.hasOwnProperty("displayName")) { - object.displayName = message.displayName; - if (options.oneofs) - object._displayName = "displayName"; - } - if (message.description != null && message.hasOwnProperty("description")) { - object.description = message.description; - if (options.oneofs) - object._description = "description"; - } - if (message.labelType != null && message.hasOwnProperty("labelType")) - object.labelType = options.enums === String ? $root.google.shopping.css.v1.AccountLabel.LabelType[message.labelType] === undefined ? message.labelType : $root.google.shopping.css.v1.AccountLabel.LabelType[message.labelType] : message.labelType; - return object; - }; - - /** - * Converts this AccountLabel to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.AccountLabel - * @instance - * @returns {Object.} JSON object - */ - AccountLabel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for AccountLabel - * @function getTypeUrl - * @memberof google.shopping.css.v1.AccountLabel - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - AccountLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.AccountLabel"; - }; - - /** - * LabelType enum. - * @name google.shopping.css.v1.AccountLabel.LabelType - * @enum {number} - * @property {number} LABEL_TYPE_UNSPECIFIED=0 LABEL_TYPE_UNSPECIFIED value - * @property {number} MANUAL=1 MANUAL value - * @property {number} AUTOMATIC=2 AUTOMATIC value - */ - AccountLabel.LabelType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "LABEL_TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "MANUAL"] = 1; - values[valuesById[2] = "AUTOMATIC"] = 2; - return values; - })(); - - return AccountLabel; - })(); - - v1.ListAccountLabelsRequest = (function() { - - /** - * Properties of a ListAccountLabelsRequest. - * @memberof google.shopping.css.v1 - * @interface IListAccountLabelsRequest - * @property {string|null} [parent] ListAccountLabelsRequest parent - * @property {number|null} [pageSize] ListAccountLabelsRequest pageSize - * @property {string|null} [pageToken] ListAccountLabelsRequest pageToken - */ - - /** - * Constructs a new ListAccountLabelsRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListAccountLabelsRequest. - * @implements IListAccountLabelsRequest - * @constructor - * @param {google.shopping.css.v1.IListAccountLabelsRequest=} [properties] Properties to set - */ - function ListAccountLabelsRequest(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]]; - } - - /** - * ListAccountLabelsRequest parent. - * @member {string} parent - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @instance - */ - ListAccountLabelsRequest.prototype.parent = ""; - - /** - * ListAccountLabelsRequest pageSize. - * @member {number} pageSize - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @instance - */ - ListAccountLabelsRequest.prototype.pageSize = 0; - - /** - * ListAccountLabelsRequest pageToken. - * @member {string} pageToken - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @instance - */ - ListAccountLabelsRequest.prototype.pageToken = ""; - - /** - * Creates a new ListAccountLabelsRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IListAccountLabelsRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest instance - */ - ListAccountLabelsRequest.create = function create(properties) { - return new ListAccountLabelsRequest(properties); - }; - - /** - * Encodes the specified ListAccountLabelsRequest message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IListAccountLabelsRequest} message ListAccountLabelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAccountLabelsRequest.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 ListAccountLabelsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.IListAccountLabelsRequest} message ListAccountLabelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAccountLabelsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListAccountLabelsRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAccountLabelsRequest.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.css.v1.ListAccountLabelsRequest(); - 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 ListAccountLabelsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAccountLabelsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListAccountLabelsRequest message. - * @function verify - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListAccountLabelsRequest.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 ListAccountLabelsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListAccountLabelsRequest} ListAccountLabelsRequest - */ - ListAccountLabelsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListAccountLabelsRequest) - return object; - var message = new $root.google.shopping.css.v1.ListAccountLabelsRequest(); - 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 ListAccountLabelsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {google.shopping.css.v1.ListAccountLabelsRequest} message ListAccountLabelsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListAccountLabelsRequest.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 ListAccountLabelsRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @instance - * @returns {Object.} JSON object - */ - ListAccountLabelsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListAccountLabelsRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListAccountLabelsRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListAccountLabelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListAccountLabelsRequest"; - }; - - return ListAccountLabelsRequest; - })(); - - v1.ListAccountLabelsResponse = (function() { - - /** - * Properties of a ListAccountLabelsResponse. - * @memberof google.shopping.css.v1 - * @interface IListAccountLabelsResponse - * @property {Array.|null} [accountLabels] ListAccountLabelsResponse accountLabels - * @property {string|null} [nextPageToken] ListAccountLabelsResponse nextPageToken - */ - - /** - * Constructs a new ListAccountLabelsResponse. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListAccountLabelsResponse. - * @implements IListAccountLabelsResponse - * @constructor - * @param {google.shopping.css.v1.IListAccountLabelsResponse=} [properties] Properties to set - */ - function ListAccountLabelsResponse(properties) { - this.accountLabels = []; - 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]]; - } - - /** - * ListAccountLabelsResponse accountLabels. - * @member {Array.} accountLabels - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @instance - */ - ListAccountLabelsResponse.prototype.accountLabels = $util.emptyArray; - - /** - * ListAccountLabelsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @instance - */ - ListAccountLabelsResponse.prototype.nextPageToken = ""; - - /** - * Creates a new ListAccountLabelsResponse instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {google.shopping.css.v1.IListAccountLabelsResponse=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse instance - */ - ListAccountLabelsResponse.create = function create(properties) { - return new ListAccountLabelsResponse(properties); - }; - - /** - * Encodes the specified ListAccountLabelsResponse message. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {google.shopping.css.v1.IListAccountLabelsResponse} message ListAccountLabelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAccountLabelsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.accountLabels != null && message.accountLabels.length) - for (var i = 0; i < message.accountLabels.length; ++i) - $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabels[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 ListAccountLabelsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListAccountLabelsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {google.shopping.css.v1.IListAccountLabelsResponse} message ListAccountLabelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAccountLabelsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListAccountLabelsResponse message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAccountLabelsResponse.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.css.v1.ListAccountLabelsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.accountLabels && message.accountLabels.length)) - message.accountLabels = []; - message.accountLabels.push($root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32())); - break; - } - case 2: { - message.nextPageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListAccountLabelsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAccountLabelsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListAccountLabelsResponse message. - * @function verify - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListAccountLabelsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.accountLabels != null && message.hasOwnProperty("accountLabels")) { - if (!Array.isArray(message.accountLabels)) - return "accountLabels: array expected"; - for (var i = 0; i < message.accountLabels.length; ++i) { - var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabels[i]); - if (error) - return "accountLabels." + error; - } - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; - return null; - }; - - /** - * Creates a ListAccountLabelsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListAccountLabelsResponse} ListAccountLabelsResponse - */ - ListAccountLabelsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListAccountLabelsResponse) - return object; - var message = new $root.google.shopping.css.v1.ListAccountLabelsResponse(); - if (object.accountLabels) { - if (!Array.isArray(object.accountLabels)) - throw TypeError(".google.shopping.css.v1.ListAccountLabelsResponse.accountLabels: array expected"); - message.accountLabels = []; - for (var i = 0; i < object.accountLabels.length; ++i) { - if (typeof object.accountLabels[i] !== "object") - throw TypeError(".google.shopping.css.v1.ListAccountLabelsResponse.accountLabels: object expected"); - message.accountLabels[i] = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabels[i]); - } - } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); - return message; - }; - - /** - * Creates a plain object from a ListAccountLabelsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {google.shopping.css.v1.ListAccountLabelsResponse} message ListAccountLabelsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListAccountLabelsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.accountLabels = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.accountLabels && message.accountLabels.length) { - object.accountLabels = []; - for (var j = 0; j < message.accountLabels.length; ++j) - object.accountLabels[j] = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabels[j], options); - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; - return object; - }; - - /** - * Converts this ListAccountLabelsResponse to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @instance - * @returns {Object.} JSON object - */ - ListAccountLabelsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListAccountLabelsResponse - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListAccountLabelsResponse - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListAccountLabelsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListAccountLabelsResponse"; - }; - - return ListAccountLabelsResponse; - })(); - - v1.CreateAccountLabelRequest = (function() { - - /** - * Properties of a CreateAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @interface ICreateAccountLabelRequest - * @property {string|null} [parent] CreateAccountLabelRequest parent - * @property {google.shopping.css.v1.IAccountLabel|null} [accountLabel] CreateAccountLabelRequest accountLabel - */ - - /** - * Constructs a new CreateAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CreateAccountLabelRequest. - * @implements ICreateAccountLabelRequest - * @constructor - * @param {google.shopping.css.v1.ICreateAccountLabelRequest=} [properties] Properties to set - */ - function CreateAccountLabelRequest(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]]; - } - - /** - * CreateAccountLabelRequest parent. - * @member {string} parent - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @instance - */ - CreateAccountLabelRequest.prototype.parent = ""; - - /** - * CreateAccountLabelRequest accountLabel. - * @member {google.shopping.css.v1.IAccountLabel|null|undefined} accountLabel - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @instance - */ - CreateAccountLabelRequest.prototype.accountLabel = null; - - /** - * Creates a new CreateAccountLabelRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.ICreateAccountLabelRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest instance - */ - CreateAccountLabelRequest.create = function create(properties) { - return new CreateAccountLabelRequest(properties); - }; - - /** - * Encodes the specified CreateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.ICreateAccountLabelRequest} message CreateAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CreateAccountLabelRequest.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.accountLabel != null && Object.hasOwnProperty.call(message, "accountLabel")) - $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabel, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CreateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.CreateAccountLabelRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.ICreateAccountLabelRequest} message CreateAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CreateAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CreateAccountLabelRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CreateAccountLabelRequest.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.css.v1.CreateAccountLabelRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.parent = reader.string(); - break; - } - case 2: { - message.accountLabel = $root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CreateAccountLabelRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CreateAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CreateAccountLabelRequest message. - * @function verify - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CreateAccountLabelRequest.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.accountLabel != null && message.hasOwnProperty("accountLabel")) { - var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabel); - if (error) - return "accountLabel." + error; - } - return null; - }; - - /** - * Creates a CreateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CreateAccountLabelRequest} CreateAccountLabelRequest - */ - CreateAccountLabelRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CreateAccountLabelRequest) - return object; - var message = new $root.google.shopping.css.v1.CreateAccountLabelRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.accountLabel != null) { - if (typeof object.accountLabel !== "object") - throw TypeError(".google.shopping.css.v1.CreateAccountLabelRequest.accountLabel: object expected"); - message.accountLabel = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabel); - } - return message; - }; - - /** - * Creates a plain object from a CreateAccountLabelRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.CreateAccountLabelRequest} message CreateAccountLabelRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CreateAccountLabelRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.parent = ""; - object.accountLabel = null; - } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) - object.accountLabel = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabel, options); - return object; - }; - - /** - * Converts this CreateAccountLabelRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @instance - * @returns {Object.} JSON object - */ - CreateAccountLabelRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CreateAccountLabelRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.CreateAccountLabelRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CreateAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.CreateAccountLabelRequest"; - }; - - return CreateAccountLabelRequest; - })(); - - v1.UpdateAccountLabelRequest = (function() { - - /** - * Properties of an UpdateAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @interface IUpdateAccountLabelRequest - * @property {google.shopping.css.v1.IAccountLabel|null} [accountLabel] UpdateAccountLabelRequest accountLabel - */ - - /** - * Constructs a new UpdateAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents an UpdateAccountLabelRequest. - * @implements IUpdateAccountLabelRequest - * @constructor - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest=} [properties] Properties to set - */ - function UpdateAccountLabelRequest(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]]; - } - - /** - * UpdateAccountLabelRequest accountLabel. - * @member {google.shopping.css.v1.IAccountLabel|null|undefined} accountLabel - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @instance - */ - UpdateAccountLabelRequest.prototype.accountLabel = null; - - /** - * Creates a new UpdateAccountLabelRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest instance - */ - UpdateAccountLabelRequest.create = function create(properties) { - return new UpdateAccountLabelRequest(properties); - }; - - /** - * Encodes the specified UpdateAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} message UpdateAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateAccountLabelRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.accountLabel != null && Object.hasOwnProperty.call(message, "accountLabel")) - $root.google.shopping.css.v1.AccountLabel.encode(message.accountLabel, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified UpdateAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateAccountLabelRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IUpdateAccountLabelRequest} message UpdateAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateAccountLabelRequest.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.css.v1.UpdateAccountLabelRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.accountLabel = $root.google.shopping.css.v1.AccountLabel.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UpdateAccountLabelRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UpdateAccountLabelRequest message. - * @function verify - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UpdateAccountLabelRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) { - var error = $root.google.shopping.css.v1.AccountLabel.verify(message.accountLabel); - if (error) - return "accountLabel." + error; - } - return null; - }; - - /** - * Creates an UpdateAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.UpdateAccountLabelRequest} UpdateAccountLabelRequest - */ - UpdateAccountLabelRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.UpdateAccountLabelRequest) - return object; - var message = new $root.google.shopping.css.v1.UpdateAccountLabelRequest(); - if (object.accountLabel != null) { - if (typeof object.accountLabel !== "object") - throw TypeError(".google.shopping.css.v1.UpdateAccountLabelRequest.accountLabel: object expected"); - message.accountLabel = $root.google.shopping.css.v1.AccountLabel.fromObject(object.accountLabel); - } - return message; - }; - - /** - * Creates a plain object from an UpdateAccountLabelRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {google.shopping.css.v1.UpdateAccountLabelRequest} message UpdateAccountLabelRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UpdateAccountLabelRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.accountLabel = null; - if (message.accountLabel != null && message.hasOwnProperty("accountLabel")) - object.accountLabel = $root.google.shopping.css.v1.AccountLabel.toObject(message.accountLabel, options); - return object; - }; - - /** - * Converts this UpdateAccountLabelRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @instance - * @returns {Object.} JSON object - */ - UpdateAccountLabelRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UpdateAccountLabelRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.UpdateAccountLabelRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UpdateAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.UpdateAccountLabelRequest"; - }; - - return UpdateAccountLabelRequest; - })(); - - v1.DeleteAccountLabelRequest = (function() { - - /** - * Properties of a DeleteAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @interface IDeleteAccountLabelRequest - * @property {string|null} [name] DeleteAccountLabelRequest name - */ - - /** - * Constructs a new DeleteAccountLabelRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a DeleteAccountLabelRequest. - * @implements IDeleteAccountLabelRequest - * @constructor - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest=} [properties] Properties to set - */ - function DeleteAccountLabelRequest(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]]; - } - - /** - * DeleteAccountLabelRequest name. - * @member {string} name - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @instance - */ - DeleteAccountLabelRequest.prototype.name = ""; - - /** - * Creates a new DeleteAccountLabelRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest instance - */ - DeleteAccountLabelRequest.create = function create(properties) { - return new DeleteAccountLabelRequest(properties); - }; - - /** - * Encodes the specified DeleteAccountLabelRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} message DeleteAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteAccountLabelRequest.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 DeleteAccountLabelRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteAccountLabelRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {google.shopping.css.v1.IDeleteAccountLabelRequest} message DeleteAccountLabelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteAccountLabelRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DeleteAccountLabelRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteAccountLabelRequest.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.css.v1.DeleteAccountLabelRequest(); - 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 DeleteAccountLabelRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteAccountLabelRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DeleteAccountLabelRequest message. - * @function verify - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DeleteAccountLabelRequest.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 DeleteAccountLabelRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.DeleteAccountLabelRequest} DeleteAccountLabelRequest - */ - DeleteAccountLabelRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.DeleteAccountLabelRequest) - return object; - var message = new $root.google.shopping.css.v1.DeleteAccountLabelRequest(); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from a DeleteAccountLabelRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {google.shopping.css.v1.DeleteAccountLabelRequest} message DeleteAccountLabelRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DeleteAccountLabelRequest.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 DeleteAccountLabelRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @instance - * @returns {Object.} JSON object - */ - DeleteAccountLabelRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DeleteAccountLabelRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.DeleteAccountLabelRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DeleteAccountLabelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.DeleteAccountLabelRequest"; - }; - - return DeleteAccountLabelRequest; - })(); - - v1.Attributes = (function() { - - /** - * Properties of an Attributes. - * @memberof google.shopping.css.v1 - * @interface IAttributes - * @property {string|null} [cppLink] Attributes cppLink - * @property {string|null} [cppMobileLink] Attributes cppMobileLink - * @property {string|null} [cppAdsRedirect] Attributes cppAdsRedirect - * @property {google.shopping.type.IPrice|null} [lowPrice] Attributes lowPrice - * @property {google.shopping.type.IPrice|null} [highPrice] Attributes highPrice - * @property {number|Long|null} [numberOfOffers] Attributes numberOfOffers - * @property {string|null} [headlineOfferCondition] Attributes headlineOfferCondition - * @property {google.shopping.type.IPrice|null} [headlineOfferPrice] Attributes headlineOfferPrice - * @property {string|null} [headlineOfferLink] Attributes headlineOfferLink - * @property {string|null} [headlineOfferMobileLink] Attributes headlineOfferMobileLink - * @property {google.shopping.type.IPrice|null} [headlineOfferShippingPrice] Attributes headlineOfferShippingPrice - * @property {string|null} [title] Attributes title - * @property {string|null} [imageLink] Attributes imageLink - * @property {Array.|null} [additionalImageLinks] Attributes additionalImageLinks - * @property {string|null} [description] Attributes description - * @property {string|null} [brand] Attributes brand - * @property {string|null} [mpn] Attributes mpn - * @property {string|null} [gtin] Attributes gtin - * @property {Array.|null} [productTypes] Attributes productTypes - * @property {string|null} [googleProductCategory] Attributes googleProductCategory - * @property {boolean|null} [adult] Attributes adult - * @property {number|Long|null} [multipack] Attributes multipack - * @property {boolean|null} [isBundle] Attributes isBundle - * @property {string|null} [ageGroup] Attributes ageGroup - * @property {string|null} [color] Attributes color - * @property {string|null} [gender] Attributes gender - * @property {string|null} [material] Attributes material - * @property {string|null} [pattern] Attributes pattern - * @property {string|null} [size] Attributes size - * @property {string|null} [sizeSystem] Attributes sizeSystem - * @property {Array.|null} [sizeTypes] Attributes sizeTypes - * @property {string|null} [itemGroupId] Attributes itemGroupId - * @property {Array.|null} [productDetails] Attributes productDetails - * @property {google.shopping.css.v1.IProductWeight|null} [productWeight] Attributes productWeight - * @property {google.shopping.css.v1.IProductDimension|null} [productLength] Attributes productLength - * @property {google.shopping.css.v1.IProductDimension|null} [productWidth] Attributes productWidth - * @property {google.shopping.css.v1.IProductDimension|null} [productHeight] Attributes productHeight - * @property {Array.|null} [productHighlights] Attributes productHighlights - * @property {Array.|null} [certifications] Attributes certifications - * @property {google.protobuf.ITimestamp|null} [expirationDate] Attributes expirationDate - * @property {Array.|null} [includedDestinations] Attributes includedDestinations - * @property {Array.|null} [excludedDestinations] Attributes excludedDestinations - * @property {string|null} [pause] Attributes pause - * @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 {google.shopping.css.v1.IHeadlineOfferInstallment|null} [headlineOfferInstallment] Attributes headlineOfferInstallment - * @property {google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null} [headlineOfferSubscriptionCost] Attributes headlineOfferSubscriptionCost - */ - - /** - * Constructs a new Attributes. - * @memberof google.shopping.css.v1 - * @classdesc Represents an Attributes. - * @implements IAttributes - * @constructor - * @param {google.shopping.css.v1.IAttributes=} [properties] Properties to set - */ - function Attributes(properties) { - this.additionalImageLinks = []; - this.productTypes = []; - this.sizeTypes = []; - this.productDetails = []; - this.productHighlights = []; - this.certifications = []; - this.includedDestinations = []; - this.excludedDestinations = []; - 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 cppLink. - * @member {string|null|undefined} cppLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.cppLink = null; - - /** - * Attributes cppMobileLink. - * @member {string|null|undefined} cppMobileLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.cppMobileLink = null; - - /** - * Attributes cppAdsRedirect. - * @member {string|null|undefined} cppAdsRedirect - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.cppAdsRedirect = null; - - /** - * Attributes lowPrice. - * @member {google.shopping.type.IPrice|null|undefined} lowPrice - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.lowPrice = null; - - /** - * Attributes highPrice. - * @member {google.shopping.type.IPrice|null|undefined} highPrice - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.highPrice = null; - - /** - * Attributes numberOfOffers. - * @member {number|Long|null|undefined} numberOfOffers - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.numberOfOffers = null; - - /** - * Attributes headlineOfferCondition. - * @member {string|null|undefined} headlineOfferCondition - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferCondition = null; - - /** - * Attributes headlineOfferPrice. - * @member {google.shopping.type.IPrice|null|undefined} headlineOfferPrice - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferPrice = null; - - /** - * Attributes headlineOfferLink. - * @member {string|null|undefined} headlineOfferLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferLink = null; - - /** - * Attributes headlineOfferMobileLink. - * @member {string|null|undefined} headlineOfferMobileLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferMobileLink = null; - - /** - * Attributes headlineOfferShippingPrice. - * @member {google.shopping.type.IPrice|null|undefined} headlineOfferShippingPrice - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferShippingPrice = null; - - /** - * Attributes title. - * @member {string|null|undefined} title - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.title = null; - - /** - * Attributes imageLink. - * @member {string|null|undefined} imageLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.imageLink = null; - - /** - * Attributes additionalImageLinks. - * @member {Array.} additionalImageLinks - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.additionalImageLinks = $util.emptyArray; - - /** - * Attributes description. - * @member {string|null|undefined} description - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.description = null; - - /** - * Attributes brand. - * @member {string|null|undefined} brand - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.brand = null; - - /** - * Attributes mpn. - * @member {string|null|undefined} mpn - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.mpn = null; - - /** - * Attributes gtin. - * @member {string|null|undefined} gtin - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.gtin = null; - - /** - * Attributes productTypes. - * @member {Array.} productTypes - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productTypes = $util.emptyArray; - - /** - * Attributes googleProductCategory. - * @member {string|null|undefined} googleProductCategory - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.googleProductCategory = null; - - /** - * Attributes adult. - * @member {boolean|null|undefined} adult - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.adult = null; - - /** - * Attributes multipack. - * @member {number|Long|null|undefined} multipack - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.multipack = null; - - /** - * Attributes isBundle. - * @member {boolean|null|undefined} isBundle - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.isBundle = null; - - /** - * Attributes ageGroup. - * @member {string|null|undefined} ageGroup - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.ageGroup = null; - - /** - * Attributes color. - * @member {string|null|undefined} color - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.color = null; - - /** - * Attributes gender. - * @member {string|null|undefined} gender - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.gender = null; - - /** - * Attributes material. - * @member {string|null|undefined} material - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.material = null; - - /** - * Attributes pattern. - * @member {string|null|undefined} pattern - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.pattern = null; - - /** - * Attributes size. - * @member {string|null|undefined} size - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.size = null; - - /** - * Attributes sizeSystem. - * @member {string|null|undefined} sizeSystem - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.sizeSystem = null; - - /** - * Attributes sizeTypes. - * @member {Array.} sizeTypes - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.sizeTypes = $util.emptyArray; - - /** - * Attributes itemGroupId. - * @member {string|null|undefined} itemGroupId - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.itemGroupId = null; - - /** - * Attributes productDetails. - * @member {Array.} productDetails - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productDetails = $util.emptyArray; - - /** - * Attributes productWeight. - * @member {google.shopping.css.v1.IProductWeight|null|undefined} productWeight - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productWeight = null; - - /** - * Attributes productLength. - * @member {google.shopping.css.v1.IProductDimension|null|undefined} productLength - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productLength = null; - - /** - * Attributes productWidth. - * @member {google.shopping.css.v1.IProductDimension|null|undefined} productWidth - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productWidth = null; - - /** - * Attributes productHeight. - * @member {google.shopping.css.v1.IProductDimension|null|undefined} productHeight - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productHeight = null; - - /** - * Attributes productHighlights. - * @member {Array.} productHighlights - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.productHighlights = $util.emptyArray; - - /** - * Attributes certifications. - * @member {Array.} certifications - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.certifications = $util.emptyArray; - - /** - * Attributes expirationDate. - * @member {google.protobuf.ITimestamp|null|undefined} expirationDate - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.expirationDate = null; - - /** - * Attributes includedDestinations. - * @member {Array.} includedDestinations - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.includedDestinations = $util.emptyArray; - - /** - * Attributes excludedDestinations. - * @member {Array.} excludedDestinations - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.excludedDestinations = $util.emptyArray; - - /** - * Attributes pause. - * @member {string|null|undefined} pause - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.pause = null; - - /** - * Attributes customLabel_0. - * @member {string|null|undefined} customLabel_0 - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.customLabel_0 = null; - - /** - * Attributes customLabel_1. - * @member {string|null|undefined} customLabel_1 - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.customLabel_1 = null; - - /** - * Attributes customLabel_2. - * @member {string|null|undefined} customLabel_2 - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.customLabel_2 = null; - - /** - * Attributes customLabel_3. - * @member {string|null|undefined} customLabel_3 - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.customLabel_3 = null; - - /** - * Attributes customLabel_4. - * @member {string|null|undefined} customLabel_4 - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.customLabel_4 = null; - - /** - * Attributes headlineOfferInstallment. - * @member {google.shopping.css.v1.IHeadlineOfferInstallment|null|undefined} headlineOfferInstallment - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferInstallment = null; - - /** - * Attributes headlineOfferSubscriptionCost. - * @member {google.shopping.css.v1.IHeadlineOfferSubscriptionCost|null|undefined} headlineOfferSubscriptionCost - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Attributes.prototype.headlineOfferSubscriptionCost = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * Attributes _cppLink. - * @member {"cppLink"|undefined} _cppLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_cppLink", { - get: $util.oneOfGetter($oneOfFields = ["cppLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _cppMobileLink. - * @member {"cppMobileLink"|undefined} _cppMobileLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_cppMobileLink", { - get: $util.oneOfGetter($oneOfFields = ["cppMobileLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _cppAdsRedirect. - * @member {"cppAdsRedirect"|undefined} _cppAdsRedirect - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_cppAdsRedirect", { - get: $util.oneOfGetter($oneOfFields = ["cppAdsRedirect"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _numberOfOffers. - * @member {"numberOfOffers"|undefined} _numberOfOffers - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_numberOfOffers", { - get: $util.oneOfGetter($oneOfFields = ["numberOfOffers"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _headlineOfferCondition. - * @member {"headlineOfferCondition"|undefined} _headlineOfferCondition - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_headlineOfferCondition", { - get: $util.oneOfGetter($oneOfFields = ["headlineOfferCondition"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _headlineOfferLink. - * @member {"headlineOfferLink"|undefined} _headlineOfferLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_headlineOfferLink", { - get: $util.oneOfGetter($oneOfFields = ["headlineOfferLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _headlineOfferMobileLink. - * @member {"headlineOfferMobileLink"|undefined} _headlineOfferMobileLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_headlineOfferMobileLink", { - get: $util.oneOfGetter($oneOfFields = ["headlineOfferMobileLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _title. - * @member {"title"|undefined} _title - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_title", { - get: $util.oneOfGetter($oneOfFields = ["title"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _imageLink. - * @member {"imageLink"|undefined} _imageLink - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_imageLink", { - get: $util.oneOfGetter($oneOfFields = ["imageLink"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _description. - * @member {"description"|undefined} _description - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_description", { - get: $util.oneOfGetter($oneOfFields = ["description"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _brand. - * @member {"brand"|undefined} _brand - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_brand", { - get: $util.oneOfGetter($oneOfFields = ["brand"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _mpn. - * @member {"mpn"|undefined} _mpn - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_mpn", { - get: $util.oneOfGetter($oneOfFields = ["mpn"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _gtin. - * @member {"gtin"|undefined} _gtin - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_gtin", { - get: $util.oneOfGetter($oneOfFields = ["gtin"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _googleProductCategory. - * @member {"googleProductCategory"|undefined} _googleProductCategory - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_googleProductCategory", { - get: $util.oneOfGetter($oneOfFields = ["googleProductCategory"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _adult. - * @member {"adult"|undefined} _adult - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_adult", { - get: $util.oneOfGetter($oneOfFields = ["adult"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _multipack. - * @member {"multipack"|undefined} _multipack - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_multipack", { - get: $util.oneOfGetter($oneOfFields = ["multipack"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _isBundle. - * @member {"isBundle"|undefined} _isBundle - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_isBundle", { - get: $util.oneOfGetter($oneOfFields = ["isBundle"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _ageGroup. - * @member {"ageGroup"|undefined} _ageGroup - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_ageGroup", { - get: $util.oneOfGetter($oneOfFields = ["ageGroup"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _color. - * @member {"color"|undefined} _color - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_color", { - get: $util.oneOfGetter($oneOfFields = ["color"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _gender. - * @member {"gender"|undefined} _gender - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_gender", { - get: $util.oneOfGetter($oneOfFields = ["gender"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _material. - * @member {"material"|undefined} _material - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_material", { - get: $util.oneOfGetter($oneOfFields = ["material"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pattern. - * @member {"pattern"|undefined} _pattern - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pattern", { - get: $util.oneOfGetter($oneOfFields = ["pattern"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _size. - * @member {"size"|undefined} _size - * @memberof google.shopping.css.v1.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.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_sizeSystem", { - get: $util.oneOfGetter($oneOfFields = ["sizeSystem"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _itemGroupId. - * @member {"itemGroupId"|undefined} _itemGroupId - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_itemGroupId", { - get: $util.oneOfGetter($oneOfFields = ["itemGroupId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _pause. - * @member {"pause"|undefined} _pause - * @memberof google.shopping.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_pause", { - get: $util.oneOfGetter($oneOfFields = ["pause"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Attributes _customLabel_0. - * @member {"customLabel_0"|undefined} _customLabel_0 - * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.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.css.v1.Attributes - * @instance - */ - Object.defineProperty(Attributes.prototype, "_customLabel_4", { - get: $util.oneOfGetter($oneOfFields = ["customLabel_4"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Attributes instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.Attributes - * @static - * @param {google.shopping.css.v1.IAttributes=} [properties] Properties to set - * @returns {google.shopping.css.v1.Attributes} Attributes instance - */ - Attributes.create = function create(properties) { - return new Attributes(properties); - }; - - /** - * Encodes the specified Attributes message. Does not implicitly {@link google.shopping.css.v1.Attributes.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.Attributes - * @static - * @param {google.shopping.css.v1.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.cppLink != null && Object.hasOwnProperty.call(message, "cppLink")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.cppLink); - if (message.cppMobileLink != null && Object.hasOwnProperty.call(message, "cppMobileLink")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.cppMobileLink); - if (message.lowPrice != null && Object.hasOwnProperty.call(message, "lowPrice")) - $root.google.shopping.type.Price.encode(message.lowPrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.highPrice != null && Object.hasOwnProperty.call(message, "highPrice")) - $root.google.shopping.type.Price.encode(message.highPrice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.numberOfOffers != null && Object.hasOwnProperty.call(message, "numberOfOffers")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.numberOfOffers); - if (message.headlineOfferCondition != null && Object.hasOwnProperty.call(message, "headlineOfferCondition")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.headlineOfferCondition); - if (message.headlineOfferPrice != null && Object.hasOwnProperty.call(message, "headlineOfferPrice")) - $root.google.shopping.type.Price.encode(message.headlineOfferPrice, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.headlineOfferLink != null && Object.hasOwnProperty.call(message, "headlineOfferLink")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.headlineOfferLink); - if (message.headlineOfferMobileLink != null && Object.hasOwnProperty.call(message, "headlineOfferMobileLink")) - writer.uint32(/* id 9, wireType 2 =*/74).string(message.headlineOfferMobileLink); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.title); - 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.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 13, wireType 2 =*/106).string(message.description); - if (message.brand != null && Object.hasOwnProperty.call(message, "brand")) - writer.uint32(/* id 14, wireType 2 =*/114).string(message.brand); - if (message.mpn != null && Object.hasOwnProperty.call(message, "mpn")) - writer.uint32(/* id 15, wireType 2 =*/122).string(message.mpn); - if (message.gtin != null && Object.hasOwnProperty.call(message, "gtin")) - writer.uint32(/* id 16, wireType 2 =*/130).string(message.gtin); - if (message.googleProductCategory != null && Object.hasOwnProperty.call(message, "googleProductCategory")) - writer.uint32(/* id 17, wireType 2 =*/138).string(message.googleProductCategory); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) - writer.uint32(/* id 18, wireType 0 =*/144).bool(message.adult); - if (message.multipack != null && Object.hasOwnProperty.call(message, "multipack")) - writer.uint32(/* id 19, wireType 0 =*/152).int64(message.multipack); - if (message.isBundle != null && Object.hasOwnProperty.call(message, "isBundle")) - writer.uint32(/* id 20, wireType 0 =*/160).bool(message.isBundle); - if (message.ageGroup != null && Object.hasOwnProperty.call(message, "ageGroup")) - writer.uint32(/* id 21, wireType 2 =*/170).string(message.ageGroup); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) - writer.uint32(/* id 22, wireType 2 =*/178).string(message.color); - if (message.gender != null && Object.hasOwnProperty.call(message, "gender")) - writer.uint32(/* id 23, wireType 2 =*/186).string(message.gender); - if (message.material != null && Object.hasOwnProperty.call(message, "material")) - writer.uint32(/* id 24, wireType 2 =*/194).string(message.material); - if (message.pattern != null && Object.hasOwnProperty.call(message, "pattern")) - writer.uint32(/* id 25, wireType 2 =*/202).string(message.pattern); - if (message.size != null && Object.hasOwnProperty.call(message, "size")) - writer.uint32(/* id 26, wireType 2 =*/210).string(message.size); - if (message.sizeSystem != null && Object.hasOwnProperty.call(message, "sizeSystem")) - writer.uint32(/* id 27, wireType 2 =*/218).string(message.sizeSystem); - if (message.sizeTypes != null && message.sizeTypes.length) - for (var i = 0; i < message.sizeTypes.length; ++i) - writer.uint32(/* id 28, wireType 2 =*/226).string(message.sizeTypes[i]); - if (message.itemGroupId != null && Object.hasOwnProperty.call(message, "itemGroupId")) - writer.uint32(/* id 29, wireType 2 =*/234).string(message.itemGroupId); - if (message.productDetails != null && message.productDetails.length) - for (var i = 0; i < message.productDetails.length; ++i) - $root.google.shopping.css.v1.ProductDetail.encode(message.productDetails[i], writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); - if (message.productWeight != null && Object.hasOwnProperty.call(message, "productWeight")) - $root.google.shopping.css.v1.ProductWeight.encode(message.productWeight, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); - if (message.productLength != null && Object.hasOwnProperty.call(message, "productLength")) - $root.google.shopping.css.v1.ProductDimension.encode(message.productLength, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); - if (message.productWidth != null && Object.hasOwnProperty.call(message, "productWidth")) - $root.google.shopping.css.v1.ProductDimension.encode(message.productWidth, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); - if (message.productHeight != null && Object.hasOwnProperty.call(message, "productHeight")) - $root.google.shopping.css.v1.ProductDimension.encode(message.productHeight, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); - if (message.productHighlights != null && message.productHighlights.length) - for (var i = 0; i < message.productHighlights.length; ++i) - writer.uint32(/* id 35, wireType 2 =*/282).string(message.productHighlights[i]); - if (message.productTypes != null && message.productTypes.length) - for (var i = 0; i < message.productTypes.length; ++i) - writer.uint32(/* id 36, wireType 2 =*/290).string(message.productTypes[i]); - if (message.certifications != null && message.certifications.length) - for (var i = 0; i < message.certifications.length; ++i) - $root.google.shopping.css.v1.Certification.encode(message.certifications[i], writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); - if (message.expirationDate != null && Object.hasOwnProperty.call(message, "expirationDate")) - $root.google.protobuf.Timestamp.encode(message.expirationDate, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); - if (message.headlineOfferShippingPrice != null && Object.hasOwnProperty.call(message, "headlineOfferShippingPrice")) - $root.google.shopping.type.Price.encode(message.headlineOfferShippingPrice, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); - if (message.cppAdsRedirect != null && Object.hasOwnProperty.call(message, "cppAdsRedirect")) - writer.uint32(/* id 42, wireType 2 =*/338).string(message.cppAdsRedirect); - if (message.includedDestinations != null && message.includedDestinations.length) - for (var i = 0; i < message.includedDestinations.length; ++i) - writer.uint32(/* id 43, wireType 2 =*/346).string(message.includedDestinations[i]); - if (message.excludedDestinations != null && message.excludedDestinations.length) - for (var i = 0; i < message.excludedDestinations.length; ++i) - writer.uint32(/* id 44, wireType 2 =*/354).string(message.excludedDestinations[i]); - if (message.pause != null && Object.hasOwnProperty.call(message, "pause")) - writer.uint32(/* id 45, wireType 2 =*/362).string(message.pause); - if (message.customLabel_0 != null && Object.hasOwnProperty.call(message, "customLabel_0")) - writer.uint32(/* id 46, wireType 2 =*/370).string(message.customLabel_0); - if (message.customLabel_1 != null && Object.hasOwnProperty.call(message, "customLabel_1")) - writer.uint32(/* id 47, wireType 2 =*/378).string(message.customLabel_1); - if (message.customLabel_2 != null && Object.hasOwnProperty.call(message, "customLabel_2")) - writer.uint32(/* id 48, wireType 2 =*/386).string(message.customLabel_2); - if (message.customLabel_3 != null && Object.hasOwnProperty.call(message, "customLabel_3")) - writer.uint32(/* id 49, wireType 2 =*/394).string(message.customLabel_3); - if (message.customLabel_4 != null && Object.hasOwnProperty.call(message, "customLabel_4")) - writer.uint32(/* id 50, wireType 2 =*/402).string(message.customLabel_4); - if (message.headlineOfferInstallment != null && Object.hasOwnProperty.call(message, "headlineOfferInstallment")) - $root.google.shopping.css.v1.HeadlineOfferInstallment.encode(message.headlineOfferInstallment, writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); - if (message.headlineOfferSubscriptionCost != null && Object.hasOwnProperty.call(message, "headlineOfferSubscriptionCost")) - $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.encode(message.headlineOfferSubscriptionCost, writer.uint32(/* id 52, wireType 2 =*/418).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Attributes message, length delimited. Does not implicitly {@link google.shopping.css.v1.Attributes.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.Attributes - * @static - * @param {google.shopping.css.v1.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.css.v1.Attributes - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.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.css.v1.Attributes(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.cppLink = reader.string(); - break; - } - case 2: { - message.cppMobileLink = reader.string(); - break; - } - case 42: { - message.cppAdsRedirect = reader.string(); - break; - } - case 3: { - message.lowPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 4: { - message.highPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 5: { - message.numberOfOffers = reader.int64(); - break; - } - case 6: { - message.headlineOfferCondition = reader.string(); - break; - } - case 7: { - message.headlineOfferPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 8: { - message.headlineOfferLink = reader.string(); - break; - } - case 9: { - message.headlineOfferMobileLink = reader.string(); - break; - } - case 41: { - message.headlineOfferShippingPrice = $root.google.shopping.type.Price.decode(reader, reader.uint32()); - break; - } - case 10: { - message.title = 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 13: { - message.description = reader.string(); - break; - } - case 14: { - message.brand = reader.string(); - break; - } - case 15: { - message.mpn = reader.string(); - break; - } - case 16: { - message.gtin = reader.string(); - break; - } - case 36: { - if (!(message.productTypes && message.productTypes.length)) - message.productTypes = []; - message.productTypes.push(reader.string()); - break; - } - case 17: { - message.googleProductCategory = reader.string(); - break; - } - case 18: { - message.adult = reader.bool(); - break; - } - case 19: { - message.multipack = reader.int64(); - break; - } - case 20: { - message.isBundle = reader.bool(); - break; - } - case 21: { - message.ageGroup = reader.string(); - break; - } - case 22: { - message.color = reader.string(); - break; - } - case 23: { - message.gender = reader.string(); - break; - } - case 24: { - message.material = reader.string(); - break; - } - case 25: { - message.pattern = reader.string(); - break; - } - case 26: { - message.size = reader.string(); - break; - } - case 27: { - message.sizeSystem = reader.string(); - break; - } - case 28: { - if (!(message.sizeTypes && message.sizeTypes.length)) - message.sizeTypes = []; - message.sizeTypes.push(reader.string()); - break; - } - case 29: { - message.itemGroupId = reader.string(); - break; - } - case 30: { - if (!(message.productDetails && message.productDetails.length)) - message.productDetails = []; - message.productDetails.push($root.google.shopping.css.v1.ProductDetail.decode(reader, reader.uint32())); - break; - } - case 31: { - message.productWeight = $root.google.shopping.css.v1.ProductWeight.decode(reader, reader.uint32()); - break; - } - case 32: { - message.productLength = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 33: { - message.productWidth = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 34: { - message.productHeight = $root.google.shopping.css.v1.ProductDimension.decode(reader, reader.uint32()); - break; - } - case 35: { - if (!(message.productHighlights && message.productHighlights.length)) - message.productHighlights = []; - message.productHighlights.push(reader.string()); - break; - } - case 39: { - if (!(message.certifications && message.certifications.length)) - message.certifications = []; - message.certifications.push($root.google.shopping.css.v1.Certification.decode(reader, reader.uint32())); - break; - } - case 40: { - message.expirationDate = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 43: { - if (!(message.includedDestinations && message.includedDestinations.length)) - message.includedDestinations = []; - message.includedDestinations.push(reader.string()); - break; - } - case 44: { - if (!(message.excludedDestinations && message.excludedDestinations.length)) - message.excludedDestinations = []; - message.excludedDestinations.push(reader.string()); - break; - } - case 45: { - message.pause = reader.string(); - break; - } - case 46: { - message.customLabel_0 = reader.string(); - break; - } - case 47: { - message.customLabel_1 = reader.string(); - break; - } - case 48: { - message.customLabel_2 = reader.string(); - break; - } - case 49: { - message.customLabel_3 = reader.string(); - break; - } - case 50: { - message.customLabel_4 = reader.string(); - break; - } - case 51: { - message.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.decode(reader, reader.uint32()); - break; - } - case 52: { - message.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.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.css.v1.Attributes - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.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.css.v1.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.cppLink != null && message.hasOwnProperty("cppLink")) { - properties._cppLink = 1; - if (!$util.isString(message.cppLink)) - return "cppLink: string expected"; - } - if (message.cppMobileLink != null && message.hasOwnProperty("cppMobileLink")) { - properties._cppMobileLink = 1; - if (!$util.isString(message.cppMobileLink)) - return "cppMobileLink: string expected"; - } - if (message.cppAdsRedirect != null && message.hasOwnProperty("cppAdsRedirect")) { - properties._cppAdsRedirect = 1; - if (!$util.isString(message.cppAdsRedirect)) - return "cppAdsRedirect: string expected"; - } - if (message.lowPrice != null && message.hasOwnProperty("lowPrice")) { - var error = $root.google.shopping.type.Price.verify(message.lowPrice); - if (error) - return "lowPrice." + error; - } - if (message.highPrice != null && message.hasOwnProperty("highPrice")) { - var error = $root.google.shopping.type.Price.verify(message.highPrice); - if (error) - return "highPrice." + error; - } - if (message.numberOfOffers != null && message.hasOwnProperty("numberOfOffers")) { - properties._numberOfOffers = 1; - if (!$util.isInteger(message.numberOfOffers) && !(message.numberOfOffers && $util.isInteger(message.numberOfOffers.low) && $util.isInteger(message.numberOfOffers.high))) - return "numberOfOffers: integer|Long expected"; - } - if (message.headlineOfferCondition != null && message.hasOwnProperty("headlineOfferCondition")) { - properties._headlineOfferCondition = 1; - if (!$util.isString(message.headlineOfferCondition)) - return "headlineOfferCondition: string expected"; - } - if (message.headlineOfferPrice != null && message.hasOwnProperty("headlineOfferPrice")) { - var error = $root.google.shopping.type.Price.verify(message.headlineOfferPrice); - if (error) - return "headlineOfferPrice." + error; - } - if (message.headlineOfferLink != null && message.hasOwnProperty("headlineOfferLink")) { - properties._headlineOfferLink = 1; - if (!$util.isString(message.headlineOfferLink)) - return "headlineOfferLink: string expected"; - } - if (message.headlineOfferMobileLink != null && message.hasOwnProperty("headlineOfferMobileLink")) { - properties._headlineOfferMobileLink = 1; - if (!$util.isString(message.headlineOfferMobileLink)) - return "headlineOfferMobileLink: string expected"; - } - if (message.headlineOfferShippingPrice != null && message.hasOwnProperty("headlineOfferShippingPrice")) { - var error = $root.google.shopping.type.Price.verify(message.headlineOfferShippingPrice); - if (error) - return "headlineOfferShippingPrice." + error; - } - if (message.title != null && message.hasOwnProperty("title")) { - properties._title = 1; - if (!$util.isString(message.title)) - return "title: 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.description != null && message.hasOwnProperty("description")) { - properties._description = 1; - if (!$util.isString(message.description)) - return "description: string expected"; - } - if (message.brand != null && message.hasOwnProperty("brand")) { - properties._brand = 1; - if (!$util.isString(message.brand)) - return "brand: string expected"; - } - if (message.mpn != null && message.hasOwnProperty("mpn")) { - properties._mpn = 1; - if (!$util.isString(message.mpn)) - return "mpn: string expected"; - } - if (message.gtin != null && message.hasOwnProperty("gtin")) { - properties._gtin = 1; - if (!$util.isString(message.gtin)) - return "gtin: string expected"; - } - 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.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { - properties._googleProductCategory = 1; - if (!$util.isString(message.googleProductCategory)) - return "googleProductCategory: string expected"; - } - if (message.adult != null && message.hasOwnProperty("adult")) { - properties._adult = 1; - if (typeof message.adult !== "boolean") - return "adult: boolean expected"; - } - 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.isBundle != null && message.hasOwnProperty("isBundle")) { - properties._isBundle = 1; - if (typeof message.isBundle !== "boolean") - return "isBundle: boolean expected"; - } - if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { - properties._ageGroup = 1; - if (!$util.isString(message.ageGroup)) - return "ageGroup: string expected"; - } - if (message.color != null && message.hasOwnProperty("color")) { - properties._color = 1; - if (!$util.isString(message.color)) - return "color: string expected"; - } - if (message.gender != null && message.hasOwnProperty("gender")) { - properties._gender = 1; - if (!$util.isString(message.gender)) - return "gender: string expected"; - } - if (message.material != null && message.hasOwnProperty("material")) { - properties._material = 1; - if (!$util.isString(message.material)) - return "material: string expected"; - } - if (message.pattern != null && message.hasOwnProperty("pattern")) { - properties._pattern = 1; - if (!$util.isString(message.pattern)) - return "pattern: 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.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { - properties._itemGroupId = 1; - if (!$util.isString(message.itemGroupId)) - return "itemGroupId: string expected"; - } - 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.css.v1.ProductDetail.verify(message.productDetails[i]); - if (error) - return "productDetails." + error; - } - } - if (message.productWeight != null && message.hasOwnProperty("productWeight")) { - var error = $root.google.shopping.css.v1.ProductWeight.verify(message.productWeight); - if (error) - return "productWeight." + error; - } - if (message.productLength != null && message.hasOwnProperty("productLength")) { - var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productLength); - if (error) - return "productLength." + error; - } - if (message.productWidth != null && message.hasOwnProperty("productWidth")) { - var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productWidth); - if (error) - return "productWidth." + error; - } - if (message.productHeight != null && message.hasOwnProperty("productHeight")) { - var error = $root.google.shopping.css.v1.ProductDimension.verify(message.productHeight); - if (error) - return "productHeight." + 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.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.css.v1.Certification.verify(message.certifications[i]); - if (error) - return "certifications." + error; - } - } - if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) { - var error = $root.google.protobuf.Timestamp.verify(message.expirationDate); - if (error) - return "expirationDate." + error; - } - 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.pause != null && message.hasOwnProperty("pause")) { - properties._pause = 1; - if (!$util.isString(message.pause)) - return "pause: 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.headlineOfferInstallment != null && message.hasOwnProperty("headlineOfferInstallment")) { - var error = $root.google.shopping.css.v1.HeadlineOfferInstallment.verify(message.headlineOfferInstallment); - if (error) - return "headlineOfferInstallment." + error; - } - if (message.headlineOfferSubscriptionCost != null && message.hasOwnProperty("headlineOfferSubscriptionCost")) { - var error = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify(message.headlineOfferSubscriptionCost); - if (error) - return "headlineOfferSubscriptionCost." + error; - } - return null; - }; - - /** - * Creates an Attributes message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.Attributes - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.Attributes} Attributes - */ - Attributes.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.Attributes) - return object; - var message = new $root.google.shopping.css.v1.Attributes(); - if (object.cppLink != null) - message.cppLink = String(object.cppLink); - if (object.cppMobileLink != null) - message.cppMobileLink = String(object.cppMobileLink); - if (object.cppAdsRedirect != null) - message.cppAdsRedirect = String(object.cppAdsRedirect); - if (object.lowPrice != null) { - if (typeof object.lowPrice !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.lowPrice: object expected"); - message.lowPrice = $root.google.shopping.type.Price.fromObject(object.lowPrice); - } - if (object.highPrice != null) { - if (typeof object.highPrice !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.highPrice: object expected"); - message.highPrice = $root.google.shopping.type.Price.fromObject(object.highPrice); - } - if (object.numberOfOffers != null) - if ($util.Long) - (message.numberOfOffers = $util.Long.fromValue(object.numberOfOffers)).unsigned = false; - else if (typeof object.numberOfOffers === "string") - message.numberOfOffers = parseInt(object.numberOfOffers, 10); - else if (typeof object.numberOfOffers === "number") - message.numberOfOffers = object.numberOfOffers; - else if (typeof object.numberOfOffers === "object") - message.numberOfOffers = new $util.LongBits(object.numberOfOffers.low >>> 0, object.numberOfOffers.high >>> 0).toNumber(); - if (object.headlineOfferCondition != null) - message.headlineOfferCondition = String(object.headlineOfferCondition); - if (object.headlineOfferPrice != null) { - if (typeof object.headlineOfferPrice !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferPrice: object expected"); - message.headlineOfferPrice = $root.google.shopping.type.Price.fromObject(object.headlineOfferPrice); - } - if (object.headlineOfferLink != null) - message.headlineOfferLink = String(object.headlineOfferLink); - if (object.headlineOfferMobileLink != null) - message.headlineOfferMobileLink = String(object.headlineOfferMobileLink); - if (object.headlineOfferShippingPrice != null) { - if (typeof object.headlineOfferShippingPrice !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferShippingPrice: object expected"); - message.headlineOfferShippingPrice = $root.google.shopping.type.Price.fromObject(object.headlineOfferShippingPrice); - } - if (object.title != null) - message.title = String(object.title); - if (object.imageLink != null) - message.imageLink = String(object.imageLink); - if (object.additionalImageLinks) { - if (!Array.isArray(object.additionalImageLinks)) - throw TypeError(".google.shopping.css.v1.Attributes.additionalImageLinks: array expected"); - message.additionalImageLinks = []; - for (var i = 0; i < object.additionalImageLinks.length; ++i) - message.additionalImageLinks[i] = String(object.additionalImageLinks[i]); - } - if (object.description != null) - message.description = String(object.description); - if (object.brand != null) - message.brand = String(object.brand); - if (object.mpn != null) - message.mpn = String(object.mpn); - if (object.gtin != null) - message.gtin = String(object.gtin); - if (object.productTypes) { - if (!Array.isArray(object.productTypes)) - throw TypeError(".google.shopping.css.v1.Attributes.productTypes: array expected"); - message.productTypes = []; - for (var i = 0; i < object.productTypes.length; ++i) - message.productTypes[i] = String(object.productTypes[i]); - } - if (object.googleProductCategory != null) - message.googleProductCategory = String(object.googleProductCategory); - if (object.adult != null) - message.adult = Boolean(object.adult); - 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.isBundle != null) - message.isBundle = Boolean(object.isBundle); - if (object.ageGroup != null) - message.ageGroup = String(object.ageGroup); - if (object.color != null) - message.color = String(object.color); - if (object.gender != null) - message.gender = String(object.gender); - if (object.material != null) - message.material = String(object.material); - if (object.pattern != null) - message.pattern = String(object.pattern); - 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.css.v1.Attributes.sizeTypes: array expected"); - message.sizeTypes = []; - for (var i = 0; i < object.sizeTypes.length; ++i) - message.sizeTypes[i] = String(object.sizeTypes[i]); - } - if (object.itemGroupId != null) - message.itemGroupId = String(object.itemGroupId); - if (object.productDetails) { - if (!Array.isArray(object.productDetails)) - throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.productDetails: object expected"); - message.productDetails[i] = $root.google.shopping.css.v1.ProductDetail.fromObject(object.productDetails[i]); - } - } - if (object.productWeight != null) { - if (typeof object.productWeight !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.productWeight: object expected"); - message.productWeight = $root.google.shopping.css.v1.ProductWeight.fromObject(object.productWeight); - } - if (object.productLength != null) { - if (typeof object.productLength !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.productLength: object expected"); - message.productLength = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productLength); - } - if (object.productWidth != null) { - if (typeof object.productWidth !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.productWidth: object expected"); - message.productWidth = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productWidth); - } - if (object.productHeight != null) { - if (typeof object.productHeight !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.productHeight: object expected"); - message.productHeight = $root.google.shopping.css.v1.ProductDimension.fromObject(object.productHeight); - } - if (object.productHighlights) { - if (!Array.isArray(object.productHighlights)) - throw TypeError(".google.shopping.css.v1.Attributes.productHighlights: array expected"); - message.productHighlights = []; - for (var i = 0; i < object.productHighlights.length; ++i) - message.productHighlights[i] = String(object.productHighlights[i]); - } - if (object.certifications) { - if (!Array.isArray(object.certifications)) - throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.certifications: object expected"); - message.certifications[i] = $root.google.shopping.css.v1.Certification.fromObject(object.certifications[i]); - } - } - if (object.expirationDate != null) { - if (typeof object.expirationDate !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.expirationDate: object expected"); - message.expirationDate = $root.google.protobuf.Timestamp.fromObject(object.expirationDate); - } - if (object.includedDestinations) { - if (!Array.isArray(object.includedDestinations)) - throw TypeError(".google.shopping.css.v1.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.css.v1.Attributes.excludedDestinations: array expected"); - message.excludedDestinations = []; - for (var i = 0; i < object.excludedDestinations.length; ++i) - message.excludedDestinations[i] = String(object.excludedDestinations[i]); - } - if (object.pause != null) - message.pause = String(object.pause); - 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.headlineOfferInstallment != null) { - if (typeof object.headlineOfferInstallment !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferInstallment: object expected"); - message.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.fromObject(object.headlineOfferInstallment); - } - if (object.headlineOfferSubscriptionCost != null) { - if (typeof object.headlineOfferSubscriptionCost !== "object") - throw TypeError(".google.shopping.css.v1.Attributes.headlineOfferSubscriptionCost: object expected"); - message.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.fromObject(object.headlineOfferSubscriptionCost); - } - return message; - }; - - /** - * Creates a plain object from an Attributes message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.Attributes - * @static - * @param {google.shopping.css.v1.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.sizeTypes = []; - object.productDetails = []; - object.productHighlights = []; - object.productTypes = []; - object.certifications = []; - object.includedDestinations = []; - object.excludedDestinations = []; - } - if (options.defaults) { - object.lowPrice = null; - object.highPrice = null; - object.headlineOfferPrice = null; - object.productWeight = null; - object.productLength = null; - object.productWidth = null; - object.productHeight = null; - object.expirationDate = null; - object.headlineOfferShippingPrice = null; - object.headlineOfferInstallment = null; - object.headlineOfferSubscriptionCost = null; - } - if (message.cppLink != null && message.hasOwnProperty("cppLink")) { - object.cppLink = message.cppLink; - if (options.oneofs) - object._cppLink = "cppLink"; - } - if (message.cppMobileLink != null && message.hasOwnProperty("cppMobileLink")) { - object.cppMobileLink = message.cppMobileLink; - if (options.oneofs) - object._cppMobileLink = "cppMobileLink"; - } - if (message.lowPrice != null && message.hasOwnProperty("lowPrice")) - object.lowPrice = $root.google.shopping.type.Price.toObject(message.lowPrice, options); - if (message.highPrice != null && message.hasOwnProperty("highPrice")) - object.highPrice = $root.google.shopping.type.Price.toObject(message.highPrice, options); - if (message.numberOfOffers != null && message.hasOwnProperty("numberOfOffers")) { - if (typeof message.numberOfOffers === "number") - object.numberOfOffers = options.longs === String ? String(message.numberOfOffers) : message.numberOfOffers; - else - object.numberOfOffers = options.longs === String ? $util.Long.prototype.toString.call(message.numberOfOffers) : options.longs === Number ? new $util.LongBits(message.numberOfOffers.low >>> 0, message.numberOfOffers.high >>> 0).toNumber() : message.numberOfOffers; - if (options.oneofs) - object._numberOfOffers = "numberOfOffers"; - } - if (message.headlineOfferCondition != null && message.hasOwnProperty("headlineOfferCondition")) { - object.headlineOfferCondition = message.headlineOfferCondition; - if (options.oneofs) - object._headlineOfferCondition = "headlineOfferCondition"; - } - if (message.headlineOfferPrice != null && message.hasOwnProperty("headlineOfferPrice")) - object.headlineOfferPrice = $root.google.shopping.type.Price.toObject(message.headlineOfferPrice, options); - if (message.headlineOfferLink != null && message.hasOwnProperty("headlineOfferLink")) { - object.headlineOfferLink = message.headlineOfferLink; - if (options.oneofs) - object._headlineOfferLink = "headlineOfferLink"; - } - if (message.headlineOfferMobileLink != null && message.hasOwnProperty("headlineOfferMobileLink")) { - object.headlineOfferMobileLink = message.headlineOfferMobileLink; - if (options.oneofs) - object._headlineOfferMobileLink = "headlineOfferMobileLink"; - } - if (message.title != null && message.hasOwnProperty("title")) { - object.title = message.title; - if (options.oneofs) - object._title = "title"; - } - 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.description != null && message.hasOwnProperty("description")) { - object.description = message.description; - if (options.oneofs) - object._description = "description"; - } - if (message.brand != null && message.hasOwnProperty("brand")) { - object.brand = message.brand; - if (options.oneofs) - object._brand = "brand"; - } - if (message.mpn != null && message.hasOwnProperty("mpn")) { - object.mpn = message.mpn; - if (options.oneofs) - object._mpn = "mpn"; - } - if (message.gtin != null && message.hasOwnProperty("gtin")) { - object.gtin = message.gtin; - if (options.oneofs) - object._gtin = "gtin"; - } - if (message.googleProductCategory != null && message.hasOwnProperty("googleProductCategory")) { - object.googleProductCategory = message.googleProductCategory; - if (options.oneofs) - object._googleProductCategory = "googleProductCategory"; - } - if (message.adult != null && message.hasOwnProperty("adult")) { - object.adult = message.adult; - if (options.oneofs) - object._adult = "adult"; - } - 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.isBundle != null && message.hasOwnProperty("isBundle")) { - object.isBundle = message.isBundle; - if (options.oneofs) - object._isBundle = "isBundle"; - } - if (message.ageGroup != null && message.hasOwnProperty("ageGroup")) { - object.ageGroup = message.ageGroup; - if (options.oneofs) - object._ageGroup = "ageGroup"; - } - if (message.color != null && message.hasOwnProperty("color")) { - object.color = message.color; - if (options.oneofs) - object._color = "color"; - } - if (message.gender != null && message.hasOwnProperty("gender")) { - object.gender = message.gender; - if (options.oneofs) - object._gender = "gender"; - } - if (message.material != null && message.hasOwnProperty("material")) { - object.material = message.material; - if (options.oneofs) - object._material = "material"; - } - if (message.pattern != null && message.hasOwnProperty("pattern")) { - object.pattern = message.pattern; - if (options.oneofs) - object._pattern = "pattern"; - } - 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.itemGroupId != null && message.hasOwnProperty("itemGroupId")) { - object.itemGroupId = message.itemGroupId; - if (options.oneofs) - object._itemGroupId = "itemGroupId"; - } - if (message.productDetails && message.productDetails.length) { - object.productDetails = []; - for (var j = 0; j < message.productDetails.length; ++j) - object.productDetails[j] = $root.google.shopping.css.v1.ProductDetail.toObject(message.productDetails[j], options); - } - if (message.productWeight != null && message.hasOwnProperty("productWeight")) - object.productWeight = $root.google.shopping.css.v1.ProductWeight.toObject(message.productWeight, options); - if (message.productLength != null && message.hasOwnProperty("productLength")) - object.productLength = $root.google.shopping.css.v1.ProductDimension.toObject(message.productLength, options); - if (message.productWidth != null && message.hasOwnProperty("productWidth")) - object.productWidth = $root.google.shopping.css.v1.ProductDimension.toObject(message.productWidth, options); - if (message.productHeight != null && message.hasOwnProperty("productHeight")) - object.productHeight = $root.google.shopping.css.v1.ProductDimension.toObject(message.productHeight, 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.productTypes && message.productTypes.length) { - object.productTypes = []; - for (var j = 0; j < message.productTypes.length; ++j) - object.productTypes[j] = message.productTypes[j]; - } - if (message.certifications && message.certifications.length) { - object.certifications = []; - for (var j = 0; j < message.certifications.length; ++j) - object.certifications[j] = $root.google.shopping.css.v1.Certification.toObject(message.certifications[j], options); - } - if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) - object.expirationDate = $root.google.protobuf.Timestamp.toObject(message.expirationDate, options); - if (message.headlineOfferShippingPrice != null && message.hasOwnProperty("headlineOfferShippingPrice")) - object.headlineOfferShippingPrice = $root.google.shopping.type.Price.toObject(message.headlineOfferShippingPrice, options); - if (message.cppAdsRedirect != null && message.hasOwnProperty("cppAdsRedirect")) { - object.cppAdsRedirect = message.cppAdsRedirect; - if (options.oneofs) - object._cppAdsRedirect = "cppAdsRedirect"; - } - 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.pause != null && message.hasOwnProperty("pause")) { - object.pause = message.pause; - if (options.oneofs) - object._pause = "pause"; - } - 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.headlineOfferInstallment != null && message.hasOwnProperty("headlineOfferInstallment")) - object.headlineOfferInstallment = $root.google.shopping.css.v1.HeadlineOfferInstallment.toObject(message.headlineOfferInstallment, options); - if (message.headlineOfferSubscriptionCost != null && message.hasOwnProperty("headlineOfferSubscriptionCost")) - object.headlineOfferSubscriptionCost = $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost.toObject(message.headlineOfferSubscriptionCost, options); - return object; - }; - - /** - * Converts this Attributes to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.Attributes"; - }; - - return Attributes; - })(); - - v1.Certification = (function() { - - /** - * Properties of a Certification. - * @memberof google.shopping.css.v1 - * @interface ICertification - * @property {string|null} [name] Certification name - * @property {string|null} [authority] Certification authority - * @property {string|null} [code] Certification code - */ - - /** - * Constructs a new Certification. - * @memberof google.shopping.css.v1 - * @classdesc Represents a Certification. - * @implements ICertification - * @constructor - * @param {google.shopping.css.v1.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 name. - * @member {string} name - * @memberof google.shopping.css.v1.Certification - * @instance - */ - Certification.prototype.name = ""; - - /** - * Certification authority. - * @member {string} authority - * @memberof google.shopping.css.v1.Certification - * @instance - */ - Certification.prototype.authority = ""; - - /** - * Certification code. - * @member {string} code - * @memberof google.shopping.css.v1.Certification - * @instance - */ - Certification.prototype.code = ""; - - /** - * Creates a new Certification instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.Certification - * @static - * @param {google.shopping.css.v1.ICertification=} [properties] Properties to set - * @returns {google.shopping.css.v1.Certification} Certification instance - */ - Certification.create = function create(properties) { - return new Certification(properties); - }; - - /** - * Encodes the specified Certification message. Does not implicitly {@link google.shopping.css.v1.Certification.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.Certification - * @static - * @param {google.shopping.css.v1.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.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.authority != null && Object.hasOwnProperty.call(message, "authority")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.authority); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.code); - return writer; - }; - - /** - * Encodes the specified Certification message, length delimited. Does not implicitly {@link google.shopping.css.v1.Certification.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.Certification - * @static - * @param {google.shopping.css.v1.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.css.v1.Certification - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.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.css.v1.Certification(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.authority = reader.string(); - break; - } - case 3: { - message.code = 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.css.v1.Certification - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.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.css.v1.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"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.authority != null && message.hasOwnProperty("authority")) - if (!$util.isString(message.authority)) - return "authority: string expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isString(message.code)) - return "code: 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.css.v1.Certification - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.Certification} Certification - */ - Certification.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.Certification) - return object; - var message = new $root.google.shopping.css.v1.Certification(); - if (object.name != null) - message.name = String(object.name); - if (object.authority != null) - message.authority = String(object.authority); - if (object.code != null) - message.code = String(object.code); - return message; - }; - - /** - * Creates a plain object from a Certification message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.Certification - * @static - * @param {google.shopping.css.v1.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 (options.defaults) { - object.name = ""; - object.authority = ""; - object.code = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.authority != null && message.hasOwnProperty("authority")) - object.authority = message.authority; - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - return object; - }; - - /** - * Converts this Certification to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.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.css.v1.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.css.v1.Certification"; - }; - - return Certification; - })(); - - v1.ProductDetail = (function() { - - /** - * Properties of a ProductDetail. - * @memberof google.shopping.css.v1 - * @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.css.v1 - * @classdesc Represents a ProductDetail. - * @implements IProductDetail - * @constructor - * @param {google.shopping.css.v1.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.css.v1.ProductDetail - * @instance - */ - ProductDetail.prototype.sectionName = ""; - - /** - * ProductDetail attributeName. - * @member {string} attributeName - * @memberof google.shopping.css.v1.ProductDetail - * @instance - */ - ProductDetail.prototype.attributeName = ""; - - /** - * ProductDetail attributeValue. - * @member {string} attributeValue - * @memberof google.shopping.css.v1.ProductDetail - * @instance - */ - ProductDetail.prototype.attributeValue = ""; - - /** - * Creates a new ProductDetail instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ProductDetail - * @static - * @param {google.shopping.css.v1.IProductDetail=} [properties] Properties to set - * @returns {google.shopping.css.v1.ProductDetail} ProductDetail instance - */ - ProductDetail.create = function create(properties) { - return new ProductDetail(properties); - }; - - /** - * Encodes the specified ProductDetail message. Does not implicitly {@link google.shopping.css.v1.ProductDetail.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ProductDetail - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductDetail.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ProductDetail - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductDetail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDetail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDetail - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ProductDetail} ProductDetail - */ - ProductDetail.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ProductDetail) - return object; - var message = new $root.google.shopping.css.v1.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.css.v1.ProductDetail - * @static - * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductDetail"; - }; - - return ProductDetail; - })(); - - v1.ProductDimension = (function() { - - /** - * Properties of a ProductDimension. - * @memberof google.shopping.css.v1 - * @interface IProductDimension - * @property {number|null} [value] ProductDimension value - * @property {string|null} [unit] ProductDimension unit - */ - - /** - * Constructs a new ProductDimension. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ProductDimension. - * @implements IProductDimension - * @constructor - * @param {google.shopping.css.v1.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.css.v1.ProductDimension - * @instance - */ - ProductDimension.prototype.value = 0; - - /** - * ProductDimension unit. - * @member {string} unit - * @memberof google.shopping.css.v1.ProductDimension - * @instance - */ - ProductDimension.prototype.unit = ""; - - /** - * Creates a new ProductDimension instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ProductDimension - * @static - * @param {google.shopping.css.v1.IProductDimension=} [properties] Properties to set - * @returns {google.shopping.css.v1.ProductDimension} ProductDimension instance - */ - ProductDimension.create = function create(properties) { - return new ProductDimension(properties); - }; - - /** - * Encodes the specified ProductDimension message. Does not implicitly {@link google.shopping.css.v1.ProductDimension.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ProductDimension - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductDimension.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ProductDimension - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDimension - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductDimension - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ProductDimension} ProductDimension - */ - ProductDimension.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ProductDimension) - return object; - var message = new $root.google.shopping.css.v1.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.css.v1.ProductDimension - * @static - * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductDimension"; - }; - - return ProductDimension; - })(); - - v1.ProductWeight = (function() { - - /** - * Properties of a ProductWeight. - * @memberof google.shopping.css.v1 - * @interface IProductWeight - * @property {number|null} [value] ProductWeight value - * @property {string|null} [unit] ProductWeight unit - */ - - /** - * Constructs a new ProductWeight. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ProductWeight. - * @implements IProductWeight - * @constructor - * @param {google.shopping.css.v1.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.css.v1.ProductWeight - * @instance - */ - ProductWeight.prototype.value = 0; - - /** - * ProductWeight unit. - * @member {string} unit - * @memberof google.shopping.css.v1.ProductWeight - * @instance - */ - ProductWeight.prototype.unit = ""; - - /** - * Creates a new ProductWeight instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ProductWeight - * @static - * @param {google.shopping.css.v1.IProductWeight=} [properties] Properties to set - * @returns {google.shopping.css.v1.ProductWeight} ProductWeight instance - */ - ProductWeight.create = function create(properties) { - return new ProductWeight(properties); - }; - - /** - * Encodes the specified ProductWeight message. Does not implicitly {@link google.shopping.css.v1.ProductWeight.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ProductWeight - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductWeight.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ProductWeight - * @static - * @param {google.shopping.css.v1.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.css.v1.ProductWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductWeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.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.css.v1.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.css.v1.ProductWeight - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ProductWeight} ProductWeight - */ - ProductWeight.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ProductWeight) - return object; - var message = new $root.google.shopping.css.v1.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.css.v1.ProductWeight - * @static - * @param {google.shopping.css.v1.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.css.v1.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.css.v1.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.css.v1.ProductWeight"; - }; - - return ProductWeight; - })(); - - v1.CssProductStatus = (function() { - - /** - * Properties of a CssProductStatus. - * @memberof google.shopping.css.v1 - * @interface ICssProductStatus - * @property {Array.|null} [destinationStatuses] CssProductStatus destinationStatuses - * @property {Array.|null} [itemLevelIssues] CssProductStatus itemLevelIssues - * @property {google.protobuf.ITimestamp|null} [creationDate] CssProductStatus creationDate - * @property {google.protobuf.ITimestamp|null} [lastUpdateDate] CssProductStatus lastUpdateDate - * @property {google.protobuf.ITimestamp|null} [googleExpirationDate] CssProductStatus googleExpirationDate - */ - - /** - * Constructs a new CssProductStatus. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CssProductStatus. - * @implements ICssProductStatus - * @constructor - * @param {google.shopping.css.v1.ICssProductStatus=} [properties] Properties to set - */ - function CssProductStatus(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]]; - } - - /** - * CssProductStatus destinationStatuses. - * @member {Array.} destinationStatuses - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - */ - CssProductStatus.prototype.destinationStatuses = $util.emptyArray; - - /** - * CssProductStatus itemLevelIssues. - * @member {Array.} itemLevelIssues - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - */ - CssProductStatus.prototype.itemLevelIssues = $util.emptyArray; - - /** - * CssProductStatus creationDate. - * @member {google.protobuf.ITimestamp|null|undefined} creationDate - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - */ - CssProductStatus.prototype.creationDate = null; - - /** - * CssProductStatus lastUpdateDate. - * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateDate - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - */ - CssProductStatus.prototype.lastUpdateDate = null; - - /** - * CssProductStatus googleExpirationDate. - * @member {google.protobuf.ITimestamp|null|undefined} googleExpirationDate - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - */ - CssProductStatus.prototype.googleExpirationDate = null; - - /** - * Creates a new CssProductStatus instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {google.shopping.css.v1.ICssProductStatus=} [properties] Properties to set - * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus instance - */ - CssProductStatus.create = function create(properties) { - return new CssProductStatus(properties); - }; - - /** - * Encodes the specified CssProductStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {google.shopping.css.v1.ICssProductStatus} message CssProductStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {google.shopping.css.v1.ICssProductStatus} message CssProductStatus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProductStatus.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CssProductStatus message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProductStatus.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.css.v1.CssProductStatus(); - 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.css.v1.CssProductStatus.DestinationStatus.decode(reader, reader.uint32())); - break; - } - case 4: { - if (!(message.itemLevelIssues && message.itemLevelIssues.length)) - message.itemLevelIssues = []; - message.itemLevelIssues.push($root.google.shopping.css.v1.CssProductStatus.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 CssProductStatus message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProductStatus.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CssProductStatus message. - * @function verify - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CssProductStatus} CssProductStatus - */ - CssProductStatus.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CssProductStatus) - return object; - var message = new $root.google.shopping.css.v1.CssProductStatus(); - if (object.destinationStatuses) { - if (!Array.isArray(object.destinationStatuses)) - throw TypeError(".google.shopping.css.v1.CssProductStatus.destinationStatuses: array expected"); - message.destinationStatuses = []; - for (var i = 0; i < object.destinationStatuses.length; ++i) { - if (typeof object.destinationStatuses[i] !== "object") - throw TypeError(".google.shopping.css.v1.CssProductStatus.destinationStatuses: object expected"); - message.destinationStatuses[i] = $root.google.shopping.css.v1.CssProductStatus.DestinationStatus.fromObject(object.destinationStatuses[i]); - } - } - if (object.itemLevelIssues) { - if (!Array.isArray(object.itemLevelIssues)) - throw TypeError(".google.shopping.css.v1.CssProductStatus.itemLevelIssues: array expected"); - message.itemLevelIssues = []; - for (var i = 0; i < object.itemLevelIssues.length; ++i) { - if (typeof object.itemLevelIssues[i] !== "object") - throw TypeError(".google.shopping.css.v1.CssProductStatus.itemLevelIssues: object expected"); - message.itemLevelIssues[i] = $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue.fromObject(object.itemLevelIssues[i]); - } - } - if (object.creationDate != null) { - if (typeof object.creationDate !== "object") - throw TypeError(".google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.googleExpirationDate: object expected"); - message.googleExpirationDate = $root.google.protobuf.Timestamp.fromObject(object.googleExpirationDate); - } - return message; - }; - - /** - * Creates a plain object from a CssProductStatus message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {google.shopping.css.v1.CssProductStatus} message CssProductStatus - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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 CssProductStatus to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.CssProductStatus - * @instance - * @returns {Object.} JSON object - */ - CssProductStatus.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CssProductStatus - * @function getTypeUrl - * @memberof google.shopping.css.v1.CssProductStatus - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CssProductStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.CssProductStatus"; - }; - - CssProductStatus.DestinationStatus = (function() { - - /** - * Properties of a DestinationStatus. - * @memberof google.shopping.css.v1.CssProductStatus - * @interface IDestinationStatus - * @property {string|null} [destination] DestinationStatus destination - * @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.css.v1.CssProductStatus - * @classdesc Represents a DestinationStatus. - * @implements IDestinationStatus - * @constructor - * @param {google.shopping.css.v1.CssProductStatus.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 destination. - * @member {string} destination - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.destination = ""; - - /** - * DestinationStatus approvedCountries. - * @member {Array.} approvedCountries - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.approvedCountries = $util.emptyArray; - - /** - * DestinationStatus pendingCountries. - * @member {Array.} pendingCountries - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.pendingCountries = $util.emptyArray; - - /** - * DestinationStatus disapprovedCountries. - * @member {Array.} disapprovedCountries - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @instance - */ - DestinationStatus.prototype.disapprovedCountries = $util.emptyArray; - - /** - * Creates a new DestinationStatus instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {google.shopping.css.v1.CssProductStatus.IDestinationStatus=} [properties] Properties to set - * @returns {google.shopping.css.v1.CssProductStatus.DestinationStatus} DestinationStatus instance - */ - DestinationStatus.create = function create(properties) { - return new DestinationStatus(properties); - }; - - /** - * Encodes the specified DestinationStatus message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.DestinationStatus.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.destination != null && Object.hasOwnProperty.call(message, "destination")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.destination); - 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.css.v1.CssProductStatus.DestinationStatus.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.destination = reader.string(); - 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.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.destination != null && message.hasOwnProperty("destination")) - if (!$util.isString(message.destination)) - return "destination: string expected"; - 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.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CssProductStatus.DestinationStatus} DestinationStatus - */ - DestinationStatus.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CssProductStatus.DestinationStatus) - return object; - var message = new $root.google.shopping.css.v1.CssProductStatus.DestinationStatus(); - if (object.destination != null) - message.destination = String(object.destination); - if (object.approvedCountries) { - if (!Array.isArray(object.approvedCountries)) - throw TypeError(".google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.destination = ""; - if (message.destination != null && message.hasOwnProperty("destination")) - object.destination = message.destination; - 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.DestinationStatus"; - }; - - return DestinationStatus; - })(); - - CssProductStatus.ItemLevelIssue = (function() { - - /** - * Properties of an ItemLevelIssue. - * @memberof google.shopping.css.v1.CssProductStatus - * @interface IItemLevelIssue - * @property {string|null} [code] ItemLevelIssue code - * @property {string|null} [servability] ItemLevelIssue servability - * @property {string|null} [resolution] ItemLevelIssue resolution - * @property {string|null} [attribute] ItemLevelIssue attribute - * @property {string|null} [destination] ItemLevelIssue destination - * @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.css.v1.CssProductStatus - * @classdesc Represents an ItemLevelIssue. - * @implements IItemLevelIssue - * @constructor - * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.code = ""; - - /** - * ItemLevelIssue servability. - * @member {string} servability - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.servability = ""; - - /** - * ItemLevelIssue resolution. - * @member {string} resolution - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.resolution = ""; - - /** - * ItemLevelIssue attribute. - * @member {string} attribute - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.attribute = ""; - - /** - * ItemLevelIssue destination. - * @member {string} destination - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.destination = ""; - - /** - * ItemLevelIssue description. - * @member {string} description - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.description = ""; - - /** - * ItemLevelIssue detail. - * @member {string} detail - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.detail = ""; - - /** - * ItemLevelIssue documentation. - * @member {string} documentation - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.documentation = ""; - - /** - * ItemLevelIssue applicableCountries. - * @member {Array.} applicableCountries - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @instance - */ - ItemLevelIssue.prototype.applicableCountries = $util.emptyArray; - - /** - * Creates a new ItemLevelIssue instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.css.v1.CssProductStatus.IItemLevelIssue=} [properties] Properties to set - * @returns {google.shopping.css.v1.CssProductStatus.ItemLevelIssue} ItemLevelIssue instance - */ - ItemLevelIssue.create = function create(properties) { - return new ItemLevelIssue(properties); - }; - - /** - * Encodes the specified ItemLevelIssue message. Does not implicitly {@link google.shopping.css.v1.CssProductStatus.ItemLevelIssue.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.servability != null && Object.hasOwnProperty.call(message, "servability")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.servability); - 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.destination != null && Object.hasOwnProperty.call(message, "destination")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.destination); - 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.css.v1.CssProductStatus.ItemLevelIssue.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.code = reader.string(); - break; - } - case 2: { - message.servability = reader.string(); - break; - } - case 3: { - message.resolution = reader.string(); - break; - } - case 4: { - message.attribute = reader.string(); - break; - } - case 5: { - message.destination = reader.string(); - 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.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.servability != null && message.hasOwnProperty("servability")) - if (!$util.isString(message.servability)) - return "servability: string expected"; - 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.destination != null && message.hasOwnProperty("destination")) - if (!$util.isString(message.destination)) - return "destination: string expected"; - 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.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CssProductStatus.ItemLevelIssue} ItemLevelIssue - */ - ItemLevelIssue.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue) - return object; - var message = new $root.google.shopping.css.v1.CssProductStatus.ItemLevelIssue(); - if (object.code != null) - message.code = String(object.code); - if (object.servability != null) - message.servability = String(object.servability); - if (object.resolution != null) - message.resolution = String(object.resolution); - if (object.attribute != null) - message.attribute = String(object.attribute); - if (object.destination != null) - message.destination = String(object.destination); - 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue - * @static - * @param {google.shopping.css.v1.CssProductStatus.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.servability = ""; - object.resolution = ""; - object.attribute = ""; - object.destination = ""; - object.description = ""; - object.detail = ""; - object.documentation = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.servability != null && message.hasOwnProperty("servability")) - object.servability = message.servability; - if (message.resolution != null && message.hasOwnProperty("resolution")) - object.resolution = message.resolution; - if (message.attribute != null && message.hasOwnProperty("attribute")) - object.attribute = message.attribute; - if (message.destination != null && message.hasOwnProperty("destination")) - object.destination = message.destination; - 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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.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.css.v1.CssProductStatus.ItemLevelIssue"; - }; - - return ItemLevelIssue; - })(); - - return CssProductStatus; - })(); - - v1.HeadlineOfferSubscriptionCost = (function() { - - /** - * Properties of a HeadlineOfferSubscriptionCost. - * @memberof google.shopping.css.v1 - * @interface IHeadlineOfferSubscriptionCost - * @property {google.shopping.css.v1.SubscriptionPeriod|null} [period] HeadlineOfferSubscriptionCost period - * @property {number|Long|null} [periodLength] HeadlineOfferSubscriptionCost periodLength - * @property {google.shopping.type.IPrice|null} [amount] HeadlineOfferSubscriptionCost amount - */ - - /** - * Constructs a new HeadlineOfferSubscriptionCost. - * @memberof google.shopping.css.v1 - * @classdesc Represents a HeadlineOfferSubscriptionCost. - * @implements IHeadlineOfferSubscriptionCost - * @constructor - * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost=} [properties] Properties to set - */ - function HeadlineOfferSubscriptionCost(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]]; - } - - /** - * HeadlineOfferSubscriptionCost period. - * @member {google.shopping.css.v1.SubscriptionPeriod} period - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @instance - */ - HeadlineOfferSubscriptionCost.prototype.period = 0; - - /** - * HeadlineOfferSubscriptionCost periodLength. - * @member {number|Long} periodLength - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @instance - */ - HeadlineOfferSubscriptionCost.prototype.periodLength = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * HeadlineOfferSubscriptionCost amount. - * @member {google.shopping.type.IPrice|null|undefined} amount - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @instance - */ - HeadlineOfferSubscriptionCost.prototype.amount = null; - - /** - * Creates a new HeadlineOfferSubscriptionCost instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost=} [properties] Properties to set - * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost instance - */ - HeadlineOfferSubscriptionCost.create = function create(properties) { - return new HeadlineOfferSubscriptionCost(properties); - }; - - /** - * Encodes the specified HeadlineOfferSubscriptionCost message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HeadlineOfferSubscriptionCost.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 HeadlineOfferSubscriptionCost message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferSubscriptionCost.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {google.shopping.css.v1.IHeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HeadlineOfferSubscriptionCost.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a HeadlineOfferSubscriptionCost message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HeadlineOfferSubscriptionCost.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.css.v1.HeadlineOfferSubscriptionCost(); - 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 HeadlineOfferSubscriptionCost message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HeadlineOfferSubscriptionCost.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a HeadlineOfferSubscriptionCost message. - * @function verify - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - HeadlineOfferSubscriptionCost.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 HeadlineOfferSubscriptionCost message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.HeadlineOfferSubscriptionCost} HeadlineOfferSubscriptionCost - */ - HeadlineOfferSubscriptionCost.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost) - return object; - var message = new $root.google.shopping.css.v1.HeadlineOfferSubscriptionCost(); - 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.css.v1.HeadlineOfferSubscriptionCost.amount: object expected"); - message.amount = $root.google.shopping.type.Price.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a HeadlineOfferSubscriptionCost message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {google.shopping.css.v1.HeadlineOfferSubscriptionCost} message HeadlineOfferSubscriptionCost - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - HeadlineOfferSubscriptionCost.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.css.v1.SubscriptionPeriod[message.period] === undefined ? message.period : $root.google.shopping.css.v1.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 HeadlineOfferSubscriptionCost to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @instance - * @returns {Object.} JSON object - */ - HeadlineOfferSubscriptionCost.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for HeadlineOfferSubscriptionCost - * @function getTypeUrl - * @memberof google.shopping.css.v1.HeadlineOfferSubscriptionCost - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - HeadlineOfferSubscriptionCost.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.HeadlineOfferSubscriptionCost"; - }; - - return HeadlineOfferSubscriptionCost; - })(); - - v1.HeadlineOfferInstallment = (function() { - - /** - * Properties of a HeadlineOfferInstallment. - * @memberof google.shopping.css.v1 - * @interface IHeadlineOfferInstallment - * @property {number|Long|null} [months] HeadlineOfferInstallment months - * @property {google.shopping.type.IPrice|null} [amount] HeadlineOfferInstallment amount - * @property {google.shopping.type.IPrice|null} [downpayment] HeadlineOfferInstallment downpayment - */ - - /** - * Constructs a new HeadlineOfferInstallment. - * @memberof google.shopping.css.v1 - * @classdesc Represents a HeadlineOfferInstallment. - * @implements IHeadlineOfferInstallment - * @constructor - * @param {google.shopping.css.v1.IHeadlineOfferInstallment=} [properties] Properties to set - */ - function HeadlineOfferInstallment(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]]; - } - - /** - * HeadlineOfferInstallment months. - * @member {number|Long} months - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @instance - */ - HeadlineOfferInstallment.prototype.months = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * HeadlineOfferInstallment amount. - * @member {google.shopping.type.IPrice|null|undefined} amount - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @instance - */ - HeadlineOfferInstallment.prototype.amount = null; - - /** - * HeadlineOfferInstallment downpayment. - * @member {google.shopping.type.IPrice|null|undefined} downpayment - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @instance - */ - HeadlineOfferInstallment.prototype.downpayment = null; - - /** - * Creates a new HeadlineOfferInstallment instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {google.shopping.css.v1.IHeadlineOfferInstallment=} [properties] Properties to set - * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment instance - */ - HeadlineOfferInstallment.create = function create(properties) { - return new HeadlineOfferInstallment(properties); - }; - - /** - * Encodes the specified HeadlineOfferInstallment message. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {google.shopping.css.v1.IHeadlineOfferInstallment} message HeadlineOfferInstallment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HeadlineOfferInstallment.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(); - return writer; - }; - - /** - * Encodes the specified HeadlineOfferInstallment message, length delimited. Does not implicitly {@link google.shopping.css.v1.HeadlineOfferInstallment.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {google.shopping.css.v1.IHeadlineOfferInstallment} message HeadlineOfferInstallment message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HeadlineOfferInstallment.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a HeadlineOfferInstallment message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HeadlineOfferInstallment.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.css.v1.HeadlineOfferInstallment(); - 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; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a HeadlineOfferInstallment message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HeadlineOfferInstallment.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a HeadlineOfferInstallment message. - * @function verify - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - HeadlineOfferInstallment.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - 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")) { - var error = $root.google.shopping.type.Price.verify(message.downpayment); - if (error) - return "downpayment." + error; - } - return null; - }; - - /** - * Creates a HeadlineOfferInstallment message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.HeadlineOfferInstallment} HeadlineOfferInstallment - */ - HeadlineOfferInstallment.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.HeadlineOfferInstallment) - return object; - var message = new $root.google.shopping.css.v1.HeadlineOfferInstallment(); - 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.css.v1.HeadlineOfferInstallment.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.css.v1.HeadlineOfferInstallment.downpayment: object expected"); - message.downpayment = $root.google.shopping.type.Price.fromObject(object.downpayment); - } - return message; - }; - - /** - * Creates a plain object from a HeadlineOfferInstallment message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {google.shopping.css.v1.HeadlineOfferInstallment} message HeadlineOfferInstallment - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - HeadlineOfferInstallment.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; - object.downpayment = 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); - return object; - }; - - /** - * Converts this HeadlineOfferInstallment to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @instance - * @returns {Object.} JSON object - */ - HeadlineOfferInstallment.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for HeadlineOfferInstallment - * @function getTypeUrl - * @memberof google.shopping.css.v1.HeadlineOfferInstallment - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - HeadlineOfferInstallment.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.HeadlineOfferInstallment"; - }; - - return HeadlineOfferInstallment; - })(); - - /** - * SubscriptionPeriod enum. - * @name google.shopping.css.v1.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 - */ - v1.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; - })(); - - v1.CssProductInputsService = (function() { - - /** - * Constructs a new CssProductInputsService service. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CssProductInputsService - * @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 CssProductInputsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (CssProductInputsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CssProductInputsService; - - /** - * Creates new CssProductInputsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.css.v1.CssProductInputsService - * @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 {CssProductInputsService} RPC service. Useful where requests and/or responses are streamed. - */ - CssProductInputsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|insertCssProductInput}. - * @memberof google.shopping.css.v1.CssProductInputsService - * @typedef InsertCssProductInputCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.CssProductInput} [response] CssProductInput - */ - - /** - * Calls InsertCssProductInput. - * @function insertCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IInsertCssProductInputRequest} request InsertCssProductInputRequest message or plain object - * @param {google.shopping.css.v1.CssProductInputsService.InsertCssProductInputCallback} callback Node-style callback called with the error, if any, and CssProductInput - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(CssProductInputsService.prototype.insertCssProductInput = function insertCssProductInput(request, callback) { - return this.rpcCall(insertCssProductInput, $root.google.shopping.css.v1.InsertCssProductInputRequest, $root.google.shopping.css.v1.CssProductInput, request, callback); - }, "name", { value: "InsertCssProductInput" }); - - /** - * Calls InsertCssProductInput. - * @function insertCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IInsertCssProductInputRequest} request InsertCssProductInputRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. - * @memberof google.shopping.css.v1.CssProductInputsService - * @typedef UpdateCssProductInputCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.CssProductInput} [response] CssProductInput - */ - - /** - * Calls UpdateCssProductInput. - * @function updateCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object - * @param {google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback} callback Node-style callback called with the error, if any, and CssProductInput - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(CssProductInputsService.prototype.updateCssProductInput = function updateCssProductInput(request, callback) { - return this.rpcCall(updateCssProductInput, $root.google.shopping.css.v1.UpdateCssProductInputRequest, $root.google.shopping.css.v1.CssProductInput, request, callback); - }, "name", { value: "UpdateCssProductInput" }); - - /** - * Calls UpdateCssProductInput. - * @function updateCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. - * @memberof google.shopping.css.v1.CssProductInputsService - * @typedef DeleteCssProductInputCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty - */ - - /** - * Calls DeleteCssProductInput. - * @function deleteCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} request DeleteCssProductInputRequest message or plain object - * @param {google.shopping.css.v1.CssProductInputsService.DeleteCssProductInputCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(CssProductInputsService.prototype.deleteCssProductInput = function deleteCssProductInput(request, callback) { - return this.rpcCall(deleteCssProductInput, $root.google.shopping.css.v1.DeleteCssProductInputRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteCssProductInput" }); - - /** - * Calls DeleteCssProductInput. - * @function deleteCssProductInput - * @memberof google.shopping.css.v1.CssProductInputsService - * @instance - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} request DeleteCssProductInputRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return CssProductInputsService; - })(); - - v1.CssProductInput = (function() { - - /** - * Properties of a CssProductInput. - * @memberof google.shopping.css.v1 - * @interface ICssProductInput - * @property {string|null} [name] CssProductInput name - * @property {string|null} [finalName] CssProductInput finalName - * @property {string|null} [rawProvidedId] CssProductInput rawProvidedId - * @property {string|null} [contentLanguage] CssProductInput contentLanguage - * @property {string|null} [feedLabel] CssProductInput feedLabel - * @property {google.protobuf.ITimestamp|null} [freshnessTime] CssProductInput freshnessTime - * @property {google.shopping.css.v1.IAttributes|null} [attributes] CssProductInput attributes - * @property {Array.|null} [customAttributes] CssProductInput customAttributes - */ - - /** - * Constructs a new CssProductInput. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CssProductInput. - * @implements ICssProductInput - * @constructor - * @param {google.shopping.css.v1.ICssProductInput=} [properties] Properties to set - */ - function CssProductInput(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]]; - } - - /** - * CssProductInput name. - * @member {string} name - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.name = ""; - - /** - * CssProductInput finalName. - * @member {string} finalName - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.finalName = ""; - - /** - * CssProductInput rawProvidedId. - * @member {string} rawProvidedId - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.rawProvidedId = ""; - - /** - * CssProductInput contentLanguage. - * @member {string} contentLanguage - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.contentLanguage = ""; - - /** - * CssProductInput feedLabel. - * @member {string} feedLabel - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.feedLabel = ""; - - /** - * CssProductInput freshnessTime. - * @member {google.protobuf.ITimestamp|null|undefined} freshnessTime - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.freshnessTime = null; - - /** - * CssProductInput attributes. - * @member {google.shopping.css.v1.IAttributes|null|undefined} attributes - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.attributes = null; - - /** - * CssProductInput customAttributes. - * @member {Array.} customAttributes - * @memberof google.shopping.css.v1.CssProductInput - * @instance - */ - CssProductInput.prototype.customAttributes = $util.emptyArray; - - /** - * Creates a new CssProductInput instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {google.shopping.css.v1.ICssProductInput=} [properties] Properties to set - * @returns {google.shopping.css.v1.CssProductInput} CssProductInput instance - */ - CssProductInput.create = function create(properties) { - return new CssProductInput(properties); - }; - - /** - * Encodes the specified CssProductInput message. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {google.shopping.css.v1.ICssProductInput} message CssProductInput message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProductInput.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.finalName != null && Object.hasOwnProperty.call(message, "finalName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.finalName); - if (message.rawProvidedId != null && Object.hasOwnProperty.call(message, "rawProvidedId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.rawProvidedId); - 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.freshnessTime != null && Object.hasOwnProperty.call(message, "freshnessTime")) - $root.google.protobuf.Timestamp.encode(message.freshnessTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) - $root.google.shopping.css.v1.Attributes.encode(message.attributes, writer.uint32(/* id 7, wireType 2 =*/58).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 8, wireType 2 =*/66).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CssProductInput message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProductInput.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {google.shopping.css.v1.ICssProductInput} message CssProductInput message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProductInput.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CssProductInput message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CssProductInput} CssProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProductInput.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.css.v1.CssProductInput(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.finalName = reader.string(); - break; - } - case 3: { - message.rawProvidedId = reader.string(); - break; - } - case 4: { - message.contentLanguage = reader.string(); - break; - } - case 5: { - message.feedLabel = reader.string(); - break; - } - case 6: { - message.freshnessTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - } - case 7: { - message.attributes = $root.google.shopping.css.v1.Attributes.decode(reader, reader.uint32()); - break; - } - case 8: { - 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 CssProductInput message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CssProductInput} CssProductInput - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProductInput.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CssProductInput message. - * @function verify - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CssProductInput.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.finalName != null && message.hasOwnProperty("finalName")) - if (!$util.isString(message.finalName)) - return "finalName: string expected"; - if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) - if (!$util.isString(message.rawProvidedId)) - return "rawProvidedId: 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.freshnessTime != null && message.hasOwnProperty("freshnessTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.freshnessTime); - if (error) - return "freshnessTime." + error; - } - if (message.attributes != null && message.hasOwnProperty("attributes")) { - var error = $root.google.shopping.css.v1.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 CssProductInput message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CssProductInput} CssProductInput - */ - CssProductInput.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CssProductInput) - return object; - var message = new $root.google.shopping.css.v1.CssProductInput(); - if (object.name != null) - message.name = String(object.name); - if (object.finalName != null) - message.finalName = String(object.finalName); - if (object.rawProvidedId != null) - message.rawProvidedId = String(object.rawProvidedId); - if (object.contentLanguage != null) - message.contentLanguage = String(object.contentLanguage); - if (object.feedLabel != null) - message.feedLabel = String(object.feedLabel); - if (object.freshnessTime != null) { - if (typeof object.freshnessTime !== "object") - throw TypeError(".google.shopping.css.v1.CssProductInput.freshnessTime: object expected"); - message.freshnessTime = $root.google.protobuf.Timestamp.fromObject(object.freshnessTime); - } - if (object.attributes != null) { - if (typeof object.attributes !== "object") - throw TypeError(".google.shopping.css.v1.CssProductInput.attributes: object expected"); - message.attributes = $root.google.shopping.css.v1.Attributes.fromObject(object.attributes); - } - if (object.customAttributes) { - if (!Array.isArray(object.customAttributes)) - throw TypeError(".google.shopping.css.v1.CssProductInput.customAttributes: array expected"); - message.customAttributes = []; - for (var i = 0; i < object.customAttributes.length; ++i) { - if (typeof object.customAttributes[i] !== "object") - throw TypeError(".google.shopping.css.v1.CssProductInput.customAttributes: object expected"); - message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CssProductInput message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {google.shopping.css.v1.CssProductInput} message CssProductInput - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CssProductInput.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.customAttributes = []; - if (options.defaults) { - object.name = ""; - object.finalName = ""; - object.rawProvidedId = ""; - object.contentLanguage = ""; - object.feedLabel = ""; - object.freshnessTime = null; - object.attributes = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.finalName != null && message.hasOwnProperty("finalName")) - object.finalName = message.finalName; - if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) - object.rawProvidedId = message.rawProvidedId; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - object.contentLanguage = message.contentLanguage; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - object.feedLabel = message.feedLabel; - if (message.freshnessTime != null && message.hasOwnProperty("freshnessTime")) - object.freshnessTime = $root.google.protobuf.Timestamp.toObject(message.freshnessTime, options); - if (message.attributes != null && message.hasOwnProperty("attributes")) - object.attributes = $root.google.shopping.css.v1.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 CssProductInput to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.CssProductInput - * @instance - * @returns {Object.} JSON object - */ - CssProductInput.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CssProductInput - * @function getTypeUrl - * @memberof google.shopping.css.v1.CssProductInput - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CssProductInput.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.CssProductInput"; - }; - - return CssProductInput; - })(); - - v1.InsertCssProductInputRequest = (function() { - - /** - * Properties of an InsertCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @interface IInsertCssProductInputRequest - * @property {string|null} [parent] InsertCssProductInputRequest parent - * @property {google.shopping.css.v1.ICssProductInput|null} [cssProductInput] InsertCssProductInputRequest cssProductInput - * @property {number|Long|null} [feedId] InsertCssProductInputRequest feedId - */ - - /** - * Constructs a new InsertCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents an InsertCssProductInputRequest. - * @implements IInsertCssProductInputRequest - * @constructor - * @param {google.shopping.css.v1.IInsertCssProductInputRequest=} [properties] Properties to set - */ - function InsertCssProductInputRequest(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]]; - } - - /** - * InsertCssProductInputRequest parent. - * @member {string} parent - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @instance - */ - InsertCssProductInputRequest.prototype.parent = ""; - - /** - * InsertCssProductInputRequest cssProductInput. - * @member {google.shopping.css.v1.ICssProductInput|null|undefined} cssProductInput - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @instance - */ - InsertCssProductInputRequest.prototype.cssProductInput = null; - - /** - * InsertCssProductInputRequest feedId. - * @member {number|Long} feedId - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @instance - */ - InsertCssProductInputRequest.prototype.feedId = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new InsertCssProductInputRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IInsertCssProductInputRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest instance - */ - InsertCssProductInputRequest.create = function create(properties) { - return new InsertCssProductInputRequest(properties); - }; - - /** - * Encodes the specified InsertCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IInsertCssProductInputRequest} message InsertCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InsertCssProductInputRequest.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.cssProductInput != null && Object.hasOwnProperty.call(message, "cssProductInput")) - $root.google.shopping.css.v1.CssProductInput.encode(message.cssProductInput, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.feedId != null && Object.hasOwnProperty.call(message, "feedId")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.feedId); - return writer; - }; - - /** - * Encodes the specified InsertCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.InsertCssProductInputRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IInsertCssProductInputRequest} message InsertCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InsertCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an InsertCssProductInputRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InsertCssProductInputRequest.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.css.v1.InsertCssProductInputRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.parent = reader.string(); - break; - } - case 2: { - message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.decode(reader, reader.uint32()); - break; - } - case 3: { - message.feedId = reader.int64(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an InsertCssProductInputRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InsertCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an InsertCssProductInputRequest message. - * @function verify - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - InsertCssProductInputRequest.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.cssProductInput != null && message.hasOwnProperty("cssProductInput")) { - var error = $root.google.shopping.css.v1.CssProductInput.verify(message.cssProductInput); - if (error) - return "cssProductInput." + error; - } - if (message.feedId != null && message.hasOwnProperty("feedId")) - if (!$util.isInteger(message.feedId) && !(message.feedId && $util.isInteger(message.feedId.low) && $util.isInteger(message.feedId.high))) - return "feedId: integer|Long expected"; - return null; - }; - - /** - * Creates an InsertCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.InsertCssProductInputRequest} InsertCssProductInputRequest - */ - InsertCssProductInputRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.InsertCssProductInputRequest) - return object; - var message = new $root.google.shopping.css.v1.InsertCssProductInputRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.cssProductInput != null) { - if (typeof object.cssProductInput !== "object") - throw TypeError(".google.shopping.css.v1.InsertCssProductInputRequest.cssProductInput: object expected"); - message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.fromObject(object.cssProductInput); - } - if (object.feedId != null) - if ($util.Long) - (message.feedId = $util.Long.fromValue(object.feedId)).unsigned = false; - else if (typeof object.feedId === "string") - message.feedId = parseInt(object.feedId, 10); - else if (typeof object.feedId === "number") - message.feedId = object.feedId; - else if (typeof object.feedId === "object") - message.feedId = new $util.LongBits(object.feedId.low >>> 0, object.feedId.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from an InsertCssProductInputRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {google.shopping.css.v1.InsertCssProductInputRequest} message InsertCssProductInputRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - InsertCssProductInputRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.parent = ""; - object.cssProductInput = null; - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.feedId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.feedId = options.longs === String ? "0" : 0; - } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) - object.cssProductInput = $root.google.shopping.css.v1.CssProductInput.toObject(message.cssProductInput, options); - if (message.feedId != null && message.hasOwnProperty("feedId")) - if (typeof message.feedId === "number") - object.feedId = options.longs === String ? String(message.feedId) : message.feedId; - else - object.feedId = options.longs === String ? $util.Long.prototype.toString.call(message.feedId) : options.longs === Number ? new $util.LongBits(message.feedId.low >>> 0, message.feedId.high >>> 0).toNumber() : message.feedId; - return object; - }; - - /** - * Converts this InsertCssProductInputRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @instance - * @returns {Object.} JSON object - */ - InsertCssProductInputRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for InsertCssProductInputRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.InsertCssProductInputRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - InsertCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.InsertCssProductInputRequest"; - }; - - return InsertCssProductInputRequest; - })(); - - v1.UpdateCssProductInputRequest = (function() { - - /** - * Properties of an UpdateCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @interface IUpdateCssProductInputRequest - * @property {google.shopping.css.v1.ICssProductInput|null} [cssProductInput] UpdateCssProductInputRequest cssProductInput - * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateCssProductInputRequest updateMask - */ - - /** - * Constructs a new UpdateCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents an UpdateCssProductInputRequest. - * @implements IUpdateCssProductInputRequest - * @constructor - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set - */ - function UpdateCssProductInputRequest(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]]; - } - - /** - * UpdateCssProductInputRequest cssProductInput. - * @member {google.shopping.css.v1.ICssProductInput|null|undefined} cssProductInput - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @instance - */ - UpdateCssProductInputRequest.prototype.cssProductInput = null; - - /** - * UpdateCssProductInputRequest updateMask. - * @member {google.protobuf.IFieldMask|null|undefined} updateMask - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @instance - */ - UpdateCssProductInputRequest.prototype.updateMask = null; - - /** - * Creates a new UpdateCssProductInputRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest instance - */ - UpdateCssProductInputRequest.create = function create(properties) { - return new UpdateCssProductInputRequest(properties); - }; - - /** - * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateCssProductInputRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.cssProductInput != null && Object.hasOwnProperty.call(message, "cssProductInput")) - $root.google.shopping.css.v1.CssProductInput.encode(message.cssProductInput, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) - $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UpdateCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateCssProductInputRequest.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.css.v1.UpdateCssProductInputRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.decode(reader, reader.uint32()); - break; - } - case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UpdateCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UpdateCssProductInputRequest message. - * @function verify - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UpdateCssProductInputRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) { - var error = $root.google.shopping.css.v1.CssProductInput.verify(message.cssProductInput); - if (error) - return "cssProductInput." + error; - } - if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); - if (error) - return "updateMask." + error; - } - return null; - }; - - /** - * Creates an UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest - */ - UpdateCssProductInputRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.UpdateCssProductInputRequest) - return object; - var message = new $root.google.shopping.css.v1.UpdateCssProductInputRequest(); - if (object.cssProductInput != null) { - if (typeof object.cssProductInput !== "object") - throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.cssProductInput: object expected"); - message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.fromObject(object.cssProductInput); - } - if (object.updateMask != null) { - if (typeof object.updateMask !== "object") - throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); - } - return message; - }; - - /** - * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {google.shopping.css.v1.UpdateCssProductInputRequest} message UpdateCssProductInputRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UpdateCssProductInputRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.cssProductInput = null; - object.updateMask = null; - } - if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) - object.cssProductInput = $root.google.shopping.css.v1.CssProductInput.toObject(message.cssProductInput, options); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); - return object; - }; - - /** - * Converts this UpdateCssProductInputRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @instance - * @returns {Object.} JSON object - */ - UpdateCssProductInputRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for UpdateCssProductInputRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.UpdateCssProductInputRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - UpdateCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.UpdateCssProductInputRequest"; - }; - - return UpdateCssProductInputRequest; - })(); - - v1.DeleteCssProductInputRequest = (function() { - - /** - * Properties of a DeleteCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @interface IDeleteCssProductInputRequest - * @property {string|null} [name] DeleteCssProductInputRequest name - * @property {number|Long|null} [supplementalFeedId] DeleteCssProductInputRequest supplementalFeedId - */ - - /** - * Constructs a new DeleteCssProductInputRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a DeleteCssProductInputRequest. - * @implements IDeleteCssProductInputRequest - * @constructor - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest=} [properties] Properties to set - */ - function DeleteCssProductInputRequest(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]]; - } - - /** - * DeleteCssProductInputRequest name. - * @member {string} name - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @instance - */ - DeleteCssProductInputRequest.prototype.name = ""; - - /** - * DeleteCssProductInputRequest supplementalFeedId. - * @member {number|Long|null|undefined} supplementalFeedId - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @instance - */ - DeleteCssProductInputRequest.prototype.supplementalFeedId = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * DeleteCssProductInputRequest _supplementalFeedId. - * @member {"supplementalFeedId"|undefined} _supplementalFeedId - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @instance - */ - Object.defineProperty(DeleteCssProductInputRequest.prototype, "_supplementalFeedId", { - get: $util.oneOfGetter($oneOfFields = ["supplementalFeedId"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new DeleteCssProductInputRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest instance - */ - DeleteCssProductInputRequest.create = function create(properties) { - return new DeleteCssProductInputRequest(properties); - }; - - /** - * Encodes the specified DeleteCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} message DeleteCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteCssProductInputRequest.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.supplementalFeedId != null && Object.hasOwnProperty.call(message, "supplementalFeedId")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.supplementalFeedId); - return writer; - }; - - /** - * Encodes the specified DeleteCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.DeleteCssProductInputRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {google.shopping.css.v1.IDeleteCssProductInputRequest} message DeleteCssProductInputRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DeleteCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteCssProductInputRequest.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.css.v1.DeleteCssProductInputRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.supplementalFeedId = reader.int64(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DeleteCssProductInputRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DeleteCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DeleteCssProductInputRequest message. - * @function verify - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DeleteCssProductInputRequest.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.supplementalFeedId != null && message.hasOwnProperty("supplementalFeedId")) { - properties._supplementalFeedId = 1; - if (!$util.isInteger(message.supplementalFeedId) && !(message.supplementalFeedId && $util.isInteger(message.supplementalFeedId.low) && $util.isInteger(message.supplementalFeedId.high))) - return "supplementalFeedId: integer|Long expected"; - } - return null; - }; - - /** - * Creates a DeleteCssProductInputRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.DeleteCssProductInputRequest} DeleteCssProductInputRequest - */ - DeleteCssProductInputRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.DeleteCssProductInputRequest) - return object; - var message = new $root.google.shopping.css.v1.DeleteCssProductInputRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.supplementalFeedId != null) - if ($util.Long) - (message.supplementalFeedId = $util.Long.fromValue(object.supplementalFeedId)).unsigned = false; - else if (typeof object.supplementalFeedId === "string") - message.supplementalFeedId = parseInt(object.supplementalFeedId, 10); - else if (typeof object.supplementalFeedId === "number") - message.supplementalFeedId = object.supplementalFeedId; - else if (typeof object.supplementalFeedId === "object") - message.supplementalFeedId = new $util.LongBits(object.supplementalFeedId.low >>> 0, object.supplementalFeedId.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a DeleteCssProductInputRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {google.shopping.css.v1.DeleteCssProductInputRequest} message DeleteCssProductInputRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DeleteCssProductInputRequest.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; - if (message.supplementalFeedId != null && message.hasOwnProperty("supplementalFeedId")) { - if (typeof message.supplementalFeedId === "number") - object.supplementalFeedId = options.longs === String ? String(message.supplementalFeedId) : message.supplementalFeedId; - else - object.supplementalFeedId = options.longs === String ? $util.Long.prototype.toString.call(message.supplementalFeedId) : options.longs === Number ? new $util.LongBits(message.supplementalFeedId.low >>> 0, message.supplementalFeedId.high >>> 0).toNumber() : message.supplementalFeedId; - if (options.oneofs) - object._supplementalFeedId = "supplementalFeedId"; - } - return object; - }; - - /** - * Converts this DeleteCssProductInputRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @instance - * @returns {Object.} JSON object - */ - DeleteCssProductInputRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for DeleteCssProductInputRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.DeleteCssProductInputRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - DeleteCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.DeleteCssProductInputRequest"; - }; - - return DeleteCssProductInputRequest; - })(); - - v1.CssProductsService = (function() { - - /** - * Constructs a new CssProductsService service. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CssProductsService - * @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 CssProductsService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (CssProductsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CssProductsService; - - /** - * Creates new CssProductsService service using the specified rpc implementation. - * @function create - * @memberof google.shopping.css.v1.CssProductsService - * @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 {CssProductsService} RPC service. Useful where requests and/or responses are streamed. - */ - CssProductsService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductsService|getCssProduct}. - * @memberof google.shopping.css.v1.CssProductsService - * @typedef GetCssProductCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.CssProduct} [response] CssProduct - */ - - /** - * Calls GetCssProduct. - * @function getCssProduct - * @memberof google.shopping.css.v1.CssProductsService - * @instance - * @param {google.shopping.css.v1.IGetCssProductRequest} request GetCssProductRequest message or plain object - * @param {google.shopping.css.v1.CssProductsService.GetCssProductCallback} callback Node-style callback called with the error, if any, and CssProduct - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(CssProductsService.prototype.getCssProduct = function getCssProduct(request, callback) { - return this.rpcCall(getCssProduct, $root.google.shopping.css.v1.GetCssProductRequest, $root.google.shopping.css.v1.CssProduct, request, callback); - }, "name", { value: "GetCssProduct" }); - - /** - * Calls GetCssProduct. - * @function getCssProduct - * @memberof google.shopping.css.v1.CssProductsService - * @instance - * @param {google.shopping.css.v1.IGetCssProductRequest} request GetCssProductRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.shopping.css.v1.CssProductsService|listCssProducts}. - * @memberof google.shopping.css.v1.CssProductsService - * @typedef ListCssProductsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.shopping.css.v1.ListCssProductsResponse} [response] ListCssProductsResponse - */ - - /** - * Calls ListCssProducts. - * @function listCssProducts - * @memberof google.shopping.css.v1.CssProductsService - * @instance - * @param {google.shopping.css.v1.IListCssProductsRequest} request ListCssProductsRequest message or plain object - * @param {google.shopping.css.v1.CssProductsService.ListCssProductsCallback} callback Node-style callback called with the error, if any, and ListCssProductsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(CssProductsService.prototype.listCssProducts = function listCssProducts(request, callback) { - return this.rpcCall(listCssProducts, $root.google.shopping.css.v1.ListCssProductsRequest, $root.google.shopping.css.v1.ListCssProductsResponse, request, callback); - }, "name", { value: "ListCssProducts" }); - - /** - * Calls ListCssProducts. - * @function listCssProducts - * @memberof google.shopping.css.v1.CssProductsService - * @instance - * @param {google.shopping.css.v1.IListCssProductsRequest} request ListCssProductsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return CssProductsService; - })(); - - v1.GetCssProductRequest = (function() { - - /** - * Properties of a GetCssProductRequest. - * @memberof google.shopping.css.v1 - * @interface IGetCssProductRequest - * @property {string|null} [name] GetCssProductRequest name - */ - - /** - * Constructs a new GetCssProductRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a GetCssProductRequest. - * @implements IGetCssProductRequest - * @constructor - * @param {google.shopping.css.v1.IGetCssProductRequest=} [properties] Properties to set - */ - function GetCssProductRequest(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]]; - } - - /** - * GetCssProductRequest name. - * @member {string} name - * @memberof google.shopping.css.v1.GetCssProductRequest - * @instance - */ - GetCssProductRequest.prototype.name = ""; - - /** - * Creates a new GetCssProductRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {google.shopping.css.v1.IGetCssProductRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest instance - */ - GetCssProductRequest.create = function create(properties) { - return new GetCssProductRequest(properties); - }; - - /** - * Encodes the specified GetCssProductRequest message. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {google.shopping.css.v1.IGetCssProductRequest} message GetCssProductRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetCssProductRequest.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 GetCssProductRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.GetCssProductRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {google.shopping.css.v1.IGetCssProductRequest} message GetCssProductRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetCssProductRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetCssProductRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetCssProductRequest.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.css.v1.GetCssProductRequest(); - 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 GetCssProductRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetCssProductRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetCssProductRequest message. - * @function verify - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetCssProductRequest.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 GetCssProductRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.GetCssProductRequest} GetCssProductRequest - */ - GetCssProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.GetCssProductRequest) - return object; - var message = new $root.google.shopping.css.v1.GetCssProductRequest(); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from a GetCssProductRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {google.shopping.css.v1.GetCssProductRequest} message GetCssProductRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetCssProductRequest.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 GetCssProductRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.GetCssProductRequest - * @instance - * @returns {Object.} JSON object - */ - GetCssProductRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for GetCssProductRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.GetCssProductRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - GetCssProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.GetCssProductRequest"; - }; - - return GetCssProductRequest; - })(); - - v1.CssProduct = (function() { - - /** - * Properties of a CssProduct. - * @memberof google.shopping.css.v1 - * @interface ICssProduct - * @property {string|null} [name] CssProduct name - * @property {string|null} [rawProvidedId] CssProduct rawProvidedId - * @property {string|null} [contentLanguage] CssProduct contentLanguage - * @property {string|null} [feedLabel] CssProduct feedLabel - * @property {google.shopping.css.v1.IAttributes|null} [attributes] CssProduct attributes - * @property {Array.|null} [customAttributes] CssProduct customAttributes - * @property {google.shopping.css.v1.ICssProductStatus|null} [cssProductStatus] CssProduct cssProductStatus - */ - - /** - * Constructs a new CssProduct. - * @memberof google.shopping.css.v1 - * @classdesc Represents a CssProduct. - * @implements ICssProduct - * @constructor - * @param {google.shopping.css.v1.ICssProduct=} [properties] Properties to set - */ - function CssProduct(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]]; - } - - /** - * CssProduct name. - * @member {string} name - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.name = ""; - - /** - * CssProduct rawProvidedId. - * @member {string} rawProvidedId - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.rawProvidedId = ""; - - /** - * CssProduct contentLanguage. - * @member {string} contentLanguage - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.contentLanguage = ""; - - /** - * CssProduct feedLabel. - * @member {string} feedLabel - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.feedLabel = ""; - - /** - * CssProduct attributes. - * @member {google.shopping.css.v1.IAttributes|null|undefined} attributes - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.attributes = null; - - /** - * CssProduct customAttributes. - * @member {Array.} customAttributes - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.customAttributes = $util.emptyArray; - - /** - * CssProduct cssProductStatus. - * @member {google.shopping.css.v1.ICssProductStatus|null|undefined} cssProductStatus - * @memberof google.shopping.css.v1.CssProduct - * @instance - */ - CssProduct.prototype.cssProductStatus = null; - - /** - * Creates a new CssProduct instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {google.shopping.css.v1.ICssProduct=} [properties] Properties to set - * @returns {google.shopping.css.v1.CssProduct} CssProduct instance - */ - CssProduct.create = function create(properties) { - return new CssProduct(properties); - }; - - /** - * Encodes the specified CssProduct message. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {google.shopping.css.v1.ICssProduct} message CssProduct message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProduct.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.rawProvidedId != null && Object.hasOwnProperty.call(message, "rawProvidedId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.rawProvidedId); - if (message.contentLanguage != null && Object.hasOwnProperty.call(message, "contentLanguage")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.contentLanguage); - if (message.feedLabel != null && Object.hasOwnProperty.call(message, "feedLabel")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.feedLabel); - if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes")) - $root.google.shopping.css.v1.Attributes.encode(message.attributes, writer.uint32(/* id 5, wireType 2 =*/42).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 6, wireType 2 =*/50).fork()).ldelim(); - if (message.cssProductStatus != null && Object.hasOwnProperty.call(message, "cssProductStatus")) - $root.google.shopping.css.v1.CssProductStatus.encode(message.cssProductStatus, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CssProduct message, length delimited. Does not implicitly {@link google.shopping.css.v1.CssProduct.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {google.shopping.css.v1.ICssProduct} message CssProduct message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CssProduct.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CssProduct message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.CssProduct} CssProduct - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProduct.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.css.v1.CssProduct(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - message.name = reader.string(); - break; - } - case 2: { - message.rawProvidedId = reader.string(); - break; - } - case 3: { - message.contentLanguage = reader.string(); - break; - } - case 4: { - message.feedLabel = reader.string(); - break; - } - case 5: { - message.attributes = $root.google.shopping.css.v1.Attributes.decode(reader, reader.uint32()); - break; - } - case 6: { - if (!(message.customAttributes && message.customAttributes.length)) - message.customAttributes = []; - message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32())); - break; - } - case 8: { - message.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.decode(reader, reader.uint32()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CssProduct message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.CssProduct} CssProduct - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CssProduct.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CssProduct message. - * @function verify - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CssProduct.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.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) - if (!$util.isString(message.rawProvidedId)) - return "rawProvidedId: 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.attributes != null && message.hasOwnProperty("attributes")) { - var error = $root.google.shopping.css.v1.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.cssProductStatus != null && message.hasOwnProperty("cssProductStatus")) { - var error = $root.google.shopping.css.v1.CssProductStatus.verify(message.cssProductStatus); - if (error) - return "cssProductStatus." + error; - } - return null; - }; - - /** - * Creates a CssProduct message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.CssProduct} CssProduct - */ - CssProduct.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.CssProduct) - return object; - var message = new $root.google.shopping.css.v1.CssProduct(); - if (object.name != null) - message.name = String(object.name); - if (object.rawProvidedId != null) - message.rawProvidedId = String(object.rawProvidedId); - if (object.contentLanguage != null) - message.contentLanguage = String(object.contentLanguage); - if (object.feedLabel != null) - message.feedLabel = String(object.feedLabel); - if (object.attributes != null) { - if (typeof object.attributes !== "object") - throw TypeError(".google.shopping.css.v1.CssProduct.attributes: object expected"); - message.attributes = $root.google.shopping.css.v1.Attributes.fromObject(object.attributes); - } - if (object.customAttributes) { - if (!Array.isArray(object.customAttributes)) - throw TypeError(".google.shopping.css.v1.CssProduct.customAttributes: array expected"); - message.customAttributes = []; - for (var i = 0; i < object.customAttributes.length; ++i) { - if (typeof object.customAttributes[i] !== "object") - throw TypeError(".google.shopping.css.v1.CssProduct.customAttributes: object expected"); - message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]); - } - } - if (object.cssProductStatus != null) { - if (typeof object.cssProductStatus !== "object") - throw TypeError(".google.shopping.css.v1.CssProduct.cssProductStatus: object expected"); - message.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.fromObject(object.cssProductStatus); - } - return message; - }; - - /** - * Creates a plain object from a CssProduct message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {google.shopping.css.v1.CssProduct} message CssProduct - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CssProduct.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.customAttributes = []; - if (options.defaults) { - object.name = ""; - object.rawProvidedId = ""; - object.contentLanguage = ""; - object.feedLabel = ""; - object.attributes = null; - object.cssProductStatus = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.rawProvidedId != null && message.hasOwnProperty("rawProvidedId")) - object.rawProvidedId = message.rawProvidedId; - if (message.contentLanguage != null && message.hasOwnProperty("contentLanguage")) - object.contentLanguage = message.contentLanguage; - if (message.feedLabel != null && message.hasOwnProperty("feedLabel")) - object.feedLabel = message.feedLabel; - if (message.attributes != null && message.hasOwnProperty("attributes")) - object.attributes = $root.google.shopping.css.v1.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.cssProductStatus != null && message.hasOwnProperty("cssProductStatus")) - object.cssProductStatus = $root.google.shopping.css.v1.CssProductStatus.toObject(message.cssProductStatus, options); - return object; - }; - - /** - * Converts this CssProduct to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.CssProduct - * @instance - * @returns {Object.} JSON object - */ - CssProduct.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for CssProduct - * @function getTypeUrl - * @memberof google.shopping.css.v1.CssProduct - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - CssProduct.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.CssProduct"; - }; - - return CssProduct; - })(); - - v1.ListCssProductsRequest = (function() { - - /** - * Properties of a ListCssProductsRequest. - * @memberof google.shopping.css.v1 - * @interface IListCssProductsRequest - * @property {string|null} [parent] ListCssProductsRequest parent - * @property {number|null} [pageSize] ListCssProductsRequest pageSize - * @property {string|null} [pageToken] ListCssProductsRequest pageToken - */ - - /** - * Constructs a new ListCssProductsRequest. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListCssProductsRequest. - * @implements IListCssProductsRequest - * @constructor - * @param {google.shopping.css.v1.IListCssProductsRequest=} [properties] Properties to set - */ - function ListCssProductsRequest(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]]; - } - - /** - * ListCssProductsRequest parent. - * @member {string} parent - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @instance - */ - ListCssProductsRequest.prototype.parent = ""; - - /** - * ListCssProductsRequest pageSize. - * @member {number} pageSize - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @instance - */ - ListCssProductsRequest.prototype.pageSize = 0; - - /** - * ListCssProductsRequest pageToken. - * @member {string} pageToken - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @instance - */ - ListCssProductsRequest.prototype.pageToken = ""; - - /** - * Creates a new ListCssProductsRequest instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {google.shopping.css.v1.IListCssProductsRequest=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest instance - */ - ListCssProductsRequest.create = function create(properties) { - return new ListCssProductsRequest(properties); - }; - - /** - * Encodes the specified ListCssProductsRequest message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {google.shopping.css.v1.IListCssProductsRequest} message ListCssProductsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListCssProductsRequest.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 ListCssProductsRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {google.shopping.css.v1.IListCssProductsRequest} message ListCssProductsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListCssProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListCssProductsRequest message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListCssProductsRequest.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.css.v1.ListCssProductsRequest(); - 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 ListCssProductsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListCssProductsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListCssProductsRequest message. - * @function verify - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListCssProductsRequest.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 ListCssProductsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListCssProductsRequest} ListCssProductsRequest - */ - ListCssProductsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListCssProductsRequest) - return object; - var message = new $root.google.shopping.css.v1.ListCssProductsRequest(); - 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 ListCssProductsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {google.shopping.css.v1.ListCssProductsRequest} message ListCssProductsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListCssProductsRequest.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 ListCssProductsRequest to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @instance - * @returns {Object.} JSON object - */ - ListCssProductsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListCssProductsRequest - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListCssProductsRequest - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListCssProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListCssProductsRequest"; - }; - - return ListCssProductsRequest; - })(); - - v1.ListCssProductsResponse = (function() { - - /** - * Properties of a ListCssProductsResponse. - * @memberof google.shopping.css.v1 - * @interface IListCssProductsResponse - * @property {Array.|null} [cssProducts] ListCssProductsResponse cssProducts - * @property {string|null} [nextPageToken] ListCssProductsResponse nextPageToken - */ - - /** - * Constructs a new ListCssProductsResponse. - * @memberof google.shopping.css.v1 - * @classdesc Represents a ListCssProductsResponse. - * @implements IListCssProductsResponse - * @constructor - * @param {google.shopping.css.v1.IListCssProductsResponse=} [properties] Properties to set - */ - function ListCssProductsResponse(properties) { - this.cssProducts = []; - 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]]; - } - - /** - * ListCssProductsResponse cssProducts. - * @member {Array.} cssProducts - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @instance - */ - ListCssProductsResponse.prototype.cssProducts = $util.emptyArray; - - /** - * ListCssProductsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @instance - */ - ListCssProductsResponse.prototype.nextPageToken = ""; - - /** - * Creates a new ListCssProductsResponse instance using the specified properties. - * @function create - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {google.shopping.css.v1.IListCssProductsResponse=} [properties] Properties to set - * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse instance - */ - ListCssProductsResponse.create = function create(properties) { - return new ListCssProductsResponse(properties); - }; - - /** - * Encodes the specified ListCssProductsResponse message. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. - * @function encode - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {google.shopping.css.v1.IListCssProductsResponse} message ListCssProductsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListCssProductsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.cssProducts != null && message.cssProducts.length) - for (var i = 0; i < message.cssProducts.length; ++i) - $root.google.shopping.css.v1.CssProduct.encode(message.cssProducts[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 ListCssProductsResponse message, length delimited. Does not implicitly {@link google.shopping.css.v1.ListCssProductsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {google.shopping.css.v1.IListCssProductsResponse} message ListCssProductsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListCssProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListCssProductsResponse message from the specified reader or buffer. - * @function decode - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListCssProductsResponse.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.css.v1.ListCssProductsResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.cssProducts && message.cssProducts.length)) - message.cssProducts = []; - message.cssProducts.push($root.google.shopping.css.v1.CssProduct.decode(reader, reader.uint32())); - break; - } - case 2: { - message.nextPageToken = reader.string(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListCssProductsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListCssProductsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListCssProductsResponse message. - * @function verify - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListCssProductsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.cssProducts != null && message.hasOwnProperty("cssProducts")) { - if (!Array.isArray(message.cssProducts)) - return "cssProducts: array expected"; - for (var i = 0; i < message.cssProducts.length; ++i) { - var error = $root.google.shopping.css.v1.CssProduct.verify(message.cssProducts[i]); - if (error) - return "cssProducts." + error; - } - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; - return null; - }; - - /** - * Creates a ListCssProductsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {Object.} object Plain object - * @returns {google.shopping.css.v1.ListCssProductsResponse} ListCssProductsResponse - */ - ListCssProductsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.shopping.css.v1.ListCssProductsResponse) - return object; - var message = new $root.google.shopping.css.v1.ListCssProductsResponse(); - if (object.cssProducts) { - if (!Array.isArray(object.cssProducts)) - throw TypeError(".google.shopping.css.v1.ListCssProductsResponse.cssProducts: array expected"); - message.cssProducts = []; - for (var i = 0; i < object.cssProducts.length; ++i) { - if (typeof object.cssProducts[i] !== "object") - throw TypeError(".google.shopping.css.v1.ListCssProductsResponse.cssProducts: object expected"); - message.cssProducts[i] = $root.google.shopping.css.v1.CssProduct.fromObject(object.cssProducts[i]); - } - } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); - return message; - }; - - /** - * Creates a plain object from a ListCssProductsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {google.shopping.css.v1.ListCssProductsResponse} message ListCssProductsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListCssProductsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.cssProducts = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.cssProducts && message.cssProducts.length) { - object.cssProducts = []; - for (var j = 0; j < message.cssProducts.length; ++j) - object.cssProducts[j] = $root.google.shopping.css.v1.CssProduct.toObject(message.cssProducts[j], options); - } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; - return object; - }; - - /** - * Converts this ListCssProductsResponse to JSON. - * @function toJSON - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @instance - * @returns {Object.} JSON object - */ - ListCssProductsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for ListCssProductsResponse - * @function getTypeUrl - * @memberof google.shopping.css.v1.ListCssProductsResponse - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - ListCssProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.shopping.css.v1.ListCssProductsResponse"; - }; - - return ListCssProductsResponse; - })(); - - return v1; - })(); - - return css; - })(); - - 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; - })(); - - protobuf.FieldMask = (function() { - - /** - * Properties of a FieldMask. - * @memberof google.protobuf - * @interface IFieldMask - * @property {Array.|null} [paths] FieldMask paths - */ - - /** - * Constructs a new FieldMask. - * @memberof google.protobuf - * @classdesc Represents a FieldMask. - * @implements IFieldMask - * @constructor - * @param {google.protobuf.IFieldMask=} [properties] Properties to set - */ - function FieldMask(properties) { - this.paths = []; - 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]]; - } - - /** - * FieldMask paths. - * @member {Array.} paths - * @memberof google.protobuf.FieldMask - * @instance - */ - FieldMask.prototype.paths = $util.emptyArray; - - /** - * Creates a new FieldMask instance using the specified properties. - * @function create - * @memberof google.protobuf.FieldMask - * @static - * @param {google.protobuf.IFieldMask=} [properties] Properties to set - * @returns {google.protobuf.FieldMask} FieldMask instance - */ - FieldMask.create = function create(properties) { - return new FieldMask(properties); - }; - - /** - * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. - * @function encode - * @memberof google.protobuf.FieldMask - * @static - * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldMask.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.paths != null && message.paths.length) - for (var i = 0; i < message.paths.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); - return writer; - }; - - /** - * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.FieldMask - * @static - * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FieldMask.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FieldMask message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.FieldMask - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.FieldMask} FieldMask - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldMask.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.FieldMask(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (!(message.paths && message.paths.length)) - message.paths = []; - message.paths.push(reader.string()); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FieldMask message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.FieldMask - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.FieldMask} FieldMask - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FieldMask.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FieldMask message. - * @function verify - * @memberof google.protobuf.FieldMask - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FieldMask.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.paths != null && message.hasOwnProperty("paths")) { - if (!Array.isArray(message.paths)) - return "paths: array expected"; - for (var i = 0; i < message.paths.length; ++i) - if (!$util.isString(message.paths[i])) - return "paths: string[] expected"; - } - return null; - }; - - /** - * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.FieldMask - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.FieldMask} FieldMask - */ - FieldMask.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.FieldMask) - return object; - var message = new $root.google.protobuf.FieldMask(); - if (object.paths) { - if (!Array.isArray(object.paths)) - throw TypeError(".google.protobuf.FieldMask.paths: array expected"); - message.paths = []; - for (var i = 0; i < object.paths.length; ++i) - message.paths[i] = String(object.paths[i]); - } - return message; - }; - - /** - * Creates a plain object from a FieldMask message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.FieldMask - * @static - * @param {google.protobuf.FieldMask} message FieldMask - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FieldMask.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.paths = []; - if (message.paths && message.paths.length) { - object.paths = []; - for (var j = 0; j < message.paths.length; ++j) - object.paths[j] = message.paths[j]; - } - return object; - }; - - /** - * Converts this FieldMask to JSON. - * @function toJSON - * @memberof google.protobuf.FieldMask - * @instance - * @returns {Object.} JSON object - */ - FieldMask.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for FieldMask - * @function getTypeUrl - * @memberof google.protobuf.FieldMask - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.FieldMask"; - }; - - return FieldMask; - })(); - - return protobuf; - })(); - - return google; - })(); - - return $root; -}); diff --git a/owl-bot-staging/google-shopping-css/v1/protos/protos.json b/owl-bot-staging/google-shopping-css/v1/protos/protos.json deleted file mode 100644 index 09612d145e5..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/protos/protos.json +++ /dev/null @@ -1,3524 +0,0 @@ -{ - "nested": { - "google": { - "nested": { - "shopping": { - "nested": { - "css": { - "nested": { - "v1": { - "options": { - "csharp_namespace": "Google.Shopping.Css.V1", - "go_package": "cloud.google.com/go/shopping/css/apiv1/csspb;csspb", - "java_multiple_files": true, - "java_outer_classname": "CssProductsProto", - "java_package": "com.google.shopping.css.v1", - "php_namespace": "Google\\Shopping\\Css\\V1", - "ruby_package": "Google::Shopping::Css::V1" - }, - "nested": { - "AccountsService": { - "options": { - "(google.api.default_host)": "css.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "ListChildAccounts": { - "requestType": "ListChildAccountsRequest", - "responseType": "ListChildAccountsResponse", - "options": { - "(google.api.http).get": "/v1/{parent=accounts/*}:listChildAccounts", - "(google.api.method_signature)": "parent" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/v1/{parent=accounts/*}:listChildAccounts" - } - }, - { - "(google.api.method_signature)": "parent" - } - ] - }, - "GetAccount": { - "requestType": "GetAccountRequest", - "responseType": "Account", - "options": { - "(google.api.http).get": "/v1/{name=accounts/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/v1/{name=accounts/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - }, - "UpdateLabels": { - "requestType": "UpdateAccountLabelsRequest", - "responseType": "Account", - "options": { - "(google.api.http).post": "/v1/{name=accounts/*}:updateLabels", - "(google.api.http).body": "*", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "post": "/v1/{name=accounts/*}:updateLabels", - "body": "*" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - } - } - }, - "ListChildAccountsRequest": { - "oneofs": { - "_labelId": { - "oneof": [ - "labelId" - ] - }, - "_fullName": { - "oneof": [ - "fullName" - ] - } - }, - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/Account" - } - }, - "labelId": { - "type": "int64", - "id": 2, - "options": { - "proto3_optional": true - } - }, - "fullName": { - "type": "string", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "pageSize": { - "type": "int32", - "id": 4, - "options": { - "(google.api.field_behavior)": "OPTIONAL" - } - }, - "pageToken": { - "type": "string", - "id": 5, - "options": { - "(google.api.field_behavior)": "OPTIONAL" - } - } - } - }, - "ListChildAccountsResponse": { - "fields": { - "accounts": { - "rule": "repeated", - "type": "Account", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "GetAccountRequest": { - "oneofs": { - "_parent": { - "oneof": [ - "parent" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/Account" - } - }, - "parent": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "OPTIONAL", - "(google.api.resource_reference).type": "css.googleapis.com/Account", - "proto3_optional": true - } - } - } - }, - "UpdateAccountLabelsRequest": { - "oneofs": { - "_parent": { - "oneof": [ - "parent" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/Account" - } - }, - "labelIds": { - "rule": "repeated", - "type": "int64", - "id": 2 - }, - "parent": { - "type": "string", - "id": 3, - "options": { - "(google.api.field_behavior)": "OPTIONAL", - "(google.api.resource_reference).type": "css.googleapis.com/Account", - "proto3_optional": true - } - } - } - }, - "Account": { - "options": { - "(google.api.resource).type": "css.googleapis.com/Account", - "(google.api.resource).pattern": "accounts/{account}", - "(google.api.resource).plural": "accounts", - "(google.api.resource).singular": "account" - }, - "oneofs": { - "_displayName": { - "oneof": [ - "displayName" - ] - }, - "_homepageUri": { - "oneof": [ - "homepageUri" - ] - }, - "_parent": { - "oneof": [ - "parent" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "fullName": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "IMMUTABLE" - } - }, - "displayName": { - "type": "string", - "id": 3, - "options": { - "proto3_optional": true - } - }, - "homepageUri": { - "type": "string", - "id": 4, - "options": { - "(google.api.field_behavior)": "IMMUTABLE", - "proto3_optional": true - } - }, - "parent": { - "type": "string", - "id": 5, - "options": { - "proto3_optional": true - } - }, - "labelIds": { - "rule": "repeated", - "type": "int64", - "id": 6 - }, - "automaticLabelIds": { - "rule": "repeated", - "type": "int64", - "id": 7 - }, - "accountType": { - "type": "AccountType", - "id": 8, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - } - }, - "nested": { - "AccountType": { - "values": { - "ACCOUNT_TYPE_UNSPECIFIED": 0, - "CSS_GROUP": 1, - "CSS_DOMAIN": 2, - "MC_PRIMARY_CSS_MCA": 3, - "MC_CSS_MCA": 4, - "MC_MARKETPLACE_MCA": 5, - "MC_OTHER_MCA": 6, - "MC_STANDALONE": 7, - "MC_MCA_SUBACCOUNT": 8 - } - } - } - }, - "AccountLabelsService": { - "options": { - "(google.api.default_host)": "css.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "ListAccountLabels": { - "requestType": "ListAccountLabelsRequest", - "responseType": "ListAccountLabelsResponse", - "options": { - "(google.api.http).get": "/v1/{parent=accounts/*}/labels", - "(google.api.method_signature)": "parent" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/v1/{parent=accounts/*}/labels" - } - }, - { - "(google.api.method_signature)": "parent" - } - ] - }, - "CreateAccountLabel": { - "requestType": "CreateAccountLabelRequest", - "responseType": "AccountLabel", - "options": { - "(google.api.http).post": "/v1/{parent=accounts/*}/labels", - "(google.api.http).body": "account_label", - "(google.api.method_signature)": "parent,account_label" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "post": "/v1/{parent=accounts/*}/labels", - "body": "account_label" - } - }, - { - "(google.api.method_signature)": "parent,account_label" - } - ] - }, - "UpdateAccountLabel": { - "requestType": "UpdateAccountLabelRequest", - "responseType": "AccountLabel", - "options": { - "(google.api.http).patch": "/v1/{account_label.name=accounts/*/labels/*}", - "(google.api.http).body": "account_label", - "(google.api.method_signature)": "account_label" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "patch": "/v1/{account_label.name=accounts/*/labels/*}", - "body": "account_label" - } - }, - { - "(google.api.method_signature)": "account_label" - } - ] - }, - "DeleteAccountLabel": { - "requestType": "DeleteAccountLabelRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1/{name=accounts/*/labels/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "delete": "/v1/{name=accounts/*/labels/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - } - } - }, - "AccountLabel": { - "options": { - "(google.api.resource).type": "css.googleapis.com/AccountLabel", - "(google.api.resource).pattern": "accounts/{account}/labels/{label}", - "(google.api.resource).plural": "accountLabels", - "(google.api.resource).singular": "accountLabel" - }, - "oneofs": { - "_displayName": { - "oneof": [ - "displayName" - ] - }, - "_description": { - "oneof": [ - "description" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "labelId": { - "type": "int64", - "id": 2, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "accountId": { - "type": "int64", - "id": 3, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "displayName": { - "type": "string", - "id": 4, - "options": { - "proto3_optional": true - } - }, - "description": { - "type": "string", - "id": 5, - "options": { - "proto3_optional": true - } - }, - "labelType": { - "type": "LabelType", - "id": 6, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - } - }, - "nested": { - "LabelType": { - "values": { - "LABEL_TYPE_UNSPECIFIED": 0, - "MANUAL": 1, - "AUTOMATIC": 2 - } - } - } - }, - "ListAccountLabelsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "css.googleapis.com/AccountLabel" - } - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListAccountLabelsResponse": { - "fields": { - "accountLabels": { - "rule": "repeated", - "type": "AccountLabel", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "CreateAccountLabelRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "css.googleapis.com/AccountLabel" - } - }, - "accountLabel": { - "type": "AccountLabel", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "UpdateAccountLabelRequest": { - "fields": { - "accountLabel": { - "type": "AccountLabel", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - } - } - }, - "DeleteAccountLabelRequest": { - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/AccountLabel" - } - } - } - }, - "Attributes": { - "oneofs": { - "_cppLink": { - "oneof": [ - "cppLink" - ] - }, - "_cppMobileLink": { - "oneof": [ - "cppMobileLink" - ] - }, - "_cppAdsRedirect": { - "oneof": [ - "cppAdsRedirect" - ] - }, - "_numberOfOffers": { - "oneof": [ - "numberOfOffers" - ] - }, - "_headlineOfferCondition": { - "oneof": [ - "headlineOfferCondition" - ] - }, - "_headlineOfferLink": { - "oneof": [ - "headlineOfferLink" - ] - }, - "_headlineOfferMobileLink": { - "oneof": [ - "headlineOfferMobileLink" - ] - }, - "_title": { - "oneof": [ - "title" - ] - }, - "_imageLink": { - "oneof": [ - "imageLink" - ] - }, - "_description": { - "oneof": [ - "description" - ] - }, - "_brand": { - "oneof": [ - "brand" - ] - }, - "_mpn": { - "oneof": [ - "mpn" - ] - }, - "_gtin": { - "oneof": [ - "gtin" - ] - }, - "_googleProductCategory": { - "oneof": [ - "googleProductCategory" - ] - }, - "_adult": { - "oneof": [ - "adult" - ] - }, - "_multipack": { - "oneof": [ - "multipack" - ] - }, - "_isBundle": { - "oneof": [ - "isBundle" - ] - }, - "_ageGroup": { - "oneof": [ - "ageGroup" - ] - }, - "_color": { - "oneof": [ - "color" - ] - }, - "_gender": { - "oneof": [ - "gender" - ] - }, - "_material": { - "oneof": [ - "material" - ] - }, - "_pattern": { - "oneof": [ - "pattern" - ] - }, - "_size": { - "oneof": [ - "size" - ] - }, - "_sizeSystem": { - "oneof": [ - "sizeSystem" - ] - }, - "_itemGroupId": { - "oneof": [ - "itemGroupId" - ] - }, - "_pause": { - "oneof": [ - "pause" - ] - }, - "_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" - ] - } - }, - "fields": { - "cppLink": { - "type": "string", - "id": 1, - "options": { - "proto3_optional": true - } - }, - "cppMobileLink": { - "type": "string", - "id": 2, - "options": { - "proto3_optional": true - } - }, - "cppAdsRedirect": { - "type": "string", - "id": 42, - "options": { - "proto3_optional": true - } - }, - "lowPrice": { - "type": "google.shopping.type.Price", - "id": 3 - }, - "highPrice": { - "type": "google.shopping.type.Price", - "id": 4 - }, - "numberOfOffers": { - "type": "int64", - "id": 5, - "options": { - "proto3_optional": true - } - }, - "headlineOfferCondition": { - "type": "string", - "id": 6, - "options": { - "proto3_optional": true - } - }, - "headlineOfferPrice": { - "type": "google.shopping.type.Price", - "id": 7 - }, - "headlineOfferLink": { - "type": "string", - "id": 8, - "options": { - "proto3_optional": true - } - }, - "headlineOfferMobileLink": { - "type": "string", - "id": 9, - "options": { - "proto3_optional": true - } - }, - "headlineOfferShippingPrice": { - "type": "google.shopping.type.Price", - "id": 41 - }, - "title": { - "type": "string", - "id": 10, - "options": { - "proto3_optional": true - } - }, - "imageLink": { - "type": "string", - "id": 11, - "options": { - "proto3_optional": true - } - }, - "additionalImageLinks": { - "rule": "repeated", - "type": "string", - "id": 12 - }, - "description": { - "type": "string", - "id": 13, - "options": { - "proto3_optional": true - } - }, - "brand": { - "type": "string", - "id": 14, - "options": { - "proto3_optional": true - } - }, - "mpn": { - "type": "string", - "id": 15, - "options": { - "proto3_optional": true - } - }, - "gtin": { - "type": "string", - "id": 16, - "options": { - "proto3_optional": true - } - }, - "productTypes": { - "rule": "repeated", - "type": "string", - "id": 36 - }, - "googleProductCategory": { - "type": "string", - "id": 17, - "options": { - "proto3_optional": true - } - }, - "adult": { - "type": "bool", - "id": 18, - "options": { - "proto3_optional": true - } - }, - "multipack": { - "type": "int64", - "id": 19, - "options": { - "proto3_optional": true - } - }, - "isBundle": { - "type": "bool", - "id": 20, - "options": { - "proto3_optional": true - } - }, - "ageGroup": { - "type": "string", - "id": 21, - "options": { - "proto3_optional": true - } - }, - "color": { - "type": "string", - "id": 22, - "options": { - "proto3_optional": true - } - }, - "gender": { - "type": "string", - "id": 23, - "options": { - "proto3_optional": true - } - }, - "material": { - "type": "string", - "id": 24, - "options": { - "proto3_optional": true - } - }, - "pattern": { - "type": "string", - "id": 25, - "options": { - "proto3_optional": true - } - }, - "size": { - "type": "string", - "id": 26, - "options": { - "proto3_optional": true - } - }, - "sizeSystem": { - "type": "string", - "id": 27, - "options": { - "proto3_optional": true - } - }, - "sizeTypes": { - "rule": "repeated", - "type": "string", - "id": 28 - }, - "itemGroupId": { - "type": "string", - "id": 29, - "options": { - "proto3_optional": true - } - }, - "productDetails": { - "rule": "repeated", - "type": "ProductDetail", - "id": 30 - }, - "productWeight": { - "type": "ProductWeight", - "id": 31 - }, - "productLength": { - "type": "ProductDimension", - "id": 32 - }, - "productWidth": { - "type": "ProductDimension", - "id": 33 - }, - "productHeight": { - "type": "ProductDimension", - "id": 34 - }, - "productHighlights": { - "rule": "repeated", - "type": "string", - "id": 35 - }, - "certifications": { - "rule": "repeated", - "type": "Certification", - "id": 39 - }, - "expirationDate": { - "type": "google.protobuf.Timestamp", - "id": 40 - }, - "includedDestinations": { - "rule": "repeated", - "type": "string", - "id": 43 - }, - "excludedDestinations": { - "rule": "repeated", - "type": "string", - "id": 44 - }, - "pause": { - "type": "string", - "id": 45, - "options": { - "proto3_optional": true - } - }, - "customLabel_0": { - "type": "string", - "id": 46, - "options": { - "proto3_optional": true - } - }, - "customLabel_1": { - "type": "string", - "id": 47, - "options": { - "proto3_optional": true - } - }, - "customLabel_2": { - "type": "string", - "id": 48, - "options": { - "proto3_optional": true - } - }, - "customLabel_3": { - "type": "string", - "id": 49, - "options": { - "proto3_optional": true - } - }, - "customLabel_4": { - "type": "string", - "id": 50, - "options": { - "proto3_optional": true - } - }, - "headlineOfferInstallment": { - "type": "HeadlineOfferInstallment", - "id": 51 - }, - "headlineOfferSubscriptionCost": { - "type": "HeadlineOfferSubscriptionCost", - "id": 52 - } - } - }, - "Certification": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "authority": { - "type": "string", - "id": 2 - }, - "code": { - "type": "string", - "id": 3 - } - } - }, - "ProductDetail": { - "fields": { - "sectionName": { - "type": "string", - "id": 1 - }, - "attributeName": { - "type": "string", - "id": 2 - }, - "attributeValue": { - "type": "string", - "id": 3 - } - } - }, - "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" - } - } - } - }, - "CssProductStatus": { - "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": { - "destination": { - "type": "string", - "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 - }, - "servability": { - "type": "string", - "id": 2 - }, - "resolution": { - "type": "string", - "id": 3 - }, - "attribute": { - "type": "string", - "id": 4 - }, - "destination": { - "type": "string", - "id": 5 - }, - "description": { - "type": "string", - "id": 6 - }, - "detail": { - "type": "string", - "id": 7 - }, - "documentation": { - "type": "string", - "id": 8 - }, - "applicableCountries": { - "rule": "repeated", - "type": "string", - "id": 9 - } - } - } - } - }, - "HeadlineOfferSubscriptionCost": { - "fields": { - "period": { - "type": "SubscriptionPeriod", - "id": 1 - }, - "periodLength": { - "type": "int64", - "id": 2 - }, - "amount": { - "type": "google.shopping.type.Price", - "id": 3 - } - } - }, - "HeadlineOfferInstallment": { - "fields": { - "months": { - "type": "int64", - "id": 1 - }, - "amount": { - "type": "google.shopping.type.Price", - "id": 2 - }, - "downpayment": { - "type": "google.shopping.type.Price", - "id": 3 - } - } - }, - "SubscriptionPeriod": { - "values": { - "SUBSCRIPTION_PERIOD_UNSPECIFIED": 0, - "MONTH": 1, - "YEAR": 2 - } - }, - "CssProductInputsService": { - "options": { - "(google.api.default_host)": "css.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "InsertCssProductInput": { - "requestType": "InsertCssProductInputRequest", - "responseType": "CssProductInput", - "options": { - "(google.api.http).post": "/v1/{parent=accounts/*}/cssProductInputs:insert", - "(google.api.http).body": "css_product_input" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "post": "/v1/{parent=accounts/*}/cssProductInputs:insert", - "body": "css_product_input" - } - } - ] - }, - "UpdateCssProductInput": { - "requestType": "UpdateCssProductInputRequest", - "responseType": "CssProductInput", - "options": { - "(google.api.http).patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", - "(google.api.http).body": "css_product_input", - "(google.api.method_signature)": "css_product_input,update_mask" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", - "body": "css_product_input" - } - }, - { - "(google.api.method_signature)": "css_product_input,update_mask" - } - ] - }, - "DeleteCssProductInput": { - "requestType": "DeleteCssProductInputRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1/{name=accounts/*/cssProductInputs/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "delete": "/v1/{name=accounts/*/cssProductInputs/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - } - } - }, - "CssProductInput": { - "options": { - "(google.api.resource).type": "css.googleapis.com/CssProductInput", - "(google.api.resource).pattern": "accounts/{account}/cssProductInputs/{css_product_input}" - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "finalName": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "rawProvidedId": { - "type": "string", - "id": 3, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "contentLanguage": { - "type": "string", - "id": 4, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "feedLabel": { - "type": "string", - "id": 5, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "freshnessTime": { - "type": "google.protobuf.Timestamp", - "id": 6, - "options": { - "deprecated": true - } - }, - "attributes": { - "type": "Attributes", - "id": 7 - }, - "customAttributes": { - "rule": "repeated", - "type": "google.shopping.type.CustomAttribute", - "id": 8 - } - } - }, - "InsertCssProductInputRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "css.googleapis.com/CssProductInput" - } - }, - "cssProductInput": { - "type": "CssProductInput", - "id": 2, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "feedId": { - "type": "int64", - "id": 3, - "options": { - "deprecated": true, - "(google.api.field_behavior)": "OPTIONAL" - } - } - } - }, - "UpdateCssProductInputRequest": { - "fields": { - "cssProductInput": { - "type": "CssProductInput", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED" - } - }, - "updateMask": { - "type": "google.protobuf.FieldMask", - "id": 2 - } - } - }, - "DeleteCssProductInputRequest": { - "oneofs": { - "_supplementalFeedId": { - "oneof": [ - "supplementalFeedId" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/CssProductInput" - } - }, - "supplementalFeedId": { - "type": "int64", - "id": 2, - "options": { - "proto3_optional": true - } - } - } - }, - "CssProductsService": { - "options": { - "(google.api.default_host)": "css.googleapis.com", - "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/content" - }, - "methods": { - "GetCssProduct": { - "requestType": "GetCssProductRequest", - "responseType": "CssProduct", - "options": { - "(google.api.http).get": "/v1/{name=accounts/*/cssProducts/*}", - "(google.api.method_signature)": "name" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/v1/{name=accounts/*/cssProducts/*}" - } - }, - { - "(google.api.method_signature)": "name" - } - ] - }, - "ListCssProducts": { - "requestType": "ListCssProductsRequest", - "responseType": "ListCssProductsResponse", - "options": { - "(google.api.http).get": "/v1/{parent=accounts/*}/cssProducts", - "(google.api.method_signature)": "parent" - }, - "parsedOptions": [ - { - "(google.api.http)": { - "get": "/v1/{parent=accounts/*}/cssProducts" - } - }, - { - "(google.api.method_signature)": "parent" - } - ] - } - } - }, - "GetCssProductRequest": { - "fields": { - "name": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).type": "css.googleapis.com/CssProduct" - } - } - } - }, - "CssProduct": { - "options": { - "(google.api.resource).type": "css.googleapis.com/CssProduct", - "(google.api.resource).pattern": "accounts/{account}/cssProducts/{css_product}", - "(google.api.resource).plural": "cssProducts", - "(google.api.resource).singular": "cssProduct" - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "rawProvidedId": { - "type": "string", - "id": 2, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "contentLanguage": { - "type": "string", - "id": 3, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "feedLabel": { - "type": "string", - "id": 4, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "attributes": { - "type": "Attributes", - "id": 5, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "customAttributes": { - "rule": "repeated", - "type": "google.shopping.type.CustomAttribute", - "id": 6, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - }, - "cssProductStatus": { - "type": "CssProductStatus", - "id": 8, - "options": { - "(google.api.field_behavior)": "OUTPUT_ONLY" - } - } - } - }, - "ListCssProductsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1, - "options": { - "(google.api.field_behavior)": "REQUIRED", - "(google.api.resource_reference).child_type": "css.googleapis.com/CssProduct" - } - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListCssProductsResponse": { - "fields": { - "cssProducts": { - "rule": "repeated", - "type": "CssProduct", - "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 - } - } - }, - "FieldMask": { - "fields": { - "paths": { - "rule": "repeated", - "type": "string", - "id": 1 - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js deleted file mode 100644 index c06ed69259c..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.create_account_label.js +++ /dev/null @@ -1,67 +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, accountLabel) { - // [START css_v1_generated_AccountLabelsService_CreateAccountLabel_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 parent account. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * Required. The label to create. - */ - // const accountLabel = {} - - // Imports the Css library - const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountLabelsServiceClient(); - - async function callCreateAccountLabel() { - // Construct request - const request = { - parent, - accountLabel, - }; - - // Run request - const response = await cssClient.createAccountLabel(request); - console.log(response); - } - - callCreateAccountLabel(); - // [END css_v1_generated_AccountLabelsService_CreateAccountLabel_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-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js deleted file mode 100644 index a8b1e05a4d8..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.delete_account_label.js +++ /dev/null @@ -1,62 +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 css_v1_generated_AccountLabelsService_DeleteAccountLabel_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 label to delete. - * Format: accounts/{account}/labels/{label} - */ - // const name = 'abc123' - - // Imports the Css library - const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountLabelsServiceClient(); - - async function callDeleteAccountLabel() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await cssClient.deleteAccountLabel(request); - console.log(response); - } - - callDeleteAccountLabel(); - // [END css_v1_generated_AccountLabelsService_DeleteAccountLabel_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-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.js deleted file mode 100644 index 5be3ba57fab..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.list_account_labels.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 css_v1_generated_AccountLabelsService_ListAccountLabels_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 parent account. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * The maximum number of labels to return. The service may return fewer than - * this value. - * If unspecified, at most 50 labels will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - // const pageSize = 1234 - /** - * A page token, received from a previous `ListAccountLabels` call. - * Provide this to retrieve the subsequent page. - * When paginating, all other parameters provided to `ListAccountLabels` must - * match the call that provided the page token. - */ - // const pageToken = 'abc123' - - // Imports the Css library - const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountLabelsServiceClient(); - - async function callListAccountLabels() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = cssClient.listAccountLabelsAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListAccountLabels(); - // [END css_v1_generated_AccountLabelsService_ListAccountLabels_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-css/v1/samples/generated/v1/account_labels_service.update_account_label.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js deleted file mode 100644 index e8fd16dfec6..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/account_labels_service.update_account_label.js +++ /dev/null @@ -1,61 +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(accountLabel) { - // [START css_v1_generated_AccountLabelsService_UpdateAccountLabel_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 updated label. All fields must be provided. - */ - // const accountLabel = {} - - // Imports the Css library - const {AccountLabelsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountLabelsServiceClient(); - - async function callUpdateAccountLabel() { - // Construct request - const request = { - accountLabel, - }; - - // Run request - const response = await cssClient.updateAccountLabel(request); - console.log(response); - } - - callUpdateAccountLabel(); - // [END css_v1_generated_AccountLabelsService_UpdateAccountLabel_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-css/v1/samples/generated/v1/accounts_service.get_account.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js deleted file mode 100644 index 272dcadbbf9..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.get_account.js +++ /dev/null @@ -1,68 +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 css_v1_generated_AccountsService_GetAccount_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 managed CSS/MC account. - * Format: accounts/{account} - */ - // const name = 'abc123' - /** - * Optional. Only required when retrieving MC account information. - * The CSS domain that is the parent resource of the MC account. - * Format: accounts/{account} - */ - // const parent = 'abc123' - - // Imports the Css library - const {AccountsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountsServiceClient(); - - async function callGetAccount() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await cssClient.getAccount(request); - console.log(response); - } - - callGetAccount(); - // [END css_v1_generated_AccountsService_GetAccount_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-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js deleted file mode 100644 index 980ee7a7e81..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.list_child_accounts.js +++ /dev/null @@ -1,87 +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 css_v1_generated_AccountsService_ListChildAccounts_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 parent account. Must be a CSS group or domain. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * If set, only the MC accounts with the given label ID will be returned. - */ - // const labelId = 1234 - /** - * If set, only the MC accounts with the given name (case sensitive) will be - * returned. - */ - // const fullName = 'abc123' - /** - * Optional. The maximum number of accounts to return. The service may return - * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 100; values above 100 will be coerced to - * 100. - */ - // const pageSize = 1234 - /** - * Optional. A page token, received from a previous `ListChildAccounts` call. - * Provide this to retrieve the subsequent page. - * When paginating, all other parameters provided to `ListChildAccounts` must - * match the call that provided the page token. - */ - // const pageToken = 'abc123' - - // Imports the Css library - const {AccountsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountsServiceClient(); - - async function callListChildAccounts() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = cssClient.listChildAccountsAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListChildAccounts(); - // [END css_v1_generated_AccountsService_ListChildAccounts_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-css/v1/samples/generated/v1/accounts_service.update_labels.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.js deleted file mode 100644 index 66e9b13d8f4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/accounts_service.update_labels.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) { - // [START css_v1_generated_AccountsService_UpdateLabels_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 label resource name. - * Format: accounts/{account} - */ - // const name = 'abc123' - /** - * The list of label IDs to overwrite the existing account label IDs. - * If the list is empty, all currently assigned label IDs will be deleted. - */ - // const labelIds = [1,2,3,4] - /** - * Optional. Only required when updating MC account labels. - * The CSS domain that is the parent resource of the MC account. - * Format: accounts/{account} - */ - // const parent = 'abc123' - - // Imports the Css library - const {AccountsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new AccountsServiceClient(); - - async function callUpdateLabels() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await cssClient.updateLabels(request); - console.log(response); - } - - callUpdateLabels(); - // [END css_v1_generated_AccountsService_UpdateLabels_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-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js deleted file mode 100644 index f56e21d7f0c..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js +++ /dev/null @@ -1,69 +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 css_v1_generated_CssProductInputsService_DeleteCssProductInput_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 CSS product input resource to delete. - * Format: accounts/{account}/cssProductInputs/{css_product_input} - */ - // const name = 'abc123' - /** - * The Content API Supplemental Feed ID. - * The field must not be set if the action applies to a primary feed. - * If the field is set, then product action applies to a supplemental feed - * instead of primary Content API feed. - */ - // const supplementalFeedId = 1234 - - // Imports the Css library - const {CssProductInputsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new CssProductInputsServiceClient(); - - async function callDeleteCssProductInput() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await cssClient.deleteCssProductInput(request); - console.log(response); - } - - callDeleteCssProductInput(); - // [END css_v1_generated_CssProductInputsService_DeleteCssProductInput_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-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js deleted file mode 100644 index 31a23e571d2..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js +++ /dev/null @@ -1,77 +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, cssProductInput) { - // [START css_v1_generated_CssProductInputsService_InsertCssProductInput_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 CSS Product will be inserted. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * Required. The CSS Product Input to insert. - */ - // const cssProductInput = {} - /** - * Optional. DEPRECATED. Feed id is not required for CSS Products. - * The primary or supplemental feed id. If CSS Product already exists and - * feed id provided is different, then the CSS Product will be moved to a - * new feed. - * Note: For now, CSSs do not need to provide feed ids as we create - * feeds on the fly. - * We do not have supplemental feed support for CSS Products yet. - */ - // const feedId = 1234 - - // Imports the Css library - const {CssProductInputsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new CssProductInputsServiceClient(); - - async function callInsertCssProductInput() { - // Construct request - const request = { - parent, - cssProductInput, - }; - - // Run request - const response = await cssClient.insertCssProductInput(request); - console.log(response); - } - - callInsertCssProductInput(); - // [END css_v1_generated_CssProductInputsService_InsertCssProductInput_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-css/v1/samples/generated/v1/css_products_service.get_css_product.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js deleted file mode 100644 index 7bc6c584906..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.get_css_product.js +++ /dev/null @@ -1,61 +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 css_v1_generated_CssProductsService_GetCssProduct_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 CSS product to retrieve. - */ - // const name = 'abc123' - - // Imports the Css library - const {CssProductsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new CssProductsServiceClient(); - - async function callGetCssProduct() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await cssClient.getCssProduct(request); - console.log(response); - } - - callGetCssProduct(); - // [END css_v1_generated_CssProductsService_GetCssProduct_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-css/v1/samples/generated/v1/css_products_service.list_css_products.js b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_products.js deleted file mode 100644 index b9068f3408e..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_products_service.list_css_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 css_v1_generated_CssProductsService_ListCssProducts_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/domain to list processed CSS Products for. - * Format: accounts/{account} - */ - // const parent = 'abc123' - /** - * The maximum number of CSS Products to return. The service may return - * fewer than this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. If - * unspecified, the maximum number of CSS products will be returned. - */ - // const pageSize = 1234 - /** - * A page token, received from a previous `ListCssProducts` call. - * Provide this to retrieve the subsequent page. - * When paginating, all other parameters provided to `ListCssProducts` - * must match the call that provided the page token. - */ - // const pageToken = 'abc123' - - // Imports the Css library - const {CssProductsServiceClient} = require('@google-shopping/css').v1; - - // Instantiates a client - const cssClient = new CssProductsServiceClient(); - - async function callListCssProducts() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = cssClient.listCssProductsAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListCssProducts(); - // [END css_v1_generated_CssProductsService_ListCssProducts_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-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json b/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json deleted file mode 100644 index 202a93fce9b..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json +++ /dev/null @@ -1,559 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-css", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.shopping.css.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "css_v1_generated_AccountLabelsService_ListAccountLabels_async", - "title": "AccountLabelsService listAccountLabels Sample", - "origin": "API_DEFINITION", - "description": " Lists the labels owned by an account.", - "canonical": true, - "file": "account_labels_service.list_account_labels.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 70, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListAccountLabels", - "fullName": "google.shopping.css.v1.AccountLabelsService.ListAccountLabels", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.ListAccountLabelsResponse", - "client": { - "shortName": "AccountLabelsServiceClient", - "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" - }, - "method": { - "shortName": "ListAccountLabels", - "fullName": "google.shopping.css.v1.AccountLabelsService.ListAccountLabels", - "service": { - "shortName": "AccountLabelsService", - "fullName": "google.shopping.css.v1.AccountLabelsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountLabelsService_CreateAccountLabel_async", - "title": "AccountLabelsService createAccountLabel Sample", - "origin": "API_DEFINITION", - "description": " Creates a new label, not assigned to any account.", - "canonical": true, - "file": "account_labels_service.create_account_label.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.CreateAccountLabel", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "account_label", - "type": ".google.shopping.css.v1.AccountLabel" - } - ], - "resultType": ".google.shopping.css.v1.AccountLabel", - "client": { - "shortName": "AccountLabelsServiceClient", - "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" - }, - "method": { - "shortName": "CreateAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.CreateAccountLabel", - "service": { - "shortName": "AccountLabelsService", - "fullName": "google.shopping.css.v1.AccountLabelsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountLabelsService_UpdateAccountLabel_async", - "title": "AccountLabelsService updateAccountLabel Sample", - "origin": "API_DEFINITION", - "description": " Updates a label.", - "canonical": true, - "file": "account_labels_service.update_account_label.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 53, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.UpdateAccountLabel", - "async": true, - "parameters": [ - { - "name": "account_label", - "type": ".google.shopping.css.v1.AccountLabel" - } - ], - "resultType": ".google.shopping.css.v1.AccountLabel", - "client": { - "shortName": "AccountLabelsServiceClient", - "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" - }, - "method": { - "shortName": "UpdateAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.UpdateAccountLabel", - "service": { - "shortName": "AccountLabelsService", - "fullName": "google.shopping.css.v1.AccountLabelsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountLabelsService_DeleteAccountLabel_async", - "title": "AccountLabelsService deleteAccountLabel Sample", - "origin": "API_DEFINITION", - "description": " Deletes a label and removes it from all accounts to which it was assigned.", - "canonical": true, - "file": "account_labels_service.delete_account_label.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.DeleteAccountLabel", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "AccountLabelsServiceClient", - "fullName": "google.shopping.css.v1.AccountLabelsServiceClient" - }, - "method": { - "shortName": "DeleteAccountLabel", - "fullName": "google.shopping.css.v1.AccountLabelsService.DeleteAccountLabel", - "service": { - "shortName": "AccountLabelsService", - "fullName": "google.shopping.css.v1.AccountLabelsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountsService_ListChildAccounts_async", - "title": "AccountLabelsService listChildAccounts Sample", - "origin": "API_DEFINITION", - "description": " Lists all the accounts under the specified CSS account ID, and optionally filters by label ID and account name.", - "canonical": true, - "file": "accounts_service.list_child_accounts.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 79, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListChildAccounts", - "fullName": "google.shopping.css.v1.AccountsService.ListChildAccounts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "label_id", - "type": "TYPE_INT64" - }, - { - "name": "full_name", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.ListChildAccountsResponse", - "client": { - "shortName": "AccountsServiceClient", - "fullName": "google.shopping.css.v1.AccountsServiceClient" - }, - "method": { - "shortName": "ListChildAccounts", - "fullName": "google.shopping.css.v1.AccountsService.ListChildAccounts", - "service": { - "shortName": "AccountsService", - "fullName": "google.shopping.css.v1.AccountsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountsService_GetAccount_async", - "title": "AccountLabelsService getAccount Sample", - "origin": "API_DEFINITION", - "description": " Retrieves a single CSS/MC account by ID.", - "canonical": true, - "file": "accounts_service.get_account.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetAccount", - "fullName": "google.shopping.css.v1.AccountsService.GetAccount", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.Account", - "client": { - "shortName": "AccountsServiceClient", - "fullName": "google.shopping.css.v1.AccountsServiceClient" - }, - "method": { - "shortName": "GetAccount", - "fullName": "google.shopping.css.v1.AccountsService.GetAccount", - "service": { - "shortName": "AccountsService", - "fullName": "google.shopping.css.v1.AccountsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_AccountsService_UpdateLabels_async", - "title": "AccountLabelsService updateLabels Sample", - "origin": "API_DEFINITION", - "description": " Updates labels assigned to CSS/MC accounts by a CSS domain.", - "canonical": true, - "file": "accounts_service.update_labels.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 65, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateLabels", - "fullName": "google.shopping.css.v1.AccountsService.UpdateLabels", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "label_ids", - "type": "TYPE_INT64[]" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.Account", - "client": { - "shortName": "AccountsServiceClient", - "fullName": "google.shopping.css.v1.AccountsServiceClient" - }, - "method": { - "shortName": "UpdateLabels", - "fullName": "google.shopping.css.v1.AccountsService.UpdateLabels", - "service": { - "shortName": "AccountsService", - "fullName": "google.shopping.css.v1.AccountsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_CssProductInputsService_InsertCssProductInput_async", - "title": "AccountLabelsService insertCssProductInput Sample", - "origin": "API_DEFINITION", - "description": " Uploads a CssProductInput to your CSS Center account. If an input with the same contentLanguage, identity, feedLabel and feedId already exists, this method replaces that entry. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed CSS Product can be retrieved.", - "canonical": true, - "file": "css_product_inputs_service.insert_css_product_input.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 69, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "InsertCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.InsertCssProductInput", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "css_product_input", - "type": ".google.shopping.css.v1.CssProductInput" - }, - { - "name": "feed_id", - "type": "TYPE_INT64" - } - ], - "resultType": ".google.shopping.css.v1.CssProductInput", - "client": { - "shortName": "CssProductInputsServiceClient", - "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" - }, - "method": { - "shortName": "InsertCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.InsertCssProductInput", - "service": { - "shortName": "CssProductInputsService", - "fullName": "google.shopping.css.v1.CssProductInputsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_CssProductInputsService_UpdateCssProductInput_async", - "title": "AccountLabelsService updateCssProductInput Sample", - "origin": "API_DEFINITION", - "description": " Updates the existing Css Product input in your CSS Center account. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed Css Product can be retrieved.", - "canonical": true, - "file": "css_product_inputs_service.update_css_product_input.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 68, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", - "async": true, - "parameters": [ - { - "name": "css_product_input", - "type": ".google.shopping.css.v1.CssProductInput" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.shopping.css.v1.CssProductInput", - "client": { - "shortName": "CssProductInputsServiceClient", - "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" - }, - "method": { - "shortName": "UpdateCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", - "service": { - "shortName": "CssProductInputsService", - "fullName": "google.shopping.css.v1.CssProductInputsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_CssProductInputsService_DeleteCssProductInput_async", - "title": "AccountLabelsService deleteCssProductInput Sample", - "origin": "API_DEFINITION", - "description": " Deletes a CSS Product input from your CSS Center account. After a delete it may take several minutes until the input is no longer available.", - "canonical": true, - "file": "css_product_inputs_service.delete_css_product_input.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 61, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.DeleteCssProductInput", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "supplemental_feed_id", - "type": "TYPE_INT64" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "CssProductInputsServiceClient", - "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" - }, - "method": { - "shortName": "DeleteCssProductInput", - "fullName": "google.shopping.css.v1.CssProductInputsService.DeleteCssProductInput", - "service": { - "shortName": "CssProductInputsService", - "fullName": "google.shopping.css.v1.CssProductInputsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_CssProductsService_GetCssProduct_async", - "title": "AccountLabelsService getCssProduct Sample", - "origin": "API_DEFINITION", - "description": " Retrieves the processed CSS Product from your CSS 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": "css_products_service.get_css_product.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 53, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetCssProduct", - "fullName": "google.shopping.css.v1.CssProductsService.GetCssProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.CssProduct", - "client": { - "shortName": "CssProductsServiceClient", - "fullName": "google.shopping.css.v1.CssProductsServiceClient" - }, - "method": { - "shortName": "GetCssProduct", - "fullName": "google.shopping.css.v1.CssProductsService.GetCssProduct", - "service": { - "shortName": "CssProductsService", - "fullName": "google.shopping.css.v1.CssProductsService" - } - } - } - }, - { - "regionTag": "css_v1_generated_CssProductsService_ListCssProducts_async", - "title": "AccountLabelsService listCssProducts Sample", - "origin": "API_DEFINITION", - "description": " Lists the processed CSS Products in your CSS 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 CSS product input, it may take several minutes before the updated processed CSS product can be retrieved.", - "canonical": true, - "file": "css_products_service.list_css_products.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 70, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListCssProducts", - "fullName": "google.shopping.css.v1.CssProductsService.ListCssProducts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.shopping.css.v1.ListCssProductsResponse", - "client": { - "shortName": "CssProductsServiceClient", - "fullName": "google.shopping.css.v1.CssProductsServiceClient" - }, - "method": { - "shortName": "ListCssProducts", - "fullName": "google.shopping.css.v1.CssProductsService.ListCssProducts", - "service": { - "shortName": "CssProductsService", - "fullName": "google.shopping.css.v1.CssProductsService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/index.ts b/owl-bot-staging/google-shopping-css/v1/src/index.ts deleted file mode 100644 index 258a6280140..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/index.ts +++ /dev/null @@ -1,31 +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 v1 from './v1'; -const AccountLabelsServiceClient = v1.AccountLabelsServiceClient; -type AccountLabelsServiceClient = v1.AccountLabelsServiceClient; -const AccountsServiceClient = v1.AccountsServiceClient; -type AccountsServiceClient = v1.AccountsServiceClient; -const CssProductInputsServiceClient = v1.CssProductInputsServiceClient; -type CssProductInputsServiceClient = v1.CssProductInputsServiceClient; -const CssProductsServiceClient = v1.CssProductsServiceClient; -type CssProductsServiceClient = v1.CssProductsServiceClient; -export {v1, AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient}; -export default {v1, AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts deleted file mode 100644 index 987f67fe9c2..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client.ts +++ /dev/null @@ -1,904 +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/v1/account_labels_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './account_labels_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Manages Merchant Center and CSS accounts labels. - * @class - * @memberof v1 - */ -export class AccountLabelsServiceClient { - 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}; - accountLabelsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of AccountLabelsServiceClient. - * - * @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 AccountLabelsServiceClient({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 AccountLabelsServiceClient; - 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 = 'css.' + 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}' - ), - accountLabelPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/labels/{label}' - ), - cssProductPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProducts/{css_product}' - ), - cssProductInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProductInputs/{css_product_input}' - ), - }; - - // 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 = { - listAccountLabels: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'accountLabels') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.css.v1.AccountLabelsService', 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.accountLabelsServiceStub) { - return this.accountLabelsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.css.v1.AccountLabelsService. - this.accountLabelsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.AccountLabelsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.css.v1.AccountLabelsService, - 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 accountLabelsServiceStubMethods = - ['listAccountLabels', 'createAccountLabel', 'updateAccountLabel', 'deleteAccountLabel']; - for (const methodName of accountLabelsServiceStubMethods) { - const callPromise = this.accountLabelsServiceStub.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.accountLabelsServiceStub; - } - - /** - * 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 'css.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 'css.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 -- - // ------------------- -/** - * Creates a new label, not assigned to any account. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent account. - * Format: accounts/{account} - * @param {google.shopping.css.v1.AccountLabel} request.accountLabel - * Required. The label to create. - * @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.css.v1.AccountLabel|AccountLabel}. - * 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/v1/account_labels_service.create_account_label.js - * region_tag:css_v1_generated_AccountLabelsService_CreateAccountLabel_async - */ - createAccountLabel( - request?: protos.google.shopping.css.v1.ICreateAccountLabelRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|undefined, {}|undefined - ]>; - createAccountLabel( - request: protos.google.shopping.css.v1.ICreateAccountLabelRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - createAccountLabel( - request: protos.google.shopping.css.v1.ICreateAccountLabelRequest, - callback: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - createAccountLabel( - request?: protos.google.shopping.css.v1.ICreateAccountLabelRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.ICreateAccountLabelRequest|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.createAccountLabel(request, options, callback); - } -/** - * Updates a label. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.shopping.css.v1.AccountLabel} request.accountLabel - * Required. The updated label. All fields must be provided. - * @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.css.v1.AccountLabel|AccountLabel}. - * 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/v1/account_labels_service.update_account_label.js - * region_tag:css_v1_generated_AccountLabelsService_UpdateAccountLabel_async - */ - updateAccountLabel( - request?: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|undefined, {}|undefined - ]>; - updateAccountLabel( - request: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - updateAccountLabel( - request: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, - callback: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - updateAccountLabel( - request?: protos.google.shopping.css.v1.IUpdateAccountLabelRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel, - protos.google.shopping.css.v1.IUpdateAccountLabelRequest|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({ - 'account_label.name': request.accountLabel!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateAccountLabel(request, options, callback); - } -/** - * Deletes a label and removes it from all accounts to which it was assigned. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the label to delete. - * Format: accounts/{account}/labels/{label} - * @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/v1/account_labels_service.delete_account_label.js - * region_tag:css_v1_generated_AccountLabelsService_DeleteAccountLabel_async - */ - deleteAccountLabel( - request?: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|undefined, {}|undefined - ]>; - deleteAccountLabel( - request: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - deleteAccountLabel( - request: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, - {}|null|undefined>): void; - deleteAccountLabel( - request?: protos.google.shopping.css.v1.IDeleteAccountLabelRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteAccountLabelRequest|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.deleteAccountLabel(request, options, callback); - } - - /** - * Lists the labels owned by an account. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent account. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of labels to return. The service may return fewer than - * this value. - * If unspecified, at most 50 labels will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} request.pageToken - * A page token, received from a previous `ListAccountLabels` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel}. - * 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 `listAccountLabelsAsync()` - * 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. - */ - listAccountLabels( - request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel[], - protos.google.shopping.css.v1.IListAccountLabelsRequest|null, - protos.google.shopping.css.v1.IListAccountLabelsResponse - ]>; - listAccountLabels( - request: protos.google.shopping.css.v1.IListAccountLabelsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListAccountLabelsRequest, - protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, - protos.google.shopping.css.v1.IAccountLabel>): void; - listAccountLabels( - request: protos.google.shopping.css.v1.IListAccountLabelsRequest, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListAccountLabelsRequest, - protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, - protos.google.shopping.css.v1.IAccountLabel>): void; - listAccountLabels( - request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.shopping.css.v1.IListAccountLabelsRequest, - protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, - protos.google.shopping.css.v1.IAccountLabel>, - callback?: PaginationCallback< - protos.google.shopping.css.v1.IListAccountLabelsRequest, - protos.google.shopping.css.v1.IListAccountLabelsResponse|null|undefined, - protos.google.shopping.css.v1.IAccountLabel>): - Promise<[ - protos.google.shopping.css.v1.IAccountLabel[], - protos.google.shopping.css.v1.IListAccountLabelsRequest|null, - protos.google.shopping.css.v1.IListAccountLabelsResponse - ]>|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.listAccountLabels(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 parent account. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of labels to return. The service may return fewer than - * this value. - * If unspecified, at most 50 labels will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} request.pageToken - * A page token, received from a previous `ListAccountLabels` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel} 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 `listAccountLabelsAsync()` - * 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. - */ - listAccountLabelsStream( - request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, - 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['listAccountLabels']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listAccountLabels.createStream( - this.innerApiCalls.listAccountLabels as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listAccountLabels`, 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 parent account. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of labels to return. The service may return fewer than - * this value. - * If unspecified, at most 50 labels will be returned. - * The maximum value is 1000; values above 1000 will be coerced to 1000. - * @param {string} request.pageToken - * A page token, received from a previous `ListAccountLabels` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListAccountLabels` 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.css.v1.AccountLabel|AccountLabel}. 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/v1/account_labels_service.list_account_labels.js - * region_tag:css_v1_generated_AccountLabelsService_ListAccountLabels_async - */ - listAccountLabelsAsync( - request?: protos.google.shopping.css.v1.IListAccountLabelsRequest, - 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['listAccountLabels']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listAccountLabels.asyncIterate( - this.innerApiCalls['listAccountLabels'] 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 accountLabel resource name string. - * - * @param {string} account - * @param {string} label - * @returns {string} Resource name string. - */ - accountLabelPath(account:string,label:string) { - return this.pathTemplates.accountLabelPathTemplate.render({ - account: account, - label: label, - }); - } - - /** - * Parse the account from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; - } - - /** - * Parse the label from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the label. - */ - matchLabelFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; - } - - /** - * Return a fully-qualified cssProduct resource name string. - * - * @param {string} account - * @param {string} css_product - * @returns {string} Resource name string. - */ - cssProductPath(account:string,cssProduct:string) { - return this.pathTemplates.cssProductPathTemplate.render({ - account: account, - css_product: cssProduct, - }); - } - - /** - * Parse the account from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; - } - - /** - * Parse the css_product from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the css_product. - */ - matchCssProductFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; - } - - /** - * Return a fully-qualified cssProductInput resource name string. - * - * @param {string} account - * @param {string} css_product_input - * @returns {string} Resource name string. - */ - cssProductInputPath(account:string,cssProductInput:string) { - return this.pathTemplates.cssProductInputPathTemplate.render({ - account: account, - css_product_input: cssProductInput, - }); - } - - /** - * Parse the account from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; - } - - /** - * Parse the css_product_input from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the css_product_input. - */ - matchCssProductInputFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; - } - - /** - * 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.accountLabelsServiceStub && !this._terminated) { - return this.accountLabelsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json deleted file mode 100644 index 4a6a500bd94..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_client_config.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "interfaces": { - "google.shopping.css.v1.AccountLabelsService": { - "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": { - "ListAccountLabels": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "CreateAccountLabel": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "UpdateAccountLabel": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "DeleteAccountLabel": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json deleted file mode 100644 index 4c0ad1e48a4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/account_labels_service_proto_list.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - "../../protos/google/shopping/css/v1/accounts.proto", - "../../protos/google/shopping/css/v1/accounts_labels.proto", - "../../protos/google/shopping/css/v1/css_product_common.proto", - "../../protos/google/shopping/css/v1/css_product_inputs.proto", - "../../protos/google/shopping/css/v1/css_products.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts deleted file mode 100644 index 7c0aaafb96c..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client.ts +++ /dev/null @@ -1,859 +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/v1/accounts_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './accounts_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Service for managing CSS/MC account information. - * @class - * @memberof v1 - */ -export class AccountsServiceClient { - 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}; - accountsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of AccountsServiceClient. - * - * @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 AccountsServiceClient({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 AccountsServiceClient; - 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 = 'css.' + 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}' - ), - accountLabelPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/labels/{label}' - ), - cssProductPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProducts/{css_product}' - ), - cssProductInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProductInputs/{css_product_input}' - ), - }; - - // 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 = { - listChildAccounts: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'accounts') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.css.v1.AccountsService', 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.accountsServiceStub) { - return this.accountsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.css.v1.AccountsService. - this.accountsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.AccountsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.css.v1.AccountsService, - 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 accountsServiceStubMethods = - ['listChildAccounts', 'getAccount', 'updateLabels']; - for (const methodName of accountsServiceStubMethods) { - const callPromise = this.accountsServiceStub.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.accountsServiceStub; - } - - /** - * 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 'css.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 'css.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 a single CSS/MC account by ID. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the managed CSS/MC account. - * Format: accounts/{account} - * @param {string} [request.parent] - * Optional. Only required when retrieving MC account information. - * The CSS domain that is the parent resource of the MC account. - * Format: accounts/{account} - * @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.css.v1.Account|Account}. - * 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/v1/accounts_service.get_account.js - * region_tag:css_v1_generated_AccountsService_GetAccount_async - */ - getAccount( - request?: protos.google.shopping.css.v1.IGetAccountRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|undefined, {}|undefined - ]>; - getAccount( - request: protos.google.shopping.css.v1.IGetAccountRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, - {}|null|undefined>): void; - getAccount( - request: protos.google.shopping.css.v1.IGetAccountRequest, - callback: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, - {}|null|undefined>): void; - getAccount( - request?: protos.google.shopping.css.v1.IGetAccountRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IGetAccountRequest|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.getAccount(request, options, callback); - } -/** - * Updates labels assigned to CSS/MC accounts by a CSS domain. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The label resource name. - * Format: accounts/{account} - * @param {number[]} request.labelIds - * The list of label IDs to overwrite the existing account label IDs. - * If the list is empty, all currently assigned label IDs will be deleted. - * @param {string} [request.parent] - * Optional. Only required when updating MC account labels. - * The CSS domain that is the parent resource of the MC account. - * Format: accounts/{account} - * @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.css.v1.Account|Account}. - * 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/v1/accounts_service.update_labels.js - * region_tag:css_v1_generated_AccountsService_UpdateLabels_async - */ - updateLabels( - request?: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|undefined, {}|undefined - ]>; - updateLabels( - request: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, - {}|null|undefined>): void; - updateLabels( - request: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, - callback: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, - {}|null|undefined>): void; - updateLabels( - request?: protos.google.shopping.css.v1.IUpdateAccountLabelsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.IAccount, - protos.google.shopping.css.v1.IUpdateAccountLabelsRequest|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.updateLabels(request, options, callback); - } - - /** - * Lists all the accounts under the specified CSS account ID, and - * optionally filters by label ID and account name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The parent account. Must be a CSS group or domain. - * Format: accounts/{account} - * @param {number} request.labelId - * If set, only the MC accounts with the given label ID will be returned. - * @param {string} request.fullName - * If set, only the MC accounts with the given name (case sensitive) will be - * returned. - * @param {number} [request.pageSize] - * Optional. The maximum number of accounts to return. The service may return - * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 100; values above 100 will be coerced to - * 100. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListChildAccounts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account}. - * 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 `listChildAccountsAsync()` - * 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. - */ - listChildAccounts( - request?: protos.google.shopping.css.v1.IListChildAccountsRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.IAccount[], - protos.google.shopping.css.v1.IListChildAccountsRequest|null, - protos.google.shopping.css.v1.IListChildAccountsResponse - ]>; - listChildAccounts( - request: protos.google.shopping.css.v1.IListChildAccountsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListChildAccountsRequest, - protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, - protos.google.shopping.css.v1.IAccount>): void; - listChildAccounts( - request: protos.google.shopping.css.v1.IListChildAccountsRequest, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListChildAccountsRequest, - protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, - protos.google.shopping.css.v1.IAccount>): void; - listChildAccounts( - request?: protos.google.shopping.css.v1.IListChildAccountsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.shopping.css.v1.IListChildAccountsRequest, - protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, - protos.google.shopping.css.v1.IAccount>, - callback?: PaginationCallback< - protos.google.shopping.css.v1.IListChildAccountsRequest, - protos.google.shopping.css.v1.IListChildAccountsResponse|null|undefined, - protos.google.shopping.css.v1.IAccount>): - Promise<[ - protos.google.shopping.css.v1.IAccount[], - protos.google.shopping.css.v1.IListChildAccountsRequest|null, - protos.google.shopping.css.v1.IListChildAccountsResponse - ]>|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.listChildAccounts(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 parent account. Must be a CSS group or domain. - * Format: accounts/{account} - * @param {number} request.labelId - * If set, only the MC accounts with the given label ID will be returned. - * @param {string} request.fullName - * If set, only the MC accounts with the given name (case sensitive) will be - * returned. - * @param {number} [request.pageSize] - * Optional. The maximum number of accounts to return. The service may return - * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 100; values above 100 will be coerced to - * 100. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListChildAccounts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account} 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 `listChildAccountsAsync()` - * 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. - */ - listChildAccountsStream( - request?: protos.google.shopping.css.v1.IListChildAccountsRequest, - 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['listChildAccounts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listChildAccounts.createStream( - this.innerApiCalls.listChildAccounts as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listChildAccounts`, 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 parent account. Must be a CSS group or domain. - * Format: accounts/{account} - * @param {number} request.labelId - * If set, only the MC accounts with the given label ID will be returned. - * @param {string} request.fullName - * If set, only the MC accounts with the given name (case sensitive) will be - * returned. - * @param {number} [request.pageSize] - * Optional. The maximum number of accounts to return. The service may return - * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 100; values above 100 will be coerced to - * 100. - * @param {string} [request.pageToken] - * Optional. A page token, received from a previous `ListChildAccounts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListChildAccounts` 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.css.v1.Account|Account}. 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/v1/accounts_service.list_child_accounts.js - * region_tag:css_v1_generated_AccountsService_ListChildAccounts_async - */ - listChildAccountsAsync( - request?: protos.google.shopping.css.v1.IListChildAccountsRequest, - 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['listChildAccounts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listChildAccounts.asyncIterate( - this.innerApiCalls['listChildAccounts'] 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 accountLabel resource name string. - * - * @param {string} account - * @param {string} label - * @returns {string} Resource name string. - */ - accountLabelPath(account:string,label:string) { - return this.pathTemplates.accountLabelPathTemplate.render({ - account: account, - label: label, - }); - } - - /** - * Parse the account from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; - } - - /** - * Parse the label from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the label. - */ - matchLabelFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; - } - - /** - * Return a fully-qualified cssProduct resource name string. - * - * @param {string} account - * @param {string} css_product - * @returns {string} Resource name string. - */ - cssProductPath(account:string,cssProduct:string) { - return this.pathTemplates.cssProductPathTemplate.render({ - account: account, - css_product: cssProduct, - }); - } - - /** - * Parse the account from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; - } - - /** - * Parse the css_product from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the css_product. - */ - matchCssProductFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; - } - - /** - * Return a fully-qualified cssProductInput resource name string. - * - * @param {string} account - * @param {string} css_product_input - * @returns {string} Resource name string. - */ - cssProductInputPath(account:string,cssProductInput:string) { - return this.pathTemplates.cssProductInputPathTemplate.render({ - account: account, - css_product_input: cssProductInput, - }); - } - - /** - * Parse the account from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; - } - - /** - * Parse the css_product_input from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the css_product_input. - */ - matchCssProductInputFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; - } - - /** - * 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.accountsServiceStub && !this._terminated) { - return this.accountsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json deleted file mode 100644 index d77ef2748f0..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_client_config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "interfaces": { - "google.shopping.css.v1.AccountsService": { - "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": { - "ListChildAccounts": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetAccount": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "UpdateLabels": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json deleted file mode 100644 index 4c0ad1e48a4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/accounts_service_proto_list.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - "../../protos/google/shopping/css/v1/accounts.proto", - "../../protos/google/shopping/css/v1/accounts_labels.proto", - "../../protos/google/shopping/css/v1/css_product_common.proto", - "../../protos/google/shopping/css/v1/css_product_inputs.proto", - "../../protos/google/shopping/css/v1/css_products.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts deleted file mode 100644 index ba17e209a9a..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client.ts +++ /dev/null @@ -1,744 +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/v1/css_product_inputs_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './css_product_inputs_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Service to use CssProductInput resource. - * This service helps to insert/update/delete CSS Products. - * @class - * @memberof v1 - */ -export class CssProductInputsServiceClient { - 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}; - cssProductInputsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of CssProductInputsServiceClient. - * - * @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 CssProductInputsServiceClient({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 CssProductInputsServiceClient; - 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 = 'css.' + 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}' - ), - accountLabelPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/labels/{label}' - ), - cssProductPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProducts/{css_product}' - ), - cssProductInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProductInputs/{css_product_input}' - ), - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.css.v1.CssProductInputsService', 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.cssProductInputsServiceStub) { - return this.cssProductInputsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.css.v1.CssProductInputsService. - this.cssProductInputsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.CssProductInputsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.css.v1.CssProductInputsService, - 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 cssProductInputsServiceStubMethods = - ['insertCssProductInput', 'updateCssProductInput', 'deleteCssProductInput']; - for (const methodName of cssProductInputsServiceStubMethods) { - const callPromise = this.cssProductInputsServiceStub.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.cssProductInputsServiceStub; - } - - /** - * 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 'css.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 'css.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 CssProductInput to your CSS Center account. If an - * input with the same contentLanguage, identity, feedLabel and feedId already - * exists, this method replaces that entry. - * - * After inserting, updating, or deleting a CSS Product input, it may - * take several minutes before the processed CSS Product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account where this CSS Product will be inserted. - * Format: accounts/{account} - * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput - * Required. The CSS Product Input to insert. - * @param {number} [request.feedId] - * Optional. DEPRECATED. Feed id is not required for CSS Products. - * The primary or supplemental feed id. If CSS Product already exists and - * feed id provided is different, then the CSS Product will be moved to a - * new feed. - * Note: For now, CSSs do not need to provide feed ids as we create - * feeds on the fly. - * We do not have supplemental feed support for CSS Products yet. - * @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.css.v1.CssProductInput|CssProductInput}. - * 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/v1/css_product_inputs_service.insert_css_product_input.js - * region_tag:css_v1_generated_CssProductInputsService_InsertCssProductInput_async - */ - insertCssProductInput( - request?: protos.google.shopping.css.v1.IInsertCssProductInputRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|undefined, {}|undefined - ]>; - insertCssProductInput( - request: protos.google.shopping.css.v1.IInsertCssProductInputRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - insertCssProductInput( - request: protos.google.shopping.css.v1.IInsertCssProductInputRequest, - callback: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - insertCssProductInput( - request?: protos.google.shopping.css.v1.IInsertCssProductInputRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IInsertCssProductInputRequest|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.insertCssProductInput(request, options, callback); - } -/** - * Updates the existing Css Product input in your CSS Center account. - * - * After inserting, updating, or deleting a CSS Product input, it may take - * several minutes before the processed Css Product can be retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput - * Required. The CSS product input resource to update. Information you submit - * will be applied to the processed CSS product as well. - * @param {google.protobuf.FieldMask} request.updateMask - * The list of CSS product attributes to be updated. - * - * If the update mask is omitted, then it is treated as implied field mask - * equivalent to all fields that are populated (have a non-empty value). - * - * Attributes specified in the update mask without a value specified in the - * body will be deleted from the CSS product. - * - * Update mask can only be specified for top level fields in - * attributes and custom attributes. - * - * To specify the update mask for custom attributes you need to add the - * `custom_attribute.` prefix. - * - * Providing special "*" value for full CSS product replacement is not - * supported. - * @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.css.v1.CssProductInput|CssProductInput}. - * 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/v1/css_product_inputs_service.update_css_product_input.js - * region_tag:css_v1_generated_CssProductInputsService_UpdateCssProductInput_async - */ - updateCssProductInput( - request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|undefined, {}|undefined - ]>; - updateCssProductInput( - request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - updateCssProductInput( - request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, - callback: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - updateCssProductInput( - request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.ICssProductInput, - protos.google.shopping.css.v1.IUpdateCssProductInputRequest|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({ - 'css_product_input.name': request.cssProductInput!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateCssProductInput(request, options, callback); - } -/** - * Deletes a CSS Product input from your CSS Center account. - * - * After a delete it may take several minutes until the input is no longer - * available. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The name of the CSS product input resource to delete. - * Format: accounts/{account}/cssProductInputs/{css_product_input} - * @param {number} request.supplementalFeedId - * The Content API Supplemental Feed ID. - * The field must not be set if the action applies to a primary feed. - * If the field is set, then product action applies to a supplemental feed - * instead of primary Content API feed. - * @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/v1/css_product_inputs_service.delete_css_product_input.js - * region_tag:css_v1_generated_CssProductInputsService_DeleteCssProductInput_async - */ - deleteCssProductInput( - request?: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|undefined, {}|undefined - ]>; - deleteCssProductInput( - request: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - deleteCssProductInput( - request: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, - {}|null|undefined>): void; - deleteCssProductInput( - request?: protos.google.shopping.css.v1.IDeleteCssProductInputRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.shopping.css.v1.IDeleteCssProductInputRequest|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.deleteCssProductInput(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 accountLabel resource name string. - * - * @param {string} account - * @param {string} label - * @returns {string} Resource name string. - */ - accountLabelPath(account:string,label:string) { - return this.pathTemplates.accountLabelPathTemplate.render({ - account: account, - label: label, - }); - } - - /** - * Parse the account from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; - } - - /** - * Parse the label from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the label. - */ - matchLabelFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; - } - - /** - * Return a fully-qualified cssProduct resource name string. - * - * @param {string} account - * @param {string} css_product - * @returns {string} Resource name string. - */ - cssProductPath(account:string,cssProduct:string) { - return this.pathTemplates.cssProductPathTemplate.render({ - account: account, - css_product: cssProduct, - }); - } - - /** - * Parse the account from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; - } - - /** - * Parse the css_product from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the css_product. - */ - matchCssProductFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; - } - - /** - * Return a fully-qualified cssProductInput resource name string. - * - * @param {string} account - * @param {string} css_product_input - * @returns {string} Resource name string. - */ - cssProductInputPath(account:string,cssProductInput:string) { - return this.pathTemplates.cssProductInputPathTemplate.render({ - account: account, - css_product_input: cssProductInput, - }); - } - - /** - * Parse the account from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; - } - - /** - * Parse the css_product_input from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the css_product_input. - */ - matchCssProductInputFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; - } - - /** - * 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.cssProductInputsServiceStub && !this._terminated) { - return this.cssProductInputsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json deleted file mode 100644 index ea39a70de80..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_client_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "interfaces": { - "google.shopping.css.v1.CssProductInputsService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "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 - } - }, - "methods": { - "InsertCssProductInput": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "UpdateCssProductInput": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - }, - "DeleteCssProductInput": { - "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", - "retry_params_name": "default" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json deleted file mode 100644 index 4c0ad1e48a4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_product_inputs_service_proto_list.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - "../../protos/google/shopping/css/v1/accounts.proto", - "../../protos/google/shopping/css/v1/accounts_labels.proto", - "../../protos/google/shopping/css/v1/css_product_common.proto", - "../../protos/google/shopping/css/v1/css_product_inputs.proto", - "../../protos/google/shopping/css/v1/css_products.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts deleted file mode 100644 index 8aca0f65acb..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client.ts +++ /dev/null @@ -1,769 +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/v1/css_products_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './css_products_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Service for doing get and list on Css Products(a.k.a Aggregate Offers - * internally). - * @class - * @memberof v1 - */ -export class CssProductsServiceClient { - 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}; - cssProductsServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of CssProductsServiceClient. - * - * @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 CssProductsServiceClient({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 CssProductsServiceClient; - 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 = 'css.' + 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}' - ), - accountLabelPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/labels/{label}' - ), - cssProductPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProducts/{css_product}' - ), - cssProductInputPathTemplate: new this._gaxModule.PathTemplate( - 'accounts/{account}/cssProductInputs/{css_product_input}' - ), - }; - - // 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 = { - listCssProducts: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'cssProducts') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.shopping.css.v1.CssProductsService', 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.cssProductsServiceStub) { - return this.cssProductsServiceStub; - } - - // Put together the "service stub" for - // google.shopping.css.v1.CssProductsService. - this.cssProductsServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.shopping.css.v1.CssProductsService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.shopping.css.v1.CssProductsService, - 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 cssProductsServiceStubMethods = - ['getCssProduct', 'listCssProducts']; - for (const methodName of cssProductsServiceStubMethods) { - const callPromise = this.cssProductsServiceStub.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.cssProductsServiceStub; - } - - /** - * 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 'css.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 'css.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 CSS Product from your CSS 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 CSS product to retrieve. - * @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.css.v1.CssProduct|CssProduct}. - * 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/v1/css_products_service.get_css_product.js - * region_tag:css_v1_generated_CssProductsService_GetCssProduct_async - */ - getCssProduct( - request?: protos.google.shopping.css.v1.IGetCssProductRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|undefined, {}|undefined - ]>; - getCssProduct( - request: protos.google.shopping.css.v1.IGetCssProductRequest, - options: CallOptions, - callback: Callback< - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, - {}|null|undefined>): void; - getCssProduct( - request: protos.google.shopping.css.v1.IGetCssProductRequest, - callback: Callback< - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, - {}|null|undefined>): void; - getCssProduct( - request?: protos.google.shopping.css.v1.IGetCssProductRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.shopping.css.v1.ICssProduct, - protos.google.shopping.css.v1.IGetCssProductRequest|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.getCssProduct(request, options, callback); - } - - /** - * Lists the processed CSS Products in your CSS 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 CSS product input, it may - * take several minutes before the updated processed CSS product can be - * retrieved. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The account/domain to list processed CSS Products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of CSS Products to return. The service may return - * fewer than this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. If - * unspecified, the maximum number of CSS products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListCssProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListCssProducts` - * 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.css.v1.CssProduct|CssProduct}. - * 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 `listCssProductsAsync()` - * 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. - */ - listCssProducts( - request?: protos.google.shopping.css.v1.IListCssProductsRequest, - options?: CallOptions): - Promise<[ - protos.google.shopping.css.v1.ICssProduct[], - protos.google.shopping.css.v1.IListCssProductsRequest|null, - protos.google.shopping.css.v1.IListCssProductsResponse - ]>; - listCssProducts( - request: protos.google.shopping.css.v1.IListCssProductsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListCssProductsRequest, - protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, - protos.google.shopping.css.v1.ICssProduct>): void; - listCssProducts( - request: protos.google.shopping.css.v1.IListCssProductsRequest, - callback: PaginationCallback< - protos.google.shopping.css.v1.IListCssProductsRequest, - protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, - protos.google.shopping.css.v1.ICssProduct>): void; - listCssProducts( - request?: protos.google.shopping.css.v1.IListCssProductsRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.shopping.css.v1.IListCssProductsRequest, - protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, - protos.google.shopping.css.v1.ICssProduct>, - callback?: PaginationCallback< - protos.google.shopping.css.v1.IListCssProductsRequest, - protos.google.shopping.css.v1.IListCssProductsResponse|null|undefined, - protos.google.shopping.css.v1.ICssProduct>): - Promise<[ - protos.google.shopping.css.v1.ICssProduct[], - protos.google.shopping.css.v1.IListCssProductsRequest|null, - protos.google.shopping.css.v1.IListCssProductsResponse - ]>|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.listCssProducts(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/domain to list processed CSS Products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of CSS Products to return. The service may return - * fewer than this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. If - * unspecified, the maximum number of CSS products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListCssProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListCssProducts` - * 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.css.v1.CssProduct|CssProduct} 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 `listCssProductsAsync()` - * 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. - */ - listCssProductsStream( - request?: protos.google.shopping.css.v1.IListCssProductsRequest, - 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['listCssProducts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listCssProducts.createStream( - this.innerApiCalls.listCssProducts as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listCssProducts`, 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/domain to list processed CSS Products for. - * Format: accounts/{account} - * @param {number} request.pageSize - * The maximum number of CSS Products to return. The service may return - * fewer than this value. - * The maximum value is 1000; values above 1000 will be coerced to 1000. If - * unspecified, the maximum number of CSS products will be returned. - * @param {string} request.pageToken - * A page token, received from a previous `ListCssProducts` call. - * Provide this to retrieve the subsequent page. - * - * When paginating, all other parameters provided to `ListCssProducts` - * 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.css.v1.CssProduct|CssProduct}. 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/v1/css_products_service.list_css_products.js - * region_tag:css_v1_generated_CssProductsService_ListCssProducts_async - */ - listCssProductsAsync( - request?: protos.google.shopping.css.v1.IListCssProductsRequest, - 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['listCssProducts']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listCssProducts.asyncIterate( - this.innerApiCalls['listCssProducts'] 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 accountLabel resource name string. - * - * @param {string} account - * @param {string} label - * @returns {string} Resource name string. - */ - accountLabelPath(account:string,label:string) { - return this.pathTemplates.accountLabelPathTemplate.render({ - account: account, - label: label, - }); - } - - /** - * Parse the account from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the account. - */ - matchAccountFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).account; - } - - /** - * Parse the label from AccountLabel resource. - * - * @param {string} accountLabelName - * A fully-qualified path representing AccountLabel resource. - * @returns {string} A string representing the label. - */ - matchLabelFromAccountLabelName(accountLabelName: string) { - return this.pathTemplates.accountLabelPathTemplate.match(accountLabelName).label; - } - - /** - * Return a fully-qualified cssProduct resource name string. - * - * @param {string} account - * @param {string} css_product - * @returns {string} Resource name string. - */ - cssProductPath(account:string,cssProduct:string) { - return this.pathTemplates.cssProductPathTemplate.render({ - account: account, - css_product: cssProduct, - }); - } - - /** - * Parse the account from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).account; - } - - /** - * Parse the css_product from CssProduct resource. - * - * @param {string} cssProductName - * A fully-qualified path representing CssProduct resource. - * @returns {string} A string representing the css_product. - */ - matchCssProductFromCssProductName(cssProductName: string) { - return this.pathTemplates.cssProductPathTemplate.match(cssProductName).css_product; - } - - /** - * Return a fully-qualified cssProductInput resource name string. - * - * @param {string} account - * @param {string} css_product_input - * @returns {string} Resource name string. - */ - cssProductInputPath(account:string,cssProductInput:string) { - return this.pathTemplates.cssProductInputPathTemplate.render({ - account: account, - css_product_input: cssProductInput, - }); - } - - /** - * Parse the account from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the account. - */ - matchAccountFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).account; - } - - /** - * Parse the css_product_input from CssProductInput resource. - * - * @param {string} cssProductInputName - * A fully-qualified path representing CssProductInput resource. - * @returns {string} A string representing the css_product_input. - */ - matchCssProductInputFromCssProductInputName(cssProductInputName: string) { - return this.pathTemplates.cssProductInputPathTemplate.match(cssProductInputName).css_product_input; - } - - /** - * 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.cssProductsServiceStub && !this._terminated) { - return this.cssProductsServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json deleted file mode 100644 index 21cf3e23ac1..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_client_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "interfaces": { - "google.shopping.css.v1.CssProductsService": { - "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": { - "GetCssProduct": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "ListCssProducts": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json b/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json deleted file mode 100644 index 4c0ad1e48a4..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/css_products_service_proto_list.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - "../../protos/google/shopping/css/v1/accounts.proto", - "../../protos/google/shopping/css/v1/accounts_labels.proto", - "../../protos/google/shopping/css/v1/css_product_common.proto", - "../../protos/google/shopping/css/v1/css_product_inputs.proto", - "../../protos/google/shopping/css/v1/css_products.proto", - "../../protos/google/shopping/type/types.proto" -] diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json b/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json deleted file mode 100644 index 17c8d82aa3b..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/gapic_metadata.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.shopping.css.v1", - "libraryPackage": "@google-shopping/css", - "services": { - "AccountLabelsService": { - "clients": { - "grpc": { - "libraryClient": "AccountLabelsServiceClient", - "rpcs": { - "CreateAccountLabel": { - "methods": [ - "createAccountLabel" - ] - }, - "UpdateAccountLabel": { - "methods": [ - "updateAccountLabel" - ] - }, - "DeleteAccountLabel": { - "methods": [ - "deleteAccountLabel" - ] - }, - "ListAccountLabels": { - "methods": [ - "listAccountLabels", - "listAccountLabelsStream", - "listAccountLabelsAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "AccountLabelsServiceClient", - "rpcs": { - "CreateAccountLabel": { - "methods": [ - "createAccountLabel" - ] - }, - "UpdateAccountLabel": { - "methods": [ - "updateAccountLabel" - ] - }, - "DeleteAccountLabel": { - "methods": [ - "deleteAccountLabel" - ] - }, - "ListAccountLabels": { - "methods": [ - "listAccountLabels", - "listAccountLabelsStream", - "listAccountLabelsAsync" - ] - } - } - } - } - }, - "AccountsService": { - "clients": { - "grpc": { - "libraryClient": "AccountsServiceClient", - "rpcs": { - "GetAccount": { - "methods": [ - "getAccount" - ] - }, - "UpdateLabels": { - "methods": [ - "updateLabels" - ] - }, - "ListChildAccounts": { - "methods": [ - "listChildAccounts", - "listChildAccountsStream", - "listChildAccountsAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "AccountsServiceClient", - "rpcs": { - "GetAccount": { - "methods": [ - "getAccount" - ] - }, - "UpdateLabels": { - "methods": [ - "updateLabels" - ] - }, - "ListChildAccounts": { - "methods": [ - "listChildAccounts", - "listChildAccountsStream", - "listChildAccountsAsync" - ] - } - } - } - } - }, - "CssProductInputsService": { - "clients": { - "grpc": { - "libraryClient": "CssProductInputsServiceClient", - "rpcs": { - "InsertCssProductInput": { - "methods": [ - "insertCssProductInput" - ] - }, - "UpdateCssProductInput": { - "methods": [ - "updateCssProductInput" - ] - }, - "DeleteCssProductInput": { - "methods": [ - "deleteCssProductInput" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "CssProductInputsServiceClient", - "rpcs": { - "InsertCssProductInput": { - "methods": [ - "insertCssProductInput" - ] - }, - "UpdateCssProductInput": { - "methods": [ - "updateCssProductInput" - ] - }, - "DeleteCssProductInput": { - "methods": [ - "deleteCssProductInput" - ] - } - } - } - } - }, - "CssProductsService": { - "clients": { - "grpc": { - "libraryClient": "CssProductsServiceClient", - "rpcs": { - "GetCssProduct": { - "methods": [ - "getCssProduct" - ] - }, - "ListCssProducts": { - "methods": [ - "listCssProducts", - "listCssProductsStream", - "listCssProductsAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "CssProductsServiceClient", - "rpcs": { - "GetCssProduct": { - "methods": [ - "getCssProduct" - ] - }, - "ListCssProducts": { - "methods": [ - "listCssProducts", - "listCssProductsStream", - "listCssProductsAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts b/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts deleted file mode 100644 index c5b49b05f24..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/src/v1/index.ts +++ /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. ** - -export {AccountLabelsServiceClient} from './account_labels_service_client'; -export {AccountsServiceClient} from './accounts_service_client'; -export {CssProductInputsServiceClient} from './css_product_inputs_service_client'; -export {CssProductsServiceClient} from './css_products_service_client'; diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index ad4595261a2..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,30 +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 css = require('@google-shopping/css'); - -function main() { - const accountLabelsServiceClient = new css.AccountLabelsServiceClient(); - const accountsServiceClient = new css.AccountsServiceClient(); - const cssProductInputsServiceClient = new css.CssProductInputsServiceClient(); - const cssProductsServiceClient = new css.CssProductsServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 564f450e5d1..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,50 +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 {AccountLabelsServiceClient, AccountsServiceClient, CssProductInputsServiceClient, CssProductsServiceClient} from '@google-shopping/css'; - -// check that the client class type name can be used -function doStuffWithAccountLabelsServiceClient(client: AccountLabelsServiceClient) { - client.close(); -} -function doStuffWithAccountsServiceClient(client: AccountsServiceClient) { - client.close(); -} -function doStuffWithCssProductInputsServiceClient(client: CssProductInputsServiceClient) { - client.close(); -} -function doStuffWithCssProductsServiceClient(client: CssProductsServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const accountLabelsServiceClient = new AccountLabelsServiceClient(); - doStuffWithAccountLabelsServiceClient(accountLabelsServiceClient); - // check that the client instance can be created - const accountsServiceClient = new AccountsServiceClient(); - doStuffWithAccountsServiceClient(accountsServiceClient); - // check that the client instance can be created - const cssProductInputsServiceClient = new CssProductInputsServiceClient(); - doStuffWithCssProductInputsServiceClient(cssProductInputsServiceClient); - // check that the client instance can be created - const cssProductsServiceClient = new CssProductsServiceClient(); - doStuffWithCssProductsServiceClient(cssProductsServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-shopping-css/v1/system-test/install.ts b/owl-bot-staging/google-shopping-css/v1/system-test/install.ts deleted file mode 100644 index fd5bfdc71d5..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/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-css/v1/test/gapic_account_labels_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts deleted file mode 100644 index aa86b50758b..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/test/gapic_account_labels_service_v1.ts +++ /dev/null @@ -1,981 +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 accountlabelsserviceModule 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('v1.AccountLabelsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); - 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 = accountlabelsserviceModule.v1.AccountLabelsServiceClient.servicePath; - assert.strictEqual(servicePath, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = accountlabelsserviceModule.v1.AccountLabelsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = accountlabelsserviceModule.v1.AccountLabelsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.accountLabelsServiceStub, undefined); - await client.initialize(); - assert(client.accountLabelsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.accountLabelsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.accountLabelsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - 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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - 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('createAccountLabel', () => { - it('invokes createAccountLabel without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.CreateAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.AccountLabel() - ); - client.innerApiCalls.createAccountLabel = stubSimpleCall(expectedResponse); - const [response] = await client.createAccountLabel(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createAccountLabel without error using callback', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.CreateAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.AccountLabel() - ); - client.innerApiCalls.createAccountLabel = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createAccountLabel( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createAccountLabel with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.CreateAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.createAccountLabel = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createAccountLabel(request), expectedError); - const actualRequest = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createAccountLabel with closed client', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.CreateAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.CreateAccountLabelRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.createAccountLabel(request), expectedError); - }); - }); - - describe('updateAccountLabel', () => { - it('invokes updateAccountLabel without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelRequest() - ); - request.accountLabel ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); - request.accountLabel.name = defaultValue1; - const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.AccountLabel() - ); - client.innerApiCalls.updateAccountLabel = stubSimpleCall(expectedResponse); - const [response] = await client.updateAccountLabel(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateAccountLabel without error using callback', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelRequest() - ); - request.accountLabel ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); - request.accountLabel.name = defaultValue1; - const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.AccountLabel() - ); - client.innerApiCalls.updateAccountLabel = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateAccountLabel( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateAccountLabel with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelRequest() - ); - request.accountLabel ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); - request.accountLabel.name = defaultValue1; - const expectedHeaderRequestParams = `account_label.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateAccountLabel = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateAccountLabel(request), expectedError); - const actualRequest = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateAccountLabel with closed client', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelRequest() - ); - request.accountLabel ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelRequest', ['accountLabel', 'name']); - request.accountLabel.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateAccountLabel(request), expectedError); - }); - }); - - describe('deleteAccountLabel', () => { - it('invokes deleteAccountLabel without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteAccountLabel = stubSimpleCall(expectedResponse); - const [response] = await client.deleteAccountLabel(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteAccountLabel without error using callback', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteAccountLabel = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteAccountLabel( - 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.deleteAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteAccountLabel with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteAccountLabel = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteAccountLabel(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteAccountLabel as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteAccountLabel as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteAccountLabel with closed client', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteAccountLabelRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteAccountLabelRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteAccountLabel(request), expectedError); - }); - }); - - describe('listAccountLabels', () => { - it('invokes listAccountLabels without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - ]; - client.innerApiCalls.listAccountLabels = stubSimpleCall(expectedResponse); - const [response] = await client.listAccountLabels(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listAccountLabels without error using callback', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - ]; - client.innerApiCalls.listAccountLabels = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listAccountLabels( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccountLabel[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listAccountLabels with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listAccountLabels = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listAccountLabels(request), expectedError); - const actualRequest = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listAccountLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listAccountLabelsStream without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - ]; - client.descriptors.page.listAccountLabels.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listAccountLabelsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.AccountLabel[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.AccountLabel) => { - 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.listAccountLabels.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listAccountLabels, request)); - assert( - (client.descriptors.page.listAccountLabels.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listAccountLabelsStream with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listAccountLabels.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listAccountLabelsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.AccountLabel[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.AccountLabel) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listAccountLabels.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listAccountLabels, request)); - assert( - (client.descriptors.page.listAccountLabels.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listAccountLabels without error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - generateSampleMessage(new protos.google.shopping.css.v1.AccountLabel()), - ]; - client.descriptors.page.listAccountLabels.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.shopping.css.v1.IAccountLabel[] = []; - const iterable = client.listAccountLabelsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listAccountLabels with error', async () => { - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListAccountLabelsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listAccountLabels.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listAccountLabelsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.shopping.css.v1.IAccountLabel[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listAccountLabels.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listAccountLabels.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 accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - 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('accountLabel', () => { - const fakePath = "/rendered/path/accountLabel"; - const expectedParameters = { - account: "accountValue", - label: "labelValue", - }; - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountLabelPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountLabelPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountLabelPath', () => { - const result = client.accountLabelPath("accountValue", "labelValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountLabelName', () => { - const result = client.matchAccountFromAccountLabelName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLabelFromAccountLabelName', () => { - const result = client.matchLabelFromAccountLabelName(fakePath); - assert.strictEqual(result, "labelValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProduct', () => { - const fakePath = "/rendered/path/cssProduct"; - const expectedParameters = { - account: "accountValue", - css_product: "cssProductValue", - }; - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductPath', () => { - const result = client.cssProductPath("accountValue", "cssProductValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductName', () => { - const result = client.matchAccountFromCssProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductFromCssProductName', () => { - const result = client.matchCssProductFromCssProductName(fakePath); - assert.strictEqual(result, "cssProductValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProductInput', () => { - const fakePath = "/rendered/path/cssProductInput"; - const expectedParameters = { - account: "accountValue", - css_product_input: "cssProductInputValue", - }; - const client = new accountlabelsserviceModule.v1.AccountLabelsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductInputPath', () => { - const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductInputName', () => { - const result = client.matchAccountFromCssProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductInputFromCssProductInputName', () => { - const result = client.matchCssProductInputFromCssProductInputName(fakePath); - assert.strictEqual(result, "cssProductInputValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts deleted file mode 100644 index fca9eb49bca..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/test/gapic_accounts_service_v1.ts +++ /dev/null @@ -1,869 +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 accountsserviceModule 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('v1.AccountsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient(); - 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 = accountsserviceModule.v1.AccountsServiceClient.servicePath; - assert.strictEqual(servicePath, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = accountsserviceModule.v1.AccountsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 accountsserviceModule.v1.AccountsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = accountsserviceModule.v1.AccountsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.accountsServiceStub, undefined); - await client.initialize(); - assert(client.accountsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.accountsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.accountsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new accountsserviceModule.v1.AccountsServiceClient({ - 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 accountsserviceModule.v1.AccountsServiceClient({ - 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('getAccount', () => { - it('invokes getAccount without error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetAccountRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.Account() - ); - client.innerApiCalls.getAccount = stubSimpleCall(expectedResponse); - const [response] = await client.getAccount(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getAccount without error using callback', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetAccountRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.Account() - ); - client.innerApiCalls.getAccount = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getAccount( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getAccount with error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetAccountRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getAccount = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getAccount(request), expectedError); - const actualRequest = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getAccount as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getAccount with closed client', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetAccountRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetAccountRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getAccount(request), expectedError); - }); - }); - - describe('updateLabels', () => { - it('invokes updateLabels without error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.Account() - ); - client.innerApiCalls.updateLabels = stubSimpleCall(expectedResponse); - const [response] = await client.updateLabels(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateLabels without error using callback', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.Account() - ); - client.innerApiCalls.updateLabels = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateLabels( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateLabels with error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateLabels = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateLabels(request), expectedError); - const actualRequest = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateLabels as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateLabels with closed client', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateAccountLabelsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateAccountLabelsRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateLabels(request), expectedError); - }); - }); - - describe('listChildAccounts', () => { - it('invokes listChildAccounts without error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - ]; - client.innerApiCalls.listChildAccounts = stubSimpleCall(expectedResponse); - const [response] = await client.listChildAccounts(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listChildAccounts without error using callback', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - ]; - client.innerApiCalls.listChildAccounts = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listChildAccounts( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.IAccount[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listChildAccounts with error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listChildAccounts = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listChildAccounts(request), expectedError); - const actualRequest = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listChildAccounts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listChildAccountsStream without error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - ]; - client.descriptors.page.listChildAccounts.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listChildAccountsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.Account[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.Account) => { - 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.listChildAccounts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listChildAccounts, request)); - assert( - (client.descriptors.page.listChildAccounts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listChildAccountsStream with error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listChildAccounts.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listChildAccountsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.Account[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.Account) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listChildAccounts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listChildAccounts, request)); - assert( - (client.descriptors.page.listChildAccounts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listChildAccounts without error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - generateSampleMessage(new protos.google.shopping.css.v1.Account()), - ]; - client.descriptors.page.listChildAccounts.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.shopping.css.v1.IAccount[] = []; - const iterable = client.listChildAccountsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listChildAccounts with error', async () => { - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListChildAccountsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListChildAccountsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listChildAccounts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listChildAccountsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.shopping.css.v1.IAccount[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listChildAccounts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listChildAccounts.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 accountsserviceModule.v1.AccountsServiceClient({ - 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('accountLabel', () => { - const fakePath = "/rendered/path/accountLabel"; - const expectedParameters = { - account: "accountValue", - label: "labelValue", - }; - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountLabelPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountLabelPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountLabelPath', () => { - const result = client.accountLabelPath("accountValue", "labelValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountLabelName', () => { - const result = client.matchAccountFromAccountLabelName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLabelFromAccountLabelName', () => { - const result = client.matchLabelFromAccountLabelName(fakePath); - assert.strictEqual(result, "labelValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProduct', () => { - const fakePath = "/rendered/path/cssProduct"; - const expectedParameters = { - account: "accountValue", - css_product: "cssProductValue", - }; - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductPath', () => { - const result = client.cssProductPath("accountValue", "cssProductValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductName', () => { - const result = client.matchAccountFromCssProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductFromCssProductName', () => { - const result = client.matchCssProductFromCssProductName(fakePath); - assert.strictEqual(result, "cssProductValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProductInput', () => { - const fakePath = "/rendered/path/cssProductInput"; - const expectedParameters = { - account: "accountValue", - css_product_input: "cssProductInputValue", - }; - const client = new accountsserviceModule.v1.AccountsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductInputPath', () => { - const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductInputName', () => { - const result = client.matchAccountFromCssProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductInputFromCssProductInputName', () => { - const result = client.matchCssProductInputFromCssProductInputName(fakePath); - assert.strictEqual(result, "cssProductInputValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts deleted file mode 100644 index 039faf2984a..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_product_inputs_service_v1.ts +++ /dev/null @@ -1,689 +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 cssproductinputsserviceModule 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('v1.CssProductInputsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); - 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 = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.servicePath; - assert.strictEqual(servicePath, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = cssproductinputsserviceModule.v1.CssProductInputsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cssProductInputsServiceStub, undefined); - await client.initialize(); - assert(client.cssProductInputsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.cssProductInputsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cssProductInputsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - 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 cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - 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('insertCssProductInput', () => { - it('invokes insertCssProductInput without error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.InsertCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProductInput() - ); - client.innerApiCalls.insertCssProductInput = stubSimpleCall(expectedResponse); - const [response] = await client.insertCssProductInput(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertCssProductInput without error using callback', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.InsertCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProductInput() - ); - client.innerApiCalls.insertCssProductInput = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.insertCssProductInput( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProductInput|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertCssProductInput with error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.InsertCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.insertCssProductInput = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.insertCssProductInput(request), expectedError); - const actualRequest = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.insertCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes insertCssProductInput with closed client', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.InsertCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.InsertCssProductInputRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.insertCssProductInput(request), expectedError); - }); - }); - - describe('updateCssProductInput', () => { - it('invokes updateCssProductInput without error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateCssProductInputRequest() - ); - request.cssProductInput ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); - request.cssProductInput.name = defaultValue1; - const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProductInput() - ); - client.innerApiCalls.updateCssProductInput = stubSimpleCall(expectedResponse); - const [response] = await client.updateCssProductInput(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCssProductInput without error using callback', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateCssProductInputRequest() - ); - request.cssProductInput ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); - request.cssProductInput.name = defaultValue1; - const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProductInput() - ); - client.innerApiCalls.updateCssProductInput = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateCssProductInput( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProductInput|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCssProductInput with error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateCssProductInputRequest() - ); - request.cssProductInput ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); - request.cssProductInput.name = defaultValue1; - const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateCssProductInput = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateCssProductInput(request), expectedError); - const actualRequest = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateCssProductInput with closed client', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.UpdateCssProductInputRequest() - ); - request.cssProductInput ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.UpdateCssProductInputRequest', ['cssProductInput', 'name']); - request.cssProductInput.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateCssProductInput(request), expectedError); - }); - }); - - describe('deleteCssProductInput', () => { - it('invokes deleteCssProductInput without error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteCssProductInput = stubSimpleCall(expectedResponse); - const [response] = await client.deleteCssProductInput(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCssProductInput without error using callback', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteCssProductInput = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteCssProductInput( - 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.deleteCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCssProductInput with error', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteCssProductInput = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteCssProductInput(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteCssProductInput as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteCssProductInput as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteCssProductInput with closed client', async () => { - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.DeleteCssProductInputRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.DeleteCssProductInputRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteCssProductInput(request), expectedError); - }); - }); - - describe('Path templates', () => { - - describe('account', () => { - const fakePath = "/rendered/path/account"; - const expectedParameters = { - account: "accountValue", - }; - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - 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('accountLabel', () => { - const fakePath = "/rendered/path/accountLabel"; - const expectedParameters = { - account: "accountValue", - label: "labelValue", - }; - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountLabelPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountLabelPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountLabelPath', () => { - const result = client.accountLabelPath("accountValue", "labelValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountLabelName', () => { - const result = client.matchAccountFromAccountLabelName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLabelFromAccountLabelName', () => { - const result = client.matchLabelFromAccountLabelName(fakePath); - assert.strictEqual(result, "labelValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProduct', () => { - const fakePath = "/rendered/path/cssProduct"; - const expectedParameters = { - account: "accountValue", - css_product: "cssProductValue", - }; - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductPath', () => { - const result = client.cssProductPath("accountValue", "cssProductValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductName', () => { - const result = client.matchAccountFromCssProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductFromCssProductName', () => { - const result = client.matchCssProductFromCssProductName(fakePath); - assert.strictEqual(result, "cssProductValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProductInput', () => { - const fakePath = "/rendered/path/cssProductInput"; - const expectedParameters = { - account: "accountValue", - css_product_input: "cssProductInputValue", - }; - const client = new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductInputPath', () => { - const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductInputName', () => { - const result = client.matchAccountFromCssProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductInputFromCssProductInputName', () => { - const result = client.matchCssProductInputFromCssProductInputName(fakePath); - assert.strictEqual(result, "cssProductInputValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts b/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts deleted file mode 100644 index 5a3d933db0f..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/test/gapic_css_products_service_v1.ts +++ /dev/null @@ -1,761 +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 cssproductsserviceModule 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('v1.CssProductsServiceClient', () => { - describe('Common methods', () => { - it('has apiEndpoint', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); - const apiEndpoint = client.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - }); - - it('has universeDomain', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); - 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 = cssproductsserviceModule.v1.CssProductsServiceClient.servicePath; - assert.strictEqual(servicePath, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - - it('throws DeprecationWarning if static apiEndpoint is used', () => { - const stub = sinon.stub(process, 'emitWarning'); - const apiEndpoint = cssproductsserviceModule.v1.CssProductsServiceClient.apiEndpoint; - assert.strictEqual(apiEndpoint, 'css.googleapis.com'); - assert(stub.called); - stub.restore(); - }); - } - it('sets apiEndpoint according to universe domain camelCase', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({universeDomain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.example.com'); - }); - - it('sets apiEndpoint according to universe domain snakeCase', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({universe_domain: 'example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient(); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient({universeDomain: 'configured.example.com'}); - const servicePath = client.apiEndpoint; - assert.strictEqual(servicePath, 'css.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 cssproductsserviceModule.v1.CssProductsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); }); - }); - - it('has port', () => { - const port = cssproductsserviceModule.v1.CssProductsServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cssProductsServiceStub, undefined); - await client.initialize(); - assert(client.cssProductsServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.cssProductsServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.cssProductsServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - 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 cssproductsserviceModule.v1.CssProductsServiceClient({ - 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('getCssProduct', () => { - it('invokes getCssProduct without error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetCssProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProduct() - ); - client.innerApiCalls.getCssProduct = stubSimpleCall(expectedResponse); - const [response] = await client.getCssProduct(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCssProduct without error using callback', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetCssProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.shopping.css.v1.CssProduct() - ); - client.innerApiCalls.getCssProduct = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getCssProduct( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProduct|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCssProduct with error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetCssProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getCssProduct = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getCssProduct(request), expectedError); - const actualRequest = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getCssProduct as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getCssProduct with closed client', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.GetCssProductRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.GetCssProductRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getCssProduct(request), expectedError); - }); - }); - - describe('listCssProducts', () => { - it('invokes listCssProducts without error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - ]; - client.innerApiCalls.listCssProducts = stubSimpleCall(expectedResponse); - const [response] = await client.listCssProducts(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listCssProducts without error using callback', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - ]; - client.innerApiCalls.listCssProducts = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listCssProducts( - request, - (err?: Error|null, result?: protos.google.shopping.css.v1.ICssProduct[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listCssProducts with error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listCssProducts = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listCssProducts(request), expectedError); - const actualRequest = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listCssProducts as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listCssProductsStream without error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - ]; - client.descriptors.page.listCssProducts.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listCssProductsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.CssProduct[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.CssProduct) => { - 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.listCssProducts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listCssProducts, request)); - assert( - (client.descriptors.page.listCssProducts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listCssProductsStream with error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listCssProducts.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listCssProductsStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.shopping.css.v1.CssProduct[] = []; - stream.on('data', (response: protos.google.shopping.css.v1.CssProduct) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listCssProducts.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listCssProducts, request)); - assert( - (client.descriptors.page.listCssProducts.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listCssProducts without error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - generateSampleMessage(new protos.google.shopping.css.v1.CssProduct()), - ]; - client.descriptors.page.listCssProducts.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.shopping.css.v1.ICssProduct[] = []; - const iterable = client.listCssProductsAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listCssProducts with error', async () => { - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.shopping.css.v1.ListCssProductsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.shopping.css.v1.ListCssProductsRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listCssProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listCssProductsAsync(request); - await assert.rejects(async () => { - const responses: protos.google.shopping.css.v1.ICssProduct[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listCssProducts.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listCssProducts.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 cssproductsserviceModule.v1.CssProductsServiceClient({ - 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('accountLabel', () => { - const fakePath = "/rendered/path/accountLabel"; - const expectedParameters = { - account: "accountValue", - label: "labelValue", - }; - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.accountLabelPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.accountLabelPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('accountLabelPath', () => { - const result = client.accountLabelPath("accountValue", "labelValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.accountLabelPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromAccountLabelName', () => { - const result = client.matchAccountFromAccountLabelName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLabelFromAccountLabelName', () => { - const result = client.matchLabelFromAccountLabelName(fakePath); - assert.strictEqual(result, "labelValue"); - assert((client.pathTemplates.accountLabelPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProduct', () => { - const fakePath = "/rendered/path/cssProduct"; - const expectedParameters = { - account: "accountValue", - css_product: "cssProductValue", - }; - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductPath', () => { - const result = client.cssProductPath("accountValue", "cssProductValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductName', () => { - const result = client.matchAccountFromCssProductName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductFromCssProductName', () => { - const result = client.matchCssProductFromCssProductName(fakePath); - assert.strictEqual(result, "cssProductValue"); - assert((client.pathTemplates.cssProductPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('cssProductInput', () => { - const fakePath = "/rendered/path/cssProductInput"; - const expectedParameters = { - account: "accountValue", - css_product_input: "cssProductInputValue", - }; - const client = new cssproductsserviceModule.v1.CssProductsServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.cssProductInputPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.cssProductInputPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('cssProductInputPath', () => { - const result = client.cssProductInputPath("accountValue", "cssProductInputValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.cssProductInputPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchAccountFromCssProductInputName', () => { - const result = client.matchAccountFromCssProductInputName(fakePath); - assert.strictEqual(result, "accountValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchCssProductInputFromCssProductInputName', () => { - const result = client.matchCssProductInputFromCssProductInputName(fakePath); - assert.strictEqual(result, "cssProductInputValue"); - assert((client.pathTemplates.cssProductInputPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-shopping-css/v1/tsconfig.json b/owl-bot-staging/google-shopping-css/v1/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/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-css/v1/webpack.config.js b/owl-bot-staging/google-shopping-css/v1/webpack.config.js deleted file mode 100644 index 5ee8d90aac1..00000000000 --- a/owl-bot-staging/google-shopping-css/v1/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: 'AccountLabelsService', - filename: './account-labels-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-css/README.md b/packages/google-shopping-css/README.md index 50f58da142d..6b659046226 100644 --- a/packages/google-shopping-css/README.md +++ b/packages/google-shopping-css/README.md @@ -132,6 +132,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Accounts_service.update_labels | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/accounts_service.update_labels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/accounts_service.update_labels.js,packages/google-shopping-css/samples/README.md) | | Css_product_inputs_service.delete_css_product_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.delete_css_product_input.js,packages/google-shopping-css/samples/README.md) | | Css_product_inputs_service.insert_css_product_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js,packages/google-shopping-css/samples/README.md) | +| Css_product_inputs_service.update_css_product_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js,packages/google-shopping-css/samples/README.md) | | Css_products_service.get_css_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_products_service.get_css_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_products_service.get_css_product.js,packages/google-shopping-css/samples/README.md) | | Css_products_service.list_css_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_products_service.list_css_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_products_service.list_css_products.js,packages/google-shopping-css/samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/quickstart.js,packages/google-shopping-css/samples/README.md) | diff --git a/packages/google-shopping-css/protos/google/shopping/css/v1/accounts.proto b/packages/google-shopping-css/protos/google/shopping/css/v1/accounts.proto index 0f35cd3fdef..91c596b2053 100644 --- a/packages/google-shopping-css/protos/google/shopping/css/v1/accounts.proto +++ b/packages/google-shopping-css/protos/google/shopping/css/v1/accounts.proto @@ -80,8 +80,8 @@ message ListChildAccountsRequest { // Optional. The maximum number of accounts to return. The service may return // fewer than this value. If unspecified, at most 50 accounts will be - // returned. The maximum value is 1000; values above 1000 will be coerced to - // 1000. + // returned. The maximum value is 100; values above 100 will be coerced to + // 100. int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. A page token, received from a previous `ListChildAccounts` call. diff --git a/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_common.proto b/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_common.proto index 4cb460f2d0e..f5a9fbe844b 100644 --- a/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_common.proto +++ b/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_common.proto @@ -40,19 +40,19 @@ message Attributes { // within the context of Product Ads. optional string cpp_ads_redirect = 42; - // Low Price of the aggregate offer. + // Low Price of the CSS Product. google.shopping.type.Price low_price = 3; - // High Price of the aggregate offer. + // High Price of the CSS Product. google.shopping.type.Price high_price = 4; - // The number of aggregate offers. + // The number of CSS Products. optional int64 number_of_offers = 5; // Condition of the headline offer. optional string headline_offer_condition = 6; - // Headline Price of the aggregate offer. + // Headline Price of the CSS Product. google.shopping.type.Price headline_offer_price = 7; // Link to the headline offer. @@ -61,7 +61,7 @@ message Attributes { // Mobile Link to the headline offer. optional string headline_offer_mobile_link = 9; - // Headline Price of the aggregate offer. + // Headline Price of the CSS Product. google.shopping.type.Price headline_offer_shipping_price = 41; // Title of the item. @@ -281,15 +281,15 @@ message CssProductStatus { // The name of the destination string destination = 1; - // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is // approved. repeated string approved_countries = 2; - // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is // pending approval. repeated string pending_countries = 3; - // List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is + // List of country codes (ISO 3166-1 alpha-2) where the CSS Product is // disapproved. repeated string disapproved_countries = 4; } @@ -299,7 +299,7 @@ message CssProductStatus { // The error code of the issue. string code = 1; - // How this issue affects serving of the aggregate offer. + // How this issue affects serving of the CSS Product. string servability = 2; // Whether the issue can be resolved by the merchant. @@ -321,7 +321,7 @@ message CssProductStatus { string documentation = 8; // List of country codes (ISO 3166-1 alpha-2) where issue applies to the - // aggregate offer. + // CSS Product. repeated string applicable_countries = 9; } diff --git a/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_inputs.proto b/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_inputs.proto index fb70a96884d..b2ebc6f6c1d 100644 --- a/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_inputs.proto +++ b/packages/google-shopping-css/protos/google/shopping/css/v1/css_product_inputs.proto @@ -21,6 +21,7 @@ import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; import "google/shopping/css/v1/css_product_common.proto"; import "google/shopping/type/types.proto"; @@ -53,6 +54,19 @@ service CssProductInputsService { }; } + // Updates the existing Css Product input in your CSS Center account. + // + // After inserting, updating, or deleting a CSS Product input, it may take + // several minutes before the processed Css Product can be retrieved. + rpc UpdateCssProductInput(UpdateCssProductInputRequest) + returns (CssProductInput) { + option (google.api.http) = { + patch: "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}" + body: "css_product_input" + }; + option (google.api.method_signature) = "css_product_input,update_mask"; + } + // Deletes a CSS Product input from your CSS Center account. // // After a delete it may take several minutes until the input is no longer @@ -105,6 +119,7 @@ message CssProductInput { // valid region code. For example: 'DE' for Germany, 'FR' for France. string feed_label = 5 [(google.api.field_behavior) = REQUIRED]; + // DEPRECATED. Use expiration_date instead. // Represents the existing version (freshness) of the CSS Product, which // can be used to preserve the right order when multiple updates are done at // the same time. @@ -122,7 +137,7 @@ message CssProductInput { // // If the operation is prevented, the aborted exception will be // thrown. - google.protobuf.Timestamp freshness_time = 6; + google.protobuf.Timestamp freshness_time = 6 [deprecated = true]; // A list of CSS Product attributes. Attributes attributes = 7; @@ -151,12 +166,40 @@ message InsertCssProductInputRequest { CssProductInput css_product_input = 2 [(google.api.field_behavior) = REQUIRED]; - // Required. The primary or supplemental feed id. If CSS Product already - // exists and feed id provided is different, then the CSS Product will be - // moved to a new feed. Note: For now, CSSs do not need to provide feed ids as - // we create feeds on the fly. We do not have supplemental feed support for - // CSS Products yet. - int64 feed_id = 3 [(google.api.field_behavior) = REQUIRED]; + // Optional. DEPRECATED. Feed id is not required for CSS Products. + // The primary or supplemental feed id. If CSS Product already exists and + // feed id provided is different, then the CSS Product will be moved to a + // new feed. + // Note: For now, CSSs do not need to provide feed ids as we create + // feeds on the fly. + // We do not have supplemental feed support for CSS Products yet. + int64 feed_id = 3 [deprecated = true, (google.api.field_behavior) = OPTIONAL]; +} + +// Request message for the UpdateCssProductInput method. +message UpdateCssProductInputRequest { + // Required. The CSS product input resource to update. Information you submit + // will be applied to the processed CSS product as well. + CssProductInput css_product_input = 1 + [(google.api.field_behavior) = REQUIRED]; + + // The list of CSS product attributes to be updated. + // + // If the update mask is omitted, then it is treated as implied field mask + // equivalent to all fields that are populated (have a non-empty value). + // + // Attributes specified in the update mask without a value specified in the + // body will be deleted from the CSS product. + // + // Update mask can only be specified for top level fields in + // attributes and custom attributes. + // + // To specify the update mask for custom attributes you need to add the + // `custom_attribute.` prefix. + // + // Providing special "*" value for full CSS product replacement is not + // supported. + google.protobuf.FieldMask update_mask = 2; } // Request message for the DeleteCssProductInput method. diff --git a/packages/google-shopping-css/protos/google/shopping/css/v1/css_products.proto b/packages/google-shopping-css/protos/google/shopping/css/v1/css_products.proto index ea7fc0dffca..d0c30aa06c8 100644 --- a/packages/google-shopping-css/protos/google/shopping/css/v1/css_products.proto +++ b/packages/google-shopping-css/protos/google/shopping/css/v1/css_products.proto @@ -72,7 +72,7 @@ message GetCssProductRequest { ]; } -// The processed CSS Product(a.k.a Aggregate Offer internally). +// The processed CSS Product. message CssProduct { option (google.api.resource) = { type: "css.googleapis.com/CssProduct" diff --git a/packages/google-shopping-css/protos/protos.d.ts b/packages/google-shopping-css/protos/protos.d.ts index dfca014e3ff..1d38e683d10 100644 --- a/packages/google-shopping-css/protos/protos.d.ts +++ b/packages/google-shopping-css/protos/protos.d.ts @@ -3036,6 +3036,20 @@ export namespace google { */ public insertCssProductInput(request: google.shopping.css.v1.IInsertCssProductInputRequest): Promise; + /** + * Calls UpdateCssProductInput. + * @param request UpdateCssProductInputRequest message or plain object + * @param callback Node-style callback called with the error, if any, and CssProductInput + */ + public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest, callback: google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback): void; + + /** + * Calls UpdateCssProductInput. + * @param request UpdateCssProductInputRequest message or plain object + * @returns Promise + */ + public updateCssProductInput(request: google.shopping.css.v1.IUpdateCssProductInputRequest): Promise; + /** * Calls DeleteCssProductInput. * @param request DeleteCssProductInputRequest message or plain object @@ -3060,6 +3074,13 @@ export namespace google { */ type InsertCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. + * @param error Error, if any + * @param [response] CssProductInput + */ + type UpdateCssProductInputCallback = (error: (Error|null), response?: google.shopping.css.v1.CssProductInput) => void; + /** * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. * @param error Error, if any @@ -3316,6 +3337,109 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of an UpdateCssProductInputRequest. */ + interface IUpdateCssProductInputRequest { + + /** UpdateCssProductInputRequest cssProductInput */ + cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** UpdateCssProductInputRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateCssProductInputRequest. */ + class UpdateCssProductInputRequest implements IUpdateCssProductInputRequest { + + /** + * Constructs a new UpdateCssProductInputRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest); + + /** UpdateCssProductInputRequest cssProductInput. */ + public cssProductInput?: (google.shopping.css.v1.ICssProductInput|null); + + /** UpdateCssProductInputRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateCssProductInputRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateCssProductInputRequest instance + */ + public static create(properties?: google.shopping.css.v1.IUpdateCssProductInputRequest): google.shopping.css.v1.UpdateCssProductInputRequest; + + /** + * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @param message UpdateCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @param message UpdateCssProductInputRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.shopping.css.v1.IUpdateCssProductInputRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateCssProductInputRequest + * @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.css.v1.UpdateCssProductInputRequest; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateCssProductInputRequest + * @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.css.v1.UpdateCssProductInputRequest; + + /** + * Verifies an UpdateCssProductInputRequest 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 UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateCssProductInputRequest + */ + public static fromObject(object: { [k: string]: any }): google.shopping.css.v1.UpdateCssProductInputRequest; + + /** + * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. + * @param message UpdateCssProductInputRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.shopping.css.v1.UpdateCssProductInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateCssProductInputRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateCssProductInputRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a DeleteCssProductInputRequest. */ interface IDeleteCssProductInputRequest { @@ -11113,5 +11237,102 @@ export namespace google { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a FieldMask. */ + interface IFieldMask { + + /** FieldMask paths */ + paths?: (string[]|null); + } + + /** Represents a FieldMask. */ + class FieldMask implements IFieldMask { + + /** + * Constructs a new FieldMask. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldMask); + + /** FieldMask paths. */ + public paths: string[]; + + /** + * Creates a new FieldMask instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldMask instance + */ + public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldMask + * @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.FieldMask; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldMask + * @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.FieldMask; + + /** + * Verifies a FieldMask 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 FieldMask message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldMask + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @param message FieldMask + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldMask to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldMask + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } } diff --git a/packages/google-shopping-css/protos/protos.js b/packages/google-shopping-css/protos/protos.js index 18a24fdeab8..f987374af08 100644 --- a/packages/google-shopping-css/protos/protos.js +++ b/packages/google-shopping-css/protos/protos.js @@ -8330,6 +8330,39 @@ * @variation 2 */ + /** + * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|updateCssProductInput}. + * @memberof google.shopping.css.v1.CssProductInputsService + * @typedef UpdateCssProductInputCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.shopping.css.v1.CssProductInput} [response] CssProductInput + */ + + /** + * Calls UpdateCssProductInput. + * @function updateCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object + * @param {google.shopping.css.v1.CssProductInputsService.UpdateCssProductInputCallback} callback Node-style callback called with the error, if any, and CssProductInput + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(CssProductInputsService.prototype.updateCssProductInput = function updateCssProductInput(request, callback) { + return this.rpcCall(updateCssProductInput, $root.google.shopping.css.v1.UpdateCssProductInputRequest, $root.google.shopping.css.v1.CssProductInput, request, callback); + }, "name", { value: "UpdateCssProductInput" }); + + /** + * Calls UpdateCssProductInput. + * @function updateCssProductInput + * @memberof google.shopping.css.v1.CssProductInputsService + * @instance + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} request UpdateCssProductInputRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link google.shopping.css.v1.CssProductInputsService|deleteCssProductInput}. * @memberof google.shopping.css.v1.CssProductInputsService @@ -9032,6 +9065,243 @@ return InsertCssProductInputRequest; })(); + v1.UpdateCssProductInputRequest = (function() { + + /** + * Properties of an UpdateCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @interface IUpdateCssProductInputRequest + * @property {google.shopping.css.v1.ICssProductInput|null} [cssProductInput] UpdateCssProductInputRequest cssProductInput + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateCssProductInputRequest updateMask + */ + + /** + * Constructs a new UpdateCssProductInputRequest. + * @memberof google.shopping.css.v1 + * @classdesc Represents an UpdateCssProductInputRequest. + * @implements IUpdateCssProductInputRequest + * @constructor + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set + */ + function UpdateCssProductInputRequest(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]]; + } + + /** + * UpdateCssProductInputRequest cssProductInput. + * @member {google.shopping.css.v1.ICssProductInput|null|undefined} cssProductInput + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + */ + UpdateCssProductInputRequest.prototype.cssProductInput = null; + + /** + * UpdateCssProductInputRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + */ + UpdateCssProductInputRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateCssProductInputRequest instance using the specified properties. + * @function create + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest=} [properties] Properties to set + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest instance + */ + UpdateCssProductInputRequest.create = function create(properties) { + return new UpdateCssProductInputRequest(properties); + }; + + /** + * Encodes the specified UpdateCssProductInputRequest message. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @function encode + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateCssProductInputRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cssProductInput != null && Object.hasOwnProperty.call(message, "cssProductInput")) + $root.google.shopping.css.v1.CssProductInput.encode(message.cssProductInput, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateCssProductInputRequest message, length delimited. Does not implicitly {@link google.shopping.css.v1.UpdateCssProductInputRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.IUpdateCssProductInputRequest} message UpdateCssProductInputRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateCssProductInputRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer. + * @function decode + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateCssProductInputRequest.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.css.v1.UpdateCssProductInputRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateCssProductInputRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateCssProductInputRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateCssProductInputRequest message. + * @function verify + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateCssProductInputRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) { + var error = $root.google.shopping.css.v1.CssProductInput.verify(message.cssProductInput); + if (error) + return "cssProductInput." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateCssProductInputRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {Object.} object Plain object + * @returns {google.shopping.css.v1.UpdateCssProductInputRequest} UpdateCssProductInputRequest + */ + UpdateCssProductInputRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.shopping.css.v1.UpdateCssProductInputRequest) + return object; + var message = new $root.google.shopping.css.v1.UpdateCssProductInputRequest(); + if (object.cssProductInput != null) { + if (typeof object.cssProductInput !== "object") + throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.cssProductInput: object expected"); + message.cssProductInput = $root.google.shopping.css.v1.CssProductInput.fromObject(object.cssProductInput); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.shopping.css.v1.UpdateCssProductInputRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateCssProductInputRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {google.shopping.css.v1.UpdateCssProductInputRequest} message UpdateCssProductInputRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateCssProductInputRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.cssProductInput = null; + object.updateMask = null; + } + if (message.cssProductInput != null && message.hasOwnProperty("cssProductInput")) + object.cssProductInput = $root.google.shopping.css.v1.CssProductInput.toObject(message.cssProductInput, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateCssProductInputRequest to JSON. + * @function toJSON + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateCssProductInputRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateCssProductInputRequest + * @function getTypeUrl + * @memberof google.shopping.css.v1.UpdateCssProductInputRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateCssProductInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.shopping.css.v1.UpdateCssProductInputRequest"; + }; + + return UpdateCssProductInputRequest; + })(); + v1.DeleteCssProductInputRequest = (function() { /** @@ -30227,6 +30497,225 @@ return Timestamp; })(); + protobuf.FieldMask = (function() { + + /** + * Properties of a FieldMask. + * @memberof google.protobuf + * @interface IFieldMask + * @property {Array.|null} [paths] FieldMask paths + */ + + /** + * Constructs a new FieldMask. + * @memberof google.protobuf + * @classdesc Represents a FieldMask. + * @implements IFieldMask + * @constructor + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + */ + function FieldMask(properties) { + this.paths = []; + 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]]; + } + + /** + * FieldMask paths. + * @member {Array.} paths + * @memberof google.protobuf.FieldMask + * @instance + */ + FieldMask.prototype.paths = $util.emptyArray; + + /** + * Creates a new FieldMask instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + * @returns {google.protobuf.FieldMask} FieldMask instance + */ + FieldMask.create = function create(properties) { + return new FieldMask(properties); + }; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.paths != null && message.paths.length) + for (var i = 0; i < message.paths.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); + return writer; + }; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.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.FieldMask(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldMask message. + * @function verify + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldMask.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.paths != null && message.hasOwnProperty("paths")) { + if (!Array.isArray(message.paths)) + return "paths: array expected"; + for (var i = 0; i < message.paths.length; ++i) + if (!$util.isString(message.paths[i])) + return "paths: string[] expected"; + } + return null; + }; + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldMask} FieldMask + */ + FieldMask.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldMask) + return object; + var message = new $root.google.protobuf.FieldMask(); + if (object.paths) { + if (!Array.isArray(object.paths)) + throw TypeError(".google.protobuf.FieldMask.paths: array expected"); + message.paths = []; + for (var i = 0; i < object.paths.length; ++i) + message.paths[i] = String(object.paths[i]); + } + return message; + }; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.FieldMask} message FieldMask + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldMask.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paths = []; + if (message.paths && message.paths.length) { + object.paths = []; + for (var j = 0; j < message.paths.length; ++j) + object.paths[j] = message.paths[j]; + } + return object; + }; + + /** + * Converts this FieldMask to JSON. + * @function toJSON + * @memberof google.protobuf.FieldMask + * @instance + * @returns {Object.} JSON object + */ + FieldMask.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldMask + * @function getTypeUrl + * @memberof google.protobuf.FieldMask + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldMask"; + }; + + return FieldMask; + })(); + return protobuf; })(); diff --git a/packages/google-shopping-css/protos/protos.json b/packages/google-shopping-css/protos/protos.json index 95d11d44441..382278c10ae 100644 --- a/packages/google-shopping-css/protos/protos.json +++ b/packages/google-shopping-css/protos/protos.json @@ -1214,6 +1214,26 @@ } ] }, + "UpdateCssProductInput": { + "requestType": "UpdateCssProductInputRequest", + "responseType": "CssProductInput", + "options": { + "(google.api.http).patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", + "(google.api.http).body": "css_product_input", + "(google.api.method_signature)": "css_product_input,update_mask" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{css_product_input.name=accounts/*/cssProductInputs/*}", + "body": "css_product_input" + } + }, + { + "(google.api.method_signature)": "css_product_input,update_mask" + } + ] + }, "DeleteCssProductInput": { "requestType": "DeleteCssProductInputRequest", "responseType": "google.protobuf.Empty", @@ -1274,7 +1294,10 @@ }, "freshnessTime": { "type": "google.protobuf.Timestamp", - "id": 6 + "id": 6, + "options": { + "deprecated": true + } }, "attributes": { "type": "Attributes", @@ -1307,9 +1330,25 @@ "feedId": { "type": "int64", "id": 3, + "options": { + "deprecated": true, + "(google.api.field_behavior)": "OPTIONAL" + } + } + } + }, + "UpdateCssProductInputRequest": { + "fields": { + "cssProductInput": { + "type": "CssProductInput", + "id": 1, "options": { "(google.api.field_behavior)": "REQUIRED" } + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 } } }, @@ -3446,6 +3485,15 @@ "id": 2 } } + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } } } } diff --git a/packages/google-shopping-css/samples/README.md b/packages/google-shopping-css/samples/README.md index bf991de2d08..b1687e302a0 100644 --- a/packages/google-shopping-css/samples/README.md +++ b/packages/google-shopping-css/samples/README.md @@ -21,6 +21,7 @@ * [Accounts_service.update_labels](#accounts_service.update_labels) * [Css_product_inputs_service.delete_css_product_input](#css_product_inputs_service.delete_css_product_input) * [Css_product_inputs_service.insert_css_product_input](#css_product_inputs_service.insert_css_product_input) + * [Css_product_inputs_service.update_css_product_input](#css_product_inputs_service.update_css_product_input) * [Css_products_service.get_css_product](#css_products_service.get_css_product) * [Css_products_service.list_css_products](#css_products_service.list_css_products) * [Quickstart](#quickstart) @@ -193,6 +194,23 @@ __Usage:__ +### Css_product_inputs_service.update_css_product_input + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js,samples/README.md) + +__Usage:__ + + +`node packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js` + + +----- + + + + ### Css_products_service.get_css_product View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-css/samples/generated/v1/css_products_service.get_css_product.js). diff --git a/packages/google-shopping-css/samples/generated/v1/accounts_service.list_child_accounts.js b/packages/google-shopping-css/samples/generated/v1/accounts_service.list_child_accounts.js index e9ce9116ac5..980ee7a7e81 100644 --- a/packages/google-shopping-css/samples/generated/v1/accounts_service.list_child_accounts.js +++ b/packages/google-shopping-css/samples/generated/v1/accounts_service.list_child_accounts.js @@ -45,8 +45,8 @@ function main(parent) { /** * Optional. The maximum number of accounts to return. The service may return * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 1000; values above 1000 will be coerced to - * 1000. + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. */ // const pageSize = 1234 /** diff --git a/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js b/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js index 4a98df503ab..31a23e571d2 100644 --- a/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js +++ b/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.insert_css_product_input.js @@ -20,7 +20,7 @@ 'use strict'; -function main(parent, cssProductInput, feedId) { +function main(parent, cssProductInput) { // [START css_v1_generated_CssProductInputsService_InsertCssProductInput_async] /** * This snippet has been automatically generated and should be regarded as a code template only. @@ -38,11 +38,13 @@ function main(parent, cssProductInput, feedId) { */ // const cssProductInput = {} /** - * Required. The primary or supplemental feed id. If CSS Product already - * exists and feed id provided is different, then the CSS Product will be - * moved to a new feed. Note: For now, CSSs do not need to provide feed ids as - * we create feeds on the fly. We do not have supplemental feed support for - * CSS Products yet. + * Optional. DEPRECATED. Feed id is not required for CSS Products. + * The primary or supplemental feed id. If CSS Product already exists and + * feed id provided is different, then the CSS Product will be moved to a + * new feed. + * Note: For now, CSSs do not need to provide feed ids as we create + * feeds on the fly. + * We do not have supplemental feed support for CSS Products yet. */ // const feedId = 1234 @@ -57,7 +59,6 @@ function main(parent, cssProductInput, feedId) { const request = { parent, cssProductInput, - feedId, }; // Run request diff --git a/owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js b/packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js similarity index 100% rename from owl-bot-staging/google-shopping-css/v1/samples/generated/v1/css_product_inputs_service.update_css_product_input.js rename to packages/google-shopping-css/samples/generated/v1/css_product_inputs_service.update_css_product_input.js diff --git a/packages/google-shopping-css/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json b/packages/google-shopping-css/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json index b25d4ca9195..a7fa3ff125e 100644 --- a/packages/google-shopping-css/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json +++ b/packages/google-shopping-css/samples/generated/v1/snippet_metadata_google.shopping.css.v1.json @@ -342,7 +342,7 @@ "segments": [ { "start": 25, - "end": 68, + "end": 69, "type": "FULL" } ], @@ -379,6 +379,50 @@ } } }, + { + "regionTag": "css_v1_generated_CssProductInputsService_UpdateCssProductInput_async", + "title": "AccountLabelsService updateCssProductInput Sample", + "origin": "API_DEFINITION", + "description": " Updates the existing Css Product input in your CSS Center account. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed Css Product can be retrieved.", + "canonical": true, + "file": "css_product_inputs_service.update_css_product_input.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", + "async": true, + "parameters": [ + { + "name": "css_product_input", + "type": ".google.shopping.css.v1.CssProductInput" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.shopping.css.v1.CssProductInput", + "client": { + "shortName": "CssProductInputsServiceClient", + "fullName": "google.shopping.css.v1.CssProductInputsServiceClient" + }, + "method": { + "shortName": "UpdateCssProductInput", + "fullName": "google.shopping.css.v1.CssProductInputsService.UpdateCssProductInput", + "service": { + "shortName": "CssProductInputsService", + "fullName": "google.shopping.css.v1.CssProductInputsService" + } + } + } + }, { "regionTag": "css_v1_generated_CssProductInputsService_DeleteCssProductInput_async", "title": "AccountLabelsService deleteCssProductInput Sample", diff --git a/packages/google-shopping-css/src/v1/accounts_service_client.ts b/packages/google-shopping-css/src/v1/accounts_service_client.ts index cb6595519e5..8459097d5e3 100644 --- a/packages/google-shopping-css/src/v1/accounts_service_client.ts +++ b/packages/google-shopping-css/src/v1/accounts_service_client.ts @@ -594,8 +594,8 @@ export class AccountsServiceClient { * @param {number} [request.pageSize] * Optional. The maximum number of accounts to return. The service may return * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 1000; values above 1000 will be coerced to - * 1000. + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. * @param {string} [request.pageToken] * Optional. A page token, received from a previous `ListChildAccounts` call. * Provide this to retrieve the subsequent page. @@ -704,8 +704,8 @@ export class AccountsServiceClient { * @param {number} [request.pageSize] * Optional. The maximum number of accounts to return. The service may return * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 1000; values above 1000 will be coerced to - * 1000. + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. * @param {string} [request.pageToken] * Optional. A page token, received from a previous `ListChildAccounts` call. * Provide this to retrieve the subsequent page. @@ -762,8 +762,8 @@ export class AccountsServiceClient { * @param {number} [request.pageSize] * Optional. The maximum number of accounts to return. The service may return * fewer than this value. If unspecified, at most 50 accounts will be - * returned. The maximum value is 1000; values above 1000 will be coerced to - * 1000. + * returned. The maximum value is 100; values above 100 will be coerced to + * 100. * @param {string} [request.pageToken] * Optional. A page token, received from a previous `ListChildAccounts` call. * Provide this to retrieve the subsequent page. diff --git a/packages/google-shopping-css/src/v1/css_product_inputs_service_client.ts b/packages/google-shopping-css/src/v1/css_product_inputs_service_client.ts index b2039e8e9f9..1c9138ee095 100644 --- a/packages/google-shopping-css/src/v1/css_product_inputs_service_client.ts +++ b/packages/google-shopping-css/src/v1/css_product_inputs_service_client.ts @@ -264,6 +264,7 @@ export class CssProductInputsServiceClient { // and create an API call method for each. const cssProductInputsServiceStubMethods = [ 'insertCssProductInput', + 'updateCssProductInput', 'deleteCssProductInput', ]; for (const methodName of cssProductInputsServiceStubMethods) { @@ -394,12 +395,14 @@ export class CssProductInputsServiceClient { * Format: accounts/{account} * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput * Required. The CSS Product Input to insert. - * @param {number} request.feedId - * Required. The primary or supplemental feed id. If CSS Product already - * exists and feed id provided is different, then the CSS Product will be - * moved to a new feed. Note: For now, CSSs do not need to provide feed ids as - * we create feeds on the fly. We do not have supplemental feed support for - * CSS Products yet. + * @param {number} [request.feedId] + * Optional. DEPRECATED. Feed id is not required for CSS Products. + * The primary or supplemental feed id. If CSS Product already exists and + * feed id provided is different, then the CSS Product will be moved to a + * new feed. + * Note: For now, CSSs do not need to provide feed ids as we create + * feeds on the fly. + * We do not have supplemental feed support for CSS Products yet. * @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. @@ -483,6 +486,117 @@ export class CssProductInputsServiceClient { this.initialize(); return this.innerApiCalls.insertCssProductInput(request, options, callback); } + /** + * Updates the existing Css Product input in your CSS Center account. + * + * After inserting, updating, or deleting a CSS Product input, it may take + * several minutes before the processed Css Product can be retrieved. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.shopping.css.v1.CssProductInput} request.cssProductInput + * Required. The CSS product input resource to update. Information you submit + * will be applied to the processed CSS product as well. + * @param {google.protobuf.FieldMask} request.updateMask + * The list of CSS product attributes to be updated. + * + * If the update mask is omitted, then it is treated as implied field mask + * equivalent to all fields that are populated (have a non-empty value). + * + * Attributes specified in the update mask without a value specified in the + * body will be deleted from the CSS product. + * + * Update mask can only be specified for top level fields in + * attributes and custom attributes. + * + * To specify the update mask for custom attributes you need to add the + * `custom_attribute.` prefix. + * + * Providing special "*" value for full CSS product replacement is not + * supported. + * @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.css.v1.CssProductInput|CssProductInput}. + * 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/v1/css_product_inputs_service.update_css_product_input.js + * region_tag:css_v1_generated_CssProductInputsService_UpdateCssProductInput_async + */ + updateCssProductInput( + request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + options?: CallOptions + ): Promise< + [ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest | undefined, + {} | undefined, + ] + >; + updateCssProductInput( + request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + options: CallOptions, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + | protos.google.shopping.css.v1.IUpdateCssProductInputRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateCssProductInput( + request: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + callback: Callback< + protos.google.shopping.css.v1.ICssProductInput, + | protos.google.shopping.css.v1.IUpdateCssProductInputRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateCssProductInput( + request?: protos.google.shopping.css.v1.IUpdateCssProductInputRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.shopping.css.v1.ICssProductInput, + | protos.google.shopping.css.v1.IUpdateCssProductInputRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.shopping.css.v1.ICssProductInput, + | protos.google.shopping.css.v1.IUpdateCssProductInputRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.shopping.css.v1.ICssProductInput, + protos.google.shopping.css.v1.IUpdateCssProductInputRequest | 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({ + 'css_product_input.name': request.cssProductInput!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateCssProductInput(request, options, callback); + } /** * Deletes a CSS Product input from your CSS Center account. * diff --git a/packages/google-shopping-css/src/v1/css_product_inputs_service_client_config.json b/packages/google-shopping-css/src/v1/css_product_inputs_service_client_config.json index a82a35eb3f5..ea39a70de80 100644 --- a/packages/google-shopping-css/src/v1/css_product_inputs_service_client_config.json +++ b/packages/google-shopping-css/src/v1/css_product_inputs_service_client_config.json @@ -25,6 +25,11 @@ "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, + "UpdateCssProductInput": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, "DeleteCssProductInput": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", diff --git a/packages/google-shopping-css/src/v1/gapic_metadata.json b/packages/google-shopping-css/src/v1/gapic_metadata.json index 7981a05b77e..17c8d82aa3b 100644 --- a/packages/google-shopping-css/src/v1/gapic_metadata.json +++ b/packages/google-shopping-css/src/v1/gapic_metadata.json @@ -121,6 +121,11 @@ "insertCssProductInput" ] }, + "UpdateCssProductInput": { + "methods": [ + "updateCssProductInput" + ] + }, "DeleteCssProductInput": { "methods": [ "deleteCssProductInput" @@ -136,6 +141,11 @@ "insertCssProductInput" ] }, + "UpdateCssProductInput": { + "methods": [ + "updateCssProductInput" + ] + }, "DeleteCssProductInput": { "methods": [ "deleteCssProductInput" diff --git a/packages/google-shopping-css/test/gapic_css_product_inputs_service_v1.ts b/packages/google-shopping-css/test/gapic_css_product_inputs_service_v1.ts index 5d23c6d5856..07f4f2538ad 100644 --- a/packages/google-shopping-css/test/gapic_css_product_inputs_service_v1.ts +++ b/packages/google-shopping-css/test/gapic_css_product_inputs_service_v1.ts @@ -399,6 +399,151 @@ describe('v1.CssProductInputsServiceClient', () => { }); }); + describe('updateCssProductInput', () => { + it('invokes updateCssProductInput without error', async () => { + const client = + new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.shopping.css.v1.UpdateCssProductInputRequest', + ['cssProductInput', 'name'] + ); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.updateCssProductInput = + stubSimpleCall(expectedResponse); + const [response] = await client.updateCssProductInput(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput without error using callback', async () => { + const client = + new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.shopping.css.v1.UpdateCssProductInputRequest', + ['cssProductInput', 'name'] + ); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.shopping.css.v1.CssProductInput() + ); + client.innerApiCalls.updateCssProductInput = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateCssProductInput( + request, + ( + err?: Error | null, + result?: protos.google.shopping.css.v1.ICssProductInput | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput with error', async () => { + const client = + new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.shopping.css.v1.UpdateCssProductInputRequest', + ['cssProductInput', 'name'] + ); + request.cssProductInput.name = defaultValue1; + const expectedHeaderRequestParams = `css_product_input.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateCssProductInput = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.updateCssProductInput(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateCssProductInput as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateCssProductInput with closed client', async () => { + const client = + new cssproductinputsserviceModule.v1.CssProductInputsServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.shopping.css.v1.UpdateCssProductInputRequest() + ); + request.cssProductInput ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.shopping.css.v1.UpdateCssProductInputRequest', + ['cssProductInput', 'name'] + ); + request.cssProductInput.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.updateCssProductInput(request), + expectedError + ); + }); + }); + describe('deleteCssProductInput', () => { it('invokes deleteCssProductInput without error', async () => { const client =